mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-11 16:36:58 -04:00
some mappings and entity meta fixes for pre flattening versions
This commit is contained in:
parent
6759a149fc
commit
ba62fe8316
@ -238,7 +238,11 @@ public class EntityMetaData {
|
||||
}
|
||||
|
||||
public int getInt(EntityMetaDataFields field) {
|
||||
return get(field);
|
||||
Object value = get(field);
|
||||
if (value instanceof Byte b) {
|
||||
return b;
|
||||
}
|
||||
return (int) value;
|
||||
}
|
||||
|
||||
public Short getShort(EntityMetaDataFields field) {
|
||||
|
@ -97,6 +97,13 @@ public class VersionMapping {
|
||||
}
|
||||
|
||||
public Item getItemById(int versionId) {
|
||||
if (!version.isFlattened()) {
|
||||
return getItemByLegacy(versionId >>> 16, versionId & 0xFFFF);
|
||||
}
|
||||
return getItemByIdIgnoreFlattened(versionId);
|
||||
}
|
||||
|
||||
private Item getItemByIdIgnoreFlattened(int versionId) {
|
||||
if (parentMapping != null) {
|
||||
Item item = parentMapping.getItemById(versionId);
|
||||
if (item != null) {
|
||||
@ -268,10 +275,10 @@ public class VersionMapping {
|
||||
if (metaData > 0 && metaData < Short.MAX_VALUE) {
|
||||
versionItemId |= metaData;
|
||||
}
|
||||
Item item = getItemById(versionItemId);
|
||||
Item item = getItemByIdIgnoreFlattened(versionItemId);
|
||||
if (item == null) {
|
||||
// ignore meta data ?
|
||||
return getItemById(itemId << 16);
|
||||
return getItemByIdIgnoreFlattened(itemId << 16);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class PacketEntityEquipment implements ClientboundPacket {
|
||||
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slot=%s): AIR", entityId, set.getKey()));
|
||||
return;
|
||||
}
|
||||
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slot=%s): %dx %s", entityId, set.getKey(), set.getValue().getItemCount(), set.getValue().getDisplayName()));
|
||||
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slot=%s, item=%s): %dx %s", entityId, set.getKey(), set.getValue().getItem(), set.getValue().getItemCount(), set.getValue().getDisplayName()));
|
||||
} else {
|
||||
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slotCount=%d)", entityId, slots.size()));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user