diff --git a/dist/pom.xml b/dist/pom.xml
index ebadd2ec2..3e5c251c7 100644
--- a/dist/pom.xml
+++ b/dist/pom.xml
@@ -93,7 +93,7 @@
${project.groupId}
- citizens-v1_20_R2
+ citizens-v1_20_R3
${project.version}
jar
compile
@@ -189,7 +189,7 @@
${project.groupId}
- citizens-v1_20_R2
+ citizens-v1_20_R3
${project.version}
jar
compile
@@ -208,7 +208,7 @@
${project.groupId}
- citizens-v1_20_R2
+ citizens-v1_20_R3
${project.version}
jar
compile
diff --git a/pom.xml b/pom.xml
index e50b04e52..ddd473b47 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,7 +44,7 @@
v1_16_R3
v1_18_R2
v1_19_R3
- v1_20_R2
+ v1_20_R3
dist
@@ -63,7 +63,7 @@
v1_17_R1
v1_18_R2
v1_19_R3
- v1_20_R2
+ v1_20_R3
dist
@@ -71,7 +71,7 @@
dev
main
- v1_20_R2
+ v1_20_R3
dist
diff --git a/v1_20_R2/pom.xml b/v1_20_R3/pom.xml
similarity index 97%
rename from v1_20_R2/pom.xml
rename to v1_20_R3/pom.xml
index 63eac9870..c65141b01 100644
--- a/v1_20_R2/pom.xml
+++ b/v1_20_R3/pom.xml
@@ -6,10 +6,10 @@
citizens-parent
2.0.33-SNAPSHOT
- citizens-v1_20_R2
+ citizens-v1_20_R3
UTF-8
- 1.20.2-R0.1-SNAPSHOT
+ 1.20.3-R0.1-SNAPSHOT
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AllayController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AllayController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AllayController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AllayController.java
index c7ef2e289..7063cac70 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AllayController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AllayController.java
@@ -1,9 +1,9 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftAllay;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftAllay;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
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.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ArmorStandController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ArmorStandController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ArmorStandController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ArmorStandController.java
index 930eb3d8c..f1cc7664d 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ArmorStandController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ArmorStandController.java
@@ -1,18 +1,18 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftArmorStand;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftArmorStand;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.MobAI;
-import net.citizensnpcs.nms.v1_20_R2.util.MobAI.ForwardingMobAI;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.MobAI;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.MobAI.ForwardingMobAI;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AxolotlController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AxolotlController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AxolotlController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AxolotlController.java
index 6dc090469..91987d114 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/AxolotlController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/AxolotlController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftAxolotl;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftAxolotl;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import com.mojang.serialization.Dynamic;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BatController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BatController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BatController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BatController.java
index 25c70b87a..f9dad679e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BatController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BatController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBat;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBat;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BeeController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BeeController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BeeController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BeeController.java
index a2c5668dc..0e4950924 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BeeController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BeeController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBee;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBee;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BlazeController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BlazeController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BlazeController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BlazeController.java
index 04c58daef..4f0d2d932 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/BlazeController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/BlazeController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBlaze;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBlaze;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CamelController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CamelController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CamelController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CamelController.java
index cd22f8396..3556b68fd 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CamelController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CamelController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCamel;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCamel;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CatController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CatController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CatController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CatController.java
index 9b47daa9b..0775000f4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CatController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CatController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCat;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCat;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CaveSpiderController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CaveSpiderController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CaveSpiderController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CaveSpiderController.java
index 6bfd2981e..24b1ab503 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CaveSpiderController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CaveSpiderController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCaveSpider;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCaveSpider;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ChickenController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ChickenController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ChickenController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ChickenController.java
index 2ebb2222e..7f177c113 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ChickenController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ChickenController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftChicken;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftChicken;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CodController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CodController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CodController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CodController.java
index 830b89f41..686c2ac0f 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CodController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CodController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCod;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCod;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CowController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CowController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CowController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CowController.java
index f701fc7b3..b7416abf0 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CowController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CowController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCow;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCow;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CreeperController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CreeperController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CreeperController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CreeperController.java
index 01aafd36a..d9d87c5f2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/CreeperController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/CreeperController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftCreeper;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftCreeper;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DolphinController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DolphinController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DolphinController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DolphinController.java
index fc996698b..9554c6943 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DolphinController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DolphinController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftDolphin;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftDolphin;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DrownedController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DrownedController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DrownedController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DrownedController.java
index 713acd47f..afd73f7da 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/DrownedController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/DrownedController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftDrowned;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftDrowned;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EnderDragonController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EnderDragonController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EnderDragonController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EnderDragonController.java
index 3d335ce2f..5916aad8a 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EnderDragonController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EnderDragonController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEnderDragon;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEnderDragon;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.versioned.EnderDragonTrait;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermanController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermanController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermanController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermanController.java
index c3b3d65e5..f3991a1e5 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermanController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermanController.java
@@ -1,18 +1,18 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import java.util.Optional;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEnderman;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEnderman;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermiteController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermiteController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermiteController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermiteController.java
index 2866f4050..f583d9bd1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EndermiteController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EndermiteController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEndermite;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEndermite;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EntityHumanNPC.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EntityHumanNPC.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EntityHumanNPC.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EntityHumanNPC.java
index bfcc6cb6e..2c6f2a406 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EntityHumanNPC.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EntityHumanNPC.java
@@ -1,12 +1,12 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import java.io.IOException;
import java.lang.invoke.MethodHandle;
import java.util.List;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.plugin.Plugin;
@@ -20,13 +20,13 @@ import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.npc.NPC.NPCUpdate;
import net.citizensnpcs.api.trait.trait.Inventory;
import net.citizensnpcs.api.util.SpigotUtil;
-import net.citizensnpcs.nms.v1_20_R2.network.EmptyConnection;
-import net.citizensnpcs.nms.v1_20_R2.network.EmptyPacketListener;
-import net.citizensnpcs.nms.v1_20_R2.util.EmptyAdvancementDataPlayer;
-import net.citizensnpcs.nms.v1_20_R2.util.EmptyServerStatsCounter;
-import net.citizensnpcs.nms.v1_20_R2.util.MobAI;
-import net.citizensnpcs.nms.v1_20_R2.util.MobAI.ForwardingMobAI;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.network.EmptyConnection;
+import net.citizensnpcs.nms.v1_20_R3.network.EmptyPacketListener;
+import net.citizensnpcs.nms.v1_20_R3.util.EmptyAdvancementDataPlayer;
+import net.citizensnpcs.nms.v1_20_R3.util.EmptyServerStatsCounter;
+import net.citizensnpcs.nms.v1_20_R3.util.MobAI;
+import net.citizensnpcs.nms.v1_20_R3.util.MobAI.ForwardingMobAI;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.npc.skin.SkinPacketTracker;
@@ -38,7 +38,7 @@ import net.citizensnpcs.util.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
-import net.minecraft.network.chat.contents.LiteralContents;
+import net.minecraft.network.chat.contents.PlainTextContents.LiteralContents;
import net.minecraft.network.protocol.PacketFlow;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ClientInformation;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EvokerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EvokerController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EvokerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EvokerController.java
index 9ee0dcb37..8d6f93a38 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/EvokerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/EvokerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEvoker;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEvoker;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FoxController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FoxController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FoxController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FoxController.java
index 8c8e4b2fb..3fc329852 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FoxController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FoxController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftFox;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftFox;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FrogController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FrogController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FrogController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FrogController.java
index 1727cc73d..4253d6bfa 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/FrogController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/FrogController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftFrog;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftFrog;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GhastController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GhastController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GhastController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GhastController.java
index fd1d5e4a7..a337b3956 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GhastController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GhastController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGhast;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGhast;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GiantController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GiantController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GiantController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GiantController.java
index 438fccc17..3c7c7881e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GiantController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GiantController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGiant;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGiant;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GlowSquidController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GlowSquidController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GlowSquidController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GlowSquidController.java
index 59a1c9ac8..a2321eff3 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GlowSquidController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GlowSquidController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGlowSquid;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGlowSquid;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GoatController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GoatController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GoatController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GoatController.java
index 1d417754b..a1a988423 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GoatController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GoatController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGoat;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGoat;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianController.java
index 49c07a6e4..b86067271 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGuardian;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGuardian;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianElderController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianElderController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianElderController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianElderController.java
index 6e80136a3..09673a530 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/GuardianElderController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/GuardianElderController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftElderGuardian;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftElderGuardian;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HoglinController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HoglinController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HoglinController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HoglinController.java
index e1154b3f0..9114b315b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HoglinController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HoglinController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftHoglin;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftHoglin;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseController.java
index 9464a0217..8980f8932 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftHorse;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftHorse;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseDonkeyController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseDonkeyController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseDonkeyController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseDonkeyController.java
index 12f5e0917..e6a475ebf 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseDonkeyController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseDonkeyController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftDonkey;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftDonkey;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseMuleController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseMuleController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseMuleController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseMuleController.java
index 8be45c3e7..e89e17cf1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseMuleController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseMuleController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMule;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMule;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseSkeletonController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseSkeletonController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseSkeletonController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseSkeletonController.java
index a6778e686..691e2f726 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseSkeletonController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseSkeletonController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSkeletonHorse;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSkeletonHorse;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseZombieController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseZombieController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseZombieController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseZombieController.java
index e8e1a03d7..c7322291f 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HorseZombieController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HorseZombieController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftZombieHorse;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftZombieHorse;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HumanController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HumanController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HumanController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HumanController.java
index a7c6da9f1..45cd30b8a 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/HumanController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/HumanController.java
@@ -1,10 +1,10 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IllusionerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IllusionerController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IllusionerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IllusionerController.java
index d64c902af..6d68092f7 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IllusionerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IllusionerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftIllusioner;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftIllusioner;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IronGolemController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IronGolemController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IronGolemController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IronGolemController.java
index 363e4a2c8..137ee57fd 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/IronGolemController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/IronGolemController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftIronGolem;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftIronGolem;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/LlamaController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/LlamaController.java
similarity index 96%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/LlamaController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/LlamaController.java
index e0b83d3a7..30003a4fa 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/LlamaController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/LlamaController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftLlama;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftLlama;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MagmaCubeController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MagmaCubeController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MagmaCubeController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MagmaCubeController.java
index b47e66734..3322ecaea 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MagmaCubeController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MagmaCubeController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMagmaCube;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMagmaCube;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MobEntityController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MobEntityController.java
similarity index 93%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MobEntityController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MobEntityController.java
index ba98c5af4..03694f3e4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MobEntityController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MobEntityController.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import java.lang.reflect.Constructor;
import java.util.Map;
@@ -6,13 +6,13 @@ import java.util.WeakHashMap;
import org.bukkit.Location;
import org.bukkit.block.BlockFace;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.entity.Entity;
import net.citizensnpcs.Settings.Setting;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
-import net.citizensnpcs.nms.v1_20_R2.util.PitchableLookControl;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.PitchableLookControl;
import net.citizensnpcs.npc.AbstractEntityController;
import net.citizensnpcs.trait.ScoreboardTrait;
import net.minecraft.world.entity.EntityType;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MushroomCowController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MushroomCowController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MushroomCowController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MushroomCowController.java
index c8ea307e5..df733fdaa 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/MushroomCowController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/MushroomCowController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMushroomCow;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMushroomCow;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/OcelotController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/OcelotController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/OcelotController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/OcelotController.java
index 86b9dbf53..15b3d1ace 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/OcelotController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/OcelotController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftOcelot;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftOcelot;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PandaController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PandaController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PandaController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PandaController.java
index eb00bc947..6d2c1b5c5 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PandaController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PandaController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPanda;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPanda;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ParrotController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ParrotController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ParrotController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ParrotController.java
index a59284f8b..fa5bb2a43 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ParrotController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ParrotController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftParrot;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftParrot;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PhantomController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PhantomController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PhantomController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PhantomController.java
index 423146a0c..b3881c60e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PhantomController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PhantomController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPhantom;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPhantom;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigController.java
index 9d59d4276..eb868efed 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPig;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPig;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigZombieController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigZombieController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigZombieController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigZombieController.java
index f611883b3..1e42ee20e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PigZombieController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PigZombieController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPigZombie;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPigZombie;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinBruteController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinBruteController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinBruteController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinBruteController.java
index a33d45e69..71e235fb4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinBruteController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinBruteController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPiglinBrute;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPiglinBrute;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinController.java
index 6cbcfd023..d0f3b24f2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PiglinController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PiglinController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPiglin;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPiglin;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PillagerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PillagerController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PillagerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PillagerController.java
index 77536f521..3eca6fd85 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PillagerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PillagerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPillager;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPillager;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PolarBearController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PolarBearController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PolarBearController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PolarBearController.java
index 99de39e52..8d4b18982 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PolarBearController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PolarBearController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPolarBear;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPolarBear;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PufferFishController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PufferFishController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PufferFishController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PufferFishController.java
index c33e48bb6..56ac6a939 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/PufferFishController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/PufferFishController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPufferFish;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPufferFish;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.versioned.PufferFishTrait;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RabbitController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RabbitController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RabbitController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RabbitController.java
index 9eecbc356..d3116eeaf 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RabbitController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RabbitController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftRabbit;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftRabbit;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RavagerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RavagerController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RavagerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RavagerController.java
index 03ef06621..50db880c2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/RavagerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/RavagerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftRavager;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftRavager;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SalmonController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SalmonController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SalmonController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SalmonController.java
index 5639e1435..e5bfcfb09 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SalmonController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SalmonController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSalmon;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSalmon;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SheepController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SheepController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SheepController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SheepController.java
index c410c7666..c38235dae 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SheepController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SheepController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSheep;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSheep;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ShulkerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ShulkerController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ShulkerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ShulkerController.java
index ab5e96e38..1cc15c0bb 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ShulkerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ShulkerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftShulker;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftShulker;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SilverfishController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SilverfishController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SilverfishController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SilverfishController.java
index 04084383e..e1af12ba4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SilverfishController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SilverfishController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSilverfish;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSilverfish;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonController.java
index b8a91683f..6bc5af828 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSkeleton;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSkeleton;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonStrayController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonStrayController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonStrayController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonStrayController.java
index 0922f032f..5cc2caaa0 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonStrayController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonStrayController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftStray;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftStray;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonWitherController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonWitherController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonWitherController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonWitherController.java
index e96afa1f5..314bd8337 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SkeletonWitherController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SkeletonWitherController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWitherSkeleton;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWitherSkeleton;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SlimeController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SlimeController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SlimeController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SlimeController.java
index db8881c14..a80af4372 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SlimeController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SlimeController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSlime;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSlime;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnifferController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnifferController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnifferController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnifferController.java
index aa2f5a70e..0039d4df6 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnifferController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnifferController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSniffer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSniffer;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnowmanController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnowmanController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnowmanController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnowmanController.java
index 0a5afe94e..1d4df69d2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SnowmanController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SnowmanController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSnowman;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSnowman;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SpiderController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SpiderController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SpiderController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SpiderController.java
index 332eb1373..716521ca1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SpiderController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SpiderController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSpider;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSpider;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SquidController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SquidController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SquidController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SquidController.java
index 50e1c845f..4121207e9 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/SquidController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/SquidController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSquid;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSquid;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/StriderController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/StriderController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/StriderController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/StriderController.java
index cd776d39e..b9353b7c1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/StriderController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/StriderController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftStrider;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftStrider;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TadpoleController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TadpoleController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TadpoleController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TadpoleController.java
index c264963d9..54b718f29 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TadpoleController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TadpoleController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTadpole;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTadpole;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TraderLlamaController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TraderLlamaController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TraderLlamaController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TraderLlamaController.java
index c9fc3d327..c625e0ec0 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TraderLlamaController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TraderLlamaController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTraderLlama;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTraderLlama;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.HorseModifiers;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TropicalFishController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TropicalFishController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TropicalFishController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TropicalFishController.java
index d4ea0e9f6..6fa26d85b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TropicalFishController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TropicalFishController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTropicalFish;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTropicalFish;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TurtleController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TurtleController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TurtleController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TurtleController.java
index 7e1bf2c93..5544df959 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/TurtleController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/TurtleController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTurtle;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTurtle;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.EntityMoveControl;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.EntityMoveControl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VexController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VexController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VexController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VexController.java
index 3a56b602d..7bdc9e992 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VexController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VexController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftVex;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftVex;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VillagerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VillagerController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VillagerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VillagerController.java
index f72869dd8..66eabb535 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VillagerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VillagerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftVillager;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftVillager;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VindicatorController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VindicatorController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VindicatorController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VindicatorController.java
index dfc4c6aa3..20cb0f58b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/VindicatorController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/VindicatorController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftVindicator;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftVindicator;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WanderingTraderController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WanderingTraderController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WanderingTraderController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WanderingTraderController.java
index 64a275fd2..feef96e70 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WanderingTraderController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WanderingTraderController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWanderingTrader;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWanderingTrader;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WardenController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WardenController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WardenController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WardenController.java
index 815a4747f..fcb01b1ab 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WardenController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WardenController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWarden;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWarden;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitchController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitchController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitchController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitchController.java
index 6cd459873..693db8f16 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitchController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitchController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWitch;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWitch;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitherController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitherController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitherController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitherController.java
index f61826fc0..0d1eaaa40 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WitherController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WitherController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWither;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWither;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WolfController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WolfController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WolfController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WolfController.java
index 59020304d..f4f52d1f7 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/WolfController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/WolfController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWolf;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWolf;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZoglinController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZoglinController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZoglinController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZoglinController.java
index c2af35171..106dbdd66 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZoglinController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZoglinController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftZoglin;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftZoglin;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieController.java
index 376446056..6f3bb9a34 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftZombie;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftZombie;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieHuskController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieHuskController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieHuskController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieHuskController.java
index aabd03e9c..593ba0f12 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieHuskController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieHuskController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftHusk;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftHusk;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieVillagerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieVillagerController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieVillagerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieVillagerController.java
index 9726402c3..f8e66b276 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/ZombieVillagerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/ZombieVillagerController.java
@@ -1,15 +1,15 @@
-package net.citizensnpcs.nms.v1_20_R2.entity;
+package net.citizensnpcs.nms.v1_20_R3.entity;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftVillagerZombie;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftVillagerZombie;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/AreaEffectCloudController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/AreaEffectCloudController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/AreaEffectCloudController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/AreaEffectCloudController.java
index a5e896327..6a793a009 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/AreaEffectCloudController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/AreaEffectCloudController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftAreaEffectCloud;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftAreaEffectCloud;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BlockDisplayController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BlockDisplayController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BlockDisplayController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BlockDisplayController.java
index f271d6d11..5def8945b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BlockDisplayController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BlockDisplayController.java
@@ -1,18 +1,18 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBlockDisplay;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBlockDisplay;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BoatController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BoatController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BoatController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BoatController.java
index b60e261be..c7f81c2bc 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/BoatController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/BoatController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftBoat;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftBoat;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ChestBoatController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ChestBoatController.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ChestBoatController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ChestBoatController.java
index 1fe2c735c..f89503731 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ChestBoatController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ChestBoatController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftChestBoat;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftChestBoat;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/DragonFireballController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/DragonFireballController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/DragonFireballController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/DragonFireballController.java
index bd4eba6e4..e2b6255ae 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/DragonFireballController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/DragonFireballController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftDragonFireball;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftDragonFireball;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EggController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EggController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EggController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EggController.java
index 5fab87da0..2f0c82a59 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EggController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EggController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEgg;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEgg;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.AbstractEntityController;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderCrystalController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderCrystalController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderCrystalController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderCrystalController.java
index 732a430c9..e4f424dfc 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderCrystalController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderCrystalController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEnderCrystal;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEnderCrystal;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderPearlController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderPearlController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderPearlController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderPearlController.java
index 7d4bf385f..60f512e06 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderPearlController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderPearlController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEnderPearl;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEnderPearl;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.entity.EnderPearl;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderSignalController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderSignalController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderSignalController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderSignalController.java
index c46119e0d..6fe68bed1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EnderSignalController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EnderSignalController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEnderSignal;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEnderSignal;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.entity.EnderSignal;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EvokerFangsController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EvokerFangsController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EvokerFangsController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EvokerFangsController.java
index 490561a2e..65db24f50 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/EvokerFangsController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/EvokerFangsController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEvokerFangs;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEvokerFangs;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ExperienceOrbController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ExperienceOrbController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ExperienceOrbController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ExperienceOrbController.java
index e24a26b84..03997983c 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ExperienceOrbController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ExperienceOrbController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftExperienceOrb;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftExperienceOrb;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FallingBlockController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FallingBlockController.java
similarity index 92%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FallingBlockController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FallingBlockController.java
index 4384d36c1..caafa7600 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FallingBlockController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FallingBlockController.java
@@ -1,18 +1,18 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftFallingBlock;
-import org.bukkit.craftbukkit.v1_20_R2.util.CraftMagicNumbers;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftFallingBlock;
+import org.bukkit.craftbukkit.v1_20_R3.util.CraftMagicNumbers;
import org.bukkit.entity.FallingBlock;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.AbstractEntityController;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FireworkController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FireworkController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FireworkController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FireworkController.java
index 61326b671..3809cbb9e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FireworkController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FireworkController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftFirework;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftFirework;
import org.bukkit.entity.Firework;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FishingHookController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FishingHookController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FishingHookController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FishingHookController.java
index 1118d9b68..03f07d092 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/FishingHookController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/FishingHookController.java
@@ -1,23 +1,23 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftFishHook;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftFishHook;
import org.bukkit.entity.FishHook;
import org.bukkit.util.Vector;
import com.mojang.authlib.GameProfile;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/GlowItemFrameController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/GlowItemFrameController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/GlowItemFrameController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/GlowItemFrameController.java
index 2354f7fc7..bcaf78c0c 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/GlowItemFrameController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/GlowItemFrameController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftGlowItemFrame;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftGlowItemFrame;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ItemFrameController.EntityItemFrameNPC;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ItemFrameController.EntityItemFrameNPC;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/InteractionController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/InteractionController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/InteractionController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/InteractionController.java
index 0f5c6ff77..d202afd40 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/InteractionController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/InteractionController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftInteraction;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftInteraction;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemController.java
index 6975021a2..4b2b422e2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemController.java
@@ -1,18 +1,18 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftItem;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftItem;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
import org.bukkit.entity.Item;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.AbstractEntityController;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemDisplayController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemDisplayController.java
similarity index 89%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemDisplayController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemDisplayController.java
index ee0281f94..3609a0c63 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemDisplayController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemDisplayController.java
@@ -1,19 +1,19 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftItemDisplay;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftItemDisplay;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemFrameController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemFrameController.java
similarity index 92%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemFrameController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemFrameController.java
index 447d5051b..e7906f82b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ItemFrameController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ItemFrameController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftItemFrame;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftItemFrame;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LargeFireballController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LargeFireballController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LargeFireballController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LargeFireballController.java
index 02afab167..9a3668536 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LargeFireballController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LargeFireballController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftLargeFireball;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftLargeFireball;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LeashController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LeashController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LeashController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LeashController.java
index 01f3d38c5..30223e48c 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LeashController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LeashController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftLeash;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftLeash;
import org.bukkit.entity.LeashHitch;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LlamaSpitController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LlamaSpitController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LlamaSpitController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LlamaSpitController.java
index 2966ff8cc..3b5113a95 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/LlamaSpitController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/LlamaSpitController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftLlamaSpit;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftLlamaSpit;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.AbstractEntityController;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MarkerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MarkerController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MarkerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MarkerController.java
index 85a3af3e2..24da7aec1 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MarkerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MarkerController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMarker;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMarker;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartChestController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartChestController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartChestController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartChestController.java
index d6d4aa757..0477973ca 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartChestController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartChestController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMinecartChest;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMinecartChest;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartCommandController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartCommandController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartCommandController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartCommandController.java
index 2f6ff03a0..1fdd4460e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartCommandController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartCommandController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMinecartCommand;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMinecartCommand;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartFurnaceController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartFurnaceController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartFurnaceController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartFurnaceController.java
index e826e41c6..c1dce27a7 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartFurnaceController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartFurnaceController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMinecartFurnace;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMinecartFurnace;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartHopperController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartHopperController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartHopperController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartHopperController.java
index 9ea6fcf94..7af13c510 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartHopperController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartHopperController.java
@@ -1,12 +1,12 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartRideableController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartRideableController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartRideableController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartRideableController.java
index 669abee7e..b180d6616 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartRideableController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartRideableController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftMinecartRideable;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftMinecartRideable;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartSpawnerController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartSpawnerController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartSpawnerController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartSpawnerController.java
index 110bf0f0b..1b5a01e77 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartSpawnerController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartSpawnerController.java
@@ -1,12 +1,12 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartTNTController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartTNTController.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartTNTController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartTNTController.java
index c3a0ba5d6..d0f93f3ec 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/MinecartTNTController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/MinecartTNTController.java
@@ -1,12 +1,12 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/PaintingController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/PaintingController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/PaintingController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/PaintingController.java
index b91dadb10..1d6056724 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/PaintingController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/PaintingController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPainting;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPainting;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ShulkerBulletController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ShulkerBulletController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ShulkerBulletController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ShulkerBulletController.java
index ac1277909..ac9d08a88 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ShulkerBulletController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ShulkerBulletController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftShulkerBullet;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftShulkerBullet;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SmallFireballController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SmallFireballController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SmallFireballController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SmallFireballController.java
index e52a9b5bd..1ee598598 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SmallFireballController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SmallFireballController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSmallFireball;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSmallFireball;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SnowballController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SnowballController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SnowballController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SnowballController.java
index e9b3b9074..98441ced5 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SnowballController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SnowballController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftSnowball;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftSnowball;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SpectralArrowController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SpectralArrowController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SpectralArrowController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SpectralArrowController.java
index 8ae96aee2..4f33ace4d 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/SpectralArrowController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/SpectralArrowController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftArrow;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftArrow;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
import org.bukkit.entity.Arrow;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TNTPrimedController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TNTPrimedController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TNTPrimedController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TNTPrimedController.java
index cb65179d9..9818ee4f5 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TNTPrimedController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TNTPrimedController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTNTPrimed;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTNTPrimed;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TextDisplayController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TextDisplayController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TextDisplayController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TextDisplayController.java
index 8294c3cc4..e74aecea0 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TextDisplayController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TextDisplayController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTextDisplay;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTextDisplay;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownExpBottleController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownExpBottleController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownExpBottleController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownExpBottleController.java
index b495316c3..cc348baa5 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownExpBottleController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownExpBottleController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftThrownExpBottle;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftThrownExpBottle;
import org.bukkit.entity.ThrownExpBottle;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownPotionController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownPotionController.java
similarity index 91%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownPotionController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownPotionController.java
index b158b2925..c7c46dd3c 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownPotionController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownPotionController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftThrownPotion;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftThrownPotion;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownTridentController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownTridentController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownTridentController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownTridentController.java
index 6e6490188..af5f0eaa4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/ThrownTridentController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/ThrownTridentController.java
@@ -1,17 +1,17 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTrident;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTrident;
import org.bukkit.entity.Trident;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TippedArrowController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TippedArrowController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TippedArrowController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TippedArrowController.java
index bd7b1584c..0c99c0009 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/TippedArrowController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/TippedArrowController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftTippedArrow;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftTippedArrow;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/WitherSkullController.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/WitherSkullController.java
similarity index 90%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/WitherSkullController.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/WitherSkullController.java
index 4a66739cf..3de827736 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/entity/nonliving/WitherSkullController.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/entity/nonliving/WitherSkullController.java
@@ -1,16 +1,16 @@
-package net.citizensnpcs.nms.v1_20_R2.entity.nonliving;
+package net.citizensnpcs.nms.v1_20_R3.entity.nonliving;
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWitherSkull;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWitherSkull;
import org.bukkit.util.Vector;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.MobEntityController;
-import net.citizensnpcs.nms.v1_20_R2.util.ForwardingNPCHolder;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSBoundingBox;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.entity.MobEntityController;
+import net.citizensnpcs.nms.v1_20_R3.util.ForwardingNPCHolder;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSBoundingBox;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyConnection.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyConnection.java
similarity index 93%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyConnection.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyConnection.java
index 78bb29791..6bd650ba4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyConnection.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyConnection.java
@@ -1,9 +1,9 @@
-package net.citizensnpcs.nms.v1_20_R2.network;
+package net.citizensnpcs.nms.v1_20_R3.network;
import java.io.IOException;
import java.net.SocketAddress;
-import net.citizensnpcs.nms.v1_20_R2.util.NMSImpl;
+import net.citizensnpcs.nms.v1_20_R3.util.NMSImpl;
import net.citizensnpcs.util.EmptyChannel;
import net.minecraft.network.Connection;
import net.minecraft.network.PacketListener;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyPacketListener.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyPacketListener.java
similarity index 93%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyPacketListener.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyPacketListener.java
index 9ad3bcb3d..2ef4f99ff 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/network/EmptyPacketListener.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/network/EmptyPacketListener.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.network;
+package net.citizensnpcs.nms.v1_20_R3.network;
import net.minecraft.network.Connection;
import net.minecraft.network.protocol.Packet;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensBlockBreaker.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensBlockBreaker.java
similarity index 97%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensBlockBreaker.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensBlockBreaker.java
index 1c514c058..b2b979c55 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensBlockBreaker.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensBlockBreaker.java
@@ -1,6 +1,6 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
import net.citizensnpcs.util.AbstractBlockBreaker;
import net.minecraft.core.BlockPos;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensEntityTracker.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensEntityTracker.java
similarity index 98%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensEntityTracker.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensEntityTracker.java
index f49ab2e76..18d301a27 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CitizensEntityTracker.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CitizensEntityTracker.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.lang.invoke.MethodHandle;
import java.util.Collection;
@@ -13,7 +13,7 @@ import net.citizensnpcs.api.event.NPCLinkToPlayerEvent;
import net.citizensnpcs.api.event.NPCSeenByPlayerEvent;
import net.citizensnpcs.api.event.NPCUnlinkFromPlayerEvent;
import net.citizensnpcs.api.npc.NPC;
-import net.citizensnpcs.nms.v1_20_R2.entity.EntityHumanNPC;
+import net.citizensnpcs.nms.v1_20_R3.entity.EntityHumanNPC;
import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CustomEntityRegistry.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CustomEntityRegistry.java
similarity index 99%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CustomEntityRegistry.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CustomEntityRegistry.java
index a911387cb..5a9d5cc71 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/CustomEntityRegistry.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/CustomEntityRegistry.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.lang.invoke.MethodHandle;
import java.util.Iterator;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyAdvancementDataPlayer.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyAdvancementDataPlayer.java
similarity index 98%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyAdvancementDataPlayer.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyAdvancementDataPlayer.java
index 7d4ae98b3..27341c42e 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyAdvancementDataPlayer.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyAdvancementDataPlayer.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.io.File;
import java.lang.invoke.MethodHandle;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyServerStatsCounter.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyServerStatsCounter.java
similarity index 95%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyServerStatsCounter.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyServerStatsCounter.java
index 028ea398c..5d26c0776 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EmptyServerStatsCounter.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EmptyServerStatsCounter.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import com.mojang.datafixers.DataFixer;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityJumpControl.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityJumpControl.java
similarity index 93%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityJumpControl.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityJumpControl.java
index e7d5d04df..e99ad0fd6 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityJumpControl.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityJumpControl.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityMoveControl.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityMoveControl.java
similarity index 98%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityMoveControl.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityMoveControl.java
index cf40622a8..c776d8c93 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityMoveControl.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityMoveControl.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.Random;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNavigation.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNavigation.java
similarity index 99%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNavigation.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNavigation.java
index ed4ce3351..c9d6e9a9b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNavigation.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNavigation.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluator.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluator.java
similarity index 99%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluator.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluator.java
index a3f00005b..82804db56 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluator.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluator.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.EnumSet;
import java.util.Iterator;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluatorBase.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluatorBase.java
similarity index 98%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluatorBase.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluatorBase.java
index eaa7baf0b..75a9494cd 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityNodeEvaluatorBase.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityNodeEvaluatorBase.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityPathfinder.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityPathfinder.java
similarity index 99%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityPathfinder.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityPathfinder.java
index a8d4af137..90be601e4 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/EntityPathfinder.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/EntityPathfinder.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.Comparator;
import java.util.Iterator;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/ForwardingNPCHolder.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/ForwardingNPCHolder.java
similarity index 93%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/ForwardingNPCHolder.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/ForwardingNPCHolder.java
index 08fbd13cf..1f40f0d96 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/ForwardingNPCHolder.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/ForwardingNPCHolder.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import org.bukkit.entity.Entity;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/MobAI.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/MobAI.java
similarity index 99%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/MobAI.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/MobAI.java
index 4ade482cc..259a5b574 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/MobAI.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/MobAI.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.Map;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSBoundingBox.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSBoundingBox.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSBoundingBox.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSBoundingBox.java
index 260cbdcc2..c54ea06a2 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSBoundingBox.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSBoundingBox.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.function.Supplier;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSImpl.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSImpl.java
similarity index 92%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSImpl.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSImpl.java
index 9517a93e6..a35e94d66 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/NMSImpl.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/NMSImpl.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.lang.invoke.MethodHandle;
import java.util.ArrayList;
@@ -27,20 +27,20 @@ import org.bukkit.boss.BarColor;
import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar;
import org.bukkit.command.BlockCommandSender;
-import org.bukkit.craftbukkit.v1_20_R2.CraftServer;
-import org.bukkit.craftbukkit.v1_20_R2.CraftSound;
-import org.bukkit.craftbukkit.v1_20_R2.CraftWorld;
-import org.bukkit.craftbukkit.v1_20_R2.block.CraftBlock;
-import org.bukkit.craftbukkit.v1_20_R2.boss.CraftBossBar;
-import org.bukkit.craftbukkit.v1_20_R2.command.CraftBlockCommandSender;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftEntity;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer;
-import org.bukkit.craftbukkit.v1_20_R2.entity.CraftWither;
-import org.bukkit.craftbukkit.v1_20_R2.event.CraftEventFactory;
-import org.bukkit.craftbukkit.v1_20_R2.event.CraftPortalEvent;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftInventoryAnvil;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftInventoryView;
-import org.bukkit.craftbukkit.v1_20_R2.inventory.CraftItemStack;
+import org.bukkit.craftbukkit.v1_20_R3.CraftServer;
+import org.bukkit.craftbukkit.v1_20_R3.CraftSound;
+import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
+import org.bukkit.craftbukkit.v1_20_R3.block.CraftBlock;
+import org.bukkit.craftbukkit.v1_20_R3.boss.CraftBossBar;
+import org.bukkit.craftbukkit.v1_20_R3.command.CraftBlockCommandSender;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer;
+import org.bukkit.craftbukkit.v1_20_R3.entity.CraftWither;
+import org.bukkit.craftbukkit.v1_20_R3.event.CraftEventFactory;
+import org.bukkit.craftbukkit.v1_20_R3.event.CraftPortalEvent;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftInventoryAnvil;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftInventoryView;
+import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.FishHook;
import org.bukkit.entity.Player;
@@ -95,127 +95,127 @@ import net.citizensnpcs.api.trait.TraitInfo;
import net.citizensnpcs.api.util.BoundingBox;
import net.citizensnpcs.api.util.EntityDim;
import net.citizensnpcs.api.util.Messaging;
-import net.citizensnpcs.nms.v1_20_R2.entity.AllayController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ArmorStandController;
-import net.citizensnpcs.nms.v1_20_R2.entity.AxolotlController;
-import net.citizensnpcs.nms.v1_20_R2.entity.BatController;
-import net.citizensnpcs.nms.v1_20_R2.entity.BeeController;
-import net.citizensnpcs.nms.v1_20_R2.entity.BlazeController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CamelController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CatController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CaveSpiderController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ChickenController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CodController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CowController;
-import net.citizensnpcs.nms.v1_20_R2.entity.CreeperController;
-import net.citizensnpcs.nms.v1_20_R2.entity.DolphinController;
-import net.citizensnpcs.nms.v1_20_R2.entity.DrownedController;
-import net.citizensnpcs.nms.v1_20_R2.entity.EnderDragonController;
-import net.citizensnpcs.nms.v1_20_R2.entity.EndermanController;
-import net.citizensnpcs.nms.v1_20_R2.entity.EndermiteController;
-import net.citizensnpcs.nms.v1_20_R2.entity.EvokerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.FoxController;
-import net.citizensnpcs.nms.v1_20_R2.entity.FrogController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GhastController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GiantController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GlowSquidController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GoatController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GuardianController;
-import net.citizensnpcs.nms.v1_20_R2.entity.GuardianElderController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HoglinController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HorseController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HorseDonkeyController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HorseMuleController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HorseSkeletonController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HorseZombieController;
-import net.citizensnpcs.nms.v1_20_R2.entity.HumanController;
-import net.citizensnpcs.nms.v1_20_R2.entity.IllusionerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.IronGolemController;
-import net.citizensnpcs.nms.v1_20_R2.entity.LlamaController;
-import net.citizensnpcs.nms.v1_20_R2.entity.MagmaCubeController;
-import net.citizensnpcs.nms.v1_20_R2.entity.MushroomCowController;
-import net.citizensnpcs.nms.v1_20_R2.entity.OcelotController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PandaController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ParrotController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PhantomController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PigController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PigZombieController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PiglinBruteController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PiglinController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PillagerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PolarBearController;
-import net.citizensnpcs.nms.v1_20_R2.entity.PufferFishController;
-import net.citizensnpcs.nms.v1_20_R2.entity.RabbitController;
-import net.citizensnpcs.nms.v1_20_R2.entity.RavagerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SalmonController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SheepController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ShulkerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SilverfishController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SkeletonController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SkeletonStrayController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SkeletonWitherController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SlimeController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SnifferController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SnowmanController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SpiderController;
-import net.citizensnpcs.nms.v1_20_R2.entity.SquidController;
-import net.citizensnpcs.nms.v1_20_R2.entity.StriderController;
-import net.citizensnpcs.nms.v1_20_R2.entity.TadpoleController;
-import net.citizensnpcs.nms.v1_20_R2.entity.TraderLlamaController;
-import net.citizensnpcs.nms.v1_20_R2.entity.TropicalFishController;
-import net.citizensnpcs.nms.v1_20_R2.entity.TurtleController;
-import net.citizensnpcs.nms.v1_20_R2.entity.VexController;
-import net.citizensnpcs.nms.v1_20_R2.entity.VillagerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.VindicatorController;
-import net.citizensnpcs.nms.v1_20_R2.entity.WanderingTraderController;
-import net.citizensnpcs.nms.v1_20_R2.entity.WardenController;
-import net.citizensnpcs.nms.v1_20_R2.entity.WitchController;
-import net.citizensnpcs.nms.v1_20_R2.entity.WitherController;
-import net.citizensnpcs.nms.v1_20_R2.entity.WolfController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ZoglinController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ZombieController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ZombieHuskController;
-import net.citizensnpcs.nms.v1_20_R2.entity.ZombieVillagerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.AreaEffectCloudController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.BlockDisplayController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.BoatController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ChestBoatController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.DragonFireballController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.EggController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.EnderCrystalController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.EnderPearlController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.EnderSignalController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.EvokerFangsController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.FallingBlockController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.FireworkController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.FishingHookController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.GlowItemFrameController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.InteractionController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ItemController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ItemDisplayController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ItemFrameController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.LargeFireballController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.LeashController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.LlamaSpitController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MarkerController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartChestController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartCommandController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartFurnaceController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartHopperController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartRideableController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.MinecartTNTController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.PaintingController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ShulkerBulletController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.SmallFireballController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.SnowballController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.SpectralArrowController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.TNTPrimedController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.TextDisplayController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ThrownExpBottleController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ThrownPotionController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.ThrownTridentController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.TippedArrowController;
-import net.citizensnpcs.nms.v1_20_R2.entity.nonliving.WitherSkullController;
+import net.citizensnpcs.nms.v1_20_R3.entity.AllayController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ArmorStandController;
+import net.citizensnpcs.nms.v1_20_R3.entity.AxolotlController;
+import net.citizensnpcs.nms.v1_20_R3.entity.BatController;
+import net.citizensnpcs.nms.v1_20_R3.entity.BeeController;
+import net.citizensnpcs.nms.v1_20_R3.entity.BlazeController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CamelController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CatController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CaveSpiderController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ChickenController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CodController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CowController;
+import net.citizensnpcs.nms.v1_20_R3.entity.CreeperController;
+import net.citizensnpcs.nms.v1_20_R3.entity.DolphinController;
+import net.citizensnpcs.nms.v1_20_R3.entity.DrownedController;
+import net.citizensnpcs.nms.v1_20_R3.entity.EnderDragonController;
+import net.citizensnpcs.nms.v1_20_R3.entity.EndermanController;
+import net.citizensnpcs.nms.v1_20_R3.entity.EndermiteController;
+import net.citizensnpcs.nms.v1_20_R3.entity.EvokerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.FoxController;
+import net.citizensnpcs.nms.v1_20_R3.entity.FrogController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GhastController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GiantController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GlowSquidController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GoatController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GuardianController;
+import net.citizensnpcs.nms.v1_20_R3.entity.GuardianElderController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HoglinController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HorseController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HorseDonkeyController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HorseMuleController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HorseSkeletonController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HorseZombieController;
+import net.citizensnpcs.nms.v1_20_R3.entity.HumanController;
+import net.citizensnpcs.nms.v1_20_R3.entity.IllusionerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.IronGolemController;
+import net.citizensnpcs.nms.v1_20_R3.entity.LlamaController;
+import net.citizensnpcs.nms.v1_20_R3.entity.MagmaCubeController;
+import net.citizensnpcs.nms.v1_20_R3.entity.MushroomCowController;
+import net.citizensnpcs.nms.v1_20_R3.entity.OcelotController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PandaController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ParrotController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PhantomController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PigController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PigZombieController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PiglinBruteController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PiglinController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PillagerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PolarBearController;
+import net.citizensnpcs.nms.v1_20_R3.entity.PufferFishController;
+import net.citizensnpcs.nms.v1_20_R3.entity.RabbitController;
+import net.citizensnpcs.nms.v1_20_R3.entity.RavagerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SalmonController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SheepController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ShulkerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SilverfishController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SkeletonController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SkeletonStrayController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SkeletonWitherController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SlimeController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SnifferController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SnowmanController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SpiderController;
+import net.citizensnpcs.nms.v1_20_R3.entity.SquidController;
+import net.citizensnpcs.nms.v1_20_R3.entity.StriderController;
+import net.citizensnpcs.nms.v1_20_R3.entity.TadpoleController;
+import net.citizensnpcs.nms.v1_20_R3.entity.TraderLlamaController;
+import net.citizensnpcs.nms.v1_20_R3.entity.TropicalFishController;
+import net.citizensnpcs.nms.v1_20_R3.entity.TurtleController;
+import net.citizensnpcs.nms.v1_20_R3.entity.VexController;
+import net.citizensnpcs.nms.v1_20_R3.entity.VillagerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.VindicatorController;
+import net.citizensnpcs.nms.v1_20_R3.entity.WanderingTraderController;
+import net.citizensnpcs.nms.v1_20_R3.entity.WardenController;
+import net.citizensnpcs.nms.v1_20_R3.entity.WitchController;
+import net.citizensnpcs.nms.v1_20_R3.entity.WitherController;
+import net.citizensnpcs.nms.v1_20_R3.entity.WolfController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ZoglinController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ZombieController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ZombieHuskController;
+import net.citizensnpcs.nms.v1_20_R3.entity.ZombieVillagerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.AreaEffectCloudController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.BlockDisplayController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.BoatController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ChestBoatController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.DragonFireballController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.EggController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.EnderCrystalController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.EnderPearlController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.EnderSignalController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.EvokerFangsController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.FallingBlockController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.FireworkController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.FishingHookController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.GlowItemFrameController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.InteractionController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ItemController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ItemDisplayController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ItemFrameController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.LargeFireballController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.LeashController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.LlamaSpitController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MarkerController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartChestController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartCommandController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartFurnaceController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartHopperController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartRideableController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.MinecartTNTController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.PaintingController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ShulkerBulletController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.SmallFireballController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.SnowballController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.SpectralArrowController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.TNTPrimedController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.TextDisplayController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ThrownExpBottleController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ThrownPotionController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.ThrownTridentController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.TippedArrowController;
+import net.citizensnpcs.nms.v1_20_R3.entity.nonliving.WitherSkullController;
import net.citizensnpcs.npc.EntityControllers;
import net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator;
import net.citizensnpcs.npc.ai.MCTargetStrategy.TargetNavigator;
@@ -261,7 +261,7 @@ import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.network.Connection;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
-import net.minecraft.network.chat.contents.LiteralContents;
+import net.minecraft.network.chat.contents.PlainTextContents.LiteralContents;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientboundBundlePacket;
import net.minecraft.network.protocol.game.ClientboundMoveEntityPacket;
@@ -2184,7 +2184,7 @@ public class NMSImpl implements NMSBridge {
public static TreeMap, ?> getBehaviorMap(LivingEntity entity) {
try {
- return (TreeMap, ?>) BEHAVIOR_TREE_MAP.invoke(entity.getBrain());
+ return (TreeMap, ?>) AVAILABLE_BEHAVIORS_BY_PRIORITY.invoke(entity.getBrain());
} catch (Throwable e) {
e.printStackTrace();
}
@@ -2547,9 +2547,7 @@ public class NMSImpl implements NMSBridge {
private static final MethodHandle ADVANCEMENTS_PLAYER_SETTER = NMS.getFirstFinalSetter(ServerPlayer.class,
PlayerAdvancements.class);
-
private static final MethodHandle ATTRIBUTE_PROVIDER_MAP = NMS.getFirstGetter(AttributeSupplier.class, Map.class);
-
private static final MethodHandle ATTRIBUTE_PROVIDER_MAP_SETTER = NMS.getFirstFinalSetter(AttributeSupplier.class,
Map.class);
private static final MethodHandle ATTRIBUTE_SUPPLIER = NMS.getFirstGetter(AttributeMap.class,
@@ -2558,14 +2556,14 @@ public class NMSImpl implements NMSBridge {
EntityType.SILVERFISH, EntityType.SHULKER, EntityType.ENDERMITE, EntityType.ENDER_DRAGON, EntityType.BAT,
EntityType.SLIME, EntityType.DOLPHIN, EntityType.MAGMA_CUBE, EntityType.HORSE, EntityType.GHAST,
EntityType.SHULKER, EntityType.PHANTOM);
- private static final MethodHandle BEHAVIOR_TREE_MAP = NMS.getGetter(Brain.class, "f");
+ private static final MethodHandle AVAILABLE_BEHAVIORS_BY_PRIORITY = NMS.getGetter(Brain.class, "f");
private static final MethodHandle BUKKITENTITY_FIELD_SETTER = NMS.getSetter(Entity.class, "bukkitEntity");
private static final MethodHandle CHUNKMAP_UPDATE_PLAYER_STATUS = NMS.getMethodHandle(ChunkMap.class, "a", true,
ServerPlayer.class, boolean.class);
private static final Map, net.minecraft.world.entity.EntityType>> CITIZENS_ENTITY_TYPES = Maps
.newHashMap();
- public static MethodHandle CONNECTION_DISCONNECT_LISTENER = NMS.getSetter(Connection.class, "p");
- public static MethodHandle CONNECTION_PACKET_LISTENER = NMS.getSetter(Connection.class, "q");
+ public static final MethodHandle CONNECTION_DISCONNECT_LISTENER = NMS.getSetter(Connection.class, "p");
+ public static final MethodHandle CONNECTION_PACKET_LISTENER = NMS.getSetter(Connection.class, "q");
private static final MethodHandle CRAFT_BOSSBAR_HANDLE_FIELD = NMS.getFirstSetter(CraftBossBar.class,
ServerBossEvent.class);
private static EntityDataAccessor DATA_NAME_VISIBLE = null;
@@ -2574,7 +2572,7 @@ public class NMSImpl implements NMSBridge {
public static final MethodHandle ENDERDRAGON_CHECK_WALLS = NMS.getFirstMethodHandleWithReturnType(EnderDragon.class,
true, boolean.class, AABB.class);
public static final MethodHandle ENDERDRAGON_HURT = NMS.getMethodHandle(EnderDragon.class, "c", true, List.class);
- public static final MethodHandle ENDERDRAGON_KNOCKBACK = NMS.getMethodHandle(EnderDragon.class, "b", true,
+ public static final MethodHandle ENDERDRAGON_KNOCKBACK = NMS.getMethodHandle(EnderDragon.class, "a", true,
List.class);
private static EntityDataAccessor ENDERMAN_CREEPY = null;
private static final MethodHandle ENTITY_FISH_NUM_IN_SCHOOL = NMS.getFirstSetter(AbstractSchoolingFish.class,
@@ -2632,7 +2630,7 @@ public class NMSImpl implements NMSBridge {
static {
try {
ENTITY_REGISTRY = new CustomEntityRegistry(BuiltInRegistries.ENTITY_TYPE);
- ENTITY_REGISTRY_SETTER = NMS.getFinalSetter(BuiltInRegistries.class, "h");
+ ENTITY_REGISTRY_SETTER = NMS.getFinalSetter(BuiltInRegistries.class, "g");
ENTITY_REGISTRY_SETTER.invoke(ENTITY_REGISTRY);
} catch (Throwable e) {
Messaging.logTr(Messages.ERROR_GETTING_ID_MAPPING, e.getMessage());
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PitchableLookControl.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PitchableLookControl.java
similarity index 94%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PitchableLookControl.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PitchableLookControl.java
index 5eaf8749d..f97c8484b 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PitchableLookControl.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PitchableLookControl.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.function.Supplier;
diff --git a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PlayerAnimationImpl.java b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PlayerAnimationImpl.java
similarity index 98%
rename from v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PlayerAnimationImpl.java
rename to v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PlayerAnimationImpl.java
index 963081fd6..92815b308 100644
--- a/v1_20_R2/src/main/java/net/citizensnpcs/nms/v1_20_R2/util/PlayerAnimationImpl.java
+++ b/v1_20_R3/src/main/java/net/citizensnpcs/nms/v1_20_R3/util/PlayerAnimationImpl.java
@@ -1,4 +1,4 @@
-package net.citizensnpcs.nms.v1_20_R2.util;
+package net.citizensnpcs.nms.v1_20_R3.util;
import java.util.Map;