diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 462bc95c5..881fd18f3 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -69,7 +69,7 @@ import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.ai.speech.SpeechContext; import net.citizensnpcs.api.ai.tree.StatusMapper; import net.citizensnpcs.api.command.Arg; -import net.citizensnpcs.api.command.Arg.CompletionsProvider.OptionalEnumCompletions; +import net.citizensnpcs.api.command.Arg.CompletionsProvider.OptionalKeyedCompletions; import net.citizensnpcs.api.command.Command; import net.citizensnpcs.api.command.CommandContext; import net.citizensnpcs.api.command.CommandMessages; @@ -3799,17 +3799,9 @@ public class NPCCommands { trait.isTamed(), trait.getCollarColor().name()); } - public static class OptionalAttributeCompletions implements Arg.CompletionsProvider { - @Override - public Collection getCompletions(CommandContext args, CommandSender sender, NPC npc) { - return Arrays.stream(Attribute.values()).map(attr -> attr.getKey().toString()).collect(Collectors.toList()); - } - } - - public static class OptionalBoatTypeCompletions extends OptionalEnumCompletions { - @Override - public String getEnumClassName() { - return "org.bukkit.entity.Boat.Type"; + public static class OptionalAttributeCompletions extends OptionalKeyedCompletions { + public OptionalAttributeCompletions() { + super("org.bukkit.attribute.Attribute"); } } diff --git a/main/src/main/java/net/citizensnpcs/trait/BoatTrait.java b/main/src/main/java/net/citizensnpcs/trait/BoatTrait.java deleted file mode 100644 index 3752996b8..000000000 --- a/main/src/main/java/net/citizensnpcs/trait/BoatTrait.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.citizensnpcs.trait; - -import org.bukkit.entity.Boat; - -import net.citizensnpcs.api.persistence.Persist; -import net.citizensnpcs.api.trait.Trait; -import net.citizensnpcs.api.trait.TraitName; - -@TraitName("boattrait") -public class BoatTrait extends Trait { - @Persist - private Boat.Type type; - - public BoatTrait() { - super("boattrait"); - } - - public Boat.Type getType() { - return type; - } - - @Override - public void onSpawn() { - if (npc.getEntity() instanceof Boat) { - if (type != null) { - ((Boat) npc.getEntity()).setBoatType(type); - } - } - } - - public void setType(Boat.Type type) { - this.type = type; - onSpawn(); - } -} \ No newline at end of file diff --git a/main/src/main/java/net/citizensnpcs/trait/ShopTrait.java b/main/src/main/java/net/citizensnpcs/trait/ShopTrait.java index ec6675da9..ee1189c89 100644 --- a/main/src/main/java/net/citizensnpcs/trait/ShopTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/ShopTrait.java @@ -679,7 +679,7 @@ public class ShopTrait extends Trait { return; InputMenus.runChatStringSetter(ctx.getMenu(), event, - "Enter the new item description, currently:
[[" + (modified.display.getItemMeta().hasLore() + "Type the new item description, currently:
[[" + (modified.display.getItemMeta().hasLore() ? Joiner.on("
").skipNulls().join(modified.display.getItemMeta().getLore()) : "Unset"), description -> { diff --git a/main/src/main/java/net/citizensnpcs/trait/versioned/BoatTrait.java b/main/src/main/java/net/citizensnpcs/trait/versioned/BoatTrait.java index 26a37330b..f00b32568 100644 --- a/main/src/main/java/net/citizensnpcs/trait/versioned/BoatTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/versioned/BoatTrait.java @@ -3,6 +3,7 @@ package net.citizensnpcs.trait.versioned; import org.bukkit.command.CommandSender; import org.bukkit.entity.Boat; +import net.citizensnpcs.api.command.Arg.CompletionsProvider.OptionalKeyedCompletions; import net.citizensnpcs.api.command.Command; import net.citizensnpcs.api.command.CommandContext; import net.citizensnpcs.api.command.Flag; @@ -14,7 +15,6 @@ import net.citizensnpcs.api.trait.Trait; import net.citizensnpcs.api.trait.TraitName; import net.citizensnpcs.api.util.Messaging; import net.citizensnpcs.api.util.SpigotUtil; -import net.citizensnpcs.commands.NPCCommands.OptionalBoatTypeCompletions; import net.citizensnpcs.util.Messages; @TraitName("boattrait") @@ -51,8 +51,8 @@ public class BoatTrait extends Trait { @Override public void onSpawn() { int[] version = SpigotUtil.getVersion(); - if (version[1] > 21 || (version[1] == 21 && version[2] >= 2)) - return; + if (version[1] >= 21) + return; // technically this wasn't changed until 1.21.2 but 1.21 / 1.21.1 are no longer supported if (npc.getEntity() instanceof Boat) { if (type != null) { ((Boat) npc.getEntity()).setBoatType(type); @@ -65,4 +65,9 @@ public class BoatTrait extends Trait { onSpawn(); } + public static class OptionalBoatTypeCompletions extends OptionalKeyedCompletions { + public OptionalBoatTypeCompletions() { + super("org.bukkit.entity.Boat.Type"); + } + } } \ No newline at end of file