diff --git a/pom.xml b/pom.xml
index 7ebde91..5d05f34 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
4.0.0
eu.phiwa
DragonTravel
- 01.007.06
+ 01.007.07
@@ -135,11 +135,12 @@
+
+
+
+ org.spigotmc
+ spigot-v1_16_R1
+ v1_16_R1
+
org.spigotmc
diff --git a/src/main/java/eu/phiwa/dragontravel/nms/v1_16_R1/CustomEntityRegistry.java b/src/main/java/eu/phiwa/dragontravel/nms/v1_16_R1/CustomEntityRegistry.java
new file mode 100644
index 0000000..543abed
--- /dev/null
+++ b/src/main/java/eu/phiwa/dragontravel/nms/v1_16_R1/CustomEntityRegistry.java
@@ -0,0 +1,219 @@
+/*
+SOURCE :
+https://github.com/CitizensDev/Citizens2/blob/master/v1_16_R1/src/main/java/net/citizensnpcs/nms/v1_16_R1/util/CustomEntityRegistry.java
+
+Yes, I admit, I'm a super lazy person !
+*/
+
+package eu.phiwa.dragontravel.nms.v1_16_R1;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Random;
+import java.util.Set;
+
+import com.google.common.collect.BiMap;
+import com.google.common.collect.HashBiMap;
+import com.google.common.collect.Maps;
+
+import net.minecraft.server.v1_16_R1.*;
+
+@SuppressWarnings("rawtypes")
+public class CustomEntityRegistry extends RegistryBlocks {
+ private final BiMap entities = HashBiMap.create();
+ private final BiMap entityClasses = this.entities.inverse();
+ private final Map entityIds = Maps.newHashMap();
+ private final RegistryMaterials> wrapped;
+
+ public CustomEntityRegistry(RegistryBlocks> original) {
+ //super(original.a().getNamespace());
+ super(original.a().getNamespace(), null, null);
+ this.wrapped = original;
+ }
+
+ @Override
+ public int a(Object key) {
+ if (entityIds.containsKey(key)) {
+ return entityIds.get(key);
+ }
+
+ return wrapped.a((EntityTypes) key);
+ }
+
+ @Override
+ public Object a(Random paramRandom) {
+ return wrapped.a(paramRandom);
+ }
+
+ public EntityTypes findType(Class> search) {
+ return minecraftClassMap.inverse().get(search);
+ /*
+ for (Object type : wrapped) {
+ if (minecraftClassMap.get(type) == search) {
+ return (EntityTypes) type;
+ }
+ }
+ return null;
+ */
+ }
+
+ @Override
+ public Object fromId(int var0) {
+ return this.wrapped.fromId(var0);
+ }
+
+ @Override
+ public EntityTypes get(MinecraftKey key) {
+ if (entities.containsKey(key)) {
+ return entities.get(key);
+ }
+
+ return wrapped.get(key);
+ }
+
+ @Override
+ public MinecraftKey getKey(Object value) {
+ if (entityClasses.containsKey(value)) {
+ return entityClasses.get(value);
+ }
+
+ return wrapped.getKey((EntityTypes) value);
+ }
+
+ @Override
+ public Optional getOptional(MinecraftKey var0) {
+ if (entities.containsKey(var0)) {
+ return Optional.of(entities.get(var0));
+ }
+
+ return this.wrapped.getOptional(var0);
+ }
+
+ public RegistryMaterials> getWrapped() {
+ return wrapped;
+ }
+
+ @Override
+ public Iterator