J’ai créé ce plugin Spigot parce que j’ai toujours trouvé ça très étrange que tuer un animal doté d’os fasse disparaitre ses os (´・ω・`)? Genre une vache, ça a des os non ?
Ajouter des os à toutes ces créatures (vaches, cochons, poulet, loups, chevaux, chats, villageois, chèvres, etc) renforce le réalisme et ajoute une contrainte ET des opportunités !
Avec ça, l’agriculture devient vraiment très intéressante et plutôt que de développer un charnier, on peut essayer de construire de belles choses avec des blocs d’os 🙂
Le code est consisté d’un simple EventHandler associé à un random et une liste des créatures contenant des os 🙂
public class DropBoneMeal implements Listener {
String[] invertebrateCreatures = {"Creeper", "Slime", "Bee", "Spider", "Cave Spider", "Squid", "Glow Squid", "Snow Golem", "Iron Golem", "Blaze", "Ghast", "Magma Cube", "Shulker"};
Random randomBones = new Random();
@EventHandler
public void onCreatureDeath(EntityDeathEvent entityDeathEvent) {
for (Player player : Bukkit.getOnlinePlayers()) {
if (entityDeathEvent.getEntity().getKiller() != null) {
Location creatureKilledLocation = entityDeathEvent.getEntity().getKiller().getLocation();
if (player.getLocation().distance(creatureKilledLocation) < 50) {
for (String invertebrateCreature : invertebrateCreatures) {
if (entityDeathEvent.getEntity().getName().equals(invertebrateCreature)) {
return;
}
}
ItemStack stack = new ItemStack(Material.BONE, 1 + randomBones.nextInt(3));
entityDeathEvent.getEntity().getWorld().dropItemNaturally(entityDeathEvent.getEntity().getLocation(), stack);
}
}
}
}
}
Leave a Reply