mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2025-02-02 05:21:47 +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.speech.SpeechContext;
|
||||||
import net.citizensnpcs.api.ai.tree.StatusMapper;
|
import net.citizensnpcs.api.ai.tree.StatusMapper;
|
||||||
import net.citizensnpcs.api.command.Arg;
|
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.Command;
|
||||||
import net.citizensnpcs.api.command.CommandContext;
|
import net.citizensnpcs.api.command.CommandContext;
|
||||||
import net.citizensnpcs.api.command.CommandMessages;
|
import net.citizensnpcs.api.command.CommandMessages;
|
||||||
@ -3799,17 +3799,9 @@ public class NPCCommands {
|
|||||||
trait.isTamed(), trait.getCollarColor().name());
|
trait.isTamed(), trait.getCollarColor().name());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class OptionalAttributeCompletions implements Arg.CompletionsProvider {
|
public static class OptionalAttributeCompletions extends OptionalKeyedCompletions {
|
||||||
@Override
|
public OptionalAttributeCompletions() {
|
||||||
public Collection<String> getCompletions(CommandContext args, CommandSender sender, NPC npc) {
|
super("org.bukkit.attribute.Attribute");
|
||||||
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";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
return;
|
||||||
|
|
||||||
InputMenus.runChatStringSetter(ctx.getMenu(), event,
|
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())
|
? Joiner.on("<br>").skipNulls().join(modified.display.getItemMeta().getLore())
|
||||||
: "Unset"),
|
: "Unset"),
|
||||||
description -> {
|
description -> {
|
||||||
|
@ -3,6 +3,7 @@ package net.citizensnpcs.trait.versioned;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Boat;
|
import org.bukkit.entity.Boat;
|
||||||
|
|
||||||
|
import net.citizensnpcs.api.command.Arg.CompletionsProvider.OptionalKeyedCompletions;
|
||||||
import net.citizensnpcs.api.command.Command;
|
import net.citizensnpcs.api.command.Command;
|
||||||
import net.citizensnpcs.api.command.CommandContext;
|
import net.citizensnpcs.api.command.CommandContext;
|
||||||
import net.citizensnpcs.api.command.Flag;
|
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.trait.TraitName;
|
||||||
import net.citizensnpcs.api.util.Messaging;
|
import net.citizensnpcs.api.util.Messaging;
|
||||||
import net.citizensnpcs.api.util.SpigotUtil;
|
import net.citizensnpcs.api.util.SpigotUtil;
|
||||||
import net.citizensnpcs.commands.NPCCommands.OptionalBoatTypeCompletions;
|
|
||||||
import net.citizensnpcs.util.Messages;
|
import net.citizensnpcs.util.Messages;
|
||||||
|
|
||||||
@TraitName("boattrait")
|
@TraitName("boattrait")
|
||||||
@ -51,8 +51,8 @@ public class BoatTrait extends Trait {
|
|||||||
@Override
|
@Override
|
||||||
public void onSpawn() {
|
public void onSpawn() {
|
||||||
int[] version = SpigotUtil.getVersion();
|
int[] version = SpigotUtil.getVersion();
|
||||||
if (version[1] > 21 || (version[1] == 21 && version[2] >= 2))
|
if (version[1] >= 21)
|
||||||
return;
|
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 (npc.getEntity() instanceof Boat) {
|
||||||
if (type != null) {
|
if (type != null) {
|
||||||
((Boat) npc.getEntity()).setBoatType(type);
|
((Boat) npc.getEntity()).setBoatType(type);
|
||||||
@ -65,4 +65,9 @@ public class BoatTrait extends Trait {
|
|||||||
onSpawn();
|
onSpawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class OptionalBoatTypeCompletions extends OptionalKeyedCompletions {
|
||||||
|
public OptionalBoatTypeCompletions() {
|
||||||
|
super("org.bukkit.entity.Boat.Type");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user