mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-14 06:36:35 +01:00
Trait commands act as toggle
This commit is contained in:
parent
674974aa15
commit
687200463b
@ -29,17 +29,18 @@ public class TraitCommands {
|
|||||||
String traitName = args.getString(0);
|
String traitName = args.getString(0);
|
||||||
if (!sender.hasPermission("citizens.npc.trait." + traitName))
|
if (!sender.hasPermission("citizens.npc.trait." + traitName))
|
||||||
throw new NoPermissionsException();
|
throw new NoPermissionsException();
|
||||||
if (args.hasFlag('r')) {
|
|
||||||
Class<? extends Trait> clazz = CitizensAPI.getTraitFactory().getTraitClass(args.getString(1));
|
Class<? extends Trait> clazz = CitizensAPI.getTraitFactory().getTraitClass(traitName);
|
||||||
|
boolean remove = npc.hasTrait(clazz);
|
||||||
|
if (remove) {
|
||||||
if (clazz == null)
|
if (clazz == null)
|
||||||
throw new CommandException("Trait not found.");
|
throw new CommandException("Trait not found.");
|
||||||
if (!npc.hasTrait(clazz))
|
|
||||||
throw new CommandException("The NPC doesn't have that trait.");
|
|
||||||
npc.removeTrait(clazz);
|
npc.removeTrait(clazz);
|
||||||
Messaging.sendF(sender, ChatColor.GREEN + "Trait %s removed successfully.",
|
Messaging.sendF(sender, ChatColor.GREEN + "Trait %s removed successfully.",
|
||||||
StringHelper.wrap(traitName));
|
StringHelper.wrap(traitName));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Trait trait = CitizensAPI.getTraitFactory().getTrait(traitName);
|
Trait trait = CitizensAPI.getTraitFactory().getTrait(traitName);
|
||||||
if (trait == null)
|
if (trait == null)
|
||||||
throw new CommandException("Trait not found.");
|
throw new CommandException("Trait not found.");
|
||||||
@ -60,7 +61,7 @@ public class TraitCommands {
|
|||||||
String traitName = args.getString(0);
|
String traitName = args.getString(0);
|
||||||
if (!sender.hasPermission("citizens.npc.trait-configure." + traitName))
|
if (!sender.hasPermission("citizens.npc.trait-configure." + traitName))
|
||||||
throw new NoPermissionsException();
|
throw new NoPermissionsException();
|
||||||
Class<? extends Trait> clazz = CitizensAPI.getTraitFactory().getTraitClass(args.getString(1));
|
Class<? extends Trait> clazz = CitizensAPI.getTraitFactory().getTraitClass(args.getString(0));
|
||||||
if (clazz == null)
|
if (clazz == null)
|
||||||
throw new CommandException("Trait not found.");
|
throw new CommandException("Trait not found.");
|
||||||
if (!clazz.isAssignableFrom(CommandConfigurable.class))
|
if (!clazz.isAssignableFrom(CommandConfigurable.class))
|
||||||
|
Loading…
Reference in New Issue
Block a user