Plex/server/src/main/java/dev/plex/listener/impl/TogglesListener.java

65 lines
1.8 KiB
Java
Raw Normal View History

2022-05-19 21:11:45 +00:00
package dev.plex.listener.impl;
import dev.plex.listener.PlexListener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockFromToEvent;
2022-06-05 03:48:18 +00:00
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
2022-05-19 21:11:45 +00:00
import org.bukkit.event.entity.ExplosionPrimeEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
public class TogglesListener extends PlexListener
{
@EventHandler
public void onBlockExplode(ExplosionPrimeEvent event)
{
if (!plugin.toggles.getBoolean("explosions"))
{
2023-08-24 09:41:57 +00:00
event.getEntity().remove();
event.setCancelled(true);
}
}
@EventHandler
public void onEntityExplode(EntityExplodeEvent event)
2022-05-19 21:11:45 +00:00
{
if (!plugin.toggles.getBoolean("explosions"))
{
2023-08-24 09:41:57 +00:00
event.getEntity().remove();
2022-05-19 21:11:45 +00:00
event.setCancelled(true);
}
}
@EventHandler
public void onFluidSpread(BlockFromToEvent event)
{
if (!plugin.toggles.getBoolean("fluidspread"))
{
event.setCancelled(true);
}
}
@EventHandler
public void onFluidSpread(PlayerDropItemEvent event)
{
if (!plugin.toggles.getBoolean("drops"))
{
event.setCancelled(true);
}
}
2022-06-05 03:48:18 +00:00
/* I have no idea if this is the best way to do this
There is a very weird bug where if you try to create a loop using two repeaters and a lever, after disabling
and re-enabling redstone, you are unable to recreate the loop with a lever. Using a redstone torch works fine.
Using a lever works fine also as long as you never toggle redstone.
*/
@EventHandler
public void onBlockRedstone(BlockRedstoneEvent event)
{
if (!plugin.toggles.getBoolean("redstone"))
{
event.setNewCurrent(0);
}
}
2022-05-19 21:11:45 +00:00
}