mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2025-02-01 21:11:35 +01:00
Fix an exception with tab completion of attributes
This commit is contained in:
parent
c92f13ce4f
commit
0a3ab06852
@ -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<String> 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");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
@ -679,7 +679,7 @@ public class ShopTrait extends Trait {
|
||||
return;
|
||||
|
||||
InputMenus.runChatStringSetter(ctx.getMenu(), event,
|
||||
"Enter the new item description, currently:<br>[[" + (modified.display.getItemMeta().hasLore()
|
||||
"Type the new item description, currently:<br>[[" + (modified.display.getItemMeta().hasLore()
|
||||
? Joiner.on("<br>").skipNulls().join(modified.display.getItemMeta().getLore())
|
||||
: "Unset"),
|
||||
description -> {
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user