revert 5a8bad722a
revert Switching version (from 1.8.8 to 1.18.2) - Moved worldguard things to worldguard.Handler
This commit is contained in:
parent
5a8bad722a
commit
33c2905639
|
|
@ -16,11 +16,6 @@
|
||||||
<option name="name" value="spigotmc-repo" />
|
<option name="name" value="spigotmc-repo" />
|
||||||
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
||||||
</remote-repository>
|
</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>
|
<remote-repository>
|
||||||
<option name="id" value="central" />
|
<option name="id" value="central" />
|
||||||
<option name="name" value="Maven Central repository" />
|
<option name="name" value="Maven Central repository" />
|
||||||
|
|
|
||||||
14
pom.xml
14
pom.xml
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
<groupId>eu.creeper.mc</groupId>
|
<groupId>eu.creeper.mc</groupId>
|
||||||
<artifactId>creeperpit</artifactId>
|
<artifactId>creeperpit</artifactId>
|
||||||
<version>2.0-SNAPSHOT</version>
|
<version>1.2-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>creeperpit</name>
|
<name>creeperpit</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>17</java.version>
|
<java.version>1.8</java.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|
@ -51,16 +51,16 @@
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>papermc-repo</id>
|
<id>spigotmc-repo</id>
|
||||||
<url>https://repo.papermc.io/repository/maven-public/</url>
|
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.papermc.paper</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>paper-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.18.2-R0.1-SNAPSHOT</version>
|
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,19 @@
|
||||||
package eu.creeper.mc.creeperPit;
|
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.WGManager;
|
||||||
|
import eu.creeper.mc.creeperPit.worldguard.Region;
|
||||||
import org.bukkit.*;
|
import org.bukkit.*;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
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.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
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.ItemStack;
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
@ -17,115 +22,131 @@ import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public final class Main extends JavaPlugin implements Listener {
|
public class Main extends JavaPlugin implements Listener {
|
||||||
private Location spawnLocation;
|
private Location spawnLocation;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
World world = getMainWorld();
|
World world = getWorld();
|
||||||
this.spawnLocation = new Location(world, -643.5D, 36D, 444.5D, -180F, 0F);
|
spawnLocation = new Location(world, -643.5D, 36D, 444.5D, -180F, 0F);
|
||||||
|
|
||||||
Bukkit.getPluginManager().registerEvents(this, this);
|
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");
|
World world = Bukkit.getWorld("world");
|
||||||
if (world == null) {
|
if (world == null || !world.isChunkLoaded(0, 0)) {
|
||||||
world = Bukkit.getWorlds().get(0);//fallback
|
world = Bukkit.getWorlds().get(0); //fallback
|
||||||
}
|
}
|
||||||
return world;
|
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
|
@EventHandler
|
||||||
public void onJoin(PlayerJoinEvent event) {
|
public void onPlayerJoin(PlayerJoinEvent ev) {
|
||||||
Player player = event.getPlayer();
|
ev.setJoinMessage(ChatColor.GREEN +""+ ChatColor.BOLD + "[+] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
|
||||||
|
Player player = ev.getPlayer();
|
||||||
event.setJoinMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "[+] " + ChatColor.RESET + ChatColor.YELLOW + player.getName());
|
|
||||||
|
|
||||||
setupPlayer(player);
|
setupPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onQuit(PlayerQuitEvent event) {
|
public void onPlayerLeft(PlayerQuitEvent ev) {
|
||||||
event.setQuitMessage(ChatColor.RED + "" + ChatColor.BOLD + "[-] " + ChatColor.RESET + ChatColor.YELLOW + event.getPlayer().getName());
|
ev.setQuitMessage(ChatColor.RED +""+ ChatColor.BOLD + "[-] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onItemDrop(PlayerDropItemEvent event) {
|
public void onPlayerDropItem(PlayerDropItemEvent ev) {
|
||||||
Region reg = WGManager.getRegionAt(event.getPlayer().getLocation());
|
ItemStack i = ev.getItemDrop().getItemStack();
|
||||||
if (reg == null || !reg.canDrop()) event.setCancelled(true);
|
ev.setCancelled(i.getType() == Material.IRON_BOOTS ||
|
||||||
|
i.getType() == Material.IRON_CHESTPLATE ||
|
||||||
ItemStack item = event.getItemDrop().getItemStack();
|
i.getType() == Material.IRON_HELMET ||
|
||||||
Material type = item.getType();
|
i.getType() == Material.IRON_LEGGINGS ||
|
||||||
|
(i.getType() == Material.BLAZE_ROD && Objects.equals(i.getItemMeta().getDisplayName(), ChatColor.GOLD + "CreeperStaff Manager")));
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onDeath(PlayerDeathEvent event) {
|
public void onPlayerDie(PlayerDeathEvent ev) {
|
||||||
Player victim = event.getEntity();
|
ev.setDeathMessage(ChatColor.RED + ev.getEntity().getPlayer().getName() + " got stabbed by " + ev.getEntity().getKiller().getName());
|
||||||
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");
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onRespawn(PlayerRespawnEvent event) {
|
public void onPlayerRespawn(PlayerRespawnEvent event) {
|
||||||
Bukkit.getScheduler().runTaskLater(this, () -> setupPlayer(event.getPlayer()), 5L);
|
Bukkit.getScheduler().runTaskLater(this, () -> setupPlayer(event.getPlayer()), 5L);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupPlayer(Player player) {
|
private void setupPlayer(Player player) {
|
||||||
player.teleport(spawnLocation);
|
player.teleport(this.spawnLocation);
|
||||||
player.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
PlayerInventory inv = player.getInventory();
|
PlayerInventory inventory = player.getInventory();
|
||||||
inv.clear();
|
inventory.clear();
|
||||||
|
|
||||||
inv.setHelmet(new ItemStack(Material.IRON_HELMET));
|
inventory.setHelmet(new ItemStack(Material.IRON_HELMET));
|
||||||
inv.setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
|
inventory.setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
|
||||||
inv.setLeggings(new ItemStack(Material.IRON_LEGGINGS));
|
inventory.setLeggings(new ItemStack(Material.IRON_LEGGINGS));
|
||||||
inv.setBoots(new ItemStack(Material.IRON_BOOTS));
|
inventory.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.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);
|
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!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,6 @@
|
||||||
package eu.creeper.mc.creeperPit.worldguard;
|
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.Listener;
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
||||||
|
|
||||||
public class Handler implements Listener {
|
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!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
name: CreeperPit
|
name: CreeperPit
|
||||||
version: 2.0-SNAPSHOT
|
version: '1.2-SNAPSHOT'
|
||||||
main: eu.creeper.mc.creeperPit.Main
|
main: eu.creeper.mc.creeperPit.Main
|
||||||
api-version: 1.18
|
api-version: '1.8.8'
|
||||||
prefix: CPit
|
prefix: CPit
|
||||||
authors:
|
authors: [ Befaci, creeper ]
|
||||||
- Befaci
|
|
||||||
- creeper
|
|
||||||
description: CreeperPit gameplay management
|
description: CreeperPit gameplay management
|
||||||
permissions:
|
permissions:
|
||||||
creeperpit.worldguard.*:
|
creeperpit.worldguard:
|
||||||
default: "op"
|
default: "op"
|
||||||
description: "Can bypass every WorldGuard security"
|
description: "Can bypass the WorldGuard"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user