개인 자료란 (JE)

  서버 커뮤니티

Profile 프란델 대표칭호 없음

Peurandel 3d3d482e35a54679a3c22d0f505dc661

Profile

강좌 자바 에디션(JE) 커맨드 꿀팁

완벽한 커스텀 UI 상자 감지

2024.03.22 조회 수 311 추천 수 1
게임버전 1.20.x 

읽기전 필독사항

1.20.4에서 실험된 방식이다. 루트테이블만 하더라도 1.20.5에서는 고장난다. (Set_nbt->Set_custom_data)
해당 감지법은 커스텀 ui가 담긴 상자류 블럭의 위치를 정확히 특정하는데 목표를 둔다.
단, 조건은 해당 커스텀 ui가 담긴 상자류 블럭이 스폰 에그 따위로 마커를 소환해서 스폰된 것을 가정으로 둔다.
마커의 태그는 A라고 가정한다.

execute at @e[tag=A] run setblock ~ ~ ~ barrel{LootTable:"ui:ui"} 이 커맨드 또한 마커 소환시에 실행되도록 한다.


데이터팩을 활용해 ui를 만들땐 두가지 고민에 우선 마주치게 된다.

최적화를 우선한다면 커스텀 ui가 담긴 상자류 블럭을 열었을때, 그 상자를 정확히 호출하는 방식을,

안정성을 우선한다면 그 블럭 위치에 마커를 달아 매틱 운용하는 두 가지 방식에 봉착한다.


기존의 방식들은 최적화와 안정성을 모두 사로잡지 못한다는 단점을 앓고 있었다.

그래서 해외 유튜버 Cloudwolf가 내놓은 방법은 상자를 여는 스코어를 통해 상자를 열었다면, 레이캐스팅을 쏴서 그 상자를 특정하는 방법이었다.

https://www.youtube.com/watch?v=z4tvTrqhBZE
하지만 이 방식 역시 정확한 안정성을 보장하지 못했다. 직접 다운로드해 사용해보면 약간만 각도가 틀어져도 상자가 감지 되지 않는 버그가 있다.

우린 루트테이블과 발전과제를 사용하기로 했다.

루트테이블이 담긴 상자는 오픈하기 전까진 빈 상태이므로, 확인하게 된다면 루트테이블에 설정된 아이템이 상자에 담기게 된다.

우린 이 원리를 활용해야한다.


   "pools": [

      {

        "rolls": 1,

        "entries": [

          {

            "type": "minecraft:item",

            "name": "minecraft:barrel",

            "functions": [

              {

                "function": "minecraft:set_nbt",

                "tag": "{ui:1b}"

              }

            ]

          }

        ]

      }

    ]

  }


우리는 상자를 열었음을 감지해야한다.

발전과제를 통해 이를 감지한다.

{ "criteria": { "requirement": { "trigger": "minecraft:item_used_on_block", "conditions": { "location": [ { "condition": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:barrel" ], "nbt": "{Items:[{tag:{ui:1b}}]}" } } } ] } } }, "rewards": { "function": "function:address" } }

이렇게 되면 정확히 ui:1b라는 커스텀 nbt가 담긴 배럴을 열었음을 감지하게 된다.

function:address
advancement revoke @s only ui:ui

execute as @e[tag=A,type=marker] at @s if block ~ ~ ~ barrel{Items:[{tag:{ui:1b}}]} run tag @s add ui_this 

execute as @e[tag=ui_this] at @s run data remove block ~ ~ ~ Items 

tag @e[tag=ui_this] remove ui_this

이것으로 ui감지를 마친다.

참고 영상 :






Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

뉴스 및 창작물
/files/thumbnails/648/892/003/262x150.crop.jpg?20241002184058

아티클

마인크래프트 라이브 2024 후기: 무성의가 느껴졌던 '절망편' 라이브

라비

2024-10-02

1

/files/thumbnails/693/890/003/262x150.crop.jpg?20241002194259

소식

[방송인 필독] 시참 컨텐츠 방송인분들께 DDoS(디도스) 공격을 퍼붓는 용의자 특정중, 예방 & 대처법 정리 7

해그

2024-10-01

1

사진이 없습니다.

레드스톤

[노트블럭 패러디] 신창섭 - 모장이 다해줬잖아

노트블럭전문가

2024-09-28

0

/files/thumbnails/677/856/003/262x150.crop.jpg?20240913205849

아티클

마인크래프트 개발의 미래

학교가기싫다

2024-09-13

2

사진이 없습니다.

모드

아이리스 쉐이더

gyeol12

2024-09-07

0

/files/thumbnails/382/873/003/262x150.crop.jpg?20240903125347

레드스톤

[노트블럭커버] 숙청행진 - 밀그램

노트블럭전문가

2024-09-03

0