특정 블록을 부수면 실행되는 이벤트를 제작해봅시다!
복붙용 코드
console.warn("불러옴")
import * as server from "@minecraft/server"
import * as ui from "@minecraft/server-ui"
const { world } = server;
//import { world } from "@minecraft/server";
world.beforeEvents.playerBreakBlock.subscribe((event) => {
const playername = event.player.name;
const block = event.block.typeId;
world.getDimension("overworld").runCommandAsync(`title @a actionbar ${playername}가 ${block}를 캤습니다.`);
if (block === "minecraft:diamond_ore" || block === "minecraft:deepslate_diamond_ore") {
world.getDimension("overworld").runCommandAsync(`scoreboard players add ${playername} diamond 1`);
}
});
// 커스텀 명령어
world.afterEvents.chatSend.subscribe(e => {
const msg = e.message
if (msg == "1") {
e.sender.runCommand("scoreboard objectives add diamond dummy 다이아몬드")
e.sender.runCommand("scoreboard objectives setdisplay sidebar diamond")
e.sender.runCommand("/scoreboard players set @a diamond 0")
}
})
🏆스크립트 API에 대해서 잘 모른다면 다음 글을 참고하세요! 🏆
https://stevecoding.tistory.com/2
- 💡 채팅명령어 1을 입력해서 스코어보드값 약속하기
아래 변수 const msg는 플레이어가 입력한 e.message를 의미해요.
const msg = e.message
- 🚧 블록 부수는 이벤트 받아 스코어보드값 올리고 어떤 블록을 부쉈는지 알리기
아래 변수 const playername 은 블록을 부수는 플레이어입니다. event.player.name 문법을 잘 알아두세요.
const playername = event.player.name
아래 변수 const block는 부순 블록의 이름입니다.
const block = event.block.typeId;
if문 아래 다음 코드는 명령을 실행하는 모습입니다. ${playername}를 통해 블록을 부순 사람의 스코어보드 값이 올라간다는 것을 잘 보세요!
world.getDimension("overworld").runCommandAsync(`scoreboard players add ${playername} diamond 1`); }
이해가 안된다면 영상에서 더 자세히 확인해보세요.
'마인크래프트 애드온 제작' 카테고리의 다른 글
문제 내고 푸는 퀴즈 게임 만들기(스크립트 API 활용) #애드온제작 (1) | 2023.12.08 |
---|---|
나만의 보상을 만들자! 루트테이블 사용 방법 #애드온제작 (0) | 2023.11.17 |
스크립트 api의 첫걸음, chatSend 채팅명령어 만들기 #애드온제작 (1) | 2023.11.14 |
스크립트 API로 본격적으로 애드온 제작하기 #애드온제작 (1) | 2023.11.14 |