Added Explosion Block Listener
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package dev.tatsi.reloadmc.smp;
|
package dev.tatsi.reloadmc.smp;
|
||||||
|
|
||||||
import dev.tatsi.reloadmc.smp.command.DeathStatsCommand;
|
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.PlayerDeathListener;
|
||||||
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
|
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
|
||||||
import dev.tatsi.reloadmc.smp.listener.PrettyChatListener;
|
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 PlayerDeathListener(deathCounterManager), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlayerJoinLeaveListener(), this);
|
getServer().getPluginManager().registerEvents(new PlayerJoinLeaveListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new TabPingListener(this), this);
|
getServer().getPluginManager().registerEvents(new TabPingListener(this), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new ExplosionBlockListener(), this);
|
||||||
|
|
||||||
// Register commands
|
// Register commands
|
||||||
getCommand("deathstats").setExecutor(new DeathStatsCommand(deathCounterManager));
|
getCommand("deathstats").setExecutor(new DeathStatsCommand(deathCounterManager));
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
name: reloadmc_smp
|
name: ReloadMCSMP
|
||||||
version: '1.0.0'
|
version: '1.0.1'
|
||||||
main: dev.tatsi.reloadmc.smp.ReloadMC
|
main: dev.tatsi.reloadmc.smp.ReloadMC
|
||||||
api-version: '1.21'
|
api-version: '1.21'
|
||||||
prefix: CorePlugin
|
prefix: CorePlugin
|
||||||
|
|||||||
Reference in New Issue
Block a user