add first patch

This commit is contained in:
2026-07-31 10:34:32 +09:00
parent 03aac2e45e
commit b1cbc6c78d
6390 changed files with 547430 additions and 0 deletions
@@ -0,0 +1,82 @@
//priority: 100
console.info("[SOCIETY] moonStatue.js loaded");
const statueBuffs = [
"moon_extra_ore",
"moon_geode_roll",
"moon_rope_reveal",
"moon_remains",
"moon_damage",
];
global.handleMoonStatueClick = (click) => {
const { player, server, hand, block, level } = click;
if (!player.isFake() && player.stages.has("mining_mastery")) {
if (hand == "OFF_HAND") return;
if (hand == "MAIN_HAND") {
let day = global.getDay(level);
if (!player.persistentData.days) player.persistentData.days = {}
let dayData = player.persistentData.days.moonStatueDay;
if (dayData == undefined || global.compareDay(day, dayData, 1)) {
let selectedBuff =
statueBuffs[Math.floor(Math.random() * statueBuffs.length)];
player.tell(
Text.translatable(`block.society.moon_statue.announce`).aqua()
);
player.tell(
Text.translatable(`block.society.moon_statue.${selectedBuff}`).green()
);
player.persistentData.days.moonStatueDay = day;
statueBuffs.forEach((buff) => {
player.stages.remove(buff);
});
player.stages.add(selectedBuff);
server.runCommandSilent(
`playsound create:peculiar_bell_use block @a ${player.x} ${player.y} ${player.z}`
);
level.spawnParticles(
"species:spectre_smoke",
true,
block.x,
block.y + 1.5,
block.z,
0.1 * rnd(1, 2),
0.1 * rnd(1, 2),
0.1 * rnd(1, 2),
1,
0.5
);
} else {
player.tell(
Text.translatable("block.society.moon_statue.already_taken").red()
);
}
}
} else
player.tell(Text.translatable("block.society.moon_statue.no_mastery").red());
};
StartupEvents.registry("block", (event) => {
event
.create("society:moon_statue", "cardinal")
.displayName("Statue of The Moon Gnome")
.defaultCutout()
.soundType("stone")
.hardness(4.5)
.resistance(9.0)
.lightLevel(0.8)
.requiresTool(false)
.model("society:block/kubejs/moon_statue")
.tagBlock("minecraft:mineable/pickaxe")
.tagBlock("minecraft:needs_stone_tool")
.item((item) => {
item.tooltip(
Text.translatable("block.society.moon_statue.description").gray()
);
item.modelJson({
parent: "society:block/kubejs/moon_statue",
});
})
.rightClick((click) => {
global.handleMoonStatueClick(click);
});
});