add first patch
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
console.info("[SOCIETY] animalSunlitCrystal.js loaded");
|
||||
|
||||
ItemEvents.entityInteracted((e) => {
|
||||
const { hand, level, target, item, player, server } = e;
|
||||
if (hand == "OFF_HAND") return;
|
||||
if (!global.checkEntityTag(target, "society:husbandry_animal")) return;
|
||||
if (hand == "MAIN_HAND" && item === "society:sunlit_crystal") {
|
||||
const animalData = target.persistentData;
|
||||
const animalNbt = target.getNbt();
|
||||
const plushie = player.getHeldItem("off_hand");
|
||||
let plushieNbt = plushie.getNbt();
|
||||
let errorString = "";
|
||||
if (Number(animalData.getInt("affection") || 0) < 1000) {
|
||||
errorString =
|
||||
"society.husbandry.sunlit_crystal.not_enough_animal_affection";
|
||||
}
|
||||
if (!plushie.hasTag("society:plushies")) {
|
||||
errorString = "society.husbandry.sunlit_crystal.not_plushie";
|
||||
} else if (Number(plushieNbt.get("affection")) < 4) {
|
||||
errorString =
|
||||
"society.husbandry.sunlit_crystal.not_enough_plushie_affection";
|
||||
} else if (plushieNbt.get("animal")) {
|
||||
errorString = "society.husbandry.sunlit_crystal.has_animal";
|
||||
}
|
||||
if (errorString) {
|
||||
server.runCommandSilent(
|
||||
global.getEmbersTextAPICommand(
|
||||
player.username,
|
||||
global.animalMessageSettings,
|
||||
80,
|
||||
Text.translatable(errorString).toJson()
|
||||
)
|
||||
);
|
||||
return;
|
||||
} else {
|
||||
if (!player.isCreative()) item.shrink(1);
|
||||
player.give(
|
||||
Item.of(
|
||||
plushie.id,
|
||||
global.getPlushieItemNbt(
|
||||
plushieNbt,
|
||||
target.type,
|
||||
target.customName,
|
||||
animalData,
|
||||
animalNbt
|
||||
)
|
||||
)
|
||||
);
|
||||
plushie.shrink(1);
|
||||
server.runCommandSilent(
|
||||
`playsound relics:table_upgrade block @a ${player.x} ${player.y} ${player.z}`
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`playsound chimes:block.amethyst.shimmer block @a ${player.x} ${player.y} ${player.z}`
|
||||
);
|
||||
|
||||
level.spawnParticles(
|
||||
"snowyspirit:glow_light",
|
||||
true,
|
||||
target.x,
|
||||
target.y + 1,
|
||||
target.z,
|
||||
0.2 * rnd(1, 4),
|
||||
0.2 * rnd(1, 4),
|
||||
0.2 * rnd(1, 4),
|
||||
15,
|
||||
0.01
|
||||
);
|
||||
level.spawnParticles(
|
||||
"species:wicked_flame",
|
||||
true,
|
||||
target.x,
|
||||
target.y + 1,
|
||||
target.z,
|
||||
0.2 * rnd(1, 4),
|
||||
0.2 * rnd(1, 4),
|
||||
0.2 * rnd(1, 4),
|
||||
15,
|
||||
0.01
|
||||
);
|
||||
|
||||
target.setRemoved("unloaded_to_chunk");
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user