refactor mini

This commit is contained in:
tiko
2026-02-05 15:28:50 +01:00
parent 754795c958
commit 2fc2b7ce97
3 changed files with 20 additions and 12 deletions

View File

@@ -35,7 +35,7 @@ public final class BattleTowersPlugin extends JavaPlugin {
); );
getServer().getPluginManager().registerEvents( getServer().getPluginManager().registerEvents(
new TowerBossDeathListener(), this new TowerBossDeathListener(towerKey), this
); );
getLogger().info("BattleTowers enabled!"); getLogger().info("BattleTowers enabled!");

View File

@@ -1,25 +1,34 @@
package fyi.tiko.battletowers.boss; package fyi.tiko.battletowers.boss;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.IronGolem; import org.bukkit.entity.IronGolem;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.persistence.PersistentDataType;
import static fyi.tiko.battletowers.BattleTowersPlugin.instance;
public class TowerBossDeathListener implements Listener { public class TowerBossDeathListener implements Listener {
private final NamespacedKey towerKey;
public TowerBossDeathListener(NamespacedKey towerKey) {
this.towerKey = towerKey;
}
@EventHandler @EventHandler
public void onBossDeath(EntityDeathEvent event) { public void onBossDeath(final EntityDeathEvent event) {
if (!(event.getEntity() instanceof IronGolem golem)) return; if (!(event.getEntity() instanceof IronGolem golem)) {
return;
}
var data = golem.getPersistentDataContainer().get( final var data = golem.getPersistentDataContainer().get(
instance().towerKey(), towerKey,
org.bukkit.persistence.PersistentDataType.STRING PersistentDataType.STRING
); );
if (data == null) return; if (data == null) {
return;
}
// Tower Collapse Start // Tower Collapse Start
TowerDestroyer.startCollapse(golem.getLocation(), event.getEntity().getKiller()); TowerDestroyer.startCollapse(golem.getLocation(), event.getEntity().getKiller());

View File

@@ -1,6 +1,7 @@
package fyi.tiko.battletowers.loot; package fyi.tiko.battletowers.loot;
import fyi.tiko.battletowers.boss.TowerBossSpawner; import fyi.tiko.battletowers.boss.TowerBossSpawner;
import org.bukkit.block.Chest;
import org.bukkit.entity.IronGolem; import org.bukkit.entity.IronGolem;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
@@ -11,7 +12,7 @@ public class TowerChestListener implements Listener {
@EventHandler @EventHandler
public void onChestOpen(InventoryOpenEvent event) { public void onChestOpen(InventoryOpenEvent event) {
if (!(event.getInventory().getHolder() instanceof org.bukkit.block.Chest)) { if (!(event.getInventory().getHolder() instanceof Chest)) {
return; return;
} }
@@ -19,9 +20,7 @@ public class TowerChestListener implements Listener {
// Search nearby golems // Search nearby golems
for (var entity : player.getNearbyEntities(8, 8, 8)) { for (var entity : player.getNearbyEntities(8, 8, 8)) {
if (entity instanceof IronGolem golem) { if (entity instanceof IronGolem golem) {
if (!golem.hasAI()) { if (!golem.hasAI()) {
TowerBossSpawner.wakeUp(golem); TowerBossSpawner.wakeUp(golem);
golem.setTarget(player); golem.setTarget(player);