diff --git a/pom.xml b/pom.xml
index cef14ae..04edf56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
de.fanta.challenges
Challenges
- 1.19
+ 1.19.2
UTF-8
UTF-8
@@ -19,32 +19,12 @@
brokkonaut
https://www.iani.de/nexus/content/groups/public
-
- viaversion-repo
- https://repo.viaversion.com
-
-
- dmulloy2-repo
- https://repo.dmulloy2.net/repository/public/
-
-
- eldonexus
- https://eldonexus.de/repository/maven-releases/
-
-
- codemc-repo
- https://repo.codemc.org/repository/maven-public/
-
-
- md_5-public
- https://repo.md-5.net/content/groups/public/
-
io.papermc.paper
paper-api
- 1.19-R0.1-SNAPSHOT
+ 1.19.2-R0.1-SNAPSHOT
provided
@@ -62,7 +42,7 @@
org.kitteh
VanishNoPacket
- 3.20.1
+ 3.20.2-SNAPSHOT
provided
@@ -78,24 +58,12 @@
compile
- de.tr7zw
- item-nbt-api
- 2.9.2
- provided
-
-
commons-io
commons-io
2.11.0
provided
- LibsDisguises
- LibsDisguises
- 10.0.28
- provided
-
-
de.iani.cubeside
CubesideStatistics
1.0.0-SNAPSHOT
diff --git a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java
index a1b6b38..c4dcd09 100644
--- a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java
+++ b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java
@@ -244,7 +244,7 @@
return running;
}
- private static void setRunning(boolean running) {
+ public static void setRunning(boolean running) {
MLGChallenge.running = running;
}
diff --git a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
index ececa0b..f778939 100644
--- a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
+++ b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
@@ -133,10 +133,6 @@
netherRouter.addCommandMapping(new NetherToggleCommand(plugin, true), "enable");
netherRouter.addCommandMapping(new NetherToggleCommand(plugin, false), "disable");
- CommandRouter voidRouter = new CommandRouter(plugin.getCommand("void"));
- voidRouter.addCommandMapping(new VoidToggleCommand(true), "enable");
- voidRouter.addCommandMapping(new VoidToggleCommand(false), "disable");
-
CommandRouter settingsRouter = new CommandRouter(plugin.getCommand("settings"));
settingsRouter.addCommandMapping(new SettingsCommand(plugin));
diff --git a/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java b/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java
deleted file mode 100644
index 09ec71a..0000000
--- a/src/main/java/de/fanta/challenges/commands/VoidToggleCommand.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package de.fanta.challenges.commands;
-
-import de.fanta.challenges.utils.ChatUtil;
-import de.fanta.challenges.utils.Config;
-import de.iani.cubesideutils.bukkit.commands.SubCommand;
-import de.iani.cubesideutils.bukkit.world.EmptyChunkGenerator;
-import de.iani.cubesideutils.commands.ArgsParser;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.World;
-import org.bukkit.WorldCreator;
-import org.bukkit.WorldType;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-public class VoidToggleCommand extends SubCommand {
- private final boolean enable;
-
- public VoidToggleCommand(boolean enable) {
- this.enable = enable;
- }
-
- @Override
- public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
- Player p = (Player) sender;
- if (!p.hasPermission("challenges.event")) {
- ChatUtil.sendErrorMessage(p, "Keine Berechtigung");
- return true;
- }
- if (enable) {
- if (!Config.getBoolean("void.enabled")) {
- World world = Bukkit.getWorld("VOID");
- if (world == null) {
- WorldCreator wc = new WorldCreator("VOID");
- wc.environment(World.Environment.NORMAL);
- wc.type(WorldType.FLAT);
- wc.generateStructures(false);
- wc.generator(new EmptyChunkGenerator());
- world = Bukkit.getServer().createWorld(wc);
- Location loc = new Location(world, 0, 60, 0);
- world.getBlockAt(loc).setType(Material.BEDROCK);
- }
- Location spawn = new Location(world, 0.5, 62, 0.5);
- world.setSpawnLocation(spawn);
- for (Player pp : Bukkit.getOnlinePlayers()) {
- pp.teleport(spawn);
- }
- Config.setValue("void.enabled", true);
- ChatUtil.sendTitleToAll("Void Challenge", "Void-Modus aktiviert", ChatUtil.GREEN);
- } else {
- ChatUtil.sendErrorMessage(p, "Die Void Challenge läuft bereits!");
- return true;
- }
- } else {
- if (Config.getBoolean("void.enabled")) {
- Config.setValue("void.enabled", false);
- ChatUtil.sendTitleToAll("Void Challenge", "Void-Modus deaktiviert", ChatUtil.RED);
- } else {
- ChatUtil.sendErrorMessage(p, "Aktuell läuft keine Void Challenge!");
- return true;
- }
- }
- return true;
- }
-}
-
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java
index be44fa8..de78a0a 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java
@@ -137,10 +137,12 @@
if (event.isLeftClick()) {
if (Config.getBoolean("mlg.enabled")) {
Config.setValue("mlg.enabled", false);
+ MLGChallenge.setRunning(false);
MLGChallenge.stopTask();
ChatUtil.sendTitleToAll("Challenge", "MLG deaktiviert", ChatUtil.RED);
} else {
Config.setValue("mlg.enabled", true);
+ MLGChallenge.setRunning(true);
MLGChallenge.startTask();
ChatUtil.sendTitleToAll("Challenge", "MLG aktiviert", ChatUtil.GREEN);
}
diff --git a/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java b/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java
index ad473f3..9844491 100644
--- a/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/BlockCreateListener.java
@@ -13,14 +13,14 @@
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
- if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL) {
+ if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() != GameMode.CREATIVE) {
e.setCancelled(true);
}
}
@EventHandler
public void onBucketPlace(PlayerBucketEmptyEvent e) {
- if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL) {
+ if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() != GameMode.CREATIVE) {
e.setCancelled(true);
}
}
diff --git a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
index a0af79b..c47a234 100644
--- a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
@@ -17,7 +17,7 @@
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
- if ((!plugin.getTimer().isRunning()) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) {
+ if ((!plugin.getTimer().isRunning()) && e.getPlayer().getGameMode() != GameMode.CREATIVE) {
e.setCancelled(true);
}
}
diff --git a/src/main/java/de/fanta/challenges/listeners/CommandBlockListener.java b/src/main/java/de/fanta/challenges/listeners/CommandBlockListener.java
index 40458cc..23c7792 100644
--- a/src/main/java/de/fanta/challenges/listeners/CommandBlockListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/CommandBlockListener.java
@@ -15,8 +15,13 @@
if (e.getSender() instanceof ConsoleCommandSender || e.getSender() instanceof ProxiedCommandSender || e.getSender() instanceof RemoteConsoleCommandSender) {
return;
}
- if (e.getCommand().startsWith("/")) {
- String command = e.getCommand().replaceFirst("/", "");
+ String commandString = e.getCommand();
+ if (commandString.startsWith("/minecraft:op") || commandString.startsWith("minecraft:op") || commandString.startsWith("/op") || commandString.startsWith("op")) {
+ e.setCancelled(true);
+ }
+
+ if (commandString.startsWith("/")) {
+ String command = commandString.replaceFirst("/", "");
if (!command.startsWith("minecraft:")) {
e.setCommand("minecraft:" + command);
}
diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java
index d85cdc5..0863dce 100644
--- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java
@@ -33,7 +33,7 @@
}
if (!Config.getBoolean("respawn")) {
Player editor = plugin.getCurrentEditor();
- ChatUtil.sendNormalMessage(editor, "§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!");
+ ChatUtil.sendNormalMessage(editor, "Benutze " + ChatUtil.BLUE + "/revive " + e.getEntity().getName() + " [world] [x] [y] [z] " + ChatUtil.GREEN + "um ihn wiederzubeleben!");
}
}
}
diff --git a/src/main/java/de/fanta/challenges/listeners/EntityListener.java b/src/main/java/de/fanta/challenges/listeners/EntityListener.java
deleted file mode 100644
index 8b2088a..0000000
--- a/src/main/java/de/fanta/challenges/listeners/EntityListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.fanta.challenges.listeners;
-
-import de.fanta.challenges.Challenges;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntitySpawnEvent;
-
-public class EntityListener implements Listener {
-
- private final Challenges plugin = Challenges.getPlugin();
-
- @EventHandler
- public void onMobSpawn(EntitySpawnEvent e) {
- if (!plugin.getTimer().isRunning()) {
- e.setCancelled(true);
- }
- }
-}
diff --git a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
index 23e70d1..4dbf3bd 100644
--- a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
+++ b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
@@ -49,9 +49,7 @@
pM.registerEvents(new InteractListener(), plugin);
pM.registerEvents(new DamageListener(), plugin);
pM.registerEvents(new DeathListener(), plugin);
- pM.registerEvents(new EntityListener(), plugin);
pM.registerEvents(new PlayerListener(), plugin);
- pM.registerEvents(new VoidListener(), plugin);
pM.registerEvents(new MinimapListener(), plugin);
pM.registerEvents(new WindowManager(), plugin);
diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
index e45e20b..1618126 100644
--- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java
@@ -7,11 +7,6 @@
import de.fanta.challenges.scoreboard.ChallengePlayer;
import de.fanta.challenges.utils.ChatUtil;
import de.fanta.challenges.utils.Config;
-import de.iani.cubesideutils.StringUtil;
-import de.iani.cubesideutils.commands.ArgsParser;
-import de.tr7zw.changeme.nbtapi.NBTCompoundList;
-import de.tr7zw.changeme.nbtapi.NBTItem;
-import de.tr7zw.changeme.nbtapi.NBTListCompound;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
@@ -23,18 +18,15 @@
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
-import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.event.player.PlayerAttemptPickupItemEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
-import org.bukkit.inventory.ItemStack;
import org.kitteh.vanish.event.VanishStatusChangeEvent;
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
-import java.util.List;
import java.util.Objects;
import static org.bukkit.Bukkit.getServer;
@@ -66,7 +58,7 @@
@EventHandler
public void onPickUpItem(PlayerAttemptPickupItemEvent e) {
- if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() == GameMode.SURVIVAL) {
+ if (!plugin.getTimer().isRunning() && e.getPlayer().getGameMode() != GameMode.CREATIVE) {
e.setCancelled(true);
}
}
@@ -74,7 +66,7 @@
@EventHandler
public void onDropItem(PlayerDropItemEvent e) {
Player p = e.getPlayer();
- if (!plugin.getTimer().isRunning() && p.getGameMode() == GameMode.SURVIVAL) {
+ if (!plugin.getTimer().isRunning() && p.getGameMode() != GameMode.CREATIVE) {
e.setCancelled(true);
}
}
@@ -118,7 +110,6 @@
if (!e.getPlayer().hasPlayedBefore() && !Config.getBoolean("nether.enabled")) {
e.setSpawnLocation(getServer().getWorlds().get(0).getSpawnLocation().add(0.5, 0.0, 0.5));
}
-
}
@EventHandler
@@ -176,100 +167,9 @@
public void onEat(PlayerItemConsumeEvent e) {
if (Config.getBoolean("ultrahardcore")) {
if (e.getItem().getType() == Material.ENCHANTED_GOLDEN_APPLE || e.getItem().getType() == Material.GOLDEN_APPLE) {
- e.setCancelled(true);
ChatUtil.sendErrorMessage(e.getPlayer(), "Goldäpfel sind in Ultra Hardcore nicht erlaubt!");
+ e.setCancelled(true);
}
}
}
-
- @EventHandler
- public void onOpenChest(InventoryOpenEvent e) {
- if (plugin.getServer().getPluginManager().getPlugin("NBTAPI") == null) {
- return;
- }
- ItemStack[] storage = e.getInventory().getStorageContents();
- for (int i = 0; i < storage.length; i++) {
- ItemStack itemStack = storage[i];
- if (itemStack == null) {
- return;
- }
- if (itemStack.hasItemMeta()) {
- if (itemStack.getItemMeta().hasLore()) {
- List lorelist = itemStack.getItemMeta().getLore();
- if (lorelist == null) {
- return;
- }
- for (String coloredlore : lorelist) {
- String lore = StringUtil.stripColors(coloredlore);
- if (lore.endsWith("I") || lore.endsWith("V") || lore.endsWith("X")) {
- NBTItem nbti = new NBTItem(itemStack); //TODO Class not Found. Why???
-
- ArgsParser argsParser = new ArgsParser(lore.split(" "));
-
- String enchant = argsParser.getNext().toLowerCase();
- int level = romanToDecimal(argsParser.getNext());
-
- NBTCompoundList customEnchantments = nbti.getCompoundList("CustomEnchantments");
- NBTListCompound customEnchantment = customEnchantments.addCompound();
- if (!customEnchantment.getKeys().contains(enchant)) {
- customEnchantment.setString("id", enchant);
- customEnchantment.setInteger("lvl", level);
- itemStack = nbti.getItem();
- e.getInventory().setItem(i, itemStack);
- }
- }
- }
- }
- }
- }
- }
-
- private static int romanToDecimal(String romanNumber) {
- int decimal = 0;
- int lastNumber = 0;
- String romanNumeral = romanNumber.toUpperCase();
- for (int x = romanNumeral.length() - 1; x >= 0; x--) {
- char convertToDecimal = romanNumeral.charAt(x);
-
- switch (convertToDecimal) {
- case 'M' -> {
- decimal = processDecimal(1000, lastNumber, decimal);
- lastNumber = 1000;
- }
- case 'D' -> {
- decimal = processDecimal(500, lastNumber, decimal);
- lastNumber = 500;
- }
- case 'C' -> {
- decimal = processDecimal(100, lastNumber, decimal);
- lastNumber = 100;
- }
- case 'L' -> {
- decimal = processDecimal(50, lastNumber, decimal);
- lastNumber = 50;
- }
- case 'X' -> {
- decimal = processDecimal(10, lastNumber, decimal);
- lastNumber = 10;
- }
- case 'V' -> {
- decimal = processDecimal(5, lastNumber, decimal);
- lastNumber = 5;
- }
- case 'I' -> {
- decimal = processDecimal(1, lastNumber, decimal);
- lastNumber = 1;
- }
- }
- }
- return decimal;
- }
-
- private static int processDecimal(int decimal, int lastNumber, int lastDecimal) {
- if (lastNumber > decimal) {
- return lastDecimal - decimal;
- } else {
- return lastDecimal + decimal;
- }
- }
}
diff --git a/src/main/java/de/fanta/challenges/listeners/VoidListener.java b/src/main/java/de/fanta/challenges/listeners/VoidListener.java
deleted file mode 100644
index 95ce838..0000000
--- a/src/main/java/de/fanta/challenges/listeners/VoidListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package de.fanta.challenges.listeners;
-
-import de.fanta.challenges.Challenges;
-import de.fanta.challenges.events.TimerChangedEvent;
-import de.fanta.challenges.utils.Config;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.World;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.inventory.ItemStack;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
-import java.util.stream.Collectors;
-
-public class VoidListener implements Listener {
-
- private final Challenges plugin = Challenges.getPlugin();
-
- @EventHandler
- public void onActivation(TimerChangedEvent event) {
- if (Config.getBoolean("void.enabled")) {
- if (event.isRunning()) {
- startTask();
- }
- }
- }
-
- public void startTask() {
- Random random = new Random();
- Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, () -> {
- List materials = Arrays.stream(Material.values()).filter(mat -> (mat.isBlock() && mat != Material.AIR && mat != Material.CAVE_AIR && mat != Material.VOID_AIR)).collect(Collectors.toList());
- ItemStack randomItem = new ItemStack(materials.get(random.nextInt(materials.size())));
- World world = Bukkit.getWorld("VOID");
- Location loc = new Location(world, 0.5, 61, 0.5);
- if (world != null) {
- world.dropItem(loc, randomItem);
- }
- }, 10 * 20, 10 * 20);
- }
-}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 7906a00..995cfe3 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -61,6 +61,4 @@
item: AIR
money: 100
nether:
- enabled: false
-void:
enabled: false
\ No newline at end of file
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 8d1feba..83d9744 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,8 +3,8 @@
version: ${project.version}
author: ${project.author}
api-version: 1.13
-depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils, ViaVersion]
-softdepend: [NBTAPI, CubesideStatistics]
+depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils]
+softdepend: [CubesideStatistics]
commands:
hp:
description: Verwalte die HP eines Spielers
@@ -66,9 +66,6 @@
nether:
description: Spiele die Challenge vom Nether ins End durch
usage: Use /nether
- void:
- description: Void Challenge
- usage: Use /void
test:
description: test command
skipitem: