diff --git a/pom.xml b/pom.xml
index 3fa8bf1..43363bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
de.fanta.challenges
Challenges
- 0.0.1
+ 1.0.0
UTF-8
UTF-8
diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java
index 8da0ba3..abdff57 100644
--- a/src/main/java/de/fanta/challenges/Challenges.java
+++ b/src/main/java/de/fanta/challenges/Challenges.java
@@ -90,8 +90,6 @@
private ServerType serverType;
- private int protocolVersion;
-
public FileConfiguration ItemConfig;
public File ItemConfigFile;
@@ -138,8 +136,6 @@
getLogger().log(Level.INFO, "Bukkit found. Use Bukkit Scheduler");
scheduler = new BukkitScheduler(this);
- protocolVersion = Bukkit.getUnsafe().getProtocolVersion();
-
colorUtils = new ColorUtils(this);
this.timer = new Timer(this);
this.rndDrops = new RandomDropsChallenge();
@@ -598,10 +594,6 @@
return guiPrefix;
}
- public int getProtocolVersion() {
- return protocolVersion;
- }
-
public ArrayList getNotAvailableMaterials() {
return not_available_materials;
}
diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java
index b5cbf5d..67a342b 100644
--- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java
+++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java
@@ -18,7 +18,6 @@
import net.kyori.adventure.bossbar.BossBar;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
-import net.kyori.adventure.text.TranslatableComponent;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
@@ -26,6 +25,7 @@
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.OfflinePlayer;
+import org.bukkit.Registry;
import org.bukkit.Sound;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
@@ -157,7 +157,7 @@
}
}
- for (PotionEffectType potionEffectType : PotionEffectType.values()) {
+ for (PotionEffectType potionEffectType : Registry.EFFECT) {
if (!potionEffectType.isInstant() && potionEffectType != PotionEffectType.LUCK && potionEffectType != PotionEffectType.UNLUCK && potionEffectType != PotionEffectType.HEALTH_BOOST) {
potionEffectTypes.add(potionEffectType);
}
diff --git a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java
index 828cd85..f7b5ba5 100644
--- a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java
+++ b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java
@@ -2,6 +2,7 @@
import de.fanta.challenges.Challenges;
import de.fanta.challenges.utils.Config;
+import org.bukkit.Registry;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -26,7 +27,7 @@
if (Config.getBoolean("randomeffect") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) {
long chunkkey = p.getLocation().getChunk().getChunkKey();
Random random = new Random();
- PotionEffectType[] values = Arrays.stream(PotionEffectType.values()).filter(effect -> (!effect.equals(PotionEffectType.INSTANT_DAMAGE))).toArray(PotionEffectType[]::new);
+ PotionEffectType[] values = Registry.EFFECT.stream().filter(effect -> (!effect.equals(PotionEffectType.INSTANT_DAMAGE))).toArray(PotionEffectType[]::new);
PotionEffect randomEffect = new PotionEffect(values[random.nextInt((int) Arrays.stream(values).count())], 999999, random.nextInt(5));
if (!chunkPotionEffectMap.containsKey(chunkkey)) {
chunkPotionEffectMap.put(chunkkey, randomEffect);
@@ -36,7 +37,6 @@
p.removePotionEffect(playerPotionEffectMap.get(p).getType());
}
p.addPotionEffect(chunkPotionEffectMap.get(chunkkey));
- playerPotionEffectMap.put(p, chunkPotionEffectMap.get(chunkkey));
}
}
}
diff --git a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
index 47c85f4..6cd9f8b 100644
--- a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
+++ b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
@@ -46,6 +46,7 @@
import de.fanta.challenges.commands.timer.TimerReverseCommand;
import de.fanta.challenges.commands.timer.TimerSetCommand;
import de.fanta.challenges.commands.timer.TimerStartCommand;
+import de.iani.cubesideutils.bukkit.MinecraftVersion;
import de.iani.cubesideutils.bukkit.commands.CommandRouter;
public record CommandRegistration(Challenges plugin) {
@@ -81,10 +82,9 @@
coordsRouter.addCommandMapping(new CoordsGetCommand(), "get");
coordsRouter.addCommandMapping(new CoordsSaveCommand(plugin), "save");
coordsRouter.addCommandMapping(new CoordsDeleteCommand(), "delete");
- if (plugin.getProtocolVersion() >= 759) {
+ if (MinecraftVersion.isAboveOrEqual(1,19,0)) {
coordsRouter.addCommandMapping(new CoordsTargetCommand(plugin), "target");
}
-
CommandRouter hpRouter = new CommandRouter(plugin.getCommand("hp"));
hpRouter.addCommandMapping(new HPAddCommand(plugin), "add");
hpRouter.addCommandMapping(new HPGetCommand(plugin), "get");
diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java
index d57368d..3c8d109 100644
--- a/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventSettingsGui.java
@@ -19,6 +19,7 @@
private static final int MINI_LWC_INDEX = 10;
private static final int TOURNAMENT_INDEX = 11;
+ private static final int START_INVENTORY_INDEX = 12;
public EventSettingsGui(Player player) {
super(player, Bukkit.createInventory(player, INVENTORY_SIZE, plugin.getGuiPrefix().append(Component.text(" >> Event Settings"))));
@@ -46,7 +47,7 @@
Config.setValue("event.minilwc", true);
ChatUtil.sendTitleToAll(Component.text("Event"), Component.text("Mini LWC aktiviert.", ChatUtil.GREEN), true);
}
- player.closeInventory();
+ rebuildInventory();
}
case TOURNAMENT_INDEX -> {
if (Config.getBoolean("event.tournament")) {
@@ -58,6 +59,22 @@
}
player.closeInventory();
}
+ case START_INVENTORY_INDEX -> {
+ if (event.isLeftClick()) {
+ if (Config.getBoolean("event.startinv")) {
+ Config.setValue("event.startinv", false);
+ ChatUtil.sendTitleToAll(Component.text("Event"), Component.text("Start Inventar deaktiviert.", ChatUtil.RED), true);
+ } else {
+ Config.setValue("event.startinv", true);
+ ChatUtil.sendTitleToAll(Component.text("Event"), Component.text("Start Inventar aktiviert.", ChatUtil.GREEN), true);
+ }
+ }
+
+ if (event.isRightClick()) {
+
+ }
+ rebuildInventory();
+ }
default -> {
}
}
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 a4e1cf5..18e0561 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ChallengesGui.java
@@ -14,6 +14,7 @@
import de.fanta.challenges.utils.ChatUtil;
import de.fanta.challenges.utils.Config;
import de.fanta.challenges.utils.ItemUtils;
+import de.iani.cubesideutils.bukkit.MinecraftVersion;
import de.iani.cubesideutils.bukkit.inventory.AbstractWindow;
import de.iani.cubesideutils.bukkit.items.CustomHeads;
import net.kyori.adventure.text.Component;
@@ -155,9 +156,6 @@
}
case WORLD_BORDER_LEVEL_INDEX -> {
- if (plugin.getProtocolVersion() < 759) {
- return;
- }
if (event.isLeftClick()) {
if (Config.getBoolean("worldborderlevel")) {
Config.setValue("worldborderlevel", false);
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java
index 9989034..c0d00da 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java
@@ -5,6 +5,7 @@
import de.fanta.challenges.utils.ChatUtil;
import de.fanta.challenges.utils.Config;
import de.fanta.challenges.utils.ItemUtils;
+import de.iani.cubesideutils.bukkit.MinecraftVersion;
import de.iani.cubesideutils.bukkit.inventory.AbstractWindow;
import de.iani.cubesideutils.bukkit.items.CustomHeads;
import net.kyori.adventure.text.Component;
@@ -184,7 +185,7 @@
}
}
case BACKPACK_INDEX -> {
- if (plugin.getProtocolVersion() > 754) {
+ if (MinecraftVersion.isAboveOrEqual(1, 16, 5)) {
item = ItemUtils.createGuiItem(Material.BUNDLE, Component.text("Rucksack Größe: " + plugin.getBackpack().getSize() / 9 + "/6", ChatUtil.GREEN), Component.text("Rechtsklick = Einstellungen", ChatUtil.GREEN));
} else {
item = ItemUtils.createGuiItem(Material.CHEST, Component.text("Rucksack Größe: " + plugin.getBackpack().getSize() / 9 + "/6", ChatUtil.GREEN), Component.text("Rechtsklick = Einstellungen", ChatUtil.GREEN));
diff --git a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
index c47a234..18118ac 100644
--- a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java
@@ -2,6 +2,7 @@
import de.fanta.challenges.Challenges;
import de.fanta.challenges.utils.Config;
+import de.iani.cubesideutils.bukkit.MinecraftVersion;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -27,7 +28,7 @@
if (Config.getBoolean("silkore")) {
Block block = e.getBlock();
Material dropType;
- if (plugin.getProtocolVersion() > 754) {
+ if (MinecraftVersion.isAboveOrEqual(1, 17, 0)) {
dropType = switch (e.getBlockState().getType()) {
case IRON_ORE, DEEPSLATE_IRON_ORE -> Material.IRON_INGOT;
case GOLD_ORE, DEEPSLATE_GOLD_ORE -> Material.GOLD_INGOT;
diff --git a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
index 65a8738..98a2ca7 100644
--- a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
+++ b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java
@@ -38,6 +38,7 @@
import de.fanta.challenges.guis.eventgui.TeamSelectGUI;
import de.fanta.challenges.teams.TeamListener;
import de.fanta.challenges.utils.CoordsTargeter;
+import de.iani.cubesideutils.bukkit.MinecraftVersion;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
@@ -97,7 +98,7 @@
pM.registerEvents(new TimeChallengeEvent(), plugin);
//pM.registerEvents(new Troll(plugin), plugin);
- if (plugin.getProtocolVersion() >= 759) {
+ if (MinecraftVersion.isAboveOrEqual(1, 19, 0)) {
pM.registerEvents(new WorldBorderLevelChallenge(), plugin);
pM.registerEvents(new CoordsTargeter(), plugin);
}
diff --git a/src/main/java/de/fanta/challenges/utils/ChatUtil.java b/src/main/java/de/fanta/challenges/utils/ChatUtil.java
index 5b8703b..7e2f607 100644
--- a/src/main/java/de/fanta/challenges/utils/ChatUtil.java
+++ b/src/main/java/de/fanta/challenges/utils/ChatUtil.java
@@ -1,7 +1,6 @@
package de.fanta.challenges.utils;
import de.fanta.challenges.Challenges;
-import de.iani.cubesideutils.StringUtil;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TranslatableComponent;
import net.kyori.adventure.text.format.TextColor;
@@ -85,16 +84,16 @@
public static Component getTrasnlateItemComponent(Material material) {
TranslatableComponent component = Component.translatable(material.translationKey());
- if (material.name().toLowerCase().contains("music_disc")) {
- component = component.append(Component.text(" " + StringUtil.capitalizeFirstLetter(material.name().toLowerCase().replace("music_disc_", ""), true)));
+ if (material.name().toLowerCase().contains("music_disc") || material.name().toLowerCase().contains("banner_pattern")) {
+ component = component.append(Component.text(" ").append(Component.translatable(material.translationKey() + ".desc")));
}
- if (material.name().toLowerCase().contains("banner_pattern")) {
- component = component.append(Component.text(" " + StringUtil.capitalizeFirstLetter(material.name().toLowerCase().replace("_banner_pattern", ""), true)));
- }
-
- if (material.name().toLowerCase().contains("smithing_template")) {
- component = component.append(Component.text(" " + StringUtil.capitalizeFirstLetter(material.name().toLowerCase().replace("_smithing_template", ""), true)));
+ if (material == Material.NETHERITE_UPGRADE_SMITHING_TEMPLATE) {
+ component = component.append(Component.text(" ").append(Component.translatable("upgrade.minecraft.netherite_upgrade")));
+ } else if (material.name().endsWith("_SMITHING_TEMPLATE")) {
+ String key = material.getItemTranslationKey();
+ key = key.replace("item.minecraft.", "").replace("_armor_trim_smithing_template", "");
+ component = component.append(Component.text(" ").append(Component.translatable("trim_pattern.minecraft." + key)));
}
return component;
diff --git a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java
index 6066b57..5a2c0de 100644
--- a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java
+++ b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java
@@ -113,7 +113,7 @@
File saveSlotFolder = new File(saveFolder, saveSlot.getSlot());
if (saveSlotFolder.isDirectory()) {
- FileUtils.deleteDirectory(saveSlotFolder);
+ FileUtils.forceDelete(saveSlotFolder);
}
HashMap copyMap = new HashMap<>();
copyMap.put(dir, saveSlotFolder);
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index fddf07f..8aa6988 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -59,6 +59,7 @@
autoteams: false
tournament: false
minilwc: false
+ startinv: false
sammelfieber:
item: AIR
money: 100