mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -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) {
|
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) {
|
public Short getShort(EntityMetaDataFields field) {
|
||||||
|
@ -97,6 +97,13 @@ public class VersionMapping {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Item getItemById(int versionId) {
|
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) {
|
if (parentMapping != null) {
|
||||||
Item item = parentMapping.getItemById(versionId);
|
Item item = parentMapping.getItemById(versionId);
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
@ -268,10 +275,10 @@ public class VersionMapping {
|
|||||||
if (metaData > 0 && metaData < Short.MAX_VALUE) {
|
if (metaData > 0 && metaData < Short.MAX_VALUE) {
|
||||||
versionItemId |= metaData;
|
versionItemId |= metaData;
|
||||||
}
|
}
|
||||||
Item item = getItemById(versionItemId);
|
Item item = getItemByIdIgnoreFlattened(versionItemId);
|
||||||
if (item == null) {
|
if (item == null) {
|
||||||
// ignore meta data ?
|
// ignore meta data ?
|
||||||
return getItemById(itemId << 16);
|
return getItemByIdIgnoreFlattened(itemId << 16);
|
||||||
}
|
}
|
||||||
return item;
|
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()));
|
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slot=%s): AIR", entityId, set.getKey()));
|
||||||
return;
|
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 {
|
} else {
|
||||||
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slotCount=%d)", entityId, slots.size()));
|
Log.protocol(String.format("[IN] Entity equipment changed (entityId=%d, slotCount=%d)", entityId, slots.size()));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user