diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 0207397..68fbe34 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -16,11 +16,6 @@
-
-
-
-
-
diff --git a/pom.xml b/pom.xml
index 8581ff9..362c0c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,13 +6,13 @@
eu.creeper.mc
creeperpit
- 2.0-SNAPSHOT
+ 1.2-SNAPSHOT
jar
creeperpit
- 17
+ 1.8
UTF-8
@@ -51,16 +51,16 @@
- papermc-repo
- https://repo.papermc.io/repository/maven-public/
+ spigotmc-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
- io.papermc.paper
- paper-api
- 1.18.2-R0.1-SNAPSHOT
+ org.spigotmc
+ spigot-api
+ 1.8.8-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/eu/creeper/mc/creeperPit/Main.java b/src/main/java/eu/creeper/mc/creeperPit/Main.java
index 5112793..85e306a 100644
--- a/src/main/java/eu/creeper/mc/creeperPit/Main.java
+++ b/src/main/java/eu/creeper/mc/creeperPit/Main.java
@@ -1,14 +1,19 @@
package eu.creeper.mc.creeperPit;
-import eu.creeper.mc.creeperPit.worldguard.Handler;
-import eu.creeper.mc.creeperPit.worldguard.Region;
import eu.creeper.mc.creeperPit.worldguard.WGManager;
+import eu.creeper.mc.creeperPit.worldguard.Region;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
+import org.bukkit.event.block.BlockBreakEvent;
+import org.bukkit.event.block.BlockPlaceEvent;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
-import org.bukkit.event.player.*;
+import org.bukkit.event.player.PlayerDropItemEvent;
+import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerQuitEvent;
+import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.plugin.java.JavaPlugin;
@@ -17,115 +22,131 @@ import org.bukkit.potion.PotionEffectType;
import java.util.Objects;
-public final class Main extends JavaPlugin implements Listener {
+public class Main extends JavaPlugin implements Listener {
private Location spawnLocation;
- @Override
public void onEnable() {
- World world = getMainWorld();
- this.spawnLocation = new Location(world, -643.5D, 36D, 444.5D, -180F, 0F);
+ World world = getWorld();
+ spawnLocation = new Location(world, -643.5D, 36D, 444.5D, -180F, 0F);
+
Bukkit.getPluginManager().registerEvents(this, this);
- Bukkit.getPluginManager().registerEvents(new Handler(), this);
- registerRegions(world);
+
+ Region spawnRegion = new Region("spawn", new Location(world, -659.0D, 36.0D, 402.0D), new Location(world, -629.0D, 55.0D, 448.0D), "Safe");
+ spawnRegion.setAllowBuild(false);
+ spawnRegion.setAllowBreak(false);
+ spawnRegion.setAllowDrop(false);
+ spawnRegion.setAllowPvp(false);
+
+ Region spawnRegRegion = new Region("spawnreg", new Location(world, -650.0D, 0.0D, 423.0D), new Location(world, -639.0D, 255.0D, 411.0D), "Safe");
+ spawnRegRegion.setAllowBuild(false);
+ spawnRegRegion.setAllowBreak(false);
+ spawnRegRegion.setAllowDrop(true);
+ spawnRegRegion.setAllowPvp(false);
+
+ WGManager.registerRegion(spawnRegion);
+ WGManager.registerRegion(spawnRegRegion);
}
- private World getMainWorld() {
+ private World getWorld() {
World world = Bukkit.getWorld("world");
- if (world == null) {
- world = Bukkit.getWorlds().get(0);//fallback
+ if (world == null || !world.isChunkLoaded(0, 0)) {
+ world = Bukkit.getWorlds().get(0); //fallback
}
return world;
}
- private void registerRegions(World world) {
- Region spawn = new Region("spawn", new Location(world, -659.0D, 36.0D, 402.0D), new Location(world, -629.0D, 55.0D, 448.0D), "Safe");
- spawn.setAllowBuild(false);
- spawn.setAllowBreak(false);
- spawn.setAllowDrop(false);
- spawn.setAllowPvp(false);
-
- Region spawnReg = new Region("spawnreg", new Location(world, -650.0D, 0.0D, 423.0D), new Location(world, -639.0D, 255.0D, 411.0D), "Safe");
- spawnReg.setAllowBuild(false);
- spawnReg.setAllowBreak(false);
- spawnReg.setAllowDrop(true);
- spawnReg.setAllowPvp(false);
-
- WGManager.registerRegion(spawn);
- WGManager.registerRegion(spawnReg);
- }
-
@EventHandler
- public void onJoin(PlayerJoinEvent event) {
- Player player = event.getPlayer();
-
- event.setJoinMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "[+] " + ChatColor.RESET + ChatColor.YELLOW + player.getName());
-
+ public void onPlayerJoin(PlayerJoinEvent ev) {
+ ev.setJoinMessage(ChatColor.GREEN +""+ ChatColor.BOLD + "[+] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
+ Player player = ev.getPlayer();
setupPlayer(player);
}
+
@EventHandler
- public void onQuit(PlayerQuitEvent event) {
- event.setQuitMessage(ChatColor.RED + "" + ChatColor.BOLD + "[-] " + ChatColor.RESET + ChatColor.YELLOW + event.getPlayer().getName());
+ public void onPlayerLeft(PlayerQuitEvent ev) {
+ ev.setQuitMessage(ChatColor.RED +""+ ChatColor.BOLD + "[-] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
}
@EventHandler
- public void onItemDrop(PlayerDropItemEvent event) {
- Region reg = WGManager.getRegionAt(event.getPlayer().getLocation());
- if (reg == null || !reg.canDrop()) event.setCancelled(true);
-
- ItemStack item = event.getItemDrop().getItemStack();
- Material type = item.getType();
-
- boolean forbiddenArmor =
- type == Material.IRON_HELMET ||
- type == Material.IRON_CHESTPLATE ||
- type == Material.IRON_LEGGINGS ||
- type == Material.IRON_BOOTS;
- boolean forbiddenStaff =
- type == Material.BLAZE_ROD &&
- item.hasItemMeta() &&
- Objects.equals(item.getItemMeta().getDisplayName(), ChatColor.GOLD + "CreeperStaff Manager");
-
- event.setCancelled(forbiddenArmor || forbiddenStaff);
+ public void onPlayerDropItem(PlayerDropItemEvent ev) {
+ ItemStack i = ev.getItemDrop().getItemStack();
+ ev.setCancelled(i.getType() == Material.IRON_BOOTS ||
+ i.getType() == Material.IRON_CHESTPLATE ||
+ i.getType() == Material.IRON_HELMET ||
+ i.getType() == Material.IRON_LEGGINGS ||
+ (i.getType() == Material.BLAZE_ROD && Objects.equals(i.getItemMeta().getDisplayName(), ChatColor.GOLD + "CreeperStaff Manager")));
}
+
@EventHandler
- public void onDeath(PlayerDeathEvent event) {
- Player victim = event.getEntity();
- Player killer = victim.getKiller();
- event.setDeathMessage(killer != null ? ChatColor.RED + victim.getName() + " got stabbed by " + killer.getName() : ChatColor.RED + victim.getName() + " magically respawned");
-
- event.getDrops().removeIf(item -> {
- Material type = item.getType();
-
- if (type.name().startsWith("IRON_")) return true;
-
- return type == Material.BLAZE_ROD &&
- item.hasItemMeta() &&
- item.getItemMeta().hasDisplayName() &&
- item.getItemMeta().getDisplayName().equals(ChatColor.GOLD + "CreeperStaff Manager");
- });
+ public void onPlayerDie(PlayerDeathEvent ev) {
+ ev.setDeathMessage(ChatColor.RED + ev.getEntity().getPlayer().getName() + " got stabbed by " + ev.getEntity().getKiller().getName());
}
+
@EventHandler
- public void onRespawn(PlayerRespawnEvent event) {
+ public void onPlayerRespawn(PlayerRespawnEvent event) {
Bukkit.getScheduler().runTaskLater(this, () -> setupPlayer(event.getPlayer()), 5L);
}
private void setupPlayer(Player player) {
- player.teleport(spawnLocation);
+ player.teleport(this.spawnLocation);
player.setGameMode(GameMode.SURVIVAL);
- PlayerInventory inv = player.getInventory();
- inv.clear();
+ PlayerInventory inventory = player.getInventory();
+ inventory.clear();
- inv.setHelmet(new ItemStack(Material.IRON_HELMET));
- inv.setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
- inv.setLeggings(new ItemStack(Material.IRON_LEGGINGS));
- inv.setBoots(new ItemStack(Material.IRON_BOOTS));
- inv.addItem(new ItemStack(Material.IRON_SWORD), new ItemStack(Material.FISHING_ROD), new ItemStack(Material.BOW), new ItemStack(Material.ARROW, 16), new ItemStack(Material.GOLDEN_APPLE, 2));
+ inventory.setHelmet(new ItemStack(Material.IRON_HELMET));
+ inventory.setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
+ inventory.setLeggings(new ItemStack(Material.IRON_LEGGINGS));
+ inventory.setBoots(new ItemStack(Material.IRON_BOOTS));
+ inventory.addItem(new ItemStack(Material.IRON_SWORD));
+ inventory.addItem(new ItemStack(Material.FISHING_ROD));
+ inventory.addItem(new ItemStack(Material.BOW));
+ inventory.addItem(new ItemStack(Material.ARROW, 16));
+ inventory.addItem(new ItemStack(Material.GOLDEN_APPLE, 2));
- player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, Integer.MAX_VALUE, 0, true, false));
+ PotionEffect nightVision = new PotionEffect(PotionEffectType.NIGHT_VISION, 1000000, 1, true, false);
+ player.addPotionEffect(nightVision);
- player.setHealth(20.0);
+ player.setHealth(20D);
player.setFoodLevel(20);
}
-}
+ //TODO: NEEDS TO BE MOVED TO worldguard.Handler
+ @EventHandler
+ public void onDrop(PlayerDropItemEvent event) {
+ Region region = WGManager.getRegionAt(event.getPlayer().getLocation());
+ if (region == null) return;
+ event.setCancelled(!region.canDrop());
+ }
+ @EventHandler
+ public void onBlockBreak(BlockBreakEvent ev) {
+ Player plr = ev.getPlayer();
+ Region region = WGManager.getRegionAt(ev.getBlock().getLocation());
+ if (region == null) return;
+ ev.setCancelled(!region.canBreak() && plr.getGameMode() != GameMode.CREATIVE);
+ }
+ @EventHandler
+ public void onBlockPlace(BlockPlaceEvent ev) {
+ Player plr = ev.getPlayer();
+ Region region = WGManager.getRegionAt(ev.getBlock().getLocation());
+ if (region == null) return;
+ ev.setCancelled(!region.canBuild() && plr.getGameMode() != GameMode.CREATIVE);
+ }
+ @EventHandler
+ public void onPvp(EntityDamageByEntityEvent event) {
+ if (!(event.getDamager() instanceof Player) || !(event.getEntity() instanceof Player)) return;
+
+ Player damager = (Player)event.getDamager(); //the player*
+ Player plr = ((Player)event.getEntity()).getPlayer(); //the victim*
+
+ Region pregion = WGManager.getRegionAt(plr.getLocation());
+ if (pregion == null) return;
+ Region dregion = WGManager.getRegionAt(damager.getLocation());
+ if (dregion == null) return;
+
+ if (!dregion.canPvp() || !pregion.canPvp()) {
+ event.setCancelled(true);
+ damager.sendMessage(ChatColor.RED + "You cannot PVP here!");
+ }
+ }
+}
diff --git a/src/main/java/eu/creeper/mc/creeperPit/worldguard/Handler.java b/src/main/java/eu/creeper/mc/creeperPit/worldguard/Handler.java
index 1f18aa7..f68123c 100644
--- a/src/main/java/eu/creeper/mc/creeperPit/worldguard/Handler.java
+++ b/src/main/java/eu/creeper/mc/creeperPit/worldguard/Handler.java
@@ -1,53 +1,6 @@
package eu.creeper.mc.creeperPit.worldguard;
-import org.bukkit.ChatColor;
-import org.bukkit.GameMode;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockBreakEvent;
-import org.bukkit.event.block.BlockPlaceEvent;
-import org.bukkit.event.entity.EntityDamageByEntityEvent;
public class Handler implements Listener {
- @EventHandler
- public void onBlockBreak(BlockBreakEvent event) {
- Player player = event.getPlayer();
- Region region = WGManager.getRegionAt(event.getBlock().getLocation());
-
- if (region == null) return;
-
- event.setCancelled(!region.canBreak() && player.getGameMode() != GameMode.CREATIVE);
- }
- @EventHandler
- public void onBlockPlace(BlockPlaceEvent event) {
- Player player = event.getPlayer();
- Region region = WGManager.getRegionAt(event.getBlock().getLocation());
-
- if (region == null) return;
-
- event.setCancelled(!region.canBuild() && player.getGameMode() != GameMode.CREATIVE);
- }
-
- @EventHandler
- public void onPvp(EntityDamageByEntityEvent event) {
- Entity damager = event.getDamager();
- Entity victim = event.getEntity();
-
- if (!(damager instanceof Player) || !(victim instanceof Player)) return;
-
- Player attacker = (Player)damager;
- Player target = (Player)victim;
-
- Region dRegion = WGManager.getRegionAt(attacker.getLocation());
- Region tRegion = WGManager.getRegionAt(target.getLocation());
-
- if (dRegion == null || tRegion == null) return;
-
- if (!dRegion.canPvp() || !tRegion.canPvp()) {
- event.setCancelled(true);
- attacker.sendMessage(ChatColor.RED + "You cannot PVP here!");
- }
- }
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 2cdf0c8..e8ca60f 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,13 +1,11 @@
name: CreeperPit
-version: 2.0-SNAPSHOT
+version: '1.2-SNAPSHOT'
main: eu.creeper.mc.creeperPit.Main
-api-version: 1.18
+api-version: '1.8.8'
prefix: CPit
-authors:
- - Befaci
- - creeper
+authors: [ Befaci, creeper ]
description: CreeperPit gameplay management
permissions:
- creeperpit.worldguard.*:
+ creeperpit.worldguard:
default: "op"
- description: "Can bypass every WorldGuard security"
+ description: "Can bypass the WorldGuard"