Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-26 00:00:28 +01:00
Merge pull request #150 from HugoDaBosss/patch
Fix mob spawners when no EntityId is given
Dieser Commit ist enthalten in:
Commit
0ea32b3318
@ -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();
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren