Compare commits

...

4 commits

Author SHA1 Message Date
Lava 7d9065c744
Merge 355909a985 into 91371ba990 2023-07-31 14:56:08 +02:00
Lava 355909a985
Update Main.java
screwed up on adding denymoblag on accident
fixed
2023-06-16 11:09:23 -04:00
Lava e017fd0dfa
Add files via upload 2023-06-16 11:06:22 -04:00
Lava d65c1f1428
Update Main.java 2023-06-16 11:05:28 -04:00
4 changed files with 91 additions and 1 deletions

View file

@ -9,6 +9,9 @@ import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.commands.*;
import pw.kaboom.extras.modules.block.BlockCheck;
import pw.kaboom.extras.modules.block.BlockPhysics;
import pw.kaboom.extras.modules.checks.DenyMobLag;
import pw.kaboom.extras.modules.checks.DenyTorchLoad;
import pw.kaboom.extras.modules.checks.DenyWaterFlow;
import pw.kaboom.extras.modules.entity.EntityExplosion;
import pw.kaboom.extras.modules.entity.EntityKnockback;
import pw.kaboom.extras.modules.entity.EntitySpawn;
@ -25,7 +28,6 @@ import java.util.Collections;
public final class Main extends JavaPlugin {
private File prefixConfigFile;
private FileConfiguration prefixConfig;
@Override
public void onLoad() {
/* Fill lists */
@ -99,6 +101,11 @@ public final class Main extends JavaPlugin {
this.getServer().getPluginManager().registerEvents(new ServerTabComplete(), this);
this.getServer().getPluginManager().registerEvents(new ServerTick(), this);
/* Anti-lag-related modules */
this.getServer().getPluginManager().registerEvents(new DenyWaterFlow(), this);
this.getServer().getPluginManager().registerEvents(new DenyTorchLoad(), this);
this.getServer().getPluginManager().registerEvents(new DenyMobLag(), this);
/* Custom worlds */
this.getServer().createWorld(
new WorldCreator("world_flatlands").generateStructures(false).type(WorldType.FLAT)

View file

@ -0,0 +1,24 @@
package pw.kaboom.extras.modules.checks;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.Main;
public class DenyMobLag implements Listener {
private static final int limit = JavaPlugin.getPlugin(Main.class).getConfig().getInt("mobLimitAtOnce");
private int mobSpawnCount = 0;
@EventHandler
public void onCreatureSpawn(CreatureSpawnEvent event) {
EntityType entityType = event.getEntityType();
if (entityType.isAlive()) {
mobSpawnCount++;
if (mobSpawnCount > limit) {
event.setCancelled(true);
}
}
}
}

View file

@ -0,0 +1,34 @@
package pw.kaboom.extras.modules.checks;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.Main;
public class DenyTorchLoad implements Listener {
private static final int limit = JavaPlugin.getPlugin(Main.class).getConfig().getInt("torchLimit");
@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {
if (event.getBlockPlaced().getType() == Material.TORCH) {
int placedTorchCount = getPlacedTorchCount(event.getPlayer());
if (placedTorchCount >= limit) {
event.setCancelled(true);
}
}
}
private int getPlacedTorchCount(Player player) {
int count = 0;
for (ItemStack item : player.getInventory().getContents()) {
if (item != null && item.getType() == Material.TORCH) {
count += item.getAmount();
}
}
return count;
}
}

View file

@ -0,0 +1,25 @@
package pw.kaboom.extras.modules.checks;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockFromToEvent;
import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.Main;
public class DenyWaterFlow implements Listener {
private static final int max = JavaPlugin.getPlugin(Main.class).getConfig().getInt("maxWaterFlow");
private int waterFlowCount = 0;
@EventHandler
public void onBlockFromTo(BlockFromToEvent event) {
if (!JavaPlugin.getPlugin(Main.class).getConfig().getBoolean("blockLotsOfWaterFromFlowing")) return;
Material blockType = event.getBlock().getType();
if (blockType == Material.WATER || blockType == Material.LAVA) {
waterFlowCount++;
if (waterFlowCount > max) {
event.setCancelled(true);
}
}
}
}