mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2025-02-16 20:31:30 +01:00
Initial 1.19.4 update. Of note: sniffers are known to not be working
This commit is contained in:
parent
e6f8a47f36
commit
299f781308
@ -4,12 +4,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-main</artifactId>
|
<artifactId>citizens-main</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<craftbukkit.version>1.19.3-R0.1-SNAPSHOT</craftbukkit.version>
|
<craftbukkit.version>1.19.4-R0.1-SNAPSHOT</craftbukkit.version>
|
||||||
<placeholderapi.version>2.11.2</placeholderapi.version>
|
<placeholderapi.version>2.11.2</placeholderapi.version>
|
||||||
<citizensapi.version>${project.version}</citizensapi.version>
|
<citizensapi.version>${project.version}</citizensapi.version>
|
||||||
<worldguard.version>7.0.4</worldguard.version>
|
<worldguard.version>7.0.4</worldguard.version>
|
||||||
|
@ -191,8 +191,8 @@ public class CitizensNPC extends AbstractNPC {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean requiresNameHologram() {
|
public boolean requiresNameHologram() {
|
||||||
return super.requiresNameHologram()
|
return super.requiresNameHologram() || (getEntityType() != EntityType.ARMOR_STAND
|
||||||
|| (getEntityType() != EntityType.ARMOR_STAND && Setting.ALWAYS_USE_NAME_HOLOGRAM.asBoolean());
|
&& !getEntityType().name().equals("TEXT_DISPLAY") && Setting.ALWAYS_USE_NAME_HOLOGRAM.asBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetCachedCoord() {
|
private void resetCachedCoord() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package net.citizensnpcs.trait;
|
package net.citizensnpcs.trait;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.IllegalFormatException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@ -9,7 +10,7 @@ import java.util.stream.Collectors;
|
|||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.ArmorStand;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
@ -87,8 +88,13 @@ public class HologramTrait extends Trait {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private NPC createHologram(String line, double heightOffset) {
|
private NPC createHologram(String line, double heightOffset) {
|
||||||
NPC hologramNPC = registry.createNPC(EntityType.ARMOR_STAND, line);
|
NPC hologramNPC = null;
|
||||||
|
if (SUPPORTS_TEXT_DISPLAY) {
|
||||||
|
hologramNPC = registry.createNPC(EntityType.TEXT_DISPLAY, line);
|
||||||
|
} else {
|
||||||
|
hologramNPC = registry.createNPC(EntityType.ARMOR_STAND, line);
|
||||||
hologramNPC.getOrAddTrait(ArmorStandTrait.class).setAsHelperEntityWithName(npc);
|
hologramNPC.getOrAddTrait(ArmorStandTrait.class).setAsHelperEntityWithName(npc);
|
||||||
|
}
|
||||||
if (Setting.PACKET_HOLOGRAMS.asBoolean()) {
|
if (Setting.PACKET_HOLOGRAMS.asBoolean()) {
|
||||||
hologramNPC.addTrait(PacketNPC.class);
|
hologramNPC.addTrait(PacketNPC.class);
|
||||||
}
|
}
|
||||||
@ -107,7 +113,7 @@ public class HologramTrait extends Trait {
|
|||||||
.setColor(Util.matchEnum(ChatColor.values(), itemMatcher.group(2).substring(1)));
|
.setColor(Util.matchEnum(ChatColor.values(), itemMatcher.group(2).substring(1)));
|
||||||
}
|
}
|
||||||
itemNPC.spawn(currentLoc);
|
itemNPC.spawn(currentLoc);
|
||||||
((ArmorStand) hologramNPC.getEntity()).addPassenger(itemNPC.getEntity());
|
hologramNPC.getEntity().addPassenger(itemNPC.getEntity());
|
||||||
itemNPC.addRunnable(new Runnable() {
|
itemNPC.addRunnable(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -147,9 +153,9 @@ public class HologramTrait extends Trait {
|
|||||||
/**
|
/**
|
||||||
* Note: this is implementation-specific and may be removed at a later date.
|
* Note: this is implementation-specific and may be removed at a later date.
|
||||||
*/
|
*/
|
||||||
public Collection<ArmorStand> getHologramEntities() {
|
public Collection<Entity> getHologramEntities() {
|
||||||
return lines.stream().filter(l -> l.hologram != null && l.hologram.getEntity() != null)
|
return lines.stream().filter(l -> l.hologram != null && l.hologram.getEntity() != null)
|
||||||
.map(l -> (ArmorStand) l.hologram.getEntity()).collect(Collectors.toList());
|
.map(l -> l.hologram.getEntity()).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -173,8 +179,8 @@ public class HologramTrait extends Trait {
|
|||||||
/**
|
/**
|
||||||
* Note: this is implementation-specific and may be removed at a later date.
|
* Note: this is implementation-specific and may be removed at a later date.
|
||||||
*/
|
*/
|
||||||
public ArmorStand getNameEntity() {
|
public Entity getNameEntity() {
|
||||||
return nameNPC != null && nameNPC.isSpawned() ? ((ArmorStand) nameNPC.getEntity()) : null;
|
return nameNPC != null && nameNPC.isSpawned() ? nameNPC.getEntity() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -318,7 +324,7 @@ public class HologramTrait extends Trait {
|
|||||||
|
|
||||||
if (!updateName)
|
if (!updateName)
|
||||||
continue;
|
continue;
|
||||||
hologramNPC.setName(Placeholders.replace(text, null, npc));
|
line.setText(text);
|
||||||
hologramNPC.data().set(NPC.Metadata.NAMEPLATE_VISIBLE, npc.getRawName().length() > 0);
|
hologramNPC.data().set(NPC.Metadata.NAMEPLATE_VISIBLE, npc.getRawName().length() > 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -428,4 +434,12 @@ public class HologramTrait extends Trait {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final Pattern ITEM_MATCHER = Pattern.compile("<item:(.*?)([:].*?)?>");
|
private static final Pattern ITEM_MATCHER = Pattern.compile("<item:(.*?)([:].*?)?>");
|
||||||
|
private static boolean SUPPORTS_TEXT_DISPLAY = true;
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
EntityType.valueOf("TEXT_DISPLAY");
|
||||||
|
} catch (IllegalFormatException e) {
|
||||||
|
SUPPORTS_TEXT_DISPLAY = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,78 @@
|
|||||||
|
package net.citizensnpcs.trait.versioned;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.Sniffer;
|
||||||
|
|
||||||
|
import net.citizensnpcs.api.command.Command;
|
||||||
|
import net.citizensnpcs.api.command.CommandContext;
|
||||||
|
import net.citizensnpcs.api.command.Flag;
|
||||||
|
import net.citizensnpcs.api.command.Requirements;
|
||||||
|
import net.citizensnpcs.api.command.exception.CommandException;
|
||||||
|
import net.citizensnpcs.api.command.exception.CommandUsageException;
|
||||||
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
|
import net.citizensnpcs.api.persistence.Persist;
|
||||||
|
import net.citizensnpcs.api.trait.Trait;
|
||||||
|
import net.citizensnpcs.api.trait.TraitName;
|
||||||
|
import net.citizensnpcs.api.util.Messaging;
|
||||||
|
import net.citizensnpcs.util.Messages;
|
||||||
|
import net.citizensnpcs.util.NMS;
|
||||||
|
|
||||||
|
@TraitName("sniffertrait")
|
||||||
|
public class SnifferTrait extends Trait {
|
||||||
|
@Persist
|
||||||
|
private SnifferState state = null;
|
||||||
|
|
||||||
|
public SnifferTrait() {
|
||||||
|
super("sniffertrait");
|
||||||
|
}
|
||||||
|
|
||||||
|
public SnifferState getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (!npc.isSpawned() || !(npc.getEntity() instanceof Sniffer))
|
||||||
|
return;
|
||||||
|
NMS.setSnifferState(npc.getEntity(), state);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(SnifferState state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum SnifferState {
|
||||||
|
DIGGING,
|
||||||
|
FEELING_HAPPY,
|
||||||
|
IDLING,
|
||||||
|
RISING,
|
||||||
|
SCENTING,
|
||||||
|
SEARCHING,
|
||||||
|
SNIFFING
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(
|
||||||
|
aliases = { "npc" },
|
||||||
|
usage = "sniffer (--state [state])",
|
||||||
|
desc = "Sets sniffer modifiers",
|
||||||
|
modifiers = { "sniffer" },
|
||||||
|
min = 1,
|
||||||
|
max = 1,
|
||||||
|
permission = "citizens.npc.sniffer")
|
||||||
|
@Requirements(selected = true, ownership = true, types = EntityType.SNIFFER)
|
||||||
|
public static void sniffer(CommandContext args, CommandSender sender, NPC npc, @Flag("state") SnifferState state)
|
||||||
|
throws CommandException {
|
||||||
|
SnifferTrait trait = npc.getOrAddTrait(SnifferTrait.class);
|
||||||
|
String output = "";
|
||||||
|
if (state != null) {
|
||||||
|
trait.setState(state);
|
||||||
|
output += ' ' + Messaging.tr(Messages.SNIFFER_STATE_SET, npc.getName(), state);
|
||||||
|
}
|
||||||
|
if (!output.isEmpty()) {
|
||||||
|
Messaging.send(sender, output.trim());
|
||||||
|
} else {
|
||||||
|
throw new CommandUsageException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -363,6 +363,7 @@ public class Messages {
|
|||||||
public static final String SKIPPING_BROKEN_TRAIT = "citizens.notifications.skipping-broken-trait";
|
public static final String SKIPPING_BROKEN_TRAIT = "citizens.notifications.skipping-broken-trait";
|
||||||
public static final String SKIPPING_INVALID_ANCHOR = "citizens.notifications.skipping-invalid-anchor";
|
public static final String SKIPPING_INVALID_ANCHOR = "citizens.notifications.skipping-invalid-anchor";
|
||||||
public static final String SKIPPING_INVALID_POSE = "citizens.notifications.skipping-invalid-pose";
|
public static final String SKIPPING_INVALID_POSE = "citizens.notifications.skipping-invalid-pose";
|
||||||
|
public static final String SNIFFER_STATE_SET = "citizens.commands.npc.sniffer.state-set";
|
||||||
public static final String SNOWMAN_DERP_SET = "citizens.commands.npc.snowman.derp-set";
|
public static final String SNOWMAN_DERP_SET = "citizens.commands.npc.snowman.derp-set";
|
||||||
public static final String SNOWMAN_DERP_STOPPED = "citizens.commands.npc.snowman.derp-stopped";
|
public static final String SNOWMAN_DERP_STOPPED = "citizens.commands.npc.snowman.derp-stopped";
|
||||||
public static final String SOUND_INFO = "citizens.commands.npc.sound.info";
|
public static final String SOUND_INFO = "citizens.commands.npc.sound.info";
|
||||||
|
@ -9,6 +9,7 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -31,6 +32,7 @@ import org.bukkit.inventory.meta.SkullMeta;
|
|||||||
import org.bukkit.scoreboard.Team;
|
import org.bukkit.scoreboard.Team;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.mojang.authlib.GameProfile;
|
import com.mojang.authlib.GameProfile;
|
||||||
import com.mojang.authlib.GameProfileRepository;
|
import com.mojang.authlib.GameProfileRepository;
|
||||||
|
|
||||||
@ -52,6 +54,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||||||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||||
import net.citizensnpcs.trait.versioned.CamelTrait.CamelPose;
|
import net.citizensnpcs.trait.versioned.CamelTrait.CamelPose;
|
||||||
|
import net.citizensnpcs.trait.versioned.SnifferTrait.SnifferState;
|
||||||
|
|
||||||
public class NMS {
|
public class NMS {
|
||||||
private NMS() {
|
private NMS() {
|
||||||
@ -148,6 +151,33 @@ public class NMS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List<Field> getFieldsMatchingType(Class<?> clazz, Class<?> type, boolean allowStatic) {
|
||||||
|
List<Field> found = Lists.newArrayList();
|
||||||
|
for (Field field : clazz.getDeclaredFields()) {
|
||||||
|
if (allowStatic ^ Modifier.isStatic(field.getModifiers()))
|
||||||
|
continue;
|
||||||
|
if (field.getType() == type) {
|
||||||
|
found.add(field);
|
||||||
|
field.setAccessible(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<MethodHandle> getFieldsOfType(Class<?> clazz, Class<?> type) {
|
||||||
|
List<Field> found = getFieldsMatchingType(clazz, type, false);
|
||||||
|
if (found.isEmpty())
|
||||||
|
return null;
|
||||||
|
return found.stream().map(f -> {
|
||||||
|
try {
|
||||||
|
return LOOKUP.unreflectGetter(f);
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}).filter(f -> f != null).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
public static MethodHandle getFinalSetter(Class<?> clazz, String field) {
|
public static MethodHandle getFinalSetter(Class<?> clazz, String field) {
|
||||||
return getFinalSetter(clazz, field, true);
|
return getFinalSetter(clazz, field, true);
|
||||||
}
|
}
|
||||||
@ -212,28 +242,12 @@ public class NMS {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Field getFirstFieldMatchingType(Class<?> clazz, Class<?> type, boolean allowStatic) {
|
|
||||||
Field found = null;
|
|
||||||
for (Field field : clazz.getDeclaredFields()) {
|
|
||||||
if (allowStatic ^ Modifier.isStatic(field.getModifiers()))
|
|
||||||
continue;
|
|
||||||
if (field.getType() == type) {
|
|
||||||
found = field;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (found != null) {
|
|
||||||
found.setAccessible(true);
|
|
||||||
}
|
|
||||||
return found;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MethodHandle getFirstFinalSetter(Class<?> clazz, Class<?> type) {
|
public static MethodHandle getFirstFinalSetter(Class<?> clazz, Class<?> type) {
|
||||||
try {
|
try {
|
||||||
Field found = getFirstFieldMatchingType(clazz, type, false);
|
List<Field> found = getFieldsMatchingType(clazz, type, false);
|
||||||
if (found == null)
|
if (found.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
return getFinalSetter(clazz, found.getName());
|
return getFinalSetter(clazz, found.get(0).getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
@ -242,10 +256,10 @@ public class NMS {
|
|||||||
|
|
||||||
public static MethodHandle getFirstGetter(Class<?> clazz, Class<?> type) {
|
public static MethodHandle getFirstGetter(Class<?> clazz, Class<?> type) {
|
||||||
try {
|
try {
|
||||||
Field found = getFirstFieldMatchingType(clazz, type, false);
|
List<Field> found = getFieldsMatchingType(clazz, type, false);
|
||||||
if (found == null)
|
if (found.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
return LOOKUP.unreflectGetter(found);
|
return LOOKUP.unreflectGetter(found.get(0));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
@ -292,10 +306,10 @@ public class NMS {
|
|||||||
|
|
||||||
public static MethodHandle getFirstSetter(Class<?> clazz, Class<?> type) {
|
public static MethodHandle getFirstSetter(Class<?> clazz, Class<?> type) {
|
||||||
try {
|
try {
|
||||||
Field found = getFirstFieldMatchingType(clazz, type, false);
|
List<Field> found = getFieldsMatchingType(clazz, type, false);
|
||||||
if (found == null)
|
if (found.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
return LOOKUP.unreflectSetter(found);
|
return LOOKUP.unreflectSetter(found.get(0));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
@ -304,10 +318,10 @@ public class NMS {
|
|||||||
|
|
||||||
public static MethodHandle getFirstStaticGetter(Class<?> clazz, Class<?> type) {
|
public static MethodHandle getFirstStaticGetter(Class<?> clazz, Class<?> type) {
|
||||||
try {
|
try {
|
||||||
Field found = getFirstFieldMatchingType(clazz, type, true);
|
List<Field> found = getFieldsMatchingType(clazz, type, true);
|
||||||
if (found == null)
|
if (found.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
return LOOKUP.unreflectGetter(found);
|
return LOOKUP.unreflectGetter(found.get(0));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
Messaging.logTr(Messages.ERROR_GETTING_FIELD, type, e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
@ -698,6 +712,10 @@ public class NMS {
|
|||||||
BRIDGE.setSneaking(entity, sneaking);
|
BRIDGE.setSneaking(entity, sneaking);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setSnifferState(Entity entity, SnifferState state) {
|
||||||
|
BRIDGE.setSnifferState(entity, state);
|
||||||
|
}
|
||||||
|
|
||||||
public static void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
public static void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||||
BRIDGE.setStepHeight(entity, height);
|
BRIDGE.setStepHeight(entity, height);
|
||||||
}
|
}
|
||||||
@ -757,6 +775,7 @@ public class NMS {
|
|||||||
private static Object UNSAFE;
|
private static Object UNSAFE;
|
||||||
private static MethodHandle UNSAFE_FIELD_OFFSET;
|
private static MethodHandle UNSAFE_FIELD_OFFSET;
|
||||||
private static MethodHandle UNSAFE_PUT_OBJECT;
|
private static MethodHandle UNSAFE_PUT_OBJECT;
|
||||||
|
|
||||||
private static MethodHandle UNSAFE_STATIC_FIELD_OFFSET;
|
private static MethodHandle UNSAFE_STATIC_FIELD_OFFSET;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
@ -40,6 +40,7 @@ import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
|
|||||||
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
|
||||||
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
import net.citizensnpcs.npc.skin.SkinnableEntity;
|
||||||
import net.citizensnpcs.trait.versioned.CamelTrait.CamelPose;
|
import net.citizensnpcs.trait.versioned.CamelTrait.CamelPose;
|
||||||
|
import net.citizensnpcs.trait.versioned.SnifferTrait.SnifferState;
|
||||||
|
|
||||||
public interface NMSBridge {
|
public interface NMSBridge {
|
||||||
default void activate(Entity entity) {
|
default void activate(Entity entity) {
|
||||||
@ -227,6 +228,9 @@ public interface NMSBridge {
|
|||||||
|
|
||||||
public void setSneaking(Entity entity, boolean sneaking);
|
public void setSneaking(Entity entity, boolean sneaking);
|
||||||
|
|
||||||
|
public default void setSnifferState(Entity entity, SnifferState state) {
|
||||||
|
}
|
||||||
|
|
||||||
public void setStepHeight(Entity entity, float height);
|
public void setStepHeight(Entity entity, float height);
|
||||||
|
|
||||||
public void setTeamNameTagVisible(Team team, boolean visible);
|
public void setTeamNameTagVisible(Team team, boolean visible);
|
||||||
@ -249,5 +253,5 @@ public interface NMSBridge {
|
|||||||
|
|
||||||
public void updateNavigationWorld(Entity entity, World world);
|
public void updateNavigationWorld(Entity entity, World world);
|
||||||
|
|
||||||
public void updatePathfindingRange(NPC npc, float pathfindingRange);
|
public void updatePathfindingRange(NPC npc, float pathfindingRange);;
|
||||||
}
|
}
|
||||||
|
@ -280,6 +280,7 @@ citizens.commands.npc.skin.cleared=[[{0}]]''s skin name was cleared.
|
|||||||
citizens.commands.npc.skin.layers-set=[[{0}]]''s skin layers: cape - [[{1}]], hat - [[{2}]], jacket - [[{3}]], sleeves - [[{4}]], pants - [[{5}]].
|
citizens.commands.npc.skin.layers-set=[[{0}]]''s skin layers: cape - [[{1}]], hat - [[{2}]], jacket - [[{3}]], sleeves - [[{4}]], pants - [[{5}]].
|
||||||
citizens.commands.npc.size.description=[[{0}]]''s size is [[{1}]].
|
citizens.commands.npc.size.description=[[{0}]]''s size is [[{1}]].
|
||||||
citizens.commands.npc.size.set=[[{0}]]''s size set to [[{1}]].
|
citizens.commands.npc.size.set=[[{0}]]''s size set to [[{1}]].
|
||||||
|
citizens.commands.npc.sniffer.state-set=[[{0}]]''s state set to [[{1}]].
|
||||||
citizens.commands.npc.spellcaster.spell-set=Spell set to [[{0}]].
|
citizens.commands.npc.spellcaster.spell-set=Spell set to [[{0}]].
|
||||||
citizens.commands.npc.sound.invalid-sound=Invalid sound.
|
citizens.commands.npc.sound.invalid-sound=Invalid sound.
|
||||||
citizens.commands.npc.sound.set=[[{0}]]''s sounds are now: ambient - [[{1}]] hurt - [[{2}]] and death - [[{3}]].
|
citizens.commands.npc.sound.set=[[{0}]]''s sounds are now: ambient - [[{1}]] hurt - [[{2}]] and death - [[{3}]].
|
||||||
|
12
pom.xml
12
pom.xml
@ -1,35 +1,29 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<BUILD_NUMBER>Unknown</BUILD_NUMBER>
|
<BUILD_NUMBER>Unknown</BUILD_NUMBER>
|
||||||
<CITIZENS_VERSION>2.0.30</CITIZENS_VERSION>
|
<CITIZENS_VERSION>2.0.31</CITIZENS_VERSION>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
<repository>
|
<repository>
|
||||||
<id>citizens-repo</id>
|
<id>citizens-repo</id>
|
||||||
<url>https://maven.citizensnpcs.co/repo</url>
|
<url>https://maven.citizensnpcs.co/repo</url>
|
||||||
</repository>
|
</repository>
|
||||||
</distributionManagement>
|
</distributionManagement>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>citizens-repo</id>
|
<id>citizens-repo</id>
|
||||||
<url>https://maven.citizensnpcs.co/repo</url>
|
<url>https://maven.citizensnpcs.co/repo</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<defaultGoal>clean package install</defaultGoal>
|
<defaultGoal>clean package install</defaultGoal>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>main</module>
|
<module>main</module>
|
||||||
<module>v1_8_R3</module>
|
<module>v1_8_R3</module>
|
||||||
@ -37,7 +31,7 @@
|
|||||||
<module>v1_16_R3</module>
|
<module>v1_16_R3</module>
|
||||||
<module>v1_17_R1</module>
|
<module>v1_17_R1</module>
|
||||||
<module>v1_18_R2</module>
|
<module>v1_18_R2</module>
|
||||||
<module>v1_19_R2</module>
|
<module>v1_19_R3</module>
|
||||||
<module>dist</module>
|
<module>dist</module>
|
||||||
</modules>
|
</modules>
|
||||||
</project>
|
</project>
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_10_R1</artifactId>
|
<artifactId>citizens-v1_10_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_11_R1</artifactId>
|
<artifactId>citizens-v1_11_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_12_R1</artifactId>
|
<artifactId>citizens-v1_12_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_13_R2</artifactId>
|
<artifactId>citizens-v1_13_R2</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_14_R1</artifactId>
|
<artifactId>citizens-v1_14_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_15_R1</artifactId>
|
<artifactId>citizens-v1_15_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_16_R3</artifactId>
|
<artifactId>citizens-v1_16_R3</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_17_R1</artifactId>
|
<artifactId>citizens-v1_17_R1</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_18_R2</artifactId>
|
<artifactId>citizens-v1_18_R2</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -1,510 +0,0 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.util;
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
|
|
||||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2BooleanMap;
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2BooleanOpenHashMap;
|
|
||||||
import net.citizensnpcs.nms.v1_19_R2.entity.EntityHumanNPC;
|
|
||||||
import net.minecraft.core.BlockPos;
|
|
||||||
import net.minecraft.core.Direction;
|
|
||||||
import net.minecraft.tags.BlockTags;
|
|
||||||
import net.minecraft.tags.FluidTags;
|
|
||||||
import net.minecraft.util.Mth;
|
|
||||||
import net.minecraft.world.entity.Mob;
|
|
||||||
import net.minecraft.world.level.BlockGetter;
|
|
||||||
import net.minecraft.world.level.PathNavigationRegion;
|
|
||||||
import net.minecraft.world.level.block.Block;
|
|
||||||
import net.minecraft.world.level.block.Blocks;
|
|
||||||
import net.minecraft.world.level.block.CampfireBlock;
|
|
||||||
import net.minecraft.world.level.block.DoorBlock;
|
|
||||||
import net.minecraft.world.level.block.FenceGateBlock;
|
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
|
||||||
import net.minecraft.world.level.block.state.properties.Property;
|
|
||||||
import net.minecraft.world.level.material.FluidState;
|
|
||||||
import net.minecraft.world.level.material.Fluids;
|
|
||||||
import net.minecraft.world.level.material.Material;
|
|
||||||
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
|
||||||
import net.minecraft.world.level.pathfinder.Node;
|
|
||||||
import net.minecraft.world.level.pathfinder.PathComputationType;
|
|
||||||
import net.minecraft.world.level.pathfinder.Target;
|
|
||||||
import net.minecraft.world.phys.AABB;
|
|
||||||
import net.minecraft.world.phys.Vec3;
|
|
||||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
|
||||||
|
|
||||||
public class PlayerNodeEvaluator extends PlayerNodeEvaluatorBase {
|
|
||||||
private final Long2ObjectMap<BlockPathTypes> l = new Long2ObjectOpenHashMap<BlockPathTypes>();
|
|
||||||
private final Object2BooleanMap<AABB> m = new Object2BooleanOpenHashMap<AABB>();
|
|
||||||
protected float oldWaterCost;
|
|
||||||
|
|
||||||
private boolean canReachWithoutCollision(Node var0) {
|
|
||||||
Vec3 var1 = new Vec3(var0.x - this.mob.getX(), var0.y - this.mob.getY(), var0.z - this.mob.getZ());
|
|
||||||
AABB var2 = this.mob.getBoundingBox();
|
|
||||||
int var3 = Mth.ceil(var1.length() / var2.getSize());
|
|
||||||
var1 = var1.scale((1.0F / var3));
|
|
||||||
for (int var4 = 1; var4 <= var3; var4++) {
|
|
||||||
var2 = var2.move(var1);
|
|
||||||
if (hasCollisions(var2))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void done() {
|
|
||||||
this.mob.setPathfindingMalus(BlockPathTypes.WATER, this.oldWaterCost);
|
|
||||||
this.l.clear();
|
|
||||||
this.m.clear();
|
|
||||||
super.done();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected BlockPathTypes evaluateBlockPathType(BlockGetter var0, boolean var1, boolean var2, BlockPos var3,
|
|
||||||
BlockPathTypes var4) {
|
|
||||||
if (var4 == BlockPathTypes.DOOR_WOOD_CLOSED && var1 && var2)
|
|
||||||
var4 = BlockPathTypes.WALKABLE_DOOR;
|
|
||||||
if (var4 == BlockPathTypes.DOOR_OPEN && !var2)
|
|
||||||
var4 = BlockPathTypes.BLOCKED;
|
|
||||||
if (var4 == BlockPathTypes.RAIL
|
|
||||||
&& !(var0.getBlockState(var3).getBlock() instanceof net.minecraft.world.level.block.BaseRailBlock)
|
|
||||||
&& !(var0.getBlockState(var3.below())
|
|
||||||
.getBlock() instanceof net.minecraft.world.level.block.BaseRailBlock))
|
|
||||||
var4 = BlockPathTypes.UNPASSABLE_RAIL;
|
|
||||||
if (var4 == BlockPathTypes.LEAVES)
|
|
||||||
var4 = BlockPathTypes.BLOCKED;
|
|
||||||
return var4;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Node findAcceptedNode(int var0, int var1, int var2, int var3, double var4, Direction var6,
|
|
||||||
BlockPathTypes var7) {
|
|
||||||
Node var8 = null;
|
|
||||||
BlockPos.MutableBlockPos var9 = new BlockPos.MutableBlockPos();
|
|
||||||
double var10 = getFloorLevel(var9.set(var0, var1, var2));
|
|
||||||
if (var10 - var4 > 1.125D)
|
|
||||||
return null;
|
|
||||||
BlockPathTypes var12 = getCachedBlockType(this.mob, var0, var1, var2);
|
|
||||||
float var13 = this.mob.getPathfindingMalus(var12);
|
|
||||||
double var14 = this.mob.getBbWidth() / 2.0D;
|
|
||||||
if (var13 >= 0.0F) {
|
|
||||||
var8 = getNode(var0, var1, var2);
|
|
||||||
var8.type = var12;
|
|
||||||
var8.costMalus = Math.max(var8.costMalus, var13);
|
|
||||||
}
|
|
||||||
if (var7 == BlockPathTypes.FENCE && var8 != null && var8.costMalus >= 0.0F && !canReachWithoutCollision(var8))
|
|
||||||
var8 = null;
|
|
||||||
if (var12 == BlockPathTypes.WALKABLE || (isAmphibious() && var12 == BlockPathTypes.WATER))
|
|
||||||
return var8;
|
|
||||||
if ((var8 == null || var8.costMalus < 0.0F) && var3 > 0 && var12 != BlockPathTypes.FENCE
|
|
||||||
&& var12 != BlockPathTypes.UNPASSABLE_RAIL && var12 != BlockPathTypes.TRAPDOOR
|
|
||||||
&& var12 != BlockPathTypes.POWDER_SNOW) {
|
|
||||||
var8 = findAcceptedNode(var0, var1 + 1, var2, var3 - 1, var4, var6, var7);
|
|
||||||
if (var8 != null && (var8.type == BlockPathTypes.OPEN || var8.type == BlockPathTypes.WALKABLE)
|
|
||||||
&& this.mob.getBbWidth() < 1.0F) {
|
|
||||||
double var16 = (var0 - var6.getStepX()) + 0.5D;
|
|
||||||
double var18 = (var2 - var6.getStepZ()) + 0.5D;
|
|
||||||
AABB var20 = new AABB(var16 - var14,
|
|
||||||
getFloorLevel(this.level, var9.set(var16, (var1 + 1), var18)) + 0.001D, var18 - var14,
|
|
||||||
var16 + var14,
|
|
||||||
this.mob.getBbHeight() + getFloorLevel(this.level, var9.set(var8.x, var8.y, var8.z)) - 0.002D,
|
|
||||||
var18 + var14);
|
|
||||||
if (hasCollisions(var20))
|
|
||||||
var8 = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!isAmphibious() && var12 == BlockPathTypes.WATER && !canFloat()) {
|
|
||||||
if (getCachedBlockType(this.mob, var0, var1 - 1, var2) != BlockPathTypes.WATER)
|
|
||||||
return var8;
|
|
||||||
while (var1 > this.mob.level.getMinBuildHeight()) {
|
|
||||||
var1--;
|
|
||||||
var12 = getCachedBlockType(this.mob, var0, var1, var2);
|
|
||||||
if (var12 == BlockPathTypes.WATER) {
|
|
||||||
var8 = getNode(var0, var1, var2);
|
|
||||||
var8.type = var12;
|
|
||||||
var8.costMalus = Math.max(var8.costMalus, this.mob.getPathfindingMalus(var12));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
return var8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (var12 == BlockPathTypes.OPEN) {
|
|
||||||
int var16 = 0;
|
|
||||||
int var17 = var1;
|
|
||||||
while (var12 == BlockPathTypes.OPEN) {
|
|
||||||
var1--;
|
|
||||||
if (var1 < this.mob.level.getMinBuildHeight()) {
|
|
||||||
Node var18 = getNode(var0, var17, var2);
|
|
||||||
var18.type = BlockPathTypes.BLOCKED;
|
|
||||||
var18.costMalus = -1.0F;
|
|
||||||
return var18;
|
|
||||||
}
|
|
||||||
if (var16++ >= this.mob.getMaxFallDistance()) {
|
|
||||||
Node var18 = getNode(var0, var1, var2);
|
|
||||||
var18.type = BlockPathTypes.BLOCKED;
|
|
||||||
var18.costMalus = -1.0F;
|
|
||||||
return var18;
|
|
||||||
}
|
|
||||||
var12 = getCachedBlockType(this.mob, var0, var1, var2);
|
|
||||||
var13 = this.mob.getPathfindingMalus(var12);
|
|
||||||
if (var12 != BlockPathTypes.OPEN && var13 >= 0.0F) {
|
|
||||||
var8 = getNode(var0, var1, var2);
|
|
||||||
var8.type = var12;
|
|
||||||
var8.costMalus = Math.max(var8.costMalus, var13);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (var13 < 0.0F) {
|
|
||||||
Node var18 = getNode(var0, var1, var2);
|
|
||||||
var18.type = BlockPathTypes.BLOCKED;
|
|
||||||
var18.costMalus = -1.0F;
|
|
||||||
return var18;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (var12 == BlockPathTypes.FENCE) {
|
|
||||||
var8 = getNode(var0, var1, var2);
|
|
||||||
var8.closed = true;
|
|
||||||
var8.type = var12;
|
|
||||||
var8.costMalus = var12.getMalus();
|
|
||||||
}
|
|
||||||
return var8;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BlockPathTypes getBlockPathType(BlockGetter var0, int var1, int var2, int var3) {
|
|
||||||
return getBlockPathTypeStatic(var0, new BlockPos.MutableBlockPos(var1, var2, var3));
|
|
||||||
}
|
|
||||||
|
|
||||||
public BlockPathTypes getBlockPathType(BlockGetter var0, int var1, int var2, int var3, EntityHumanNPC var4,
|
|
||||||
int var5, int var6, int var7, boolean var8, boolean var9) {
|
|
||||||
EnumSet<BlockPathTypes> var10 = EnumSet.noneOf(BlockPathTypes.class);
|
|
||||||
BlockPathTypes var11 = BlockPathTypes.BLOCKED;
|
|
||||||
BlockPos var12 = var4.blockPosition();
|
|
||||||
var11 = getBlockPathTypes(var0, var1, var2, var3, var5, var6, var7, var8, var9, var10, var11, var12);
|
|
||||||
if (var10.contains(BlockPathTypes.FENCE))
|
|
||||||
return BlockPathTypes.FENCE;
|
|
||||||
if (var10.contains(BlockPathTypes.UNPASSABLE_RAIL))
|
|
||||||
return BlockPathTypes.UNPASSABLE_RAIL;
|
|
||||||
BlockPathTypes var13 = BlockPathTypes.BLOCKED;
|
|
||||||
for (BlockPathTypes var15 : var10) {
|
|
||||||
if (var4.getPathfindingMalus(var15) < 0.0F)
|
|
||||||
return var15;
|
|
||||||
if (var4.getPathfindingMalus(var15) >= var4.getPathfindingMalus(var13))
|
|
||||||
var13 = var15;
|
|
||||||
}
|
|
||||||
if (var11 == BlockPathTypes.OPEN && var4.getPathfindingMalus(var13) == 0.0F && var5 <= 1)
|
|
||||||
return BlockPathTypes.OPEN;
|
|
||||||
return var13;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BlockPathTypes getBlockPathType(BlockGetter var0, int var1, int var2, int var3, Mob var4, int var5, int var6,
|
|
||||||
int var7, boolean var8, boolean var9) {
|
|
||||||
EnumSet<BlockPathTypes> var10 = EnumSet.noneOf(BlockPathTypes.class);
|
|
||||||
BlockPathTypes var11 = BlockPathTypes.BLOCKED;
|
|
||||||
BlockPos var12 = var4.blockPosition();
|
|
||||||
var11 = getBlockPathTypes(var0, var1, var2, var3, var5, var6, var7, var8, var9, var10, var11, var12);
|
|
||||||
if (var10.contains(BlockPathTypes.FENCE))
|
|
||||||
return BlockPathTypes.FENCE;
|
|
||||||
if (var10.contains(BlockPathTypes.UNPASSABLE_RAIL))
|
|
||||||
return BlockPathTypes.UNPASSABLE_RAIL;
|
|
||||||
BlockPathTypes var13 = BlockPathTypes.BLOCKED;
|
|
||||||
for (BlockPathTypes var15 : var10) {
|
|
||||||
if (var4.getPathfindingMalus(var15) < 0.0F)
|
|
||||||
return var15;
|
|
||||||
if (var4.getPathfindingMalus(var15) >= var4.getPathfindingMalus(var13))
|
|
||||||
var13 = var15;
|
|
||||||
}
|
|
||||||
if (var11 == BlockPathTypes.OPEN && var4.getPathfindingMalus(var13) == 0.0F && var5 <= 1)
|
|
||||||
return BlockPathTypes.OPEN;
|
|
||||||
return var13;
|
|
||||||
}
|
|
||||||
|
|
||||||
private BlockPathTypes getBlockPathType(EntityHumanNPC var0, BlockPos var1) {
|
|
||||||
return getCachedBlockType(var0, var1.getX(), var1.getY(), var1.getZ());
|
|
||||||
}
|
|
||||||
|
|
||||||
public BlockPathTypes getBlockPathTypee(BlockGetter var0, int var1, int var2, int var3, EntityHumanNPC var4,
|
|
||||||
int var5, int var6, int var7, boolean var8, boolean var9) {
|
|
||||||
EnumSet<BlockPathTypes> var10 = EnumSet.noneOf(BlockPathTypes.class);
|
|
||||||
BlockPathTypes var11 = BlockPathTypes.BLOCKED;
|
|
||||||
BlockPos var12 = var4.blockPosition();
|
|
||||||
var11 = getBlockPathTypes(var0, var1, var2, var3, var5, var6, var7, var8, var9, var10, var11, var12);
|
|
||||||
if (var10.contains(BlockPathTypes.FENCE))
|
|
||||||
return BlockPathTypes.FENCE;
|
|
||||||
if (var10.contains(BlockPathTypes.UNPASSABLE_RAIL))
|
|
||||||
return BlockPathTypes.UNPASSABLE_RAIL;
|
|
||||||
BlockPathTypes var13 = BlockPathTypes.BLOCKED;
|
|
||||||
for (BlockPathTypes var15 : var10) {
|
|
||||||
if (var4.getPathfindingMalus(var15) < 0.0F)
|
|
||||||
return var15;
|
|
||||||
if (var4.getPathfindingMalus(var15) >= var4.getPathfindingMalus(var13))
|
|
||||||
var13 = var15;
|
|
||||||
}
|
|
||||||
if (var11 == BlockPathTypes.OPEN && var4.getPathfindingMalus(var13) == 0.0F && var5 <= 1)
|
|
||||||
return BlockPathTypes.OPEN;
|
|
||||||
return var13;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BlockPathTypes getBlockPathTypes(BlockGetter var0, int var1, int var2, int var3, int var4, int var5,
|
|
||||||
int var6, boolean var7, boolean var8, EnumSet<BlockPathTypes> var9, BlockPathTypes var10, BlockPos var11) {
|
|
||||||
for (int var12 = 0; var12 < var4; var12++) {
|
|
||||||
for (int var13 = 0; var13 < var5; var13++) {
|
|
||||||
for (int var14 = 0; var14 < var6; var14++) {
|
|
||||||
int var15 = var12 + var1;
|
|
||||||
int var16 = var13 + var2;
|
|
||||||
int var17 = var14 + var3;
|
|
||||||
BlockPathTypes var18 = getBlockPathType(var0, var15, var16, var17);
|
|
||||||
var18 = evaluateBlockPathType(var0, var7, var8, var11, var18);
|
|
||||||
if (var12 == 0 && var13 == 0 && var14 == 0)
|
|
||||||
var10 = var18;
|
|
||||||
var9.add(var18);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return var10;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected BlockPathTypes getCachedBlockType(EntityHumanNPC var0, int var1, int var2, int var3) {
|
|
||||||
return this.l.computeIfAbsent(BlockPos.asLong(var1, var2, var3),
|
|
||||||
var4 -> getBlockPathType(this.level, var1, var2, var3, var0, this.entityWidth, this.entityHeight,
|
|
||||||
this.entityDepth, canOpenDoors(), canPassDoors()));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected BlockPathTypes getCachedBlockType(Mob var0, int var1, int var2, int var3) {
|
|
||||||
return this.l.computeIfAbsent(BlockPos.asLong(var1, var2, var3),
|
|
||||||
var4 -> getBlockPathType(this.level, var1, var2, var3, var0, this.entityWidth, this.entityHeight,
|
|
||||||
this.entityDepth, canOpenDoors(), canPassDoors()));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected double getFloorLevel(BlockPos var0) {
|
|
||||||
return getFloorLevel(this.level, var0);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Target getGoal(double var0, double var2, double var4) {
|
|
||||||
return new Target(getNode(Mth.floor(var0), Mth.floor(var2), Mth.floor(var4)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getNeighbors(Node[] var0, Node var1) {
|
|
||||||
int var2 = 0;
|
|
||||||
int var3 = 0;
|
|
||||||
BlockPathTypes var4 = getCachedBlockType(this.mob, var1.x, var1.y + 1, var1.z);
|
|
||||||
BlockPathTypes var5 = getCachedBlockType(this.mob, var1.x, var1.y, var1.z);
|
|
||||||
if (this.mob.getPathfindingMalus(var4) >= 0.0F && var5 != BlockPathTypes.STICKY_HONEY)
|
|
||||||
var3 = Mth.floor(Math.max(1.0F, this.mob.maxUpStep));
|
|
||||||
double var6 = getFloorLevel(new BlockPos(var1.x, var1.y, var1.z));
|
|
||||||
Node var8 = findAcceptedNode(var1.x, var1.y, var1.z + 1, var3, var6, Direction.SOUTH, var5);
|
|
||||||
if (isNeighborValid(var8, var1))
|
|
||||||
var0[var2++] = var8;
|
|
||||||
Node var9 = findAcceptedNode(var1.x - 1, var1.y, var1.z, var3, var6, Direction.WEST, var5);
|
|
||||||
if (isNeighborValid(var9, var1))
|
|
||||||
var0[var2++] = var9;
|
|
||||||
Node var10 = findAcceptedNode(var1.x + 1, var1.y, var1.z, var3, var6, Direction.EAST, var5);
|
|
||||||
if (isNeighborValid(var10, var1))
|
|
||||||
var0[var2++] = var10;
|
|
||||||
Node var11 = findAcceptedNode(var1.x, var1.y, var1.z - 1, var3, var6, Direction.NORTH, var5);
|
|
||||||
if (isNeighborValid(var11, var1))
|
|
||||||
var0[var2++] = var11;
|
|
||||||
Node var12 = findAcceptedNode(var1.x - 1, var1.y, var1.z - 1, var3, var6, Direction.NORTH, var5);
|
|
||||||
if (isDiagonalValid(var1, var9, var11, var12))
|
|
||||||
var0[var2++] = var12;
|
|
||||||
Node var13 = findAcceptedNode(var1.x + 1, var1.y, var1.z - 1, var3, var6, Direction.NORTH, var5);
|
|
||||||
if (isDiagonalValid(var1, var10, var11, var13))
|
|
||||||
var0[var2++] = var13;
|
|
||||||
Node var14 = findAcceptedNode(var1.x - 1, var1.y, var1.z + 1, var3, var6, Direction.SOUTH, var5);
|
|
||||||
if (isDiagonalValid(var1, var9, var8, var14))
|
|
||||||
var0[var2++] = var14;
|
|
||||||
Node var15 = findAcceptedNode(var1.x + 1, var1.y, var1.z + 1, var3, var6, Direction.SOUTH, var5);
|
|
||||||
if (isDiagonalValid(var1, var10, var8, var15))
|
|
||||||
var0[var2++] = var15;
|
|
||||||
return var2;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Node getStart() {
|
|
||||||
BlockPos.MutableBlockPos var1 = new BlockPos.MutableBlockPos();
|
|
||||||
int var0 = this.mob.getBlockY();
|
|
||||||
BlockState var2 = this.level.getBlockState(var1.set(this.mob.getX(), var0, this.mob.getZ()));
|
|
||||||
if (this.mob.canStandOnFluid(var2.getFluidState())) {
|
|
||||||
while (this.mob.canStandOnFluid(var2.getFluidState())) {
|
|
||||||
var0++;
|
|
||||||
var2 = this.level.getBlockState(var1.set(this.mob.getX(), var0, this.mob.getZ()));
|
|
||||||
}
|
|
||||||
var0--;
|
|
||||||
} else if (canFloat() && this.mob.isInWater()) {
|
|
||||||
while (var2.is(Blocks.WATER) || var2.getFluidState() == Fluids.WATER.getSource(false)) {
|
|
||||||
var0++;
|
|
||||||
var2 = this.level.getBlockState(var1.set(this.mob.getX(), var0, this.mob.getZ()));
|
|
||||||
}
|
|
||||||
var0--;
|
|
||||||
} else if (this.mob.isOnGround()) {
|
|
||||||
var0 = Mth.floor(this.mob.getY() + 0.5D);
|
|
||||||
} else {
|
|
||||||
BlockPos blockPos = this.mob.blockPosition();
|
|
||||||
while ((this.level.getBlockState(blockPos).isAir() || this.level.getBlockState(blockPos)
|
|
||||||
.isPathfindable(this.level, blockPos, PathComputationType.LAND))
|
|
||||||
&& blockPos.getY() > this.mob.level.getMinBuildHeight())
|
|
||||||
blockPos = blockPos.below();
|
|
||||||
var0 = blockPos.above().getY();
|
|
||||||
}
|
|
||||||
BlockPos var3 = this.mob.blockPosition();
|
|
||||||
BlockPathTypes var4 = getCachedBlockType(this.mob, var3.getX(), var0, var3.getZ());
|
|
||||||
if (this.mob.getPathfindingMalus(var4) < 0.0F) {
|
|
||||||
AABB aABB = this.mob.getBoundingBox();
|
|
||||||
if (hasPositiveMalus(var1.set(aABB.minX, var0, aABB.minZ))
|
|
||||||
|| hasPositiveMalus(var1.set(aABB.minX, var0, aABB.maxZ))
|
|
||||||
|| hasPositiveMalus(var1.set(aABB.maxX, var0, aABB.minZ))
|
|
||||||
|| hasPositiveMalus(var1.set(aABB.maxX, var0, aABB.maxZ))) {
|
|
||||||
Node var6 = getNode(var1);
|
|
||||||
var6.type = getBlockPathType(this.mob, var6.asBlockPos());
|
|
||||||
var6.costMalus = this.mob.getPathfindingMalus(var6.type);
|
|
||||||
return var6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Node var5 = getNode(var3.getX(), var0, var3.getZ());
|
|
||||||
var5.type = getBlockPathType(this.mob, var5.asBlockPos());
|
|
||||||
var5.costMalus = this.mob.getPathfindingMalus(var5.type);
|
|
||||||
return var5;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean hasCollisions(AABB var0) {
|
|
||||||
return this.m.computeIfAbsent(var0, var1 -> !this.level.noCollision(this.mob, var0));
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean hasPositiveMalus(BlockPos var0) {
|
|
||||||
BlockPathTypes var1 = getBlockPathType(this.mob, var0);
|
|
||||||
return (this.mob.getPathfindingMalus(var1) >= 0.0F);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean isAmphibious() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean isDiagonalValid(Node var0, Node var1, Node var2, Node var3) {
|
|
||||||
if (var3 == null || var2 == null || var1 == null || var3.closed)
|
|
||||||
return false;
|
|
||||||
if (var2.y > var0.y || var1.y > var0.y)
|
|
||||||
return false;
|
|
||||||
if (var1.type == BlockPathTypes.WALKABLE_DOOR || var2.type == BlockPathTypes.WALKABLE_DOOR
|
|
||||||
|| var3.type == BlockPathTypes.WALKABLE_DOOR)
|
|
||||||
return false;
|
|
||||||
boolean var4 = (var2.type == BlockPathTypes.FENCE && var1.type == BlockPathTypes.FENCE
|
|
||||||
&& this.mob.getBbWidth() < 0.5D);
|
|
||||||
return (var3.costMalus >= 0.0F && (var2.y < var0.y || var2.costMalus >= 0.0F || var4)
|
|
||||||
&& (var1.y < var0.y || var1.costMalus >= 0.0F || var4));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean isNeighborValid(Node var0, Node var1) {
|
|
||||||
return (var0 != null && !var0.closed && (var0.costMalus >= 0.0F || var1.costMalus < 0.0F));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void prepare(PathNavigationRegion var0, Mob var1) {
|
|
||||||
super.prepare(var0, var1);
|
|
||||||
this.oldWaterCost = var1.getPathfindingMalus(BlockPathTypes.WATER);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BlockPathTypes checkNeighbourBlocks(BlockGetter var0, BlockPos.MutableBlockPos var1,
|
|
||||||
BlockPathTypes var2) {
|
|
||||||
int var3 = var1.getX();
|
|
||||||
int var4 = var1.getY();
|
|
||||||
int var5 = var1.getZ();
|
|
||||||
for (int var6 = -1; var6 <= 1; var6++) {
|
|
||||||
for (int var7 = -1; var7 <= 1; var7++) {
|
|
||||||
for (int var8 = -1; var8 <= 1; var8++) {
|
|
||||||
if (var6 != 0 || var8 != 0) {
|
|
||||||
var1.set(var3 + var6, var4 + var7, var5 + var8);
|
|
||||||
BlockState var9 = var0.getBlockState(var1);
|
|
||||||
if (var9.is(Blocks.CACTUS))
|
|
||||||
return BlockPathTypes.DANGER_CACTUS;
|
|
||||||
if (var9.is(Blocks.SWEET_BERRY_BUSH))
|
|
||||||
return BlockPathTypes.DANGER_OTHER;
|
|
||||||
if (isBurningBlock(var9))
|
|
||||||
return BlockPathTypes.DANGER_FIRE;
|
|
||||||
if (var0.getFluidState(var1).is(FluidTags.WATER))
|
|
||||||
return BlockPathTypes.WATER_BORDER;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return var2;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static BlockPathTypes getBlockPathTypeRaw(BlockGetter var0, BlockPos var1) {
|
|
||||||
BlockState var2 = var0.getBlockState(var1);
|
|
||||||
Block var3 = var2.getBlock();
|
|
||||||
Material var4 = var2.getMaterial();
|
|
||||||
if (var2.isAir())
|
|
||||||
return BlockPathTypes.OPEN;
|
|
||||||
if (var2.is(BlockTags.TRAPDOORS) || var2.is(Blocks.LILY_PAD) || var2.is(Blocks.BIG_DRIPLEAF))
|
|
||||||
return BlockPathTypes.TRAPDOOR;
|
|
||||||
if (var2.is(Blocks.POWDER_SNOW))
|
|
||||||
return BlockPathTypes.POWDER_SNOW;
|
|
||||||
if (var2.is(Blocks.CACTUS))
|
|
||||||
return BlockPathTypes.DAMAGE_CACTUS;
|
|
||||||
if (var2.is(Blocks.SWEET_BERRY_BUSH))
|
|
||||||
return BlockPathTypes.DAMAGE_OTHER;
|
|
||||||
if (var2.is(Blocks.HONEY_BLOCK))
|
|
||||||
return BlockPathTypes.STICKY_HONEY;
|
|
||||||
if (var2.is(Blocks.COCOA))
|
|
||||||
return BlockPathTypes.COCOA;
|
|
||||||
FluidState var5 = var0.getFluidState(var1);
|
|
||||||
if (var5.is(FluidTags.LAVA))
|
|
||||||
return BlockPathTypes.LAVA;
|
|
||||||
if (isBurningBlock(var2))
|
|
||||||
return BlockPathTypes.DAMAGE_FIRE;
|
|
||||||
if (DoorBlock.isWoodenDoor(var2) && !((Boolean) var2.getValue((Property<?>) DoorBlock.OPEN)).booleanValue())
|
|
||||||
return BlockPathTypes.DOOR_WOOD_CLOSED;
|
|
||||||
if (var3 instanceof DoorBlock && var4 == Material.METAL
|
|
||||||
&& !((Boolean) var2.getValue((Property<?>) DoorBlock.OPEN)).booleanValue())
|
|
||||||
return BlockPathTypes.DOOR_IRON_CLOSED;
|
|
||||||
if (var3 instanceof DoorBlock && ((Boolean) var2.getValue((Property<?>) DoorBlock.OPEN)).booleanValue())
|
|
||||||
return BlockPathTypes.DOOR_OPEN;
|
|
||||||
if (var3 instanceof net.minecraft.world.level.block.BaseRailBlock)
|
|
||||||
return BlockPathTypes.RAIL;
|
|
||||||
if (var3 instanceof net.minecraft.world.level.block.LeavesBlock)
|
|
||||||
return BlockPathTypes.LEAVES;
|
|
||||||
if (var2.is(BlockTags.FENCES) || var2.is(BlockTags.WALLS) || (var3 instanceof FenceGateBlock
|
|
||||||
&& !((Boolean) var2.getValue((Property<?>) FenceGateBlock.OPEN)).booleanValue()))
|
|
||||||
return BlockPathTypes.FENCE;
|
|
||||||
if (!var2.isPathfindable(var0, var1, PathComputationType.LAND))
|
|
||||||
return BlockPathTypes.BLOCKED;
|
|
||||||
if (var5.is(FluidTags.WATER))
|
|
||||||
return BlockPathTypes.WATER;
|
|
||||||
return BlockPathTypes.OPEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BlockPathTypes getBlockPathTypeStatic(BlockGetter var0, BlockPos.MutableBlockPos var1) {
|
|
||||||
int var2 = var1.getX();
|
|
||||||
int var3 = var1.getY();
|
|
||||||
int var4 = var1.getZ();
|
|
||||||
BlockPathTypes var5 = getBlockPathTypeRaw(var0, var1);
|
|
||||||
if (var5 == BlockPathTypes.OPEN && var3 >= var0.getMinBuildHeight() + 1) {
|
|
||||||
BlockPathTypes var6 = getBlockPathTypeRaw(var0, var1.set(var2, var3 - 1, var4));
|
|
||||||
var5 = (var6 == BlockPathTypes.WALKABLE || var6 == BlockPathTypes.OPEN || var6 == BlockPathTypes.WATER
|
|
||||||
|| var6 == BlockPathTypes.LAVA) ? BlockPathTypes.OPEN : BlockPathTypes.WALKABLE;
|
|
||||||
if (var6 == BlockPathTypes.DAMAGE_FIRE)
|
|
||||||
var5 = BlockPathTypes.DAMAGE_FIRE;
|
|
||||||
if (var6 == BlockPathTypes.DAMAGE_CACTUS)
|
|
||||||
var5 = BlockPathTypes.DAMAGE_CACTUS;
|
|
||||||
if (var6 == BlockPathTypes.DAMAGE_OTHER)
|
|
||||||
var5 = BlockPathTypes.DAMAGE_OTHER;
|
|
||||||
if (var6 == BlockPathTypes.STICKY_HONEY)
|
|
||||||
var5 = BlockPathTypes.STICKY_HONEY;
|
|
||||||
}
|
|
||||||
if (var5 == BlockPathTypes.WALKABLE)
|
|
||||||
var5 = checkNeighbourBlocks(var0, var1.set(var2, var3, var4), var5);
|
|
||||||
return var5;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double getFloorLevel(BlockGetter var0, BlockPos var1) {
|
|
||||||
BlockPos var2 = var1.below();
|
|
||||||
VoxelShape var3 = var0.getBlockState(var2).getCollisionShape(var0, var2);
|
|
||||||
return var2.getY() + (var3.isEmpty() ? 0.0D : var3.max(Direction.Axis.Y));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isBurningBlock(BlockState var0) {
|
|
||||||
return (var0.is(BlockTags.FIRE) || var0.is(Blocks.LAVA) || var0.is(Blocks.MAGMA_BLOCK)
|
|
||||||
|| CampfireBlock.isLitCampfire(var0) || var0.is(Blocks.LAVA_CAULDRON));
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,12 +4,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>net.citizensnpcs</groupId>
|
<groupId>net.citizensnpcs</groupId>
|
||||||
<artifactId>citizens-parent</artifactId>
|
<artifactId>citizens-parent</artifactId>
|
||||||
<version>2.0.30-SNAPSHOT</version>
|
<version>2.0.31-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>citizens-v1_19_R2</artifactId>
|
<artifactId>citizens-v1_19_R3</artifactId>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<craftbukkit.version>1.19.3-R0.1-SNAPSHOT</craftbukkit.version>
|
<craftbukkit.version>1.19.4-R0.1-SNAPSHOT</craftbukkit.version>
|
||||||
</properties>
|
</properties>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
@ -31,12 +31,6 @@
|
|||||||
<classifier>remapped-mojang</classifier>
|
<classifier>remapped-mojang</classifier>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.viaversion</groupId>
|
|
||||||
<artifactId>viaversion-api</artifactId>
|
|
||||||
<version>4.5.1</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<defaultGoal>clean package install</defaultGoal>
|
<defaultGoal>clean package install</defaultGoal>
|
@ -1,9 +1,9 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftAllay;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftAllay;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@ -11,9 +11,9 @@ import com.mojang.datafixers.util.Pair;
|
|||||||
|
|
||||||
import net.citizensnpcs.api.CitizensAPI;
|
import net.citizensnpcs.api.CitizensAPI;
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftArmorStand;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftArmorStand;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.Util;
|
import net.citizensnpcs.util.Util;
|
@ -1,17 +1,17 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftAxolotl;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftAxolotl;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.mojang.serialization.Dynamic;
|
import com.mojang.serialization.Dynamic;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftBat;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftBat;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftBee;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftBee;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftBlaze;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftBlaze;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCamel;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCamel;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.HorseModifiers;
|
import net.citizensnpcs.trait.HorseModifiers;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCat;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCat;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCaveSpider;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCaveSpider;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftChicken;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftChicken;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCod;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCod;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCow;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCow;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftCreeper;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftCreeper;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftDolphin;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftDolphin;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftDrowned;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftDrowned;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEnderDragon;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEnderDragon;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,18 +1,18 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEnderman;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEnderman;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEndermite;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEndermite;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,4 +1,4 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.invoke.MethodHandle;
|
import java.lang.invoke.MethodHandle;
|
||||||
@ -8,8 +8,8 @@ import java.util.Map;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPlayer;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.metadata.MetadataValue;
|
import org.bukkit.metadata.MetadataValue;
|
||||||
@ -24,20 +24,19 @@ import com.mojang.datafixers.util.Pair;
|
|||||||
|
|
||||||
import net.citizensnpcs.Settings.Setting;
|
import net.citizensnpcs.Settings.Setting;
|
||||||
import net.citizensnpcs.api.CitizensAPI;
|
import net.citizensnpcs.api.CitizensAPI;
|
||||||
|
|
||||||
import net.citizensnpcs.api.event.NPCKnockbackEvent;
|
import net.citizensnpcs.api.event.NPCKnockbackEvent;
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.api.npc.NPC.NPCUpdate;
|
import net.citizensnpcs.api.npc.NPC.NPCUpdate;
|
||||||
import net.citizensnpcs.api.trait.trait.Inventory;
|
import net.citizensnpcs.api.trait.trait.Inventory;
|
||||||
import net.citizensnpcs.api.util.SpigotUtil;
|
import net.citizensnpcs.api.util.SpigotUtil;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.network.EmptyNetHandler;
|
import net.citizensnpcs.nms.v1_19_R3.network.EmptyNetHandler;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.network.EmptyNetworkManager;
|
import net.citizensnpcs.nms.v1_19_R3.network.EmptyNetworkManager;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.EmptyAdvancementDataPlayer;
|
import net.citizensnpcs.nms.v1_19_R3.util.EmptyAdvancementDataPlayer;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.EmptyServerStatsCounter;
|
import net.citizensnpcs.nms.v1_19_R3.util.EmptyServerStatsCounter;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerControllerJump;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerControllerJump;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerNavigation;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerNavigation;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.npc.skin.SkinPacketTracker;
|
import net.citizensnpcs.npc.skin.SkinPacketTracker;
|
||||||
@ -108,7 +107,7 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCutCorner(BlockPathTypes pathtype) {
|
public boolean canCutCorner(BlockPathTypes pathtype) {
|
||||||
return (pathtype != BlockPathTypes.DANGER_FIRE && pathtype != BlockPathTypes.DANGER_CACTUS
|
return (pathtype != BlockPathTypes.DANGER_FIRE && pathtype != BlockPathTypes.DANGER_POWDER_SNOW
|
||||||
&& pathtype != BlockPathTypes.DANGER_OTHER && pathtype != BlockPathTypes.WALKABLE_DOOR);
|
&& pathtype != BlockPathTypes.DANGER_OTHER && pathtype != BlockPathTypes.WALKABLE_DOOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,8 +143,6 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
|
|||||||
}, 15); // give enough time for death and smoke animation
|
}, 15); // give enough time for death and smoke animation
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doTick() {
|
public void doTick() {
|
||||||
if (npc == null) {
|
if (npc == null) {
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEvoker;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEvoker;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftFox;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftFox;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftFrog;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftFrog;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftGhast;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftGhast;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftGiant;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftGiant;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftGlowSquid;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftGlowSquid;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftGoat;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftGoat;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftGuardian;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftGuardian;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftElderGuardian;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftElderGuardian;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftHoglin;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftHoglin;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftHorse;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftHorse;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.Controllable;
|
import net.citizensnpcs.trait.Controllable;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftDonkey;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftDonkey;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.Controllable;
|
import net.citizensnpcs.trait.Controllable;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftMule;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftMule;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.Controllable;
|
import net.citizensnpcs.trait.Controllable;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSkeletonHorse;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSkeletonHorse;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.Controllable;
|
import net.citizensnpcs.trait.Controllable;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftZombieHorse;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftZombieHorse;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.Controllable;
|
import net.citizensnpcs.trait.Controllable;
|
@ -1,10 +1,10 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftWorld;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftIllusioner;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftIllusioner;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftIronGolem;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftIronGolem;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftLlama;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftLlama;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.HorseModifiers;
|
import net.citizensnpcs.trait.HorseModifiers;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftMagmaCube;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftMagmaCube;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,4 +1,4 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -6,12 +6,12 @@ import java.util.WeakHashMap;
|
|||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftWorld;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
|
|
||||||
import net.citizensnpcs.Settings.Setting;
|
import net.citizensnpcs.Settings.Setting;
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.AbstractEntityController;
|
import net.citizensnpcs.npc.AbstractEntityController;
|
||||||
import net.citizensnpcs.trait.ScoreboardTrait;
|
import net.citizensnpcs.trait.ScoreboardTrait;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftMushroomCow;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftMushroomCow;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftOcelot;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftOcelot;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPanda;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPanda;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftParrot;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftParrot;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPhantom;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPhantom;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPig;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPig;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPigZombie;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPigZombie;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPiglinBrute;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPiglinBrute;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPiglin;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPiglin;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPillager;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPillager;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPolarBear;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPolarBear;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftPufferFish;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPufferFish;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
import net.citizensnpcs.trait.versioned.PufferFishTrait;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftRabbit;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftRabbit;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftRavager;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftRavager;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSalmon;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSalmon;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSheep;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSheep;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftShulker;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftShulker;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSilverfish;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSilverfish;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSkeleton;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSkeleton;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftStray;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftStray;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWitherSkeleton;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWitherSkeleton;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSlime;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSlime;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -0,0 +1,236 @@
|
|||||||
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSniffer;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
|
import net.citizensnpcs.util.NMS;
|
||||||
|
import net.citizensnpcs.util.Util;
|
||||||
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.core.PositionImpl;
|
||||||
|
import net.minecraft.nbt.CompoundTag;
|
||||||
|
import net.minecraft.network.syncher.EntityDataAccessor;
|
||||||
|
import net.minecraft.server.level.ServerLevel;
|
||||||
|
import net.minecraft.sounds.SoundEvent;
|
||||||
|
import net.minecraft.tags.TagKey;
|
||||||
|
import net.minecraft.world.InteractionHand;
|
||||||
|
import net.minecraft.world.InteractionResult;
|
||||||
|
import net.minecraft.world.damagesource.DamageSource;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.entity.EntityType;
|
||||||
|
import net.minecraft.world.entity.animal.sniffer.Sniffer;
|
||||||
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.entity.vehicle.AbstractMinecart;
|
||||||
|
import net.minecraft.world.entity.vehicle.Boat;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import net.minecraft.world.level.material.Fluid;
|
||||||
|
import net.minecraft.world.phys.AABB;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
|
||||||
|
public class SnifferController extends MobEntityController {
|
||||||
|
public SnifferController() {
|
||||||
|
super(EntitySnifferNPC.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public org.bukkit.entity.Sniffer getBukkitEntity() {
|
||||||
|
return (org.bukkit.entity.Sniffer) super.getBukkitEntity();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class EntitySnifferNPC extends Sniffer implements NPCHolder {
|
||||||
|
private final CitizensNPC npc;
|
||||||
|
|
||||||
|
public EntitySnifferNPC(EntityType<? extends Sniffer> types, Level level) {
|
||||||
|
this(types, level, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntitySnifferNPC(EntityType<? extends Sniffer> types, Level level, NPC npc) {
|
||||||
|
super(types, level);
|
||||||
|
this.npc = (CitizensNPC) npc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean canRide(Entity entity) {
|
||||||
|
if (npc != null && (entity instanceof Boat || entity instanceof AbstractMinecart)) {
|
||||||
|
return !npc.isProtected();
|
||||||
|
}
|
||||||
|
return super.canRide(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean causeFallDamage(float f, float f1, DamageSource damagesource) {
|
||||||
|
if (npc == null || !npc.isFlyable()) {
|
||||||
|
return super.causeFallDamage(f, f1, damagesource);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkDespawn() {
|
||||||
|
if (npc == null) {
|
||||||
|
super.checkDespawn();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void checkFallDamage(double d0, boolean flag, BlockState iblockdata, BlockPos blockposition) {
|
||||||
|
if (npc == null || !npc.isFlyable()) {
|
||||||
|
super.checkFallDamage(d0, flag, iblockdata, blockposition);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void customServerAiStep() {
|
||||||
|
super.customServerAiStep();
|
||||||
|
if (npc != null) {
|
||||||
|
NMSImpl.updateMinecraftAIState(npc, this);
|
||||||
|
npc.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SoundEvent getAmbientSound() {
|
||||||
|
return NMSImpl.getSoundEffect(npc, super.getAmbientSound(), NPC.Metadata.AMBIENT_SOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CraftEntity getBukkitEntity() {
|
||||||
|
if (npc != null && !(super.getBukkitEntity() instanceof NPCHolder)) {
|
||||||
|
NMSImpl.setBukkitEntity(this, new SnifferNPC(this));
|
||||||
|
}
|
||||||
|
return super.getBukkitEntity();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SoundEvent getDeathSound() {
|
||||||
|
return NMSImpl.getSoundEffect(npc, super.getDeathSound(), NPC.Metadata.DEATH_SOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SoundEvent getHurtSound(DamageSource damagesource) {
|
||||||
|
return NMSImpl.getSoundEffect(npc, super.getHurtSound(damagesource), NPC.Metadata.HURT_SOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxFallDistance() {
|
||||||
|
return NMS.getFallDistance(npc, super.getMaxFallDistance());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NPC getNPC() {
|
||||||
|
return npc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isLeashed() {
|
||||||
|
return NMSImpl.isLeashed(npc, super::isLeashed, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPushable() {
|
||||||
|
return npc == null ? super.isPushable()
|
||||||
|
: npc.data().<Boolean> get(NPC.Metadata.COLLIDABLE, !npc.isProtected());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void knockback(double strength, double dx, double dz) {
|
||||||
|
NMS.callKnockbackEvent(npc, (float) strength, dx, dz, (evt) -> super.knockback((float) evt.getStrength(),
|
||||||
|
evt.getKnockbackVector().getX(), evt.getKnockbackVector().getZ()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected AABB makeBoundingBox() {
|
||||||
|
return NMSBoundingBox.makeBB(npc, super.makeBoundingBox());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InteractionResult mobInteract(Player entityhuman, InteractionHand enumhand) {
|
||||||
|
if (npc == null || !npc.isProtected())
|
||||||
|
return super.mobInteract(entityhuman, enumhand);
|
||||||
|
ItemStack itemstack = entityhuman.getItemInHand(enumhand);
|
||||||
|
if (itemstack.getItem() == Items.BUCKET && !entityhuman.getAbilities().instabuild && !this.isBaby()) {
|
||||||
|
return InteractionResult.FAIL;
|
||||||
|
}
|
||||||
|
return super.mobInteract(entityhuman, enumhand);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onClimbable() {
|
||||||
|
if (npc == null || !npc.isFlyable()) {
|
||||||
|
return super.onClimbable();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSyncedDataUpdated(EntityDataAccessor<?> datawatcherobject) {
|
||||||
|
if (npc == null) {
|
||||||
|
super.onSyncedDataUpdated(datawatcherobject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NMSImpl.checkAndUpdateHeight(this, datawatcherobject, super::onSyncedDataUpdated);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void push(double x, double y, double z) {
|
||||||
|
Vector vector = Util.callPushEvent(npc, x, y, z);
|
||||||
|
if (vector != null) {
|
||||||
|
super.push(vector.getX(), vector.getY(), vector.getZ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void push(Entity entity) {
|
||||||
|
// this method is called by both the entities involved - cancelling
|
||||||
|
// it will not stop the NPC from moving.
|
||||||
|
super.push(entity);
|
||||||
|
if (npc != null) {
|
||||||
|
Util.callCollisionEvent(npc, entity.getBukkitEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean save(CompoundTag save) {
|
||||||
|
return npc == null ? super.save(save) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Entity teleportTo(ServerLevel worldserver, PositionImpl location) {
|
||||||
|
if (npc == null)
|
||||||
|
return super.teleportTo(worldserver, location);
|
||||||
|
return NMSImpl.teleportAcrossWorld(this, worldserver, location);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void travel(Vec3 vec3d) {
|
||||||
|
if (npc == null || !npc.isFlyable()) {
|
||||||
|
super.travel(vec3d);
|
||||||
|
} else {
|
||||||
|
NMSImpl.flyingMoveLogic(this, vec3d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tagkey, double d0) {
|
||||||
|
return NMSImpl.fluidPush(npc, this, () -> super.updateFluidHeightAndDoFluidPushing(tagkey, d0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class SnifferNPC extends CraftSniffer implements ForwardingNPCHolder {
|
||||||
|
public SnifferNPC(EntitySnifferNPC entity) {
|
||||||
|
super((CraftServer) Bukkit.getServer(), entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSnowman;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSnowman;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSpider;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSpider;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftSquid;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftSquid;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftStrider;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftStrider;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftTadpole;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftTadpole;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftTraderLlama;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftTraderLlama;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.trait.HorseModifiers;
|
import net.citizensnpcs.trait.HorseModifiers;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftTropicalFish;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftTropicalFish;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftTurtle;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftTurtle;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.PlayerMoveControl;
|
import net.citizensnpcs.nms.v1_19_R3.util.PlayerMoveControl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftVex;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftVex;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftVillager;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftVillager;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftVindicator;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftVindicator;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWanderingTrader;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWanderingTrader;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWarden;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWarden;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWitch;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWitch;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWither;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWither;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,16 +1,16 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftWolf;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftWolf;
|
||||||
import org.bukkit.event.entity.EntityTargetEvent;
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
@ -1,15 +1,15 @@
|
|||||||
package net.citizensnpcs.nms.v1_19_R2.entity;
|
package net.citizensnpcs.nms.v1_19_R3.entity;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.CraftServer;
|
import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftEntity;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.v1_19_R2.entity.CraftZoglin;
|
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftZoglin;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import net.citizensnpcs.api.npc.NPC;
|
import net.citizensnpcs.api.npc.NPC;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.ForwardingNPCHolder;
|
import net.citizensnpcs.nms.v1_19_R3.util.ForwardingNPCHolder;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSBoundingBox;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSBoundingBox;
|
||||||
import net.citizensnpcs.nms.v1_19_R2.util.NMSImpl;
|
import net.citizensnpcs.nms.v1_19_R3.util.NMSImpl;
|
||||||
import net.citizensnpcs.npc.CitizensNPC;
|
import net.citizensnpcs.npc.CitizensNPC;
|
||||||
import net.citizensnpcs.npc.ai.NPCHolder;
|
import net.citizensnpcs.npc.ai.NPCHolder;
|
||||||
import net.citizensnpcs.util.NMS;
|
import net.citizensnpcs.util.NMS;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user