1// Spigot 1.8 – Java 8 · MobRegistry
2package at.walterproduktions.entity;
3
4public class MobstackHandler extends JavaPlugin implements Listener {
5 private final MobRegistry mobs = new MobRegistry();
6 private final PathfindingEngine ai = new PathfindingEngine();
7
8 @Override
9 public void onEnable() {
10 saveDefaultConfig();
11 getServer().getPluginManager().registerEvents(this, this);
12 getServer().getScheduler().runTaskTimer(this, this::tick, 20, 20);
13 getLogger().info("MobRegistry bereit");
14 }
15
16 @EventHandler(priority = EventPriority.HIGH)
17 public void onEntitySpawn(EntitySpawnEvent e) {
18 if (!mobs.isCustom(e.getEntity())) return;
19 CustomMob mob = mobs.wrap(e.getEntity());
20 mob.applyAttributes(); ai.attach(mob, mob.behaviourTree());
21 e.getPlayer().sendMessage(ChatColor.GREEN + "[MobstackHandler] aktualisiert");
22 }
23
24 private void scaleDifficulty(CustomMob mob, int players) {
25 mob.setHealth(mob.baseHealth() * (1 + players * 0.2));
26 }
27
28 private void tick() {
29 metrics.record("entity.tick", System.nanoTime());
30 }
31}