refactor mini
This commit is contained in:
@@ -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!");
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user