summaryrefslogtreecommitdiff
path: root/ihl/ServerProxy.java
diff options
context:
space:
mode:
Diffstat (limited to 'ihl/ServerProxy.java')
-rw-r--r--ihl/ServerProxy.java16
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();