Added Explosion Block Listener

This commit is contained in:
2025-09-04 19:24:53 +02:00
parent 0dde7f823e
commit 2b9c8695dc
3 changed files with 33 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package dev.tatsi.reloadmc.smp;
import dev.tatsi.reloadmc.smp.command.DeathStatsCommand;
import dev.tatsi.reloadmc.smp.listener.ExplosionBlockListener;
import dev.tatsi.reloadmc.smp.listener.PlayerDeathListener;
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
import dev.tatsi.reloadmc.smp.listener.PrettyChatListener;
@@ -21,6 +22,7 @@ public final class ReloadMC extends JavaPlugin {
getServer().getPluginManager().registerEvents(new PlayerDeathListener(deathCounterManager), this);
getServer().getPluginManager().registerEvents(new PlayerJoinLeaveListener(), this);
getServer().getPluginManager().registerEvents(new TabPingListener(this), this);
getServer().getPluginManager().registerEvents(new ExplosionBlockListener(), this);
// Register commands
getCommand("deathstats").setExecutor(new DeathStatsCommand(deathCounterManager));

View File

@@ -0,0 +1,29 @@
package dev.tatsi.reloadmc.smp.listener;
import org.bukkit.entity.Creeper;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityExplodeEvent;
/**
* @author Thatsaphorn Atchariyaphap
* @since 04.09.25
*/
public class ExplosionBlockListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onCreeperExplode(EntityExplodeEvent event) {
if (!(event.getEntity() instanceof Creeper)) {
event.setCancelled(true);
return;
}
// Entfernt alle Blöcke, die sonst zerstört würden.
event.blockList().clear();
// Optional (je nach Geschmack): Loot/„Ertrag“ der Explosion auf 0 setzen.
// Hat bei Creepern i.d.R. keine Relevanz, schadet aber nicht.
event.setYield(0f);
}
}

View File

@@ -1,5 +1,5 @@
name: reloadmc_smp
version: '1.0.0'
name: ReloadMCSMP
version: '1.0.1'
main: dev.tatsi.reloadmc.smp.ReloadMC
api-version: '1.21'
prefix: CorePlugin