mirror of
https://github.com/songoda/UltimateStacker.git
synced 2024-09-27 14:12:59 +02:00
35 lines
1.3 KiB
Java
35 lines
1.3 KiB
Java
package com.craftaro.ultimatestacker.listeners.entity;
|
|
|
|
import com.craftaro.ultimatestacker.UltimateStacker;
|
|
import com.craftaro.ultimatestacker.api.stack.entity.EntityStack;
|
|
import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager;
|
|
import org.bukkit.entity.LivingEntity;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.entity.EntityTransformEvent;
|
|
|
|
public class EntityCurrentListener implements Listener {
|
|
|
|
private final UltimateStacker plugin;
|
|
|
|
public EntityCurrentListener(UltimateStacker plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
@EventHandler
|
|
public void onSpawn(EntityTransformEvent event) {
|
|
EntityStackManager stackManager = plugin.getEntityStackManager();
|
|
if (stackManager.isStackedEntity(event.getEntity())
|
|
&& event.getEntity() instanceof LivingEntity
|
|
&& event.getTransformedEntity() instanceof LivingEntity) {
|
|
if (event.getTransformReason().equals(EntityTransformEvent.TransformReason.SPLIT)) {
|
|
event.setCancelled(true);
|
|
return;
|
|
}
|
|
EntityStack stack = stackManager.updateStack((LivingEntity) event.getEntity(), (LivingEntity) event.getTransformedEntity());
|
|
if (stack == null) return;
|
|
stack.releaseHost();
|
|
}
|
|
}
|
|
}
|