sdfdsr
대표칭호 없음
bl9ckSapphire 86355e6bbe4b483482de818ff64e62da
이해도 | 1.16 |
---|---|
게임버전 (JE) | 페이퍼 |
스크립트 버전 | 중급자(필요한 애드온을 찾아서 만들 수 있어요) |
스크립트 애드온 | 2.5.3 |
달콤한 열매 덤불이라는 블럭 (https://bit.ly/3vfMKu4) 을 밟을 시 속도가 느려지고(거미줄의 속도저하같은)
플레이어와 닿을 시 플레이어에게 데미지를 가하게 되는데,
스크립트로 이러한 달콤한 열매 덤불의 속도저하와 데미지 등을 없앨 수도 있나요?
스크립트로 불가능하다면 다른 방법이 존재하나요? 달콤한 열매 덤불의 속도저하 효과는 꼭 없애보고 싶습니다.
스크립터브혼
2021.04.24덤불블록으로부터 동작하는 이벤트는 없습니다.
그러나 데미지를 받을 때 [On Damage] 이벤트가 동작합니다.
이 이벤트에서 [Damage Cause] 익스프레션으로 피해의 원인을 받아 올 수 있습니다.
피해의 원인들은 [Damage Cause] 타입에 나와있고, 버킷 API [EntityDamageEvent.DamageCause]에도 나와있습니다.
덤불블록의 피해는 CONTACT으로 선인장처럼 가까이 붙어있을 경우 피해를 입는 것들입니다.
선인장, 덤불과 같은 블록으로부터 받는 피해 이벤트는 [EntityDamageByBlockEvent]를 사용합니다만,
스크립트의 on damage 이벤트는 해당 이벤트의 부모인 [EntityDamageEvent]로 구현되어 있는것 같습니다.
on damage 이벤트는 실제 피해를 준 블록이 선인장인지, 덤불인지는 구분하지 못하기 때문입니다.
피해를 제거하는 것은 on damage 이벤트로 시작했기에 이벤트를 취소하는 것으로 해결이 됩니다.
속도 저하를 제거하는 것은 저하된 속도만큼 [Push]하거나, 벡터의 [Velocity]를 수정하는것으로 상쇄 할 수 있습니다.
또는 [Speed] 익스프레션으로 플레이어의 이동속도 일시적으로 올려주는 것도 방법이 될 수 있습니다.
직접적으로 커스터마이징 할 수 있도록 구현된 것이 없기 때문에 비슷하게 동작할 수 있도록 하는 것 정도입니다.
스크립터브혼
2021.04.24간단하게 구현하면 이렇게 되는데 더 다듬어야 할거에요.