3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-11-08 17:20:24 +01:00

Merge pull request #150 from HugoDaBosss/patch

Fix mob spawners when no EntityId is given
Dieser Commit ist enthalten in:
Myles 2016-03-06 13:45:56 +00:00
Commit 0ea32b3318

Datei anzeigen

@ -624,14 +624,28 @@ public class OutgoingTransformer {
output.writeByte(action); output.writeByte(action);
if (action == 1) { // update spawner if (action == 1) { // update spawner
try { try {
int index = input.readerIndex();
DataInputStream stream = new DataInputStream(new ByteBufInputStream(input)); DataInputStream stream = new DataInputStream(new ByteBufInputStream(input));
CompoundTag tag = (CompoundTag) NBTIO.readTag(stream); CompoundTag tag = (CompoundTag) NBTIO.readTag(stream);
if(tag != null && tag.contains("EntityId")) {
String entity = (String) tag.get("EntityId").getValue(); String entity = (String) tag.get("EntityId").getValue();
CompoundTag spawn = new CompoundTag("SpawnData"); CompoundTag spawn = new CompoundTag("SpawnData");
spawn.put(new StringTag("id", entity)); spawn.put(new StringTag("id", entity));
tag.put(spawn); tag.put(spawn);
DataOutputStream out = new DataOutputStream(new ByteBufOutputStream(output)); DataOutputStream out = new DataOutputStream(new ByteBufOutputStream(output));
NBTIO.writeTag(out, tag); NBTIO.writeTag(out, tag);
}
else if(tag != null) { // EntityID does not exist
CompoundTag spawn = new CompoundTag("SpawnData");
spawn.put(new StringTag("id", "AreaEffectCloud")); //Make spawners show up as empty when no EntityId is given.
tag.put(spawn);
DataOutputStream out = new DataOutputStream(new ByteBufOutputStream(output));
NBTIO.writeTag(out, tag);
}
else { //There doesn't exist any NBT tag
input.readerIndex(index);
output.writeBytes(input, input.readableBytes());
}
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }