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,154 @@
console.info("[SOCIETY] plushieReRegister.js loaded");
global.plushieRightClick = (click) => {
const { item, block, player, level, server, hand } = click;
const { x, y, z } = block;
let nbt = block.getEntityData();
const { type, quest_id, affection, animal } = nbt.data;
if (player.isFake()) return;
if (hand == "OFF_HAND") return;
if (hand == "MAIN_HAND") {
if (!Number(type)) {
global.plushieTraits.forEach((trait, index) => {
if (trait.trait.equals(type)) {
nbt.merge({
data: {
type: index,
},
});
global.setBlockEntityData(block, nbt)
}
})
}
if (!animal) {
if (
player.stages.has("women_who_run_with_the_plushies") &&
affection < 2
) {
nbt.merge({
data: {
affection: 2,
},
});
global.setBlockEntityData(block, nbt)
level.spawnParticles(
"minecraft:heart",
true,
x + 0.5,
y + 0.5,
z + 0.5,
0.1 * rnd(1, 4),
0.1 * rnd(1, 4),
0.1 * rnd(1, 4),
10,
0.1
);
}
if (quest_id > 0) {
let questList = Ingredient.of(global.plushieTraits[type].tag).itemIds;
let questOffset = 3;
if (questList.length < 12) questOffset = 2;
if (questList.length > 36) questOffset = 6;
let questItem =
questList[affection * questOffset + Number(quest_id) - 1];
let questName = Item.of(questItem).displayName;
if (item && item == questItem) {
if (!player.isCreative()) item.count--;
level.spawnParticles(
"minecraft:heart",
true,
x + 0.5,
y + 0.5,
z + 0.5,
0.1 * rnd(1, 4),
0.1 * rnd(1, 4),
0.1 * rnd(1, 4),
10,
0.1
);
nbt.merge({
data: {
quest_id: affection == 3 ? "0" : String(rnd(1, 3)),
affection: affection + 1,
},
});
if (
player.stages.has("husbandry_mastery") &&
!player.stages.has("women_who_run_with_the_plushies") &&
affection > 2 &&
Math.random() <= 0.05
) {
block.popItemFromFace(
"society:women_who_run_with_the_plushies",
block.properties.get("facing")
);
}
global.setBlockEntityData(block, nbt)
player.tell(Text.translatable("society.plushie.thank").gray());
} else {
player.tell(Text.translatable("society.plushie.want_gift").gray());
player.tell(questName);
}
}
if (
item == "minecraft:air" &&
block.id === "whimsy_deco:adv_singing_frog_plushie"
) {
server.runCommandSilent(
`playsound species:music.disk.spawner block @a ${x} ${y} ${z}`
);
block.set("whimsy_deco:sunlit_singing_frog", block.properties);
global.setBlockEntityData(block, nbt)
server.scheduleInTicks(0, () => {
server.scheduleInTicks(2740, () => {
if (
level.getBlock(block.pos).id === "whimsy_deco:sunlit_singing_frog"
) {
block.set(
"whimsy_deco:adv_singing_frog_plushie",
block.properties
);
global.setBlockEntityData(block, nbt)
}
});
});
} else
server.runCommandSilent(
`playsound tanukidecor:block.mini_figure.squeak block @a ${x} ${y} ${z}`
);
}
}
};
StartupEvents.registry("block", (event) => {
global.originalPlushies.forEach((plushie) => {
const splitStr = plushie.split(":");
let modelPath = `${splitStr[0]}:block/${splitStr[1]}`;
if (splitStr[0].equals("tanukidecor"))
modelPath = `tanukidecor:block/mini_figure/${splitStr[1]}`;
event
.create(`${splitStr[0]}:adv_${splitStr[1]}`, "cardinal")
.defaultCutout()
.box(2, 0, 2, 14, 14, 14)
.tagBlock("minecraft:mineable/axe")
.soundType("wool")
.hardness(1.0)
.requiresTool(false)
.model(modelPath)
.item((item) => {
item.modelJson({
parent: modelPath,
});
})
.rightClick((click) => global.plushieRightClick(click))
.blockEntity((blockInfo) => {
blockInfo.initialData({
type: "",
quest_id: 0,
quality: 0,
affection: 0,
});
});
});
});