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,105 @@
console.info("[SOCIETY] animalBreeding.js loaded");
const breedingItems = [
"minecraft:carrot",
"minecraft:wheat",
"minecraft:beetroot",
"minecraft:potato",
"farmersdelight:cabbage_seeds",
"vintagedelight:ghost_pepper_seeds",
"vintagedelight:cucumber_seeds",
"supplementaries:flax_seeds",
"minecraft:beetroot_seeds",
"minecraft:wheat_seeds",
"minecraft:pumpkin_seeds",
"minecraft:torchflower_seeds",
"farmersdelight:tomato_seeds",
"society:tubabacco_seed",
"society:ancient_fruit_seed",
"society:blueberry_seed",
"minecraft:dandelion",
"minecraft:golden_carrot",
];
ItemEvents.entityInteracted((e) => {
const { hand, player, item, target, level, server } = e;
if (player.cooldowns.isOnCooldown(item)) return;
if (!global.checkEntityTag(target, "society:husbandry_animal") || target.isBaby()) return;
if (breedingItems.includes(item.id)) {
server.runCommandSilent(
global.getEmbersTextAPICommand(
player.username,
global.animalMessageSettings,
160,
Text.translatable("society.husbandry.breeding.need_potion").toJson()
)
);
e.cancel();
}
if (hand == "OFF_HAND") return;
if (hand == "MAIN_HAND" && item === "society:miracle_potion") {
if (global.checkEntityTag(target, "society:infertile")) {
server.runCommandSilent(
global.getEmbersTextAPICommand(
player.username,
global.animalMessageSettings,
120,
Text.translatable("society.husbandry.breeding.infertile").toJson()
)
);
e.cancel();
}
let animalNbt = target.getNbt();
let day = global.getDay(level);
let ageLastBred = target.persistentData.ageLastBred || 0;
if (global.isFresh(day, ageLastBred)) ageLastBred = 0;
if (Number(animalNbt.InLove) === 0 && day > ageLastBred) {
if (
["crittersandcompanions:red_panda", "minecraft:panda"].includes(target.type) &&
Math.random() > 0.2
) {
item.count--;
target.persistentData.ageLastBred = day;
server.runCommandSilent(
global.getEmbersTextAPICommand(
player.username,
global.animalMessageSettings,
160,
Text.translatable("society.husbandry.breeding.fail").toJson()
)
);
} else {
animalNbt.InLove = 2000;
target.setNbt(animalNbt);
item.count--;
level.spawnParticles(
"minecraft:heart",
true,
target.x,
target.y + 1.5,
target.z,
0.2 * rnd(1, 4),
0.2 * rnd(1, 4),
0.2 * rnd(1, 4),
12,
0.01
);
target.persistentData.ageLastBred = day;
global.giveExperience(server, player, "husbandry", 80);
player.swing();
global.addItemCooldown(player, item, 10);
}
} else if (day > ageLastBred) {
global.addItemCooldown(player, "society:miracle_potion", 40);
server.runCommandSilent(
global.getEmbersTextAPICommand(
player.username,
global.animalMessageSettings,
120,
Text.translatable("society.husbandry.breeding.cooldown").toJson()
)
);
}
}
});