add first patch
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
EntityEvents.death((e) => {
|
||||
const { source, level, server, entity } = e;
|
||||
if (
|
||||
source.player &&
|
||||
source.player.getType() === "minecraft:player" &&
|
||||
["minecraft:sheep", "wildernature:minisheep", "meadow:wooly_sheep"].includes(entity.type) &&
|
||||
source.player.stages.has("sacrificial_lamb")
|
||||
) {
|
||||
let sacrificeAffection = entity.persistentData.getInt("affection");
|
||||
if (sacrificeAffection < 200) return;
|
||||
let witnesses = level
|
||||
.getEntitiesWithin(source.player.boundingBox.inflate(8))
|
||||
.filter((entity) => global.checkEntityTag(entity, "society:husbandry_animal"));
|
||||
server.runCommandSilent(
|
||||
`playsound legendarycreatures:corpse_eater_death block @a ${source.player.x} ${source.player.y} ${source.player.z}`
|
||||
);
|
||||
witnesses.forEach((animal) => {
|
||||
let data
|
||||
if (["minecraft:sheep", "wildernature:minisheep", "meadow:wooly_sheep"].includes(animal.type)) {
|
||||
data = animal.persistentData;
|
||||
data.affection = data.getInt("affection") - 100;
|
||||
level.spawnParticles(
|
||||
"minecraft:angry_villager",
|
||||
true,
|
||||
animal.x,
|
||||
animal.y + 1.5,
|
||||
animal.z,
|
||||
0.1 * rnd(1, 4),
|
||||
0.1 * rnd(1, 4),
|
||||
0.1 * rnd(1, 4),
|
||||
5,
|
||||
0.01
|
||||
);
|
||||
} else if (Math.random() < 0.5) {
|
||||
data = animal.persistentData;
|
||||
data.affection =
|
||||
data.getInt("affection") + Math.round(sacrificeAffection / 2);
|
||||
|
||||
level.spawnParticles(
|
||||
"minecraft:sculk_soul",
|
||||
true,
|
||||
animal.x,
|
||||
animal.y + 1.5,
|
||||
animal.z,
|
||||
0.1 * rnd(1, 4),
|
||||
0.1 * rnd(1, 4),
|
||||
0.1 * rnd(1, 4),
|
||||
5,
|
||||
0.01
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user