TriggerReactor

TriggerReactor

24.6k Downloads

SETBLOCK is still block changing like 1.12.

LimuLhw opened this issue · 1 comments

commented

Before/읽어주세요

Make sure that you have used /trg debug so that the more detailed error message will show up in the console.
신고전에 /trg debug 명령어를 사용해서 디버그 모드를 켜주세요. 그래야 콘솔창에 더 자세한 정보가 나옵니다.


Describe the bug/버그 증상
Whether SETBLOCK is still working in 1.12 format,
Colored (wool, concrete, etc.) blocks change to the default white color when using #SETBLOCK.
여전히 SETBLOCK이 1.12 형식으로 작동을 하는건지,
색깔 있는 (양털, 콘크리트 등) 블럭으로
#SETBLOCK 사용시 기본값인 하얀색으로 바뀝니다.

Server information/서버 정보
TRG Version : 3.2.x or 3.3.x Latest Build
Server Version : 1.16.5 Paper Latest

Error message/에러 메시지
No Error Log.

Others/그 밖의 정보들
Using part of the my code :
IF (mpZ-getZNB) == 1
ELSE
#SETBLOCK "SANDSTONE", rsX, rsY, rsZ-1
#SETBLOCK "PURPLE_CONCRETE", rsX, rsY, rsZ+1 //PURPLE_CONCRETE just changed to WHITE_CONCRETE
ENDIF
image
image

commented

The part of #SETBLOCK Executor determines their behavior by sets "legacy" variable, but modern (>= 1.13) BukkitAPI implementations still have setData method.

var legacy = typeof block.setData === 'function';

We can resolve this issue by following the steps, but as I mentioned before, it seems urgent to refactoring the Executors and Placeholders.

var legacy = false;
try {
  Class.forName('org.bukkit.entity.Phantom');  // Phantom had been added at 1.13
} catch (_) {
  legacy = true;
}