Add /npc polarbear -r and restore target and goal selectors
This commit is contained in:
parent
040930bcde
commit
fe7f6e373f
@ -0,0 +1,33 @@
|
||||
package net.citizensnpcs.trait.versioned;
|
||||
|
||||
import org.bukkit.entity.PolarBear;
|
||||
|
||||
import net.citizensnpcs.api.persistence.Persist;
|
||||
import net.citizensnpcs.api.trait.Trait;
|
||||
import net.citizensnpcs.api.trait.TraitName;
|
||||
import net.citizensnpcs.util.NMS;
|
||||
|
||||
@TraitName("polarbeartrait")
|
||||
public class PolarBearTrait extends Trait {
|
||||
@Persist
|
||||
private boolean rearing;
|
||||
|
||||
public PolarBearTrait() {
|
||||
super("polarbeartrait");
|
||||
}
|
||||
|
||||
public boolean isRearing() {
|
||||
return rearing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (npc.isSpawned() && npc.getEntity() instanceof PolarBear) {
|
||||
NMS.setPolarBearRearing(npc.getEntity(), rearing);
|
||||
}
|
||||
}
|
||||
|
||||
public void setRearing(boolean rearing) {
|
||||
this.rearing = rearing;
|
||||
}
|
||||
}
|
@ -38,7 +38,7 @@ public class Anchor {
|
||||
if (object.getClass() != getClass())
|
||||
return false;
|
||||
|
||||
Anchor op = (Anchor) object;
|
||||
final Anchor op = (Anchor) object;
|
||||
return new EqualsBuilder().append(name, op.name).isEquals();
|
||||
}
|
||||
|
||||
@ -77,10 +77,10 @@ public class Anchor {
|
||||
*/
|
||||
public boolean load() {
|
||||
try {
|
||||
String[] parts = getUnloadedValue();
|
||||
final String[] parts = getUnloadedValue();
|
||||
this.location = new Location(Bukkit.getWorld(parts[0]), Double.valueOf(parts[1]), Double.valueOf(parts[2]),
|
||||
Double.valueOf(parts[3]));
|
||||
} catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
// Still not able to be loaded
|
||||
}
|
||||
return location != null;
|
||||
@ -95,7 +95,7 @@ public class Anchor {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String[] parts = getUnloadedValue();
|
||||
final String[] parts = getUnloadedValue();
|
||||
return "Anchor{Name='" + name + "';World='" + parts[0] + "';Location='" + parts[1] + ',' + parts[2] + ','
|
||||
+ parts[3] + "';}";
|
||||
}
|
||||
|
@ -188,6 +188,8 @@ public class Messages {
|
||||
public static final String LEASHABLE_STOPPED = "citizens.commands.npc.leashable.stopped";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_ADDED_WAYPOINT = "citizens.editors.waypoints.linear.added-waypoint";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_BEGIN = "citizens.editors.waypoints.linear.begin";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_CYCLE_SET = "citizens.editors.waypoints.linear.cycle-set";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_CYCLE_UNSET = "citizens.editors.waypoints.linear.cycle-unset";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_END = "citizens.editors.waypoints.linear.end";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_NOT_SHOWING_MARKERS = "citizens.editors.waypoints.linear.not-showing-markers";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_RANGE_EXCEEDED = "citizens.editors.waypoints.linear.range-exceeded";
|
||||
@ -268,6 +270,8 @@ public class Messages {
|
||||
public static final String PATHFINDING_RANGE_SET = "citizens.commands.npc.pathfindingrange.set";
|
||||
public static final String PHANTOM_STATE_SET = "citizens.commands.npc.phantom.phantom-set";
|
||||
public static final String PLAYER_NOT_FOUND_FOR_SPAWN = "citizens.commands.npc.create.no-player-for-spawn";
|
||||
public static final String POLAR_BEAR_REARING = "citizens.commands.npc.polarbear.rearing-set";
|
||||
public static final String POLAR_BEAR_STOPPED_REARING = "citizens.commands.npc.polarbear.rearing-unset";
|
||||
public static final String POSE_ADDED = "citizens.commands.npc.pose.added";
|
||||
public static final String POSE_ALREADY_EXISTS = "citizens.commands.npc.pose.already-exists";
|
||||
public static final String POSE_MISSING = "citizens.commands.npc.pose.missing";
|
||||
@ -381,8 +385,6 @@ public class Messages {
|
||||
public static final String WANDER_WAYPOINTS_REGION_EDITING_START = "citizens.editors.waypoints.wander.editing-regions";
|
||||
public static final String WANDER_WAYPOINTS_REMOVED_REGION = "citizens.editors.waypoints.wander.removed-region";
|
||||
public static final String WAYPOINT_ADDED = "citizens.commands.waypoints.add.waypoint-added";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_CYCLE_SET = "citizens.editors.waypoints.linear.cycle-set";
|
||||
public static final String LINEAR_WAYPOINT_EDITOR_CYCLE_UNSET = "citizens.editors.waypoints.linear.cycle-unset";
|
||||
public static final String WAYPOINT_PROVIDER_SET = "citizens.waypoints.set-provider";
|
||||
public static final String WAYPOINT_TELEPORTING_DISABLED = "citizens.commands.waypoints.disableteleporting.disabled";
|
||||
public static final String WAYPOINT_TRIGGER_ADD_PROMPT = "citizens.editors.waypoints.triggers.add.prompt";
|
||||
|
@ -428,6 +428,10 @@ public class NMS {
|
||||
BRIDGE.setPeekShulker(entity, peek);
|
||||
}
|
||||
|
||||
public static void setPolarBearRearing(Entity entity, boolean rearing) {
|
||||
BRIDGE.setPolarBearRearing(entity, rearing);
|
||||
}
|
||||
|
||||
public static void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
BRIDGE.setProfile(meta, profile);
|
||||
}
|
||||
|
@ -149,6 +149,8 @@ public interface NMSBridge {
|
||||
|
||||
public void setPeekShulker(Entity entity, int peek);
|
||||
|
||||
public void setPolarBearRearing(Entity entity, boolean rearing);
|
||||
|
||||
public void setProfile(SkullMeta meta, GameProfile profile);
|
||||
|
||||
public void setShouldJump(Entity entity);
|
||||
|
@ -161,6 +161,8 @@ citizens.commands.npc.pathopt.attack-range-set=[[{0}]]''s attack range set to [[
|
||||
citizens.commands.npc.pathopt.use-new-finder=[[{0}]]''s use new finder set to [[{1}]].
|
||||
citizens.commands.npc.playerlist.added=Added [[{0}]] to the player list.
|
||||
citizens.commands.npc.playerlist.removed=Removed [[{0}]] from the player list.
|
||||
citizens.commands.npc.polarbear.rearing-set=[[{0}]] is now rearing.
|
||||
citizens.commands.npc.polarbear.rearing-unset=[[{0}]] is no longer rearing.
|
||||
citizens.commands.npc.pose.added=Pose added.
|
||||
citizens.commands.npc.pose.already-exists=The pose [[{0}]] already exists.
|
||||
citizens.commands.npc.pose.invalid-name=Invalid pose name.
|
||||
|
@ -20,13 +20,13 @@ import net.citizensnpcs.api.npc.NPC;
|
||||
import net.citizensnpcs.api.util.Colorizer;
|
||||
import net.citizensnpcs.api.util.Messaging;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
import net.citizensnpcs.util.Util;
|
||||
|
||||
public class Commands {
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "bossbar --color [color] --title [title] --visible [visible] --flags [flags]",
|
||||
@ -59,6 +59,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "shulker (--peek [peek] --color [color])",
|
||||
|
@ -145,6 +145,7 @@ import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
@ -595,6 +596,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(BossBarTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
commands.register(Commands.class);
|
||||
}
|
||||
|
||||
@ -979,6 +981,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).p(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
@ -22,6 +22,7 @@ import net.citizensnpcs.api.util.Colorizer;
|
||||
import net.citizensnpcs.api.util.Messaging;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
@ -91,6 +92,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "shulker (--peek [peek] --color [color])",
|
||||
|
@ -160,6 +160,7 @@ import net.citizensnpcs.npc.ai.NPCHolder;
|
||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
@ -634,6 +635,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(LlamaTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
manager.register(Commands.class);
|
||||
}
|
||||
|
||||
@ -1036,6 +1038,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).p(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
@ -24,6 +24,7 @@ import net.citizensnpcs.api.util.Messaging;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
@ -120,6 +121,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "shulker (--peek [peek] --color [color])",
|
||||
|
@ -163,6 +163,7 @@ import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||
import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
import net.citizensnpcs.util.Messages;
|
||||
@ -638,6 +639,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(BossBarTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
manager.register(Commands.class);
|
||||
}
|
||||
@ -1044,6 +1046,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).p(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
@ -26,6 +26,7 @@ import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -150,6 +151,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "pufferfish (--state state)",
|
||||
@ -205,6 +231,29 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "snowman (-d[erp])",
|
||||
desc = "Sets snowman modifiers.",
|
||||
modifiers = { "snowman" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "d",
|
||||
permission = "citizens.npc.snowman")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.SNOWMAN })
|
||||
public void snowman(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
SnowmanTrait trait = npc.getOrAddTrait(SnowmanTrait.class);
|
||||
boolean hasArg = false;
|
||||
if (args.hasFlag('d')) {
|
||||
boolean isDerp = trait.toggleDerp();
|
||||
Messaging.sendTr(sender, isDerp ? Messages.SNOWMAN_DERP_SET : Messages.SNOWMAN_DERP_STOPPED, npc.getName());
|
||||
hasArg = true;
|
||||
}
|
||||
if (!hasArg) {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "tfish (--body color) (--pattern pattern) (--patterncolor color)",
|
||||
@ -250,27 +299,4 @@ public class Commands {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "snowman (-d[erp])",
|
||||
desc = "Sets snowman modifiers.",
|
||||
modifiers = { "snowman" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "d",
|
||||
permission = "citizens.npc.snowman")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.SNOWMAN })
|
||||
public void snowman(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
SnowmanTrait trait = npc.getOrAddTrait(SnowmanTrait.class);
|
||||
boolean hasArg = false;
|
||||
if (args.hasFlag('d')) {
|
||||
boolean isDerp = trait.toggleDerp();
|
||||
Messaging.sendTr(sender, isDerp ? Messages.SNOWMAN_DERP_SET : Messages.SNOWMAN_DERP_STOPPED, npc.getName());
|
||||
hasArg = true;
|
||||
}
|
||||
if (!hasArg) {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -175,6 +175,7 @@ import net.citizensnpcs.trait.versioned.BossBarTrait;
|
||||
import net.citizensnpcs.trait.versioned.LlamaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -663,6 +664,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(TropicalFishTrait.class));
|
||||
manager.register(Commands.class);
|
||||
@ -1080,6 +1082,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).s(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
@ -38,6 +38,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -320,6 +321,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "pufferfish (--state state)",
|
||||
|
@ -188,6 +188,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -714,6 +715,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
@ -1133,6 +1135,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).r(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
@ -39,6 +39,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -364,6 +365,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "pufferfish (--state state)",
|
||||
|
@ -190,6 +190,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -232,6 +233,7 @@ import net.minecraft.server.v1_15_R1.EntityLiving;
|
||||
import net.minecraft.server.v1_15_R1.EntityMinecartAbstract;
|
||||
import net.minecraft.server.v1_15_R1.EntityPanda;
|
||||
import net.minecraft.server.v1_15_R1.EntityPlayer;
|
||||
import net.minecraft.server.v1_15_R1.EntityPolarBear;
|
||||
import net.minecraft.server.v1_15_R1.EntityPose;
|
||||
import net.minecraft.server.v1_15_R1.EntityPufferFish;
|
||||
import net.minecraft.server.v1_15_R1.EntityRabbit;
|
||||
@ -723,6 +725,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
@ -1144,6 +1147,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a((byte) peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).r(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
@ -1429,11 +1437,12 @@ public class NMSImpl implements NMSBridge {
|
||||
public static void clearGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
|
||||
if (GOAL_SET_FIELD == null || goalSelectors == null)
|
||||
return;
|
||||
int i = 0;
|
||||
for (PathfinderGoalSelector selector : goalSelectors) {
|
||||
try {
|
||||
Collection<?> list = (Collection<?>) GOAL_SET_FIELD.invoke(selector);
|
||||
if (!list.isEmpty()) {
|
||||
npc.data().set("goal-selector", Lists.newArrayList(list));
|
||||
npc.data().set("selector" + i, Lists.newArrayList(list));
|
||||
}
|
||||
list.clear();
|
||||
} catch (Exception e) {
|
||||
@ -1441,6 +1450,7 @@ public class NMSImpl implements NMSBridge {
|
||||
} catch (Throwable e) {
|
||||
Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1717,11 +1727,12 @@ public class NMSImpl implements NMSBridge {
|
||||
public static void restoreGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
|
||||
if (GOAL_SET_FIELD == null || goalSelectors == null)
|
||||
return;
|
||||
int i = 0;
|
||||
for (PathfinderGoalSelector selector : goalSelectors) {
|
||||
try {
|
||||
Collection<Object> list = (Collection<Object>) GOAL_SET_FIELD.invoke(selector);
|
||||
list.clear();
|
||||
Collection<Object> old = npc.data().get("goal-selector");
|
||||
Collection<Object> old = npc.data().get("selector" + i);
|
||||
if (old != null) {
|
||||
list.addAll(old);
|
||||
}
|
||||
@ -1730,6 +1741,7 @@ public class NMSImpl implements NMSBridge {
|
||||
} catch (Throwable e) {
|
||||
Messaging.logTr(Messages.ERROR_RESTORING_GOALS, e.getLocalizedMessage());
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package net.citizensnpcs.nms.v1_16_R3.entity;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import net.minecraft.server.v1_16_R3.EntityMinecartAbstract;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPolarBear;
|
||||
@ -19,6 +18,7 @@ import net.minecraft.server.v1_16_R3.DamageSource;
|
||||
import net.minecraft.server.v1_16_R3.DataWatcherObject;
|
||||
import net.minecraft.server.v1_16_R3.Entity;
|
||||
import net.minecraft.server.v1_16_R3.EntityBoat;
|
||||
import net.minecraft.server.v1_16_R3.EntityMinecartAbstract;
|
||||
import net.minecraft.server.v1_16_R3.EntityPolarBear;
|
||||
import net.minecraft.server.v1_16_R3.EntityTypes;
|
||||
import net.minecraft.server.v1_16_R3.NBTTagCompound;
|
||||
|
@ -39,6 +39,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -364,6 +365,31 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "polarbear (-r)",
|
||||
desc = "Sets polarbear modifiers.",
|
||||
modifiers = { "polarbear" },
|
||||
min = 1,
|
||||
max = 1,
|
||||
flags = "r",
|
||||
permission = "citizens.npc.polarbear")
|
||||
@Requirements(selected = true, ownership = true, types = { EntityType.POLAR_BEAR })
|
||||
public void polarbear(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
PolarBearTrait trait = npc.getOrAddTrait(PolarBearTrait.class);
|
||||
String output = "";
|
||||
if (args.hasFlag('r')) {
|
||||
trait.setRearing(!trait.isRearing());
|
||||
output += Messaging
|
||||
.tr(trait.isRearing() ? Messages.POLAR_BEAR_REARING : Messages.POLAR_BEAR_STOPPED_REARING);
|
||||
}
|
||||
if (!output.isEmpty()) {
|
||||
Messaging.send(sender, output);
|
||||
} else {
|
||||
throw new CommandUsageException();
|
||||
}
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "npc" },
|
||||
usage = "pufferfish (--state state)",
|
||||
|
@ -195,6 +195,7 @@ import net.citizensnpcs.trait.versioned.MushroomCowTrait;
|
||||
import net.citizensnpcs.trait.versioned.PandaTrait;
|
||||
import net.citizensnpcs.trait.versioned.ParrotTrait;
|
||||
import net.citizensnpcs.trait.versioned.PhantomTrait;
|
||||
import net.citizensnpcs.trait.versioned.PolarBearTrait;
|
||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
||||
import net.citizensnpcs.trait.versioned.ShulkerTrait;
|
||||
import net.citizensnpcs.trait.versioned.SnowmanTrait;
|
||||
@ -237,6 +238,7 @@ import net.minecraft.server.v1_16_R3.EntityLiving;
|
||||
import net.minecraft.server.v1_16_R3.EntityMinecartAbstract;
|
||||
import net.minecraft.server.v1_16_R3.EntityPanda;
|
||||
import net.minecraft.server.v1_16_R3.EntityPlayer;
|
||||
import net.minecraft.server.v1_16_R3.EntityPolarBear;
|
||||
import net.minecraft.server.v1_16_R3.EntityPose;
|
||||
import net.minecraft.server.v1_16_R3.EntityPufferFish;
|
||||
import net.minecraft.server.v1_16_R3.EntityRabbit;
|
||||
@ -730,6 +732,7 @@ public class NMSImpl implements NMSBridge {
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ParrotTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PandaTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PhantomTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PolarBearTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(PufferFishTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(ShulkerTrait.class));
|
||||
CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(SnowmanTrait.class));
|
||||
@ -1168,6 +1171,11 @@ public class NMSImpl implements NMSBridge {
|
||||
((EntityShulker) getHandle(shulker)).a(peek);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
((EntityPolarBear) getHandle(entity)).t(rearing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
@ -1449,11 +1457,12 @@ public class NMSImpl implements NMSBridge {
|
||||
public static void clearGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
|
||||
if (GOAL_SET_FIELD == null || goalSelectors == null)
|
||||
return;
|
||||
int i = 0;
|
||||
for (PathfinderGoalSelector selector : goalSelectors) {
|
||||
try {
|
||||
Collection<?> list = (Collection<?>) GOAL_SET_FIELD.invoke(selector);
|
||||
if (!list.isEmpty()) {
|
||||
npc.data().set("goal-selector", Lists.newArrayList(list));
|
||||
npc.data().set("selector" + i, Lists.newArrayList(list));
|
||||
}
|
||||
list.clear();
|
||||
} catch (Exception e) {
|
||||
@ -1461,6 +1470,7 @@ public class NMSImpl implements NMSBridge {
|
||||
} catch (Throwable e) {
|
||||
Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1681,12 +1691,13 @@ public class NMSImpl implements NMSBridge {
|
||||
public static void restoreGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
|
||||
if (GOAL_SET_FIELD == null || goalSelectors == null)
|
||||
return;
|
||||
int i = 0;
|
||||
for (PathfinderGoalSelector selector : goalSelectors) {
|
||||
try {
|
||||
Collection<Object> list = (Collection<Object>) GOAL_SET_FIELD.invoke(selector);
|
||||
list.clear();
|
||||
|
||||
Collection<Object> old = npc.data().get("goal-selector");
|
||||
Collection<Object> old = npc.data().get("selector" + i);
|
||||
if (old != null) {
|
||||
list.addAll(old);
|
||||
}
|
||||
@ -1695,6 +1706,7 @@ public class NMSImpl implements NMSBridge {
|
||||
} catch (Throwable e) {
|
||||
Messaging.logTr(Messages.ERROR_RESTORING_GOALS, e.getLocalizedMessage());
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -905,6 +905,11 @@ public class NMSImpl implements NMSBridge {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPolarBearRearing(org.bukkit.entity.Entity entity, boolean rearing) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfile(SkullMeta meta, GameProfile profile) {
|
||||
if (SKULL_PROFILE_FIELD == null) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user