44 lines
1.6 KiB
Java
44 lines
1.6 KiB
Java
package me.xginko.villageroptimizer.modules;
|
|
|
|
import me.xginko.villageroptimizer.VillagerOptimizer;
|
|
import org.bukkit.entity.EntityType;
|
|
import org.bukkit.entity.Villager;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.EventPriority;
|
|
import org.bukkit.event.HandlerList;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
|
|
|
public class VillagersSpawnAdult implements VillagerOptimizerModule, Listener {
|
|
|
|
protected VillagersSpawnAdult() {}
|
|
|
|
@Override
|
|
public void enable() {
|
|
VillagerOptimizer plugin = VillagerOptimizer.getInstance();
|
|
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
|
}
|
|
|
|
@Override
|
|
public void disable() {
|
|
HandlerList.unregisterAll(this);
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldEnable() {
|
|
return VillagerOptimizer.getConfiguration().getBoolean("gameplay.villagers-spawn-as-adults.enable", false, """
|
|
Spawned villagers will immediately be adults.\s
|
|
This is to save some more performance as players don't have to keep unoptimized\s
|
|
villagers loaded because they have to wait for them to turn into adults before they can\s
|
|
optimize them.""");
|
|
}
|
|
|
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
|
private void onVillagerSpawn(CreatureSpawnEvent event) {
|
|
if (event.getEntityType().equals(EntityType.VILLAGER)) {
|
|
Villager villager = (Villager) event.getEntity();
|
|
if (!villager.isAdult()) villager.setAdult();
|
|
}
|
|
}
|
|
}
|