From f41cedb5762a95c2b23f9a9120b72c64e77fa748 Mon Sep 17 00:00:00 2001
From: BSDevelopment-BOT <111607905+BSDevelopment-BOT@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:50:45 -0400
Subject: [PATCH 1/6] [Automated Task] Added the 'Version_1.20.1' module to the
parent pom file
---
pom.xml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index d32d8d9c..8d6eeb2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,6 +26,7 @@
Version_1.19.3
Version_1.19.4
Version_1.20
+ Version_1.20.1
DIST
@@ -67,13 +68,13 @@
0
5.0-BUILD-${jenkins.buildNumber}
- B115
+ B116
- 1.20
+ 1.20.1
${minecraft.version}-R0.1-SNAPSHOT
v1_20_R1
- 1.6.8-CUSTOM
+ 1.6.9-CUSTOM
From f5b4b5e9c14e137dcc85bbf534742358c4922b69 Mon Sep 17 00:00:00 2001
From: BSDevelopment-BOT <111607905+BSDevelopment-BOT@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:50:45 -0400
Subject: [PATCH 2/6] [Automated Task] Added the 'Version_1.20.1' module to the
DIST pom file
---
DIST/pom.xml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/DIST/pom.xml b/DIST/pom.xml
index b46b4d7d..4297cc2b 100644
--- a/DIST/pom.xml
+++ b/DIST/pom.xml
@@ -139,5 +139,12 @@
jar
compile
+
+ simplepets.brainsynder
+ Version_1.20.1
+ ${module.version}
+ jar
+ compile
+
\ No newline at end of file
From df89fe0bbe70c3c7379fbb299d8d5247b54918fb Mon Sep 17 00:00:00 2001
From: BSDevelopment-BOT <111607905+BSDevelopment-BOT@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:50:47 -0400
Subject: [PATCH 3/6] [Automated Task] Added the pom.xml class file to the
1.20.1 module
---
Version_1.20.1/pom.xml | 170 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 170 insertions(+)
create mode 100644 Version_1.20.1/pom.xml
diff --git a/Version_1.20.1/pom.xml b/Version_1.20.1/pom.xml
new file mode 100644
index 00000000..fe296c1d
--- /dev/null
+++ b/Version_1.20.1/pom.xml
@@ -0,0 +1,170 @@
+
+
+
+ SimplePets
+ simplepets.brainsynder
+ 1.0-SNAPSHOT
+
+ 4.0.0
+ ${module.version}
+
+ Version_${minecraft.version}
+
+
+ 1.20.1
+
+ v1_20_1
+ v1_20_1_R1
+
+
+ 17
+ 17
+ UTF-8
+
+
+ ${minecraft.version}-R0.1-SNAPSHOT
+ -${minecraft.version}
+
+
+
+ src/main/java
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.4.1
+
+ false
+ false
+ false
+ /tmp
+
+
+
+ package
+
+ shade
+
+
+
+
+ ${groupId}.nms
+ ${groupId}.versions.${current-module.version}
+
+
+ org.bukkit.craftbukkit.${spigot.nms}
+ org.bukkit.craftbukkit.${current-module.nms}
+
+
+
+
+ org.apache.commons
+ ${groupId}.internal.apache
+
+
+ anvil.brainsynder
+ ${groupId}.internal.anvil
+
+
+ com.jeff_media.updatechecker
+ ${groupId}.internal.updatechecker
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 17
+ 17
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.3.0
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.5
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${spigot.version}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${spigot.version}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${spigot.version}:csrg:maps-spigot
+ org.spigotmc:spigot:${spigot.version}:jar:remapped-obf
+
+
+
+
+
+
+
+ ${project.parent.basedir}/src/main/resources
+ true
+
+
+
+
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+ simplepets.brainsynder
+ API
+ ${module.version}
+
+
+ simplepets.brainsynder
+ MAIN
+ ${module.version}
+
+
+ anvil.brainsynder
+ anvilgui
+
+
+ com.jeff_media
+ SpigotUpdateChecker
+
+
+
+
+ simplepets.brainsynder
+ NMS_Master
+ ${module.version}
+ compile
+
+
+
\ No newline at end of file
From 586031c08bbc54270e9b4d6111f3da9f98fb1700 Mon Sep 17 00:00:00 2001
From: BSDevelopment-BOT <111607905+BSDevelopment-BOT@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:50:47 -0400
Subject: [PATCH 4/6] [Automated Task] Added the EntityBase.java class file to
the 1.20.1 module
---
.../brainsynder/nms/entity/EntityBase.java | 113 ++++++++++++++++++
1 file changed, 113 insertions(+)
create mode 100644 Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
diff --git a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
new file mode 100644
index 00000000..676394f4
--- /dev/null
+++ b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
@@ -0,0 +1,113 @@
+package simplepets.brainsynder.nms.entity;
+
+import net.minecraft.core.DefaultedRegistry;
+import net.minecraft.core.registries.BuiltInRegistries;
+import net.minecraft.network.protocol.Packet;
+import net.minecraft.network.protocol.game.ClientGamePacketListener;
+import net.minecraft.world.entity.EntityType;
+import net.minecraft.world.entity.Mob;
+import net.minecraft.world.entity.MobCategory;
+import net.minecraft.world.level.Level;
+import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftLivingEntity;
+import simplepets.brainsynder.api.pet.PetType;
+import simplepets.brainsynder.api.user.PetUser;
+import simplepets.brainsynder.nms.VersionTranslator;
+
+import java.lang.reflect.Field;
+import java.util.IdentityHashMap;
+
+public class EntityBase extends Mob {
+ protected final EntityType extends Mob> entityType;
+ protected final EntityType extends Mob> originalEntityType;
+ private PetUser user;
+ private PetType petType;
+
+ protected EntityBase(EntityType extends Mob> entitytypes, Level world) {
+ super(entitytypes, world);
+ entityType = getEntityType(entitytypes, containsFields());
+ originalEntityType = entitytypes;
+ getBukkitEntity().remove();
+ }
+
+ public EntityBase(EntityType extends Mob> entitytypes, PetType type, PetUser user) {
+ super(entitytypes, VersionTranslator.getWorldHandle(user.getPlayer().getLocation().getWorld()));
+ this.user = user;
+ this.petType = type;
+ entityType = getEntityType(entitytypes, containsFields());
+ originalEntityType = entitytypes;
+ }
+
+ // 1.20.1+ Replaces boolean rideableUnderWater()
+ @Override
+ public boolean dismountsUnderwater() {
+ return false;
+ }
+
+ public PetType getPetType() {
+ return petType;
+ }
+
+ public PetUser getUser() {
+ return user;
+ }
+
+ /**
+ * This literally fixed the shit with p2 and i'm so fucking mad
+ */
+ public CraftEntity getBukkitEntity() {
+ return new CraftLivingEntity(VersionTranslator.getEntityLevel(this).getCraftServer(), this) {
+ @Override
+ public org.bukkit.entity.EntityType getType() {
+ return petType.getEntityType();
+ }
+ };
+ }
+
+ // TODO: THIS METHOD NEEDS TO BE LOOKED AT CAUSES SOME ISSUES ON 1.19.3
+ EntityType extends Mob> getEntityType(EntityType extends Mob> originalType, boolean checkFields) {
+ try {
+ Field field = EntityType.class.getDeclaredField(VersionTranslator.ENTITY_FACTORY_FIELD);
+ field.setAccessible(true);
+ EntityType.Builder extends Mob> builder =
+ EntityType.Builder.of((EntityType.EntityFactory extends Mob>) field.get(originalType),
+ MobCategory.AMBIENT);
+ builder.sized(0.1f, 0.1f);
+ DefaultedRegistry> registry = BuiltInRegistries.ENTITY_TYPE;
+ // frozen field
+ Field frozen = null;
+ if (checkFields) {
+ frozen = registry.getClass().getSuperclass().getDeclaredField(VersionTranslator.REGISTRY_FROZEN_FIELD);
+ frozen.setAccessible(true);
+ frozen.set(registry, false);
+ }
+ // map field
+ if (checkFields) {
+ Field map = registry.getClass().getSuperclass().getDeclaredField(VersionTranslator.REGISTRY_ENTRY_MAP_FIELD);
+ map.setAccessible(true);
+ map.set(registry, new IdentityHashMap<>());
+ }
+ // screw you mojang, my power is unlimited
+ EntityType extends Mob> mob = builder.build(petType.name().toLowerCase());
+ if (checkFields && (frozen != null)) frozen.set(registry, true);
+ return mob;
+ } catch (IllegalAccessException | NoSuchFieldException e) {
+ e.printStackTrace();
+ return originalType;
+ }
+ }
+
+ private boolean containsFields() {
+ try {
+ BuiltInRegistries.ENTITY_TYPE.getClass().getSuperclass().getDeclaredField(VersionTranslator.REGISTRY_FROZEN_FIELD);
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ @Override
+ public Packet getAddEntityPacket() {
+ return VersionTranslator.getAddEntityPacket(this, originalEntityType, VersionTranslator.getPosition(this));
+ }
+}
From 187d32e15da968206509cc34fab53e5f277cfbe3 Mon Sep 17 00:00:00 2001
From: BSDevelopment-BOT <111607905+BSDevelopment-BOT@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:50:47 -0400
Subject: [PATCH 5/6] [Automated Task] Added the VersionTranslator.java class
file to the 1.20.1 module
---
.../brainsynder/nms/VersionTranslator.java | 262 ++++++++++++++++++
1 file changed, 262 insertions(+)
create mode 100644 Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
diff --git a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
new file mode 100644
index 00000000..ffdfae57
--- /dev/null
+++ b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
@@ -0,0 +1,262 @@
+package simplepets.brainsynder.nms;
+
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import lib.brainsynder.ServerVersion;
+import lib.brainsynder.nbt.JsonToNBT;
+import lib.brainsynder.nbt.StorageTagCompound;
+import lib.brainsynder.nbt.other.NBTException;
+import lib.brainsynder.storage.RandomCollection;
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.core.Vec3i;
+import net.minecraft.core.registries.BuiltInRegistries;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.nbt.TagParser;
+import net.minecraft.network.protocol.Packet;
+import net.minecraft.network.protocol.game.ClientGamePacketListener;
+import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
+import net.minecraft.network.syncher.EntityDataSerializer;
+import net.minecraft.network.syncher.EntityDataSerializers;
+import net.minecraft.network.syncher.SynchedEntityData;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.entity.Entity;
+import net.minecraft.world.entity.EntityType;
+import net.minecraft.world.entity.EquipmentSlot;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.ai.attributes.Attributes;
+import net.minecraft.world.entity.decoration.ArmorStand;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.phys.Vec3;
+import org.bukkit.Material;
+import org.bukkit.NamespacedKey;
+import org.bukkit.World;
+import org.bukkit.block.data.BlockData;
+import org.bukkit.craftbukkit.v1_20_1_R1.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_1_R1.block.data.CraftBlockData;
+import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_1_R1.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_1_R1.util.CraftNamespacedKey;
+import org.bukkit.event.entity.CreatureSpawnEvent;
+import simplepets.brainsynder.api.entity.misc.IFlyableEntity;
+import simplepets.brainsynder.nms.entity.EntityPet;
+import simplepets.brainsynder.nms.utils.FieldUtils;
+import simplepets.brainsynder.nms.utils.InvalidInputException;
+
+import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.Optional;
+
+public class VersionTranslator {
+ // net.minecraft.network.syncher.DataWatcher
+ // private static final it.unimi.dsi.fastutil.objects.Object2IntMap>
+ public static final String ENTITY_DATA_MAP = "b";
+ // net.minecraft.world.entity.EntityTypes
+ // private final net.minecraft.world.entity.EntityTypes.b
+ public static final String ENTITY_FACTORY_FIELD = "bA";
+
+ // net.minecraft.core.RegistryMaterials
+ // private boolean
+ public static final String REGISTRY_FROZEN_FIELD = "l";
+ // net.minecraft.core.RegistryMaterials
+ // @Nullable private java.util.Map>
+ public static final String REGISTRY_ENTRY_MAP_FIELD = "m";
+
+ private static Field jumpingField = null;
+
+ public static Field getJumpField() {
+ if (jumpingField != null) return jumpingField;
+
+ try {
+ /*
+ net.minecraft.world.entity.EntityLiving
+
+ protected int bg
+ public float bh
+ protected boolean bi <---- This one
+ public float bj
+ public float bk
+ public float bl
+ protected int bm
+ */
+ Field jumpingField = LivingEntity.class.getDeclaredField("bk"); // For 1.20.1
+ jumpingField.setAccessible(true);
+ return VersionTranslator.jumpingField = jumpingField;
+ } catch (Exception ex) {
+ throw new UnsupportedOperationException("Unable to find the correct jumpingField name for " + ServerVersion.getVersion().name());
+ }
+ }
+
+ public static void setAttributes(EntityPet entityPet, double walkSpeed, double flySpeed) {
+ if (walkSpeed != -1) entityPet.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(walkSpeed);
+ if ((flySpeed != -1) && (entityPet instanceof IFlyableEntity) && entityPet.getAttribute(Attributes.FLYING_SPEED) != null) {
+ entityPet.getAttribute(Attributes.FLYING_SPEED).setBaseValue(flySpeed);
+ }
+ }
+
+ public static void setItemSlot(ArmorStand stand, EquipmentSlot enumitemslot, ItemStack itemstack, boolean silent) {
+ stand.setItemSlot(enumitemslot, itemstack, silent);
+ }
+
+ public static boolean addEntity(Level level, Entity entity, CreatureSpawnEvent.SpawnReason reason) {
+ return level.addFreshEntity(entity, CreatureSpawnEvent.SpawnReason.CUSTOM);
+ }
+
+ public static T getEntityHandle(org.bukkit.entity.Entity entity) {
+ return (T) ((CraftEntity) entity).getHandle();
+ }
+
+ public static T getWorldHandle(World world) {
+ return (T) ((CraftWorld) world).getHandle();
+ }
+
+ public static BlockState getBlockState(BlockData blockData) {
+ return ((CraftBlockData) blockData).getState();
+ }
+
+ public static BlockData fromNMS(BlockState blockData) {
+ return CraftBlockData.fromData(blockData);
+ }
+
+ public static ItemStack toNMSStack(org.bukkit.inventory.ItemStack itemStack) {
+ return CraftItemStack.asNMSCopy(itemStack);
+ }
+
+ public static org.bukkit.inventory.ItemStack toBukkit(ItemStack itemStack) {
+ return CraftItemStack.asBukkitCopy(itemStack);
+ }
+
+ public static BlockPos subtract(BlockPos blockPos, Vec3i vec) {
+ return blockPos.subtract(vec);
+ }
+
+ public static BlockPos relative(BlockPos blockPos) {
+ return blockPos.relative(RandomCollection.fromCollection(Arrays.asList(
+ Direction.NORTH,
+ Direction.EAST,
+ Direction.SOUTH,
+ Direction.WEST
+ )).next());
+ }
+
+ public static void modifyGlowData(SynchedEntityData toCloneDataWatcher, SynchedEntityData newDataWatcher,
+ boolean glow) throws IllegalAccessException {
+ Int2ObjectMap> newMap =
+ (Int2ObjectMap>) FieldUtils.readDeclaredField(toCloneDataWatcher,
+ ENTITY_DATA_MAP, true);
+
+ SynchedEntityData.DataItem item = newMap.get(0);
+ byte initialBitMask = item.getValue();
+ byte bitMaskIndex = (byte) 6;
+ if (glow) {
+ item.setValue((byte) (initialBitMask | 1 << bitMaskIndex));
+ } else {
+ item.setValue((byte) (initialBitMask & ~(1 << bitMaskIndex)));
+ }
+ FieldUtils.writeDeclaredField(newDataWatcher, ENTITY_DATA_MAP, newMap, true);
+ }
+
+ public static org.bukkit.inventory.ItemStack toItemStack(StorageTagCompound compound) {
+ if (!compound.hasKey("id")) { // The ID MUST be set, otherwise it will be considered invalid and AIR
+ return new org.bukkit.inventory.ItemStack(Material.AIR);
+ } else {
+ // Item has to be AT LEAST 1 otherwise it will be AIR
+ if (!compound.hasKey("Count")) compound.setByte("Count", (byte) 1);
+
+ try {
+ CompoundTag compoundTag = TagParser.parseTag(compound.toString());
+ ItemStack nmsItem = ItemStack.of(compoundTag);
+ return CraftItemStack.asBukkitCopy(nmsItem);
+ } catch (CommandSyntaxException e) {
+ throw new InvalidInputException("Failed to parse Item NBT", e);
+ }
+ }
+ }
+
+ public static StorageTagCompound fromItemStack(org.bukkit.inventory.ItemStack item) {
+ CompoundTag compoundTag = new CompoundTag();
+ ItemStack nmsItem = CraftItemStack.asNMSCopy(item);
+ compoundTag = nmsItem.save(compoundTag);
+
+ try {
+ return JsonToNBT.getTagFromJson(compoundTag.toString());
+ } catch (NBTException exception) {
+ throw new InvalidInputException("Failed to convert item to NBT", exception);
+ }
+ }
+
+ public static float cube(float f) {
+ return f * f * f;
+ }
+
+ public static EntityType fetchEntityType(String name) {
+ // The EntityType.byString() method requires the name to start with `minecraft:` and the name of the mob to
+ // be lowercase
+ Optional> optional = EntityType.byString("minecraft:" + name.toLowerCase());
+ if (optional.isPresent()) return optional.get();
+
+ // This is a simple placeholder mob that does not have any datawatchers just in case the code fails
+ return EntityType.GIANT;
+ }
+
+ public static Packet getAddEntityPacket(LivingEntity livingEntity, EntityType> originalEntityType, BlockPos pos) {
+ Packet packet;
+ try {
+ // y'all here sum'n?
+ packet = new ClientboundAddEntityPacket(livingEntity);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return new ClientboundAddEntityPacket(livingEntity, 0, pos);
+ }
+
+ try {
+ Field type = packet.getClass().getDeclaredField(VersionTranslator.getEntityTypeVariable());
+ type.setAccessible(true);
+ type.set(packet, VersionTranslator.useInteger() ? BuiltInRegistries.ENTITY_TYPE.getId(originalEntityType) : originalEntityType);
+ return packet;
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ return new ClientboundAddEntityPacket(livingEntity, 0, pos);
+ }
+
+ // net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity
+ // private final net.minecraft.world.entity.EntityTypes>
+ public static String getEntityTypeVariable() {
+ return "e";
+ }
+
+ public static boolean useInteger() {
+ return false;
+ }
+
+
+ // ADDED DURING 1.20.1 DEVELOPMENT
+ public static final EntityDataSerializer> OPTIONAL_BLOCK_STATE = EntityDataSerializers.OPTIONAL_BLOCK_STATE;
+
+ public static void calculateEntityAnimation (LivingEntity entity, boolean var) {
+ entity.calculateEntityAnimation(var);
+ }
+
+ public static void setMapUpStep (Entity entity, float value) {
+ entity.setMaxUpStep(value);
+ }
+ public static BlockPos getPosition (Entity entity) {
+ return BlockPos.containing(new Vec3(entity.getX(), entity.getY(), entity.getZ()));
+ }
+
+ public static ResourceLocation toMinecraftResource (NamespacedKey key) {
+ return CraftNamespacedKey.toMinecraft(key);
+ }
+
+ public static NamespacedKey toBukkitNamespace (ResourceLocation resource) {
+ return CraftNamespacedKey.fromMinecraft(resource);
+ }
+
+ // ADDED DURING 1.20.1 DEVELOPMENT
+ public static Level getEntityLevel (Entity entity) {
+ return entity.level();
+ }
+}
\ No newline at end of file
From 9ea47de35a60b759d6eeb5d0bfeea3ad02f0599d Mon Sep 17 00:00:00 2001
From: brainsynder
Date: Wed, 14 Jun 2023 23:54:03 -0400
Subject: [PATCH 6/6] Fixed the updater bugs
---
Version_1.20.1/pom.xml | 2 +-
.../simplepets/brainsynder/nms/VersionTranslator.java | 10 +++++-----
.../simplepets/brainsynder/nms/entity/EntityBase.java | 4 ++--
pom.xml | 2 +-
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/Version_1.20.1/pom.xml b/Version_1.20.1/pom.xml
index fe296c1d..38a87696 100644
--- a/Version_1.20.1/pom.xml
+++ b/Version_1.20.1/pom.xml
@@ -16,7 +16,7 @@
1.20.1
v1_20_1
- v1_20_1_R1
+ v1_20_R1
17
diff --git a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
index ffdfae57..418bb5d8 100644
--- a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
+++ b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/VersionTranslator.java
@@ -34,11 +34,11 @@
import org.bukkit.NamespacedKey;
import org.bukkit.World;
import org.bukkit.block.data.BlockData;
-import org.bukkit.craftbukkit.v1_20_1_R1.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_1_R1.block.data.CraftBlockData;
-import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_1_R1.inventory.CraftItemStack;
-import org.bukkit.craftbukkit.v1_20_1_R1.util.CraftNamespacedKey;
+import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R1.block.data.CraftBlockData;
+import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R1.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_R1.util.CraftNamespacedKey;
import org.bukkit.event.entity.CreatureSpawnEvent;
import simplepets.brainsynder.api.entity.misc.IFlyableEntity;
import simplepets.brainsynder.nms.entity.EntityPet;
diff --git a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
index 676394f4..169df81d 100644
--- a/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
+++ b/Version_1.20.1/src/main/java/simplepets/brainsynder/nms/entity/EntityBase.java
@@ -8,8 +8,8 @@
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.level.Level;
-import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_1_R1.entity.CraftLivingEntity;
+import org.bukkit.craftbukkit.v1_20_R1.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R1.entity.CraftLivingEntity;
import simplepets.brainsynder.api.pet.PetType;
import simplepets.brainsynder.api.user.PetUser;
import simplepets.brainsynder.nms.VersionTranslator;
diff --git a/pom.xml b/pom.xml
index 8d6eeb2c..0e071a66 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,7 +74,7 @@
${minecraft.version}-R0.1-SNAPSHOT
v1_20_R1
- 1.6.9-CUSTOM
+ 1.6.10-CUSTOM