mirror of
https://github.com/kaboomserver/extras.git
synced 2024-11-30 03:15:41 -05:00
Remove some unnecessary checks
This commit is contained in:
parent
7cbaf7f812
commit
7b51a42080
8 changed files with 3 additions and 261 deletions
|
@ -12,12 +12,10 @@ import pw.kaboom.extras.modules.block.BlockPhysics;
|
||||||
import pw.kaboom.extras.modules.entity.EntityExplosion;
|
import pw.kaboom.extras.modules.entity.EntityExplosion;
|
||||||
import pw.kaboom.extras.modules.entity.EntityKnockback;
|
import pw.kaboom.extras.modules.entity.EntityKnockback;
|
||||||
import pw.kaboom.extras.modules.entity.EntitySpawn;
|
import pw.kaboom.extras.modules.entity.EntitySpawn;
|
||||||
import pw.kaboom.extras.modules.entity.EntityTeleport;
|
|
||||||
import pw.kaboom.extras.modules.player.*;
|
import pw.kaboom.extras.modules.player.*;
|
||||||
import pw.kaboom.extras.modules.server.ServerCommand;
|
import pw.kaboom.extras.modules.server.ServerCommand;
|
||||||
import pw.kaboom.extras.modules.server.ServerGameRule;
|
import pw.kaboom.extras.modules.server.ServerGameRule;
|
||||||
import pw.kaboom.extras.modules.server.ServerTabComplete;
|
import pw.kaboom.extras.modules.server.ServerTabComplete;
|
||||||
import pw.kaboom.extras.modules.server.ServerTick;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -28,16 +26,6 @@ public final class Main extends JavaPlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
/* Fill lists */
|
|
||||||
Collections.addAll(
|
|
||||||
BlockPhysics.getBlockFaces(),
|
|
||||||
BlockFace.NORTH,
|
|
||||||
BlockFace.SOUTH,
|
|
||||||
BlockFace.WEST,
|
|
||||||
BlockFace.EAST,
|
|
||||||
BlockFace.UP
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Load missing config.yml defaults */
|
/* Load missing config.yml defaults */
|
||||||
getConfig().options().copyDefaults(true);
|
getConfig().options().copyDefaults(true);
|
||||||
saveConfig();
|
saveConfig();
|
||||||
|
@ -80,7 +68,6 @@ public final class Main extends JavaPlugin {
|
||||||
this.getServer().getPluginManager().registerEvents(new EntityExplosion(), this);
|
this.getServer().getPluginManager().registerEvents(new EntityExplosion(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new EntityKnockback(), this);
|
this.getServer().getPluginManager().registerEvents(new EntityKnockback(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new EntitySpawn(), this);
|
this.getServer().getPluginManager().registerEvents(new EntitySpawn(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new EntityTeleport(), this);
|
|
||||||
|
|
||||||
/* Player-related modules */
|
/* Player-related modules */
|
||||||
this.getServer().getPluginManager().registerEvents(new PlayerChat(), this);
|
this.getServer().getPluginManager().registerEvents(new PlayerChat(), this);
|
||||||
|
@ -96,7 +83,6 @@ public final class Main extends JavaPlugin {
|
||||||
this.getServer().getPluginManager().registerEvents(new ServerCommand(), this);
|
this.getServer().getPluginManager().registerEvents(new ServerCommand(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new ServerGameRule(), this);
|
this.getServer().getPluginManager().registerEvents(new ServerGameRule(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new ServerTabComplete(), this);
|
this.getServer().getPluginManager().registerEvents(new ServerTabComplete(), this);
|
||||||
this.getServer().getPluginManager().registerEvents(new ServerTick(), this);
|
|
||||||
|
|
||||||
/* Custom worlds */
|
/* Custom worlds */
|
||||||
this.getServer().createWorld(
|
this.getServer().createWorld(
|
||||||
|
|
|
@ -3,39 +3,13 @@ package pw.kaboom.extras.modules.block;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
|
||||||
import org.bukkit.event.block.SignChangeEvent;
|
|
||||||
import org.bukkit.event.world.ChunkUnloadEvent;
|
import org.bukkit.event.world.ChunkUnloadEvent;
|
||||||
|
|
||||||
public final class BlockCheck implements Listener {
|
public final class BlockCheck implements Listener {
|
||||||
@EventHandler
|
|
||||||
void onBlockPlace(final BlockPlaceEvent event) {
|
|
||||||
try {
|
|
||||||
final int maxItemStringLength = 3019;
|
|
||||||
|
|
||||||
if (event.getItemInHand().toString().length() > maxItemStringLength) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
event.getBlockPlaced().getState();
|
|
||||||
} catch (Exception exception) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onChunkUnload(final ChunkUnloadEvent event) {
|
void onChunkUnload(final ChunkUnloadEvent event) {
|
||||||
for (Chunk chunk : event.getChunk().getWorld().getForceLoadedChunks()) {
|
for (Chunk chunk : event.getChunk().getWorld().getForceLoadedChunks()) {
|
||||||
chunk.setForceLoaded(false);
|
chunk.setForceLoaded(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onSignChange(final SignChangeEvent event) {
|
|
||||||
try {
|
|
||||||
event.getLines();
|
|
||||||
} catch (Exception exception) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,109 +24,11 @@ public final class BlockPhysics implements Listener {
|
||||||
// This class contains code to prevent large areas of non-solid blocks
|
// This class contains code to prevent large areas of non-solid blocks
|
||||||
// from crashing the server
|
// from crashing the server
|
||||||
private static double tps = 20;
|
private static double tps = 20;
|
||||||
private static HashSet<BlockFace> blockFaces = new HashSet<BlockFace>();
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onBlockDestroy(final BlockDestroyEvent event) {
|
|
||||||
try {
|
|
||||||
if (!event.getBlock().getType().isSolid()) {
|
|
||||||
for (BlockFace face : getBlockFaces()) {
|
|
||||||
if (event.getBlock().getRelative(face).getType()
|
|
||||||
!= event.getBlock().getType()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!event.getBlock().getType().equals(Material.AIR)) {
|
|
||||||
event.getBlock().setType(Material.AIR, false);
|
|
||||||
}
|
|
||||||
if (!event.isCancelled()) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception | StackOverflowError e) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onBlockFade(final BlockFadeEvent event) {
|
|
||||||
try {
|
|
||||||
if (event.getBlock().getType() == Material.FIRE) {
|
|
||||||
event.getBlock().setType(Material.AIR, false);
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
} catch (Exception | StackOverflowError e) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onBlockForm(final BlockFormEvent event) {
|
|
||||||
try {
|
|
||||||
if (event.getBlock().getType() == Material.LAVA
|
|
||||||
|| event.getBlock().getType() == Material.WATER) {
|
|
||||||
for (BlockFace face : getBlockFaces()) {
|
|
||||||
if (event.getBlock().getRelative(face).getType() != Material.LAVA
|
|
||||||
&& event.getBlock().getRelative(face).getType() != Material.WATER) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception | StackOverflowError e) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onBlockFromTo(final BlockFromToEvent event) {
|
|
||||||
try {
|
|
||||||
if (event.getBlock().getType() == Material.LAVA
|
|
||||||
|| event.getBlock().getType() == Material.WATER) {
|
|
||||||
boolean lavaFound = false;
|
|
||||||
boolean waterFound = false;
|
|
||||||
|
|
||||||
for (BlockFace face : getBlockFaces()) {
|
|
||||||
if (event.getBlock().getRelative(face).getType() == Material.LAVA
|
|
||||||
&& !lavaFound) {
|
|
||||||
lavaFound = true;
|
|
||||||
} else if (event.getBlock().getRelative(face).getType() == Material.WATER
|
|
||||||
&& !waterFound) {
|
|
||||||
waterFound = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lavaFound && waterFound) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception | StackOverflowError e) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onBlockPhysics(final BlockPhysicsEvent event) {
|
void onBlockPhysics(final BlockPhysicsEvent event) {
|
||||||
try {
|
try {
|
||||||
switch (event.getChangedType()) {
|
switch (event.getChangedType()) {
|
||||||
case ACTIVATOR_RAIL:
|
|
||||||
case DETECTOR_RAIL:
|
|
||||||
case POWERED_RAIL:
|
|
||||||
case RAIL:
|
|
||||||
case COMPARATOR:
|
|
||||||
case REDSTONE_TORCH:
|
|
||||||
case REDSTONE_WIRE:
|
|
||||||
case REPEATER:
|
|
||||||
case TRIPWIRE:
|
|
||||||
if (!event.getBlock().getRelative(BlockFace.DOWN).getType().isSolid()
|
|
||||||
&& !Material.AIR.equals(event.getBlock().getRelative(BlockFace.DOWN)
|
|
||||||
.getType())
|
|
||||||
&& !Material.CAVE_AIR.equals(event.getBlock()
|
|
||||||
.getRelative(BlockFace.DOWN).getType())) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
case COMMAND_BLOCK:
|
case COMMAND_BLOCK:
|
||||||
case CHAIN_COMMAND_BLOCK:
|
case CHAIN_COMMAND_BLOCK:
|
||||||
case REPEATING_COMMAND_BLOCK:
|
case REPEATING_COMMAND_BLOCK:
|
||||||
|
@ -167,10 +69,6 @@ public final class BlockPhysics implements Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HashSet<BlockFace> getBlockFaces() {
|
|
||||||
return blockFaces;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void updateTPS() {
|
private static void updateTPS() {
|
||||||
final double[] tpsValues = Bukkit.getTPS();
|
final double[] tpsValues = Bukkit.getTPS();
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.bukkit.entity.Vehicle;
|
||||||
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.TNTPrimeEvent;
|
||||||
import org.bukkit.event.entity.AreaEffectCloudApplyEvent;
|
import org.bukkit.event.entity.AreaEffectCloudApplyEvent;
|
||||||
import org.bukkit.event.entity.EntitySpawnEvent;
|
import org.bukkit.event.entity.EntitySpawnEvent;
|
||||||
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||||
|
@ -27,7 +28,6 @@ import org.bukkit.event.entity.SpawnerSpawnEvent;
|
||||||
import org.bukkit.event.vehicle.VehicleCreateEvent;
|
import org.bukkit.event.vehicle.VehicleCreateEvent;
|
||||||
import org.bukkit.event.weather.LightningStrikeEvent;
|
import org.bukkit.event.weather.LightningStrikeEvent;
|
||||||
|
|
||||||
import com.destroystokyo.paper.event.block.TNTPrimeEvent;
|
|
||||||
import com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent;
|
import com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent;
|
||||||
import com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent;
|
import com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
@ -107,21 +107,6 @@ public final class EntitySpawn implements Listener {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isOutsideBoundaries(final double x, final double y, final double z) {
|
|
||||||
final int maxValue = 30000000;
|
|
||||||
final int minValue = -30000000;
|
|
||||||
|
|
||||||
if (x > maxValue
|
|
||||||
|| x < minValue
|
|
||||||
|| y > maxValue
|
|
||||||
|| y < minValue
|
|
||||||
|| z > maxValue
|
|
||||||
|| z < minValue) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void limitAreaEffectCloudRadius(final AreaEffectCloud cloud) {
|
private void limitAreaEffectCloudRadius(final AreaEffectCloud cloud) {
|
||||||
if (cloud.getRadius() > 40) {
|
if (cloud.getRadius() > 40) {
|
||||||
cloud.setRadius(40);
|
cloud.setRadius(40);
|
||||||
|
@ -187,11 +172,6 @@ public final class EntitySpawn implements Listener {
|
||||||
final double y = event.getLocation().getY();
|
final double y = event.getLocation().getY();
|
||||||
final double z = event.getLocation().getZ();
|
final double z = event.getLocation().getZ();
|
||||||
|
|
||||||
if (isOutsideBoundaries(x, y, z)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final EntityType entityType = event.getEntityType();
|
final EntityType entityType = event.getEntityType();
|
||||||
final Chunk chunk = event.getLocation().getChunk();
|
final Chunk chunk = event.getLocation().getChunk();
|
||||||
final World world = event.getLocation().getWorld();
|
final World world = event.getLocation().getWorld();
|
||||||
|
@ -225,11 +205,6 @@ public final class EntitySpawn implements Listener {
|
||||||
final double y = lightning.getLocation().getY();
|
final double y = lightning.getLocation().getY();
|
||||||
final double z = lightning.getLocation().getZ();
|
final double z = lightning.getLocation().getZ();
|
||||||
|
|
||||||
if (isOutsideBoundaries(x, y, z)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final EntityType entityType = EntityType.LIGHTNING;
|
final EntityType entityType = EntityType.LIGHTNING;
|
||||||
final Chunk chunk = lightning.getChunk();
|
final Chunk chunk = lightning.getChunk();
|
||||||
final World world = event.getWorld();
|
final World world = event.getWorld();
|
||||||
|
@ -273,16 +248,8 @@ public final class EntitySpawn implements Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onTNTPrime(final TNTPrimeEvent event) {
|
void onTNTPrime(final TNTPrimeEvent event) {
|
||||||
switch (event.getReason()) {
|
if (ThreadLocalRandom.current().nextBoolean()) {
|
||||||
case EXPLOSION:
|
event.setCancelled(true);
|
||||||
case FIRE:
|
|
||||||
case REDSTONE:
|
|
||||||
if (ThreadLocalRandom.current().nextBoolean()) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,11 +260,6 @@ public final class EntitySpawn implements Listener {
|
||||||
final double y = vehicle.getLocation().getY();
|
final double y = vehicle.getLocation().getY();
|
||||||
final double z = vehicle.getLocation().getZ();
|
final double z = vehicle.getLocation().getZ();
|
||||||
|
|
||||||
if (isOutsideBoundaries(x, y, z)) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final EntityType entityType = vehicle.getType();
|
final EntityType entityType = vehicle.getType();
|
||||||
final Chunk chunk = vehicle.getChunk();
|
final Chunk chunk = vehicle.getChunk();
|
||||||
final World world = vehicle.getWorld();
|
final World world = vehicle.getWorld();
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
package pw.kaboom.extras.modules.entity;
|
|
||||||
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.entity.EntityTeleportEvent;
|
|
||||||
|
|
||||||
public final class EntityTeleport implements Listener {
|
|
||||||
public static Location limitLocation(final Location location) {
|
|
||||||
double x = location.getX();
|
|
||||||
double y = location.getY();
|
|
||||||
double z = location.getZ();
|
|
||||||
|
|
||||||
final int maxValue = 30000000;
|
|
||||||
final int minValue = -30000000;
|
|
||||||
|
|
||||||
if (x > maxValue) {
|
|
||||||
location.setX(maxValue);
|
|
||||||
}
|
|
||||||
if (x < minValue) {
|
|
||||||
location.setX(minValue);
|
|
||||||
}
|
|
||||||
if (y > maxValue) {
|
|
||||||
location.setY(maxValue);
|
|
||||||
}
|
|
||||||
if (y < minValue) {
|
|
||||||
location.setY(minValue);
|
|
||||||
}
|
|
||||||
if (z > maxValue) {
|
|
||||||
location.setZ(maxValue);
|
|
||||||
}
|
|
||||||
if (z < minValue) {
|
|
||||||
location.setZ(minValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
return location;
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onEntityTeleport(final EntityTeleportEvent event) {
|
|
||||||
event.setTo(limitLocation(event.getTo()));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -14,15 +14,6 @@ import org.bukkit.inventory.ItemStack;
|
||||||
public final class PlayerInteract implements Listener {
|
public final class PlayerInteract implements Listener {
|
||||||
//static HashMap<UUID, Long> interactMillisList = new HashMap<UUID, Long>();
|
//static HashMap<UUID, Long> interactMillisList = new HashMap<UUID, Long>();
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onInventoryClick(final InventoryClickEvent event) {
|
|
||||||
try {
|
|
||||||
event.getSlot();
|
|
||||||
} catch (Exception exception) {
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onPlayerInteract(final PlayerInteractEvent event) {
|
void onPlayerInteract(final PlayerInteractEvent event) {
|
||||||
/*final UUID playerUuid = event.getPlayer().getUniqueId();
|
/*final UUID playerUuid = event.getPlayer().getUniqueId();
|
||||||
|
|
|
@ -6,8 +6,6 @@ import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
|
|
||||||
import pw.kaboom.extras.modules.entity.EntityTeleport;
|
|
||||||
|
|
||||||
public final class PlayerTeleport implements Listener {
|
public final class PlayerTeleport implements Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
void onPlayerChangedWorld(final PlayerChangedWorldEvent event) {
|
void onPlayerChangedWorld(final PlayerChangedWorldEvent event) {
|
||||||
|
@ -19,9 +17,4 @@ public final class PlayerTeleport implements Listener {
|
||||||
player.setMaxHealth(20);
|
player.setMaxHealth(20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
void onPlayerTeleport(final PlayerTeleportEvent event) {
|
|
||||||
event.setTo(EntityTeleport.limitLocation(event.getTo()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package pw.kaboom.extras.modules.server;
|
|
||||||
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.player.PlayerStatisticIncrementEvent;
|
|
||||||
|
|
||||||
public final class ServerTick implements Listener {
|
|
||||||
@EventHandler
|
|
||||||
void onPlayerStatisticIncrement(final PlayerStatisticIncrementEvent event) {
|
|
||||||
final World world = event.getPlayer().getWorld();
|
|
||||||
|
|
||||||
if (!world.isAutoSave()) {
|
|
||||||
world.setAutoSave(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue