diff --git a/pom.xml b/pom.xml index 77a5697..1c69573 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.knarcraft MiniGames - 1.2 + 1.3-SNAPSHOT jar MiniGames @@ -114,7 +114,7 @@ org.spigotmc spigot-api - 1.20.6-R0.1-SNAPSHOT + 1.21.4-R0.1-SNAPSHOT provided diff --git a/src/main/java/net/knarcraft/minigames/arena/ArenaGameMode.java b/src/main/java/net/knarcraft/minigames/arena/ArenaGameMode.java index e90249b..ca125ae 100644 --- a/src/main/java/net/knarcraft/minigames/arena/ArenaGameMode.java +++ b/src/main/java/net/knarcraft/minigames/arena/ArenaGameMode.java @@ -12,13 +12,15 @@ public interface ArenaGameMode { * * @return

The name of this game-mode

*/ - @NotNull String name(); + @NotNull + String name(); /** * Gets a set of all available arena game-modes in the type definition of this game-mode * * @return

All game-modes in this game-mode's class

*/ - @NotNull ArenaGameMode[] getValues(); + @NotNull + ArenaGameMode[] getValues(); } diff --git a/src/main/java/net/knarcraft/minigames/arena/ArenaSession.java b/src/main/java/net/knarcraft/minigames/arena/ArenaSession.java index eb1564e..4b52118 100644 --- a/src/main/java/net/knarcraft/minigames/arena/ArenaSession.java +++ b/src/main/java/net/knarcraft/minigames/arena/ArenaSession.java @@ -13,7 +13,8 @@ public interface ArenaSession { * * @return

The player's entry state

*/ - @NotNull PlayerEntryState getEntryState(); + @NotNull + PlayerEntryState getEntryState(); /** * Triggers a win for the player playing in this session @@ -38,14 +39,16 @@ public interface ArenaSession { * * @return

The session's arena

*/ - @NotNull Arena getArena(); + @NotNull + Arena getArena(); /** * Gets the GUI with this arena's options * * @return

This arena's GUI

*/ - @NotNull ArenaGUI getGUI(); + @NotNull + ArenaGUI getGUI(); /** * Resets the session to allow a player to try again @@ -57,6 +60,7 @@ public interface ArenaSession { * * @return

The game-mode the player is playing

*/ - @NotNull ArenaGameMode getGameMode(); + @NotNull + ArenaGameMode getGameMode(); } diff --git a/src/main/java/net/knarcraft/minigames/arena/StorageKey.java b/src/main/java/net/knarcraft/minigames/arena/StorageKey.java index 2bbae2c..d48d0e2 100644 --- a/src/main/java/net/knarcraft/minigames/arena/StorageKey.java +++ b/src/main/java/net/knarcraft/minigames/arena/StorageKey.java @@ -12,6 +12,7 @@ public interface StorageKey { * * @return

The string key representation.

*/ - @NotNull String getKey(); + @NotNull + String getKey(); } diff --git a/src/main/java/net/knarcraft/minigames/arena/reward/ItemReward.java b/src/main/java/net/knarcraft/minigames/arena/reward/ItemReward.java index fde135b..6694d47 100644 --- a/src/main/java/net/knarcraft/minigames/arena/reward/ItemReward.java +++ b/src/main/java/net/knarcraft/minigames/arena/reward/ItemReward.java @@ -2,6 +2,7 @@ package net.knarcraft.minigames.arena.reward; import net.knarcraft.minigames.MiniGames; import net.knarcraft.minigames.config.MiniGameMessage; +import org.bukkit.NamespacedKey; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; @@ -43,9 +44,10 @@ public class ItemReward implements Reward { @Override public @NotNull String getGrantMessage() { + NamespacedKey key = item.getType().getKeyOrNull(); + String name = key == null ? "Unnamed item" : key.getKey().replace("_", " "); return MiniGames.getInstance().getStringFormatter().replacePlaceholders(MiniGameMessage.SUCCESS_ITEM_REWARDED, - new String[]{"{amount}", "{item}"}, new String[]{String.valueOf(item.getAmount()), - item.getType().getKey().getKey().replace("_", " ")}); + new String[]{"{amount}", "{item}"}, new String[]{String.valueOf(item.getAmount()), name}); } @NotNull diff --git a/src/main/java/net/knarcraft/minigames/arena/reward/Reward.java b/src/main/java/net/knarcraft/minigames/arena/reward/Reward.java index 2c09234..66d25b4 100644 --- a/src/main/java/net/knarcraft/minigames/arena/reward/Reward.java +++ b/src/main/java/net/knarcraft/minigames/arena/reward/Reward.java @@ -22,6 +22,7 @@ public interface Reward extends ConfigurationSerializable { * * @return

The message to display when this reward is granted

*/ - @NotNull String getGrantMessage(); + @NotNull + String getGrantMessage(); } diff --git a/src/main/java/net/knarcraft/minigames/listener/DamageListener.java b/src/main/java/net/knarcraft/minigames/listener/DamageListener.java index d41da09..2f147a1 100644 --- a/src/main/java/net/knarcraft/minigames/listener/DamageListener.java +++ b/src/main/java/net/knarcraft/minigames/listener/DamageListener.java @@ -62,10 +62,13 @@ public class DamageListener implements Listener { * @param arenaSession

The arena session to trigger a loss for, if the player reaches 0 damage

*/ private void applyFakeDamage(@NotNull Player player, double damage, @NotNull ArenaSession arenaSession) { + if (player.getNoDamageTicks() > 0) { + return; + } double newHealth = player.getHealth() - damage; player.sendHurtAnimation(180); if (newHealth <= 0) { - AttributeInstance health = player.getAttribute(Attribute.GENERIC_MAX_HEALTH); + AttributeInstance health = player.getAttribute(Attribute.MAX_HEALTH); if (health != null) { player.setHealth(health.getValue()); } diff --git a/src/main/java/net/knarcraft/minigames/util/TabCompleteHelper.java b/src/main/java/net/knarcraft/minigames/util/TabCompleteHelper.java index e2f3690..4c53872 100644 --- a/src/main/java/net/knarcraft/minigames/util/TabCompleteHelper.java +++ b/src/main/java/net/knarcraft/minigames/util/TabCompleteHelper.java @@ -9,6 +9,7 @@ import net.knarcraft.minigames.arena.dropper.DropperArenaEditableProperty; import net.knarcraft.minigames.arena.parkour.ParkourArenaEditableProperty; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.NamespacedKey; import org.bukkit.Tag; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.permissions.Permission; @@ -204,7 +205,10 @@ public final class TabCompleteHelper { List suggestions = new ArrayList<>(); for (Material material : Material.values()) { if (material.isBlock()) { - suggestions.add(material.getKey().getKey()); + NamespacedKey key = material.getKeyOrNull(); + if (key != null) { + suggestions.add(key.getKey()); + } } } for (Tag tag : getTags()) { @@ -383,7 +387,7 @@ public final class TabCompleteHelper { Tag.LAPIS_ORES, Tag.LEAVES, Tag.LOGS, Tag.MANGROVE_LOGS, Tag.NYLIUM, Tag.OAK_LOGS, Tag.PLANKS, Tag.PORTALS, Tag.PRESSURE_PLATES, Tag.RAILS, Tag.REDSTONE_ORES, Tag.SAND, Tag.SAPLINGS, Tag.WART_BLOCKS, Tag.SHULKER_BOXES, Tag.SIGNS, Tag.SLABS, Tag.SMALL_FLOWERS, Tag.SNOW, Tag.SPRUCE_LOGS, Tag.STAIRS, - Tag.STANDING_SIGNS, Tag.STONE_BRICKS, Tag.STONE_BUTTONS, Tag.TALL_FLOWERS, Tag.TERRACOTTA, Tag.WOOL, + Tag.STANDING_SIGNS, Tag.STONE_BRICKS, Tag.STONE_BUTTONS, Tag.TERRACOTTA, Tag.WOOL, Tag.TRAPDOORS, Tag.WALL_CORALS, Tag.WALL_HANGING_SIGNS, Tag.WALL_SIGNS, Tag.WARPED_STEMS, Tag.WOODEN_BUTTONS, Tag.WOODEN_DOORS, Tag.WOODEN_FENCES, Tag.WOODEN_PRESSURE_PLATES, Tag.WOODEN_STAIRS, Tag.WOODEN_TRAPDOORS); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ce7938a..97a818d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: MiniGames prefix: MiniGames version: '${project.version}' main: net.knarcraft.minigames.MiniGames -api-version: 1.19 +api-version: 1.21 description: A plugin that adds various mini-games softdepend: - PlaceholderAPI