diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java
index ff582ba..1d9e930 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java
@@ -113,9 +113,6 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
         // Frog
         registerType("frog_variant", FrogVariant.TEMPERATE);
 
-        // Ghast
-        registerType("attacking", false);
-
         // Guardian
         registerType("is_elder", false); // TODO: ensure it only works till 1.10. Note: index is wrong on wiki.vg
 
@@ -207,6 +204,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
 
     public void registerTypes(PacketFactory packetFactory) {
         ServerVersion ver = PacketEvents.getAPI().getServerManager().getVersion();
+        boolean legacyBooleans = ver.isOlderThan(ServerVersion.V_1_9);
 
         register(new EquipmentProperty(packetFactory, "helmet", EquipmentSlot.HELMET));
         register(new EquipmentProperty(packetFactory, "chestplate", EquipmentSlot.CHEST_PLATE));
@@ -228,7 +226,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
         register(new SimpleBitsetProperty("invisible", 0, 0x20));
         linkProperties("glow", "fire", "invisible");
 
-        register(new SimpleBooleanProperty("silent", 4, false, ver.isOlderThan(ServerVersion.V_1_9)));
+        register(new SimpleBooleanProperty("silent", 4, false, legacyBooleans));
 
         final int armorStandIndex;
         if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) armorStandIndex = 15;
@@ -271,6 +269,14 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
         register(new RotationProperty("left_leg_rotation", armorStandRotationIndex++, new Vector3f(-1, 0, -1)));
         register(new RotationProperty("right_leg_rotation", armorStandRotationIndex, new Vector3f(1, 0, 1)));
 
+        final int ghastAttackingIndex;
+        if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) ghastAttackingIndex = 16;
+        else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) ghastAttackingIndex = 15;
+        else if (ver.isNewerThanOrEquals(ServerVersion.V_1_14)) ghastAttackingIndex = 14;
+        else if (ver.isNewerThanOrEquals(ServerVersion.V_1_10)) ghastAttackingIndex = 12;
+        else if (ver.isNewerThanOrEquals(ServerVersion.V_1_9)) ghastAttackingIndex = 11;
+        else ghastAttackingIndex = 16;
+        register(new SimpleBooleanProperty("attacking", ghastAttackingIndex, false, legacyBooleans));
     }
 
     private void registerSerializer(PropertySerializer<?> serializer) {
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java
index bb6857d..1f0035c 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java
@@ -73,15 +73,10 @@ public interface MetadataFactory {
     // Frog
     EntityData frogVariant(int variant);
 
-    // Ghast
-    EntityData ghastAttacking(boolean attacking);
-
     // Goat
     EntityData goatHasLeftHorn(boolean hasLeftHorn);
     EntityData goatHasRightHorn(boolean hasRightHorn);
 
-    // Guardian
-
     // Hoglin
     EntityData hoglinImmuneToZombification(boolean immuneToZombification);
 
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_10MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_10MetadataFactory.java
index e6af8b5..aaabeb8 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_10MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_10MetadataFactory.java
@@ -42,11 +42,6 @@ public class V1_10MetadataFactory extends V1_9MetadataFactory {
         return newEntityData(13, EntityDataTypes.BOOLEAN, charged);
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(12, EntityDataTypes.BOOLEAN, attacking);
-    }
-
     @Override
     public EntityData villagerData(int type, int profession, int level) {
         return newEntityData(13, EntityDataTypes.INT, profession);
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_14MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_14MetadataFactory.java
index b2626b5..076fc97 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_14MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_14MetadataFactory.java
@@ -92,11 +92,6 @@ public class V1_14MetadataFactory extends V1_13MetadataFactory {
         return newEntityData(16, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0)));
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(14, EntityDataTypes.BOOLEAN, attacking);
-    }
-
     @Override
     public EntityData villagerData(int type, int profession, int level) {
         return newEntityData(16, EntityDataTypes.VILLAGER_DATA, new VillagerData(type, profession, level));
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_15MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_15MetadataFactory.java
index 3cb5264..6652a0a 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_15MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_15MetadataFactory.java
@@ -80,11 +80,6 @@ public class V1_15MetadataFactory extends V1_14MetadataFactory {
         return newEntityData(17, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0) | (facePlanted ? 0x40 : 0)));
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(15, EntityDataTypes.BOOLEAN, attacking);
-    }
-
     @Override
     public EntityData villagerData(int type, int profession, int level) {
         return newEntityData(17, EntityDataTypes.VILLAGER_DATA, new VillagerData(type, profession, level));
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_17MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_17MetadataFactory.java
index 4ba29b7..ae9fc1f 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_17MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_17MetadataFactory.java
@@ -131,11 +131,6 @@ public class V1_17MetadataFactory extends V1_16MetadataFactory {
         return newEntityData(18, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0) | (facePlanted ? 0x40 : 0)));
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(16, EntityDataTypes.BOOLEAN, attacking);
-    }
-
     @Override
     public EntityData goatHasLeftHorn(boolean hasLeftHorn) {
         return newEntityData(18, EntityDataTypes.BOOLEAN, hasLeftHorn);
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java
index 46e046f..36f2149 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java
@@ -145,11 +145,6 @@ public class V1_8MetadataFactory implements MetadataFactory {
         throw new UnsupportedOperationException("The frog variant entity data isn't supported on this version");
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(16, EntityDataTypes.BYTE, (byte) (attacking ? 1 : 0));
-    }
-
     @Override
     public EntityData goatHasLeftHorn(boolean hasLeftHorn) {
         throw new UnsupportedOperationException("The goat horn entity data isn't supported on this version");
diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java
index 33e5d75..37091df 100644
--- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java
+++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java
@@ -32,11 +32,6 @@ public class V1_9MetadataFactory extends V1_8MetadataFactory {
         return newEntityData(12, EntityDataTypes.BOOLEAN, charged);
     }
 
-    @Override
-    public EntityData ghastAttacking(boolean attacking) {
-        return newEntityData(11, EntityDataTypes.BOOLEAN, attacking);
-    }
-
     @Override
     public EntityData villagerData(int type, int profession, int level) {
         return newEntityData(12, EntityDataTypes.INT, profession);