forked from GeyserMC/Geyser
Fix Shulker color and open state (#1113)
This commit is contained in:
parent
3ef7e30230
commit
439027d510
1 changed files with 14 additions and 7 deletions
|
@ -53,14 +53,21 @@ public class ShulkerEntity extends GolemEntity {
|
||||||
metadata.put(EntityData.SHULKER_ATTACH_POS, Vector3i.from(position.getX(), position.getY(), position.getZ()));
|
metadata.put(EntityData.SHULKER_ATTACH_POS, Vector3i.from(position.getX(), position.getY(), position.getZ()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO Outdated metadata flag SHULKER_PEAK_HEIGHT
|
|
||||||
// if (entityMetadata.getId() == 17) {
|
if (entityMetadata.getId() == 17) {
|
||||||
// int height = (byte) entityMetadata.getValue();
|
int height = (byte) entityMetadata.getValue();
|
||||||
// metadata.put(EntityData.SHULKER_PEAK_HEIGHT, height);
|
metadata.put(EntityData.SHULKER_PEEK_ID, height);
|
||||||
// }
|
}
|
||||||
|
|
||||||
if (entityMetadata.getId() == 18) {
|
if (entityMetadata.getId() == 18) {
|
||||||
int color = Math.abs((byte) entityMetadata.getValue() - 15);
|
byte color = (byte) entityMetadata.getValue();
|
||||||
metadata.put(EntityData.VARIANT, color);
|
if (color == 16) {
|
||||||
|
// 16 is default on both editions
|
||||||
|
metadata.put(EntityData.VARIANT, 16);
|
||||||
|
} else {
|
||||||
|
// Every other shulker color is offset 15 in bedrock edition
|
||||||
|
metadata.put(EntityData.VARIANT, Math.abs(color - 15));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
super.updateBedrockMetadata(entityMetadata, session);
|
super.updateBedrockMetadata(entityMetadata, session);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue