bugfix 🪱 fixed possible bug that features may be activated even when config says they should not; improved loggin; properly added anvill event listener; replaced deprecated AnvillInventory with new AnvilView

This commit is contained in:
2025-12-07 16:06:38 +01:00
parent 5eb08e1859
commit 1ff91018a6
7 changed files with 43 additions and 12 deletions

View File

@@ -42,11 +42,18 @@ public class BetterMinecraft extends JavaPlugin implements Listener {
// Registers Events
this.getLogger().info(prefix + ChatColor.WHITE + "Load Events");
this.getServer().getPluginManager().registerEvents(new BedListener(this.gameManager), this);
this.getServer().getPluginManager().registerEvents(new KillListener(this.gameManager), this);
this.getServer().getPluginManager().registerEvents(new InteractListener(this.gameManager), this);
this.getServer().getPluginManager().registerEvents(new PrepareAnvilListener(this.gameManager), this);
this.getServer().getPluginManager().registerEvents(this, this);
try {
if(this.playerData.readBooleanFromConfig("improved_bed")) this.getServer().getPluginManager().registerEvents(new BedListener(this.gameManager), this);
if(this.playerData.readBooleanFromConfig("custom_drops")) this.getServer().getPluginManager().registerEvents(new KillListener(this.gameManager), this);
if(this.playerData.readBooleanFromConfig("replanting")) this.getServer().getPluginManager().registerEvents(new InteractListener(this.gameManager), this);
if(this.playerData.readBooleanFromConfig("anvil_fix")) this.getServer().getPluginManager().registerEvents(new PrepareAnvilListener(this.gameManager), this);
if(this.playerData.readBooleanFromConfig("back_command")) this.getServer().getPluginManager().registerEvents(this, this);
} catch (ConfigEntryExceptions e) {
throw new RuntimeException(e);
}
Objects.requireNonNull(this.getCommand("back")).setExecutor(new back(this.gameManager));

View File

@@ -8,12 +8,14 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerBedEnterEvent;
import org.bukkit.event.player.PlayerBedLeaveEvent;
import static de.steev.bm.utils.Constants.prefix;
public class BedListener implements Listener {
private GameManager gameManager;
public BedListener(GameManager gameManager) {
gameManager.getPlugin().getLogger().info("Bed Listener Registered");
gameManager.getPlugin().getLogger().info(prefix + "Bed Listener Registered");
this.gameManager = gameManager;
}

View File

@@ -11,11 +11,13 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import static de.steev.bm.utils.Constants.prefix;
public class InteractListener implements Listener {
private GameManager gameManager;
public InteractListener(GameManager gameManager){
gameManager.getPlugin().getLogger().info("Initializing Interaction Listener");
gameManager.getPlugin().getLogger().info(prefix + "Initializing Interaction Listener");
this.gameManager = gameManager;
}

View File

@@ -11,12 +11,14 @@ import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent;
import java.util.UUID;
import static de.steev.bm.utils.Constants.prefix;
public class KillListener implements Listener {
private GameManager gameManager;
public KillListener(GameManager gameManager) {
gameManager.getPlugin().getLogger().info("Mob Death events Registered");
gameManager.getPlugin().getLogger().info(prefix + "Mob Death events Registered");
this.gameManager = gameManager;
}

View File

@@ -1,21 +1,27 @@
package de.steev.bm.Listener;
import de.steev.bm.BetterMinecraft;
import de.steev.bm.Manager.GameManager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.PrepareAnvilEvent;
import org.bukkit.inventory.AnvilInventory;
import org.bukkit.inventory.view.AnvilView;
public class PrepareAnvilListener {
import static de.steev.bm.utils.Constants.prefix;
public class PrepareAnvilListener implements Listener {
private GameManager gameManager;
public PrepareAnvilListener(GameManager gameManager) {
gameManager.getPlugin().getLogger().info(prefix + "initializing Anvil CostCap fix");
this.gameManager = gameManager;
}
@EventHandler
public void onPrepare(PrepareAnvilEvent event) {
AnvilInventory inv = event.getInventory();
inv.setMaximumRepairCost(Integer.MAX_VALUE);
AnvilView inv = event.getView();
inv.setMaximumRepairCost(Integer.MAX_VALUE); // TODO: find solution for deprecation
}
}