implemented ghast attacking property
This commit is contained in:
parent
7888d08ca7
commit
f68d678a1c
10 changed files with 43 additions and 5 deletions
|
@ -134,6 +134,9 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
// Frog
|
// Frog
|
||||||
registerType("frog_variant", FrogVariant.TEMPERATE);
|
registerType("frog_variant", FrogVariant.TEMPERATE);
|
||||||
|
|
||||||
|
// Ghast
|
||||||
|
registerType("attacking", 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
|
||||||
|
|
||||||
|
@ -211,9 +214,6 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
// Wither
|
// Wither
|
||||||
registerType("invulnerable_time", 0); // TODO
|
registerType("invulnerable_time", 0); // TODO
|
||||||
|
|
||||||
// Ghast
|
|
||||||
registerType("attacking", false); // TODO
|
|
||||||
|
|
||||||
// Phantom
|
// Phantom
|
||||||
registerType("phantom_size", 0); // TODO
|
registerType("phantom_size", 0); // TODO
|
||||||
|
|
||||||
|
|
|
@ -83,4 +83,7 @@ public interface MetadataFactory {
|
||||||
|
|
||||||
// Frog
|
// Frog
|
||||||
EntityData frogVariant(int variant);
|
EntityData frogVariant(int variant);
|
||||||
|
|
||||||
|
// Ghast
|
||||||
|
EntityData ghastAttacking(boolean attacking);
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,4 +80,9 @@ public class V1_10MetadataFactory extends V1_9MetadataFactory {
|
||||||
public EntityData creeperCharged(boolean charged) {
|
public EntityData creeperCharged(boolean charged) {
|
||||||
return newEntityData(13, EntityDataTypes.BOOLEAN, charged);
|
return newEntityData(13, EntityDataTypes.BOOLEAN, charged);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityData ghastAttacking(boolean attacking) {
|
||||||
|
return newEntityData(12, EntityDataTypes.BOOLEAN, attacking);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,4 +129,9 @@ public class V1_14MetadataFactory extends V1_13MetadataFactory {
|
||||||
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
||||||
return newEntityData(16, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0)));
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,4 +113,9 @@ public class V1_15MetadataFactory extends V1_14MetadataFactory {
|
||||||
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
||||||
return newEntityData(17, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0) | (facePlanted ? 0x40 : 0)));
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,4 +173,9 @@ public class V1_17MetadataFactory extends V1_16MetadataFactory {
|
||||||
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
public EntityData foxProperties(boolean sitting, boolean crouching, boolean sleeping, boolean facePlanted) {
|
||||||
return newEntityData(18, EntityDataTypes.BYTE, (byte) ((sitting ? 0x01 : 0) | (crouching ? 0x04 : 0) | (sleeping ? 0x20 : 0) | (facePlanted ? 0x40 : 0)));
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,6 +200,11 @@ public class V1_8MetadataFactory implements MetadataFactory {
|
||||||
throw new UnsupportedOperationException("The frog variant entity data isn't supported on this version");
|
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
|
@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));
|
||||||
|
|
|
@ -62,4 +62,9 @@ public class V1_9MetadataFactory extends V1_8MetadataFactory {
|
||||||
public EntityData silent(boolean enabled) {
|
public EntityData silent(boolean enabled) {
|
||||||
return newEntityData(4, EntityDataTypes.BOOLEAN, enabled);
|
return newEntityData(4, EntityDataTypes.BOOLEAN, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityData ghastAttacking(boolean attacking) {
|
||||||
|
return newEntityData(11, EntityDataTypes.BOOLEAN, attacking);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
|
||||||
.setHologramOffset(-1.675));
|
.setHologramOffset(-1.675));
|
||||||
|
|
||||||
register(builder(p, "ghast", EntityTypes.GHAST)
|
register(builder(p, "ghast", EntityTypes.GHAST)
|
||||||
.setHologramOffset(2.025));
|
.setHologramOffset(2.025)
|
||||||
|
.addProperties("attacking"));
|
||||||
|
|
||||||
register(builder(p, "giant", EntityTypes.GIANT)
|
register(builder(p, "giant", EntityTypes.GIANT)
|
||||||
.setHologramOffset(10.025)
|
.setHologramOffset(10.025)
|
||||||
|
|
|
@ -208,9 +208,13 @@ public class V1_8PacketFactory implements PacketFactory {
|
||||||
properties.getProperty(propertyRegistry.getByName("fox_sleeping", Boolean.class)),
|
properties.getProperty(propertyRegistry.getByName("fox_sleeping", Boolean.class)),
|
||||||
properties.getProperty(propertyRegistry.getByName("fox_faceplanted", Boolean.class))
|
properties.getProperty(propertyRegistry.getByName("fox_faceplanted", Boolean.class))
|
||||||
));
|
));
|
||||||
} else if (entity.getType().equals(EntityTypes.FROG)) {
|
}
|
||||||
|
else if (entity.getType().equals(EntityTypes.FROG)) {
|
||||||
add(data, metadataFactory.frogVariant(properties.getProperty(propertyRegistry.getByName("frog_variant", FrogVariant.class)).ordinal()));
|
add(data, metadataFactory.frogVariant(properties.getProperty(propertyRegistry.getByName("frog_variant", FrogVariant.class)).ordinal()));
|
||||||
}
|
}
|
||||||
|
else if (entity.getType().equals(EntityTypes.GHAST)) {
|
||||||
|
add(data, metadataFactory.ghastAttacking(properties.getProperty(propertyRegistry.getByName("attacking", Boolean.class))));
|
||||||
|
}
|
||||||
|
|
||||||
if (properties.getProperty(propertyRegistry.getByName("dinnerbone", Boolean.class))) {
|
if (properties.getProperty(propertyRegistry.getByName("dinnerbone", Boolean.class))) {
|
||||||
add(data, metadataFactory.name(Component.text("Dinnerbone")));
|
add(data, metadataFactory.name(Component.text("Dinnerbone")));
|
||||||
|
|
Loading…
Reference in a new issue