개인 자료란 (JE)

  서버 커뮤니티

Profile yusin12 대표칭호 없음

yusin_YT 1e0511f92377434a9f27b5724c29fbe3

Profile

강좌 자바 에디션(JE) 커맨드 기초

40. data 강좌

2023.06.30 조회 수 1894 추천 수 2
게임버전 1.19.x, 1.20.x 

오늘은.. 오랜만에 돌아온 자발적 커맨드 강좌!

data!!!


0. data 명령어를 왜 사용하는가?

여러분들이 지금까지 커맨드를 하면서 감지를 할려면

execute와 대상에 NBT태그들이 필수 였슴다!

하지만 말이죠! 인간적으로! 이 많고 많은 NBT태그들을 다 외우는건 힘들지 안겟슴까??

맞아요! data는 특정 대상에 NBT태그들을 쭉 나열해주는 기능이 있어요!

이렇게 나열된거 보고 nbt태그를 찾아서 그대로 적어주면 되요!

이렇게요!

게다가 데이터 수정! 데이터 삭제! 까지 해주는 완전 쩌는 명령어에요!


1. data get

data뒤에는 4개의 부속 명령어들이 있는데!

1. get

2. merge

3. modify

4. remove

가 있어요! 이 중에서 get을 먼저 알아볼께요!


/data get <block/entity/storage> <x y z/개체/target>순이에요!

block은 뒤에 x y z좌표를 붙여야해요!

entity는 뒤에 어떤 개체의 nbt들을 불러올지 정해주는거에요!

하!지!만! 개체는 무조건 하나만 되요! 따라서! @e[type=husk,limit=1]이렇게! 무조건 limit=1을 해줘야 해요!

storage는 ...저희가 만드는거에요!(본래 강의 목적과 맞지 않아, 이번 강좌에선 다루지 않슴다!)


block의 예)

결과물


entity의 예))

결과물


2. data merge

merge는 수정하다라는 뜻이에요!

즉 merge는 제가 원하는대로 nbt의 값을 수정 할 수 있어요!

merge 뒤에는 get과 마찬가지로 <block/entity/storage>가 있어요!


block 뒤에 x y z좌표 뒤에 수정할 nbt를 쓰면 되요!

entity도 마찬가지!


block의 예))

결과물

(TIP)상자같은 경우에는 뒤에 Count:1b이렇게 갯수를 무조건 적어주셔야해요!


entity의 예))

결과물


3. data modify

modify도 같은 수정이라는 뜻인데! modify는 merge과 다르게! B의 nbt의 값을 가져와서 A의 nbt값에 저장하는거에요!

ex)

이렇게요!


형식은

data modfiy <block/entity/storage> <xyz/개체/storage> 바꿀 NBT 

<set/append/inset/merge/prepend> 

<from/string/value> 

<block/entity/storage> <xyz/개체/storage> 가져올 NBT

이렇게에요!

(영상에서 쓴 명령어)

data modify block -57 -60 -110 Items set from block -59 -60 -110 Items

set은 말 그대로 "너!, nbt값 이걸로 해!" 라는 느낌이 있어요!

-----------------------------------------------------------------

append는 "너, 기존거에다가 이거 추가해줘"라는 느낌이에요! 

(코딩 : list = [1, 2, 3]에 list.append(4)이런거랑 비슷한거에요!)

(일상 : 지갑에 돈 종류가 500원,1000원이 있었는데 100원이 추가되었다.)

-----------------------------------------------------------------

insert는 집어넣는거에요! "너, 이거 n번째에 집어넣어"이런 느낌?

append는 항상 맨 마지막에 추가하지만 insert는 몆 번째에 넣을껀지 정할 수 있어요!

ex) data modify block ~ ~ ~ Items insert 0 value {Slot:11b,id:"minecraft:diamond_block",Count:2b}

~ ~ ~좌표에 있는 블록에 Items이라는 nbt태그에 0번째에  

{Slot:11b,id:"minecraft:diamond_block",Count:2b}을 추가한다.

insert 뒤에 숫자는 index라는 형식인데 그냥 0번째 부터 시작하는겁니다! 

0이 1번째

1이 2번째

3이 3번째

. . .

(코딩의 list[0]과 동일)

주의 할 점은 0번째가 없는데 4번째를 넣을 수 없어요!

예를들어 

한국 : 서울

독일 : 베를린

이렇게 있는데

일본! 을 출력할 수 없다는검다!Items의 nbt의 0번째 값이 없다면 0부터 해야하고

3번째 값이 있다면 0~4번째 값 중 선택

16번째 값이 있다면 0~17번째 값 중 선택

-----------------------------------------------------------------

merge는 합칩니다.(돌이 1개 있는데 449를 더해 450개로 만들 수 있어요!)

-----------------------------------------------------------------

prerpend는 append와 다르게 맨 앞에 집어넣어요!

-----------------------------------------------------------------

이제 이녀석들 쓰고 나면 나오는 녀석들이에요!

-----------------------------------------------------------------

from : ~로 부터 값을 가져와요!

string : 문자열로 가져와요!

value : 값을 정수로 가져와요!

-----------------------------------------------------------------

from string value는 상황에 맞게 써야해요!

예를 들어서 Count라는 nbt는 갯수를 정해주는 거죠?

그럼 값을 가져오거나 (Items[0].Count from entity @e[type=player,limit=1] SelectedItem.Count)

정수를 거져오면 됌다! (Items[0].Count set value 5)

하지만 문자열은 안돼요!! 왜냐하면 갯수는 정수지 문자가 아니거든요!

문자열은 누구 이름을 바꾸거나, 표지판에 텍스트를 바꾸거나 할 때 사용할 수 있죠!

-----------------------------------------------------------------

4. data remove

remove는 nbt의 값을 지워줘요!

하지만 걱정하지 마세요! 필수 nbt를 지워도! 자동으로 다시 초기화되서 생겨요!

remove도 똑같이

/data remove <block/entity/storage> <x y z/개체/target> 삭제할NBT

이렇게 적으면 되요!

ex)

/data remove block -55 -60 -107 Items

이렇게요!


마무리이~

data에 modify는 어려운게 맞아요! 정말 어려워요!

코딩같은걸 배웠다면 조금 쉬울지 몰라도 일반인이 보면 이게 씹뭔개쌉소리지라는 소리가 절로 나오는 구간이에요!

물론 제 설명이 미숙했던 탓도 있지만... 아무튼..

질문이 있다면!

디스코드! (상민#3372)

쪽지도 좋고!

댓글도 좋아요!

Warning
댓글이 없습니다.

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

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3

/files/thumbnails/839/895/003/262x150.crop.jpg?20241006021227

SRV레코드는 보안도메인이 아닙니다. [서버오픈시 필독]

물귀신

2024-10-05

4