개인 자료란 (JE)

  서버 커뮤니티

Profile 프란델 대표칭호 없음

Peurandel 3d3d482e35a54679a3c22d0f505dc661

Profile

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

완벽한 커스텀 UI 상자 감지

2024.03.22 조회 수 57 추천 수 0
게임버전 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/576/775/003/262x150.crop.jpg?20240426232553

아티클

이달의 블록: 단단한 진흙

학교가기싫다

2024-04-26

0

/files/thumbnails/115/774/003/262x150.crop.jpg?20240426223813

업데이트

마인크래프트 1.20.5 정식 업데이트

학교가기싫다

2024-04-24

0

/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0