diff options
Diffstat (limited to 'ihl/ServerProxy.java')
| -rw-r--r-- | ihl/ServerProxy.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ihl/ServerProxy.java b/ihl/ServerProxy.java index 24fa937..385bcec 100644 --- a/ihl/ServerProxy.java +++ b/ihl/ServerProxy.java @@ -183,7 +183,7 @@ public class ServerProxy { }
@SubscribeEvent
- public void onPacketFromClientToServer(FMLNetworkEvent.ServerCustomPacketEvent event) throws IOException
+ public void onPacketFromClientToServer(FMLNetworkEvent.ServerCustomPacketEvent event) throws IOException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
{
ByteBuf data = event.packet.payload();
ByteBufInputStream byteBufInputStream = new ByteBufInputStream(data);
@@ -216,6 +216,20 @@ public class ServerProxy { player.playerNetServerHandler.sendPacket(new S35PacketUpdateTileEntity(x,y,z,6,nbt));
}
break;
+ case 2:
+ worldDimensionId = byteBufInputStream.readInt();
+ x = byteBufInputStream.readInt();
+ y = byteBufInputStream.readInt();
+ z = byteBufInputStream.readInt();
+ world = MinecraftServer.getServer().worldServerForDimension(worldDimensionId);
+ te = world.getTileEntity(x, y, z);
+ if(te!=null && !te.isInvalid())
+ {
+ int value = byteBufInputStream.readInt();
+ fieldName = byteBufInputStream.readUTF();
+ te.getClass().getDeclaredField(fieldName).set(te, value);
+ }
+ break;
}
byteBufInputStream.close();
|
