Wichtig - Arbeiten am Mobsystem

Bild des Benutzers OmaElse
Foren: 

Wir arbeiten gerade an unseren Mobs, darum kann es dazu kommen dass derzeit zu viele Mobs, zu wenige Mobs oder auch mal Vanillamobs wie Skelette und co. auftauchen. Danke für eure Geduld, ich hoffe dass wir in den nächsten Tagen zu einer guten Spawnrate kommen. Dann wird es auch neue Mobs mit verschiedenen Drops geben, was genau erfahrt ihr im Mobupdate, Danke.

Zum technischen Teil, falls jemand aus der Community eine Idee hat:

Wir haben folgendes kniffliges Problem –

Man kann mit unserem Mobplugin MythicMobs https://www.mythicmobs.net/manual/doku.php neue Custommobs hinzufügen aber auch Vanillamobs zu Custommobs machen. Da wir wollen dass normale Mobs wie Schweine auch Custom-Drops haben (z.B. Schweinehaut und Tierfett) dürfen die Custommobs nicht despawnen, sonst würden die Tierherden der Spieler verschwinden. Wenn wir den Despawn der Custommobs ausstellen führt das aber auch dazu dass aggresive Custommobs wie Wölfe nicht despawnen und sich deshalb sammeln. Darum beklagen einige Spieler über Ratten oder Wolfshorden.

 

Droptabels kann man unter Spigot nicht editieren.

Falls du mit Droptables meinst, dass Vanilla mobs andere items droppen können / custom Items. Da kann ich dir ein Plugin schreiben / eine Lösung finden.

Liebe Grüße Nizarr

package plugin;

import org.bukkit.Material;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Pig;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;

public class MyListener implements org.bukkit.event.Listener {
    public Plugin plugin;

    public MyListener(Plugin plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void mobDeath(EntityDeathEvent event) {
        event.getDrops().clear();
        LivingEntity e = event.getEntity();
        event.setDroppedExp(0);
        if (e instanceof Pig) {
            e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.DIAMOND));
            e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.ANVIL));
        }

    }

}