OSDN Git Service

英語の間違い全部修正
[chemicraft/chemicraft.git] / common / chemicraft / PacketHandler.java
index 93212f5..d5d530a 100644 (file)
@@ -1,18 +1,19 @@
 package chemicraft;\r
 \r
 import java.io.ByteArrayOutputStream;\r
-import java.io.DataInputStream;\r
 import java.io.DataOutputStream;\r
 import java.io.IOException;\r
 \r
-import com.google.common.io.ByteArrayDataInput;\r
-import com.google.common.io.ByteStreams;\r
-\r
+import net.minecraft.src.EntityPlayer;\r
 import net.minecraft.src.NetworkManager;\r
 import net.minecraft.src.Packet;\r
 import net.minecraft.src.Packet250CustomPayload;\r
 import net.minecraft.src.TileEntity;\r
 import net.minecraft.src.World;\r
+\r
+import com.google.common.io.ByteArrayDataInput;\r
+import com.google.common.io.ByteStreams;\r
+\r
 import cpw.mods.fml.common.network.IPacketHandler;\r
 import cpw.mods.fml.common.network.Player;\r
 \r
@@ -28,43 +29,63 @@ public class PacketHandler implements IPacketHandler {
        public void onPacketData(NetworkManager manager, Packet250CustomPayload packet, Player player) {\r
                if (packet.channel.equals("chemicraft")) {\r
                        ByteArrayDataInput var1 = ByteStreams.newDataInput(packet.data);\r
+\r
+                       World worldClient;\r
+                       World worldServer;\r
+                       TileEntity tileEntity;\r
+                       TileEntityChemicalCraftingTable var2;\r
+\r
+                       // TileEntityのx, y, z座標\r
                        int x, y, z;\r
-                       String tab;\r
 \r
-                       // パケットからデータ読み込み\r
+                       // 座標読み込み\r
                        x = var1.readInt();\r
                        y = var1.readInt();\r
                        z = var1.readInt();\r
-                       tab = var1.readUTF();\r
-\r
-                       // TileEntityを取得し読み込んだデータを送る\r
-                       World world = ChemiCraft.proxy.getClientWorld();\r
-                       TileEntity tileEntity = world.getBlockTileEntity(x, y, z);\r
-                       if (tileEntity instanceof TileEntityScienceCraftingTable) {\r
-                               TileEntityScienceCraftingTable var2 = (TileEntityScienceCraftingTable) tileEntity;\r
-                               var2.handlePacket(new Object[]{tab});\r
+\r
+                       worldClient = ChemiCraft.proxy.getClientWorld();\r
+                       worldServer = ((EntityPlayer)player).worldObj;\r
+                       if(worldClient != null){\r
+                               tileEntity = worldClient.getBlockTileEntity(x, y, z);\r
+                               if (tileEntity instanceof TileEntityChemicalCraftingTable) {\r
+                                       var2 = (TileEntityChemicalCraftingTable) tileEntity;\r
+                                       var2.readPacket(var1);\r
+                               }\r
+                               return;\r
+                       }\r
+                       if(worldServer != null){\r
+                               tileEntity = worldServer.getBlockTileEntity(x, y, z);\r
+                               if (tileEntity instanceof TileEntityChemicalCraftingTable) {\r
+                                       var2 = (TileEntityChemicalCraftingTable) tileEntity;\r
+                                       var2.readPacket(var1);\r
+                               }\r
+                               return;\r
                        }\r
                }\r
        }\r
 \r
 \r
-       public static Packet getPacket(TileEntityScienceCraftingTable tileEntity) {\r
+       public static Packet getPacket(TileEntityChemicalCraftingTable tileEntity) {\r
                ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);\r
                DataOutputStream var2 = new DataOutputStream(var1);\r
+\r
+               // Blockのx, y, z座標\r
                int x, y, z;\r
-               String tab;\r
 \r
-               // データの用意\r
+               // activeTab\r
+               String activeTab;\r
+\r
+               // x, y, z座標を代入\r
                x = tileEntity.xCoord;\r
                y = tileEntity.yCoord;\r
                z = tileEntity.zCoord;\r
-               tab = tileEntity.getActiveTab();\r
 \r
                try {\r
+                       // 座標書き込み\r
                        var2.writeInt(x);\r
                        var2.writeInt(y);\r
                        var2.writeInt(z);\r
-                       var2.writeUTF(tab);\r
+                       tileEntity.writePacket(var2);\r
                } catch (IOException e) {\r
                        e.printStackTrace();\r
                }\r