개인 자료란 (JE)

  서버 커뮤니티

Profile 마크지식제로뉴비 대표칭호 없음
Profile

질문하기 커맨드

커맨드 블록을 활용하여 아이템 클리어 시키는 법

2023.04.16 조회 수 210 추천 수 0
이해도 입문자 
게임버전 (JE) 1.19.2 
게임버전 (BE) 관련없음 

커맨드 블록을 활용화여 홀 짝 도박 게임을 만들려고 합니다

버튼을 눌러 신호를 주면 해당 유저의 칩이라는 아이템을 1개를 삭제 시키고 싶습니다


id:sunflower,Count:1,tag:{RepairCost: 0, display:{Name:'{"text":"칩"}'}}

위와 같은 형태로 해바라기를 칩으로 만들었습니다. 

/clear @p ? 0 1


저 물음표에 어떤 식으로 해야할지 알려주시면 감사하겠습니다




7개의 댓글

yusin12
2023.04.16

sunflower{display:{Name:"{\"text\":\"칩\"}"}}

@yusin12

답글 감사합니다!!! 혹시 @p 를 하면 가장 가까운 플레이어로 알고 있습니다만 왜 모든 유저한테서 삭제가 되는지 여쭤봐도 괜찮을까요?

 

김형원
2023.04.16
@마크지식제로뉴비

혹시 반복커맨드에 버튼을 다셨나요?

@김형원

아 실수로 @a 로 해놨네요 실수했습니다.. 죄송합니다ㅠㅠ

혹시 PC je에서 scoreBoard players random 을 사용할 수 없던데 홀 짝을 하고 싶습니다만 대체가 있을까요?

김형원
2023.04.16
@마크지식제로뉴비

엔티티의 UUID를 사용하면 됩니다

ececute store로 UUID를 조장한 다음 % 연산자를 통해 일정한 범위 내의 랜덤 값을 얻을 수 있어요

@김형원

답변 감사합니다 지금 강좌 보면서 진행하고 있습니다만 진행한 내용

 

스코어 보드 설정

1. scoreboard objectives add coin dummy

2. scoreboard objectives add gamble dummy

 

커맨드 블력

3. clear @p mincraft:diamond 1 (반응형, 레드스톤 필요 => 버튼을 통해 신호)

4. scoreboard players set @p gamble 1 (연쇄형)

5 . 강의에서는 scoreboard players random @p coin 1 2 <= 이 부분에서 막힌 상태 (연쇄형)

 

5번 완료 시 진행해야 하는 명령려

6. tag @p add gambler (연쇄형)

7. execute @a pscores={gamble1}] ~ ~ ~ scoreboard players test @s coin 1 1 (반복형) <= je에서 excute 후 @a를 바로 할 수 없으니 막힐 거 같습니다

8. title @p[tag=gambler] actionbar 도박 성공 (연쇄형)

9. scoreboard players set @a coin 0 (연쇄형)

10. give @p[tag=gambler] diamond 2 (연쇄형)

11. tag @p remove gambler

 

참고하려는 유튜브 영상 => https://www.youtube.com/watch?v=5bHGpn_SGaY&t=155s

이거 입니다만 도움 주시면 감사하겠습니다

yusin12
2023.04.16
@마크지식제로뉴비

마인크래프트 에서 random은... 가장 간단한 방법은

 

/summon minecraft:armor_stand ~ ~ ~ {Tags:["holjjak"]}

으로 holjjak이라는 태그를 가진 아머스탠드 소환 후

 

/scoreboard objectives add 스코어보드이름 dummy

으로 스코어 보드를 만들고

 

/scoreboard players add @e[tag=holjjak] 스코어보드이름 1

으로 계속 1점씩 줘요!

 

/execute as @e[tag=holjjak,scores={스코어보드이름=2..}] at @s run scoreboard players set @s 스코어보드이름 0

으로 2가 될 때 마다 초기화 해줘요!

 

/tellraw @a [{"score":{"objective":"스코어보드이름","name":"@e[tag=holjjak]"}}]

이 명령어로 하면 0과 1만 나오는걸 볼 수 있어요!!

 

/execute as @e[tag=holjjak,scores={스코어보드이름=1}] at @s run say 홀

/execute as @e[tag=holjjak,scores={스코어보드이름=0}] at @s run say 짝

 

 

 

 

그 다음 방법은

 

/scoreboard objectives add 스코어보드이름 dummy

으로 스코어 보드를 만들고

 

/summon minecraft:armor_stand ~ ~ ~ {Tags:["random"]}

으로 random이라는 태그를 가진 아머스탠드 소환해요!

 

/execute as @e[tag=random] at @s store result score c 스코어보드이름 run data get entity @s UUID[0]

으로 random이라는 태그를 가진 아머스탠드의 UUID를 스코어보드이름의 c라는 가상에 개체랑 같게해요!

 

/kill @e[tag=random]

으로 random이라는 태그를 가진 모든 엔티티를 죽여요!

 

/scoreboard players operation c 스코어보드이름 %= Max 스코어보드이름

으로 c의 값에서 Max의 값을 나눠요!

 

/scoreboard players add Max 스코어보드이름 10

으로 Max를 설정해줘요!!

 

이 방법은 아머스탠드에 UUID를 가져와서 스코어보드에 저장한 뒤 그 값을 나눠서 나오는 나머지 값을 저장하는 거에요!

즉 10 나누기 10의 나머지는 0이므로 Max값이 10이면 0~9까지 10개의 숫자가 나와요!

뉴스 및 창작물
/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