Implemented blaze_on_fire property

This commit is contained in:
D3v1s0m 2023-06-28 18:19:08 +05:30
parent 3647a95b27
commit f472ddf5a5
No known key found for this signature in database
GPG Key ID: 3B6EC35367B8D82E
10 changed files with 43 additions and 10 deletions

@ -95,6 +95,9 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
registerType("angry", false); registerType("angry", false);
registerType("has_nectar", false); registerType("has_nectar", false);
// Blaze
registerType("blaze_on_fire", false);
// Pufferfish // Pufferfish
registerType("puff_state", null); // TODO: Make a puff state enum class registerType("puff_state", null); // TODO: Make a puff state enum class
@ -177,9 +180,6 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
registerType("piglin_dancing", false); // TODO registerType("piglin_dancing", false); // TODO
registerType("piglin_charging_crossbow", false); // TODO registerType("piglin_charging_crossbow", false); // TODO
// Blaze
registerType("blaze_is_on_fire", false); // TODO
// Creeper // Creeper
registerType("creeper_state", null); // TODO: -1 = idle, 1 = fuse registerType("creeper_state", null); // TODO: -1 = idle, 1 = fuse
registerType("creeper_charged", false); // TODO registerType("creeper_charged", false); // TODO

@ -50,4 +50,7 @@ public interface MetadataFactory {
// Bee // Bee
EntityData beeAngry(boolean angry); EntityData beeAngry(boolean angry);
EntityData beeHasNectar(boolean hasNectar); EntityData beeHasNectar(boolean hasNectar);
// Blaze
EntityData blazeOnFire(boolean onFire);
} }

@ -64,4 +64,9 @@ public class V1_10MetadataFactory extends V1_9MetadataFactory {
public EntityData batHanging(boolean hanging) { public EntityData batHanging(boolean hanging) {
return newEntityData(12, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0)); return newEntityData(12, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0));
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(12, EntityDataTypes.BYTE, (byte) (onFire ? 0x01 : 0));
}
} }

@ -70,4 +70,9 @@ public class V1_14MetadataFactory extends V1_13MetadataFactory {
public EntityData batHanging(boolean hanging) { public EntityData batHanging(boolean hanging) {
return newEntityData(14, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0)); return newEntityData(14, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0));
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(14, EntityDataTypes.BYTE, (byte) (onFire ? 0x01 : 0));
}
} }

@ -54,4 +54,9 @@ public class V1_15MetadataFactory extends V1_14MetadataFactory {
public EntityData beeHasNectar(boolean hasNectar) { public EntityData beeHasNectar(boolean hasNectar) {
return newEntityData(16, EntityDataTypes.BYTE, (byte) (hasNectar ? 0x08 : 0)); return newEntityData(16, EntityDataTypes.BYTE, (byte) (hasNectar ? 0x08 : 0));
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(15, EntityDataTypes.BYTE, (byte) (onFire ? 0x01 : 0));
}
} }

@ -94,4 +94,9 @@ public class V1_17MetadataFactory extends V1_16MetadataFactory {
public EntityData beeHasNectar(boolean hasNectar) { public EntityData beeHasNectar(boolean hasNectar) {
return newEntityData(17, EntityDataTypes.BYTE, (byte) (hasNectar ? 0x08 : 0)); return newEntityData(17, EntityDataTypes.BYTE, (byte) (hasNectar ? 0x08 : 0));
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(16, EntityDataTypes.BYTE, (byte) (onFire ? 0x01 : 0));
}
} }

@ -119,6 +119,11 @@ public class V1_8MetadataFactory implements MetadataFactory {
throw new UnsupportedOperationException("The bee properties entity data isn't supported on this version"); throw new UnsupportedOperationException("The bee properties entity data isn't supported on this version");
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(16, EntityDataTypes.BYTE, (byte) (onFire ? 1 : 0));
}
@Override @Override
public EntityData silent(boolean enabled) { public EntityData silent(boolean enabled) {
return newEntityData(4, EntityDataTypes.BYTE, (byte) (enabled ? 1 : 0)); return newEntityData(4, EntityDataTypes.BYTE, (byte) (enabled ? 1 : 0));

@ -32,6 +32,11 @@ public class V1_9MetadataFactory extends V1_8MetadataFactory {
return newEntityData(11, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0)); return newEntityData(11, EntityDataTypes.BYTE, (byte) (hanging ? 0x01 : 0));
} }
@Override
public EntityData blazeOnFire(boolean onFire) {
return newEntityData(16, EntityDataTypes.BYTE, (byte) (onFire ? 1 : 0));
}
@Override @Override
public EntityData name(Component name) { public EntityData name(Component name) {
return newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getGsonSerializer().serialize(name)); return newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getGsonSerializer().serialize(name));

@ -50,7 +50,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
.addProperties("hanging")); .addProperties("hanging"));
register(builder(p, "blaze", EntityTypes.BLAZE) register(builder(p, "blaze", EntityTypes.BLAZE)
.setHologramOffset(-0.175)); .setHologramOffset(-0.175)
.addProperties("blaze_on_fire"));
register(builder(p, "cat", EntityTypes.CAT) register(builder(p, "cat", EntityTypes.CAT)
.setHologramOffset(-1.275)); .setHologramOffset(-1.275));

@ -172,12 +172,11 @@ public class V1_8PacketFactory implements PacketFactory {
add(data, metadataFactory.batHanging(properties.getProperty(propertyRegistry.getByName("hanging", Boolean.class)))); add(data, metadataFactory.batHanging(properties.getProperty(propertyRegistry.getByName("hanging", Boolean.class))));
} }
else if (entity.getType().equals(EntityTypes.BEE)) { else if (entity.getType().equals(EntityTypes.BEE)) {
add(data, metadataFactory.beeAngry( add(data, metadataFactory.beeAngry(properties.getProperty(propertyRegistry.getByName("angry", Boolean.class))));
properties.getProperty(propertyRegistry.getByName("angry", Boolean.class)) add(data, metadataFactory.beeHasNectar(properties.getProperty(propertyRegistry.getByName("has_nectar", Boolean.class))));
)); }
add(data, metadataFactory.beeHasNectar( else if (entity.getType().equals(EntityTypes.BLAZE)) {
properties.getProperty(propertyRegistry.getByName("has_nectar", Boolean.class)) add(data, metadataFactory.blazeOnFire(properties.getProperty(propertyRegistry.getByName("blaze_on_fire", Boolean.class))));
));
} }
if (properties.hasProperty(propertyRegistry.getByName("name"))) { if (properties.hasProperty(propertyRegistry.getByName("name"))) {
add(data, metadataFactory.name(PapiUtil.set(textSerializer, player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); add(data, metadataFactory.name(PapiUtil.set(textSerializer, player, properties.getProperty(propertyRegistry.getByName("name", Component.class)))));