제바류알려줭
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.16.5 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.5.3 |
스크립트 애드온 | skellett, skquery, skutilities, skrayfall |
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.16.5 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.5.3 |
스크립트 애드온 | skellett, skquery, skutilities, skrayfall |
gamediller
2024.10.021. Skript 플러그인 방법 (서버 전용)
폭발 시 특정 블록을 보호하는 방법은 아래와 같습니다.
on explode:
if event-block is grass block:
cancel event
- 설명
폭발이 발생할 때(on explode), **잔디 블록(grass block)**이 폭발에 의해 파괴될 경우(if event-block is grass block), 해당 폭발을 취소(cancel event)하여 블록을 보호합니다.
다른 블록을 보호하려면 grass block 부분을 원하는 블록 이름으로 바꾸면 됩니다.
2. 데이터팩
데이터팩 코드 예시 (JSON 형식):
{
"trigger": "minecraft:explosion",
"conditions": {
"block": "minecraft:grass_block"
},
"consequence": {
"cancel": true
}
}
- 설명
폭발 이벤트가 발생하면(minecraft:explosion), **잔디 블록(grass_block)**이 파괴될 때 해당 이벤트를 취소하여 블록을 보호합니다.
이 방식으로 특정 블록에 대한 폭발을 감지하고 이벤트를 막을 수 있습니다.
제바류알려줭
2024.10.02써 주신 스크립트를 써도 안됩니다
gamediller
2024.10.02on explode
이벤트가 정확하지 않을 수 있습니다. 이벤트on explosion
으로 변경해서 해보세요.다음과 같이 변경하시면 됩니다.
설명
on explosion
이벤트는 폭발이 발생할 때 트리거됩니다.loop all blocks in the event-explosion
구문을 사용하여 폭발에 의해 영향을 받은 모든 블록을 순회합니다.if loop-block is grass block
조건문을 통해 현재 순회 중인 블록이 잔디 블록인지 확인하고, 맞다면set loop-block to grass block
을 통해 블록을 원래 상태로 복원합니다.Skript 애드온 확인
사용 중인 애드온(Skellett, Skquery, SkUtilities, SkRayFall)이 최신 버전인지 확인하고, 해당 애드온들이
on explosion
이벤트를 제대로 지원하는지 문서를 참고해 보세요. 애드온에 따라 이벤트 이름이나 사용 방법이 다를 수 있습니다.위의 수정된 스크립트를 사용하면 폭발로 인해 잔디 블록이 파괴되는 것을 방지할 수 있을 겁니다. 그래도 문제가 지속된다면, 서버 로그를 확인하여 오류 메시지가 있는지 살펴보시고, Skript 및 애드온의 최신 버전을 사용하는지 다시 한번 확인해 보세요.
추가적인 도움이 필요하시면 언제든지 말씀해 주세요! 행운을 빕니다! 😊
제바류알려줭
2024.10.04늦게 질문 드려서 죄송합니다
써주신 구문을 써보면
loop all blocks in the event-explosion: 에서 구문 오류가 뜸니다
저기에서 in the event-explosion 이 구문을 지우고 loop all blocks 이 구문만 쓰면
그 다음은 set loop-block to grass block 이 구문에서 오류가 납니다
windy_wind
2024.10.02skript-reflect를 쓰실때가 왔군요...
전 이렇게 대충 써봤어요. 발전해나가보세요
ex)
제바류알려줭
2024.10.04이 구문 또한 skript-reflect 애드온을 설치 해도 작동 되지 않습니다
windy_wind
2024.10.05제 서버에서는 잘 되네요.
아마도 1.20.6 이상 서버랑 그 이하 버전이랑 스크립트 차이가 나서 그럴 겁니다.
제바류알려줭
2024.10.05그렇군요 감사합니다
그럼 관련 플러그인 같은게 있을까요?
windy_wind
2024.10.05저 스크립트에서는 skript-reflect 에드온만 사용됬어요.
관련 플러그인은 위 에드온 말고 없고 일단 서버 버전이 제일 관련이 있을 것 같네요.
님 서버 버전에 맞게 skript-reflect 다운하시고
오류가 있다면 스샷해서 올려주세용
제바류알려줭
2024.10.05오류나 그런 건 없는데 작동이 안될 뿐 입니다
windy_wind
2024.10.05block at loop-value 를
type of block at loop-value로 해야했었나봐요.
중간에 코드 살짝 수정했던 부분에서 버그난것 같네요.
죄송합니다ㅠㅠㅠ
제바류알려줭
2024.10.05아닙니다
답변 해주신 것 만으로 감사합니다
제바류알려줭
2024.10.06근데.. 어디를 수정 해야 될지를 모르겠네요..
windy_wind
22 일 전코드 수정해서 다시 복붙하심 되여