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
}
}

View File

@@ -1,5 +1,17 @@
# sets minimum players in bed to 50% of the server instead of requiring all players to be in bed
improved_bed: true
# fixes anvil cost beeing to expensive after 40 level
anvil_fix: true
# adds additional drops to some mobds
custom_drops: true
# adds custom crafting recipes
custom_recipes: true
# enables forge like replanting
replanting: true
# enables /back command
back_command: true

View File

@@ -1,6 +1,6 @@
name: BetterMinecraft
main: de.steev.bm.BetterMinecraft
version: 1.2.2
version: 1.2.2-b2
api-version: 1.21
commands:
back: