revert Switching version
(from 1.8.8 to 1.18.2)
- Moved worldguard things to worldguard.Handler
This commit is contained in:
creeper 2026-01-13 17:11:05 +00:00
parent 5a8bad722a
commit 33c2905639
5 changed files with 114 additions and 147 deletions

View File

@ -16,11 +16,6 @@
<option name="name" value="spigotmc-repo" />
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
</remote-repository>
<remote-repository>
<option name="id" value="papermc-repo" />
<option name="name" value="papermc-repo" />
<option name="url" value="https://repo.papermc.io/repository/maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />

14
pom.xml
View File

@ -6,13 +6,13 @@
<groupId>eu.creeper.mc</groupId>
<artifactId>creeperpit</artifactId>
<version>2.0-SNAPSHOT</version>
<version>1.2-SNAPSHOT</version>
<packaging>jar</packaging>
<name>creeperpit</name>
<properties>
<java.version>17</java.version>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
@ -51,16 +51,16 @@
<repositories>
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
<id>spigotmc-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.18.2-R0.1-SNAPSHOT</version>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.8.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>

View File

@ -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!");
}
}
}

View File

@ -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!");
}
}
}

View File

@ -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"