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

Your email address will not be published. Required fields are marked *