2023-05-25 19:20:03 +02:00
|
|
|
package com.craftaro.ultimatestacker.listeners;
|
2019-01-10 22:45:13 +01:00
|
|
|
|
2023-05-25 19:20:03 +02:00
|
|
|
import com.craftaro.ultimatestacker.UltimateStacker;
|
2024-02-02 15:58:40 +01:00
|
|
|
import com.craftaro.ultimatestacker.api.stack.entity.EntityStack;
|
2024-03-12 20:25:22 +01:00
|
|
|
import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager;
|
2019-01-10 22:45:13 +01:00
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
import org.bukkit.event.entity.EntityBreedEvent;
|
|
|
|
|
|
|
|
public class BreedListeners implements Listener {
|
|
|
|
|
2020-09-01 20:54:43 +02:00
|
|
|
private final UltimateStacker plugin;
|
2024-03-12 20:25:22 +01:00
|
|
|
private final EntityStackManager entityStackManager;
|
2019-01-10 22:45:13 +01:00
|
|
|
|
2020-09-01 20:54:43 +02:00
|
|
|
public BreedListeners(UltimateStacker plugin) {
|
|
|
|
this.plugin = plugin;
|
2024-03-12 20:25:22 +01:00
|
|
|
this.entityStackManager = plugin.getEntityStackManager();
|
2019-01-10 22:45:13 +01:00
|
|
|
}
|
|
|
|
|
2023-05-05 10:57:17 +02:00
|
|
|
@EventHandler
|
2019-01-10 22:45:13 +01:00
|
|
|
public void onBread(EntityBreedEvent event) {
|
2024-03-12 20:25:22 +01:00
|
|
|
EntityStack stackedMother = entityStackManager.getStackedEntity(event.getMother());
|
|
|
|
EntityStack stackedFather = entityStackManager.getStackedEntity(event.getFather());
|
2024-02-02 15:58:40 +01:00
|
|
|
|
2024-03-12 20:25:22 +01:00
|
|
|
plugin.getBreedingTask().addBreedingTicket(event.getMother(), event.getFather());
|
2024-02-02 15:58:40 +01:00
|
|
|
|
2024-03-12 20:25:22 +01:00
|
|
|
if (stackedMother != null) {
|
|
|
|
EntityStack stack = entityStackManager.getStackedEntity(event.getMother());
|
2024-02-02 15:58:40 +01:00
|
|
|
if (stack.getAmount() <= 1) return;
|
|
|
|
stack.releaseHost();
|
|
|
|
}
|
|
|
|
|
2024-03-12 20:25:22 +01:00
|
|
|
if (stackedFather != null) {
|
|
|
|
EntityStack stack = entityStackManager.getStackedEntity(event.getFather());
|
2024-02-02 15:58:40 +01:00
|
|
|
if (stack.getAmount() <= 1) return;
|
|
|
|
stack.releaseHost();
|
|
|
|
}
|
2019-01-10 22:45:13 +01:00
|
|
|
}
|
|
|
|
}
|