OSDN Git Service

ChemiCraft.java修正
[chemicraft/chemicraft.git] / common / chemicraft / system / PacketHandler.java
index fa6d9ae..59945b4 100644 (file)
-package chemicraft.system;\r
-\r
-import java.io.ByteArrayOutputStream;\r
-import java.io.DataOutputStream;\r
-import java.io.IOException;\r
-\r
-import net.minecraft.entity.player.EntityPlayer;\r
-import net.minecraft.network.INetworkManager;\r
-import net.minecraft.network.packet.Packet;\r
-import net.minecraft.network.packet.Packet250CustomPayload;\r
-import net.minecraft.tileentity.TileEntity;\r
-import net.minecraft.world.World;\r
-import chemicraft.ChemiCraft;\r
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;\r
-import chemicraft.tileentity.TileEntityPyrolysisTable;\r
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\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
-/**\r
- * サーバーとクライアントのデータの同期に必要なクラス\r
- *\r
- * @author Lilly\r
- *\r
- */\r
-public class PacketHandler implements IPacketHandler {\r
-\r
-       @Override\r
-       public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) {\r
-               if (packet.channel.equals("chemicraft")) {\r
-                       ByteArrayDataInput badi = ByteStreams.newDataInput(packet.data);\r
-\r
-                       World worldClient;\r
-                       World worldServer;\r
-                       TileEntity var1;\r
-\r
-                       // TileEntityのx, y, z座標\r
-                       int x, y, z;\r
-\r
-                       // 座標読み込み\r
-                       x = badi.readInt();\r
-                       y = badi.readInt();\r
-                       z = badi.readInt();\r
-\r
-                       worldClient = ChemiCraft.proxy.getClientWorld();\r
-                       worldServer = ((EntityPlayer)player).worldObj;\r
-                       if(worldClient != null && worldServer == null){\r
-                               var1 = worldClient.getBlockTileEntity(x, y, z);\r
-                               if(var1 instanceof TileEntityChemicalCombinationTable) ((TileEntityChemicalCombinationTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityChemicalCraftingTable) ((TileEntityChemicalCraftingTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityPyrolysisTable) ((TileEntityPyrolysisTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityToolAndWeaponCraftingTable) ((TileEntityToolAndWeaponCraftingTable)var1).readPacket(badi);\r
-                               return;\r
-                       }\r
-                       if(worldServer != null){\r
-                               var1 = worldServer.getBlockTileEntity(x, y, z);\r
-                               if(var1 instanceof TileEntityChemicalCombinationTable) ((TileEntityChemicalCombinationTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityChemicalCraftingTable) ((TileEntityChemicalCraftingTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityPyrolysisTable) ((TileEntityPyrolysisTable)var1).readPacket(badi);\r
-                               if(var1 instanceof TileEntityToolAndWeaponCraftingTable) ((TileEntityToolAndWeaponCraftingTable)var1).readPacket(badi);\r
-                       }\r
-                       return;\r
-               }\r
-       }\r
-\r
-\r
-       public static Packet getPacket(TileEntityPyrolysisTable 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
-\r
-               // x, y, z座標を代入\r
-               x = tileEntity.xCoord;\r
-               y = tileEntity.yCoord;\r
-               z = tileEntity.zCoord;\r
-\r
-               try {\r
-                       // 座標書き込み\r
-                       var2.writeInt(x);\r
-                       var2.writeInt(y);\r
-                       var2.writeInt(z);\r
-                       tileEntity.writePacket(var2);\r
-               } catch (IOException e) {\r
-                       e.printStackTrace();\r
-               }\r
-\r
-               // パケットの作成\r
-               Packet250CustomPayload packet = new Packet250CustomPayload();\r
-               packet.channel = "chemicraft";\r
-               packet.data = var1.toByteArray();\r
-               packet.length = var1.size();\r
-               packet.isChunkDataPacket = true;\r
-               return packet;\r
-       }\r
-\r
-       public static Packet getPacket(TileEntityChemicalCombinationTable 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
-\r
-               // x, y, z座標を代入\r
-               x = tileEntity.xCoord;\r
-               y = tileEntity.yCoord;\r
-               z = tileEntity.zCoord;\r
-\r
-               try {\r
-                       // 座標書き込み\r
-                       var2.writeInt(x);\r
-                       var2.writeInt(y);\r
-                       var2.writeInt(z);\r
-                       tileEntity.writePacket(var2);\r
-               } catch (IOException e) {\r
-                       e.printStackTrace();\r
-               }\r
-\r
-               // パケットの作成\r
-               Packet250CustomPayload packet = new Packet250CustomPayload();\r
-               packet.channel = "chemicraft";\r
-               packet.data = var1.toByteArray();\r
-               packet.length = var1.size();\r
-               packet.isChunkDataPacket = true;\r
-               return packet;\r
-       }\r
-\r
-       public static Packet getPacket(TileEntityToolAndWeaponCraftingTable 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
-\r
-               // x, y, z座標を代入\r
-               x = tileEntity.xCoord;\r
-               y = tileEntity.yCoord;\r
-               z = tileEntity.zCoord;\r
-\r
-               try {\r
-                       // 座標書き込み\r
-                       var2.writeInt(x);\r
-                       var2.writeInt(y);\r
-                       var2.writeInt(z);\r
-                       tileEntity.writePacket(var2);\r
-               } catch (IOException e) {\r
-                       e.printStackTrace();\r
-               }\r
-\r
-               // パケットの作成\r
-               Packet250CustomPayload packet = new Packet250CustomPayload();\r
-               packet.channel = "chemicraft";\r
-               packet.data = var1.toByteArray();\r
-               packet.length = var1.size();\r
-               packet.isChunkDataPacket = true;\r
-               return packet;\r
-       }\r
-\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
-\r
-               // x, y, z座標を代入\r
-               x = tileEntity.xCoord;\r
-               y = tileEntity.yCoord;\r
-               z = tileEntity.zCoord;\r
-\r
-               try {\r
-                       // 座標書き込み\r
-                       var2.writeInt(x);\r
-                       var2.writeInt(y);\r
-                       var2.writeInt(z);\r
-                       tileEntity.writePacket(var2);\r
-               } catch (IOException e) {\r
-                       e.printStackTrace();\r
-               }\r
-\r
-               // パケットの作成\r
-               Packet250CustomPayload packet = new Packet250CustomPayload();\r
-               packet.channel = "chemicraft";\r
-               packet.data = var1.toByteArray();\r
-               packet.length = var1.size();\r
-               packet.isChunkDataPacket = true;\r
-               return packet;\r
-       }\r
-\r
-}\r
+package chemicraft.system;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import chemicraft.ChemiCraft;
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;
+import chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import chemicraft.tileentity.TileEntityElectrolysisTable;
+import chemicraft.tileentity.TileEntityPyrolysisTable;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+
+import com.google.common.io.ByteArrayDataInput;
+import com.google.common.io.ByteStreams;
+
+import cpw.mods.fml.common.network.IPacketHandler;
+import cpw.mods.fml.common.network.Player;
+
+/**
+ * サーバーとクライアントのデータの同期に必要なクラス
+ *
+ * @author Lilly
+ *
+ */
+public class PacketHandler implements IPacketHandler {
+
+       @Override
+       public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) {
+               if (packet.channel.equals("chemicraft")) {
+                       ByteArrayDataInput badi = ByteStreams.newDataInput(packet.data);
+
+                       World worldClient;
+                       World worldServer;
+                       TileEntity var1;
+
+                       // TileEntityのx, y, z座標
+                       int x, y, z;
+
+                       // 座標読み込み
+                       x = badi.readInt();
+                       y = badi.readInt();
+                       z = badi.readInt();
+
+                       worldClient = ChemiCraft.proxy.getClientWorld();
+                       worldServer = ((EntityPlayer)player).worldObj;
+                       if(worldClient != null && worldServer == null){
+                               var1 = worldClient.getBlockTileEntity(x, y, z);
+                               if(var1 instanceof TileEntityChemicalCombinationTable) ((TileEntityChemicalCombinationTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityChemicalCraftingTable) ((TileEntityChemicalCraftingTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityPyrolysisTable) ((TileEntityPyrolysisTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityToolAndWeaponCraftingTable) ((TileEntityToolAndWeaponCraftingTable)var1).readPacket(badi);
+                               return;
+                       }
+                       if(worldServer != null){
+                               var1 = worldServer.getBlockTileEntity(x, y, z);
+                               if(var1 instanceof TileEntityChemicalCombinationTable) ((TileEntityChemicalCombinationTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityChemicalCraftingTable) ((TileEntityChemicalCraftingTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityPyrolysisTable) ((TileEntityPyrolysisTable)var1).readPacket(badi);
+                               if(var1 instanceof TileEntityToolAndWeaponCraftingTable) ((TileEntityToolAndWeaponCraftingTable)var1).readPacket(badi);
+                       }
+                       return;
+               }
+       }
+
+
+       public static Packet getPacket(TileEntityPyrolysisTable tileEntity) {
+               ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
+               DataOutputStream var2 = new DataOutputStream(var1);
+
+               // Blockのx, y, z座標
+               int x, y, z;
+
+               // x, y, z座標を代入
+               x = tileEntity.xCoord;
+               y = tileEntity.yCoord;
+               z = tileEntity.zCoord;
+
+               try {
+                       // 座標書き込み
+                       var2.writeInt(x);
+                       var2.writeInt(y);
+                       var2.writeInt(z);
+                       tileEntity.writePacket(var2);
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+
+               // パケットの作成
+               Packet250CustomPayload packet = new Packet250CustomPayload();
+               packet.channel = "chemicraft";
+               packet.data = var1.toByteArray();
+               packet.length = var1.size();
+               packet.isChunkDataPacket = true;
+               return packet;
+       }
+
+       public static Packet getPacket(TileEntityElectrolysisTable tileEntity) {
+               ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
+               DataOutputStream var2 = new DataOutputStream(var1);
+
+               // Blockのx, y, z座標
+               int x, y, z;
+
+               // x, y, z座標を代入
+               x = tileEntity.xCoord;
+               y = tileEntity.yCoord;
+               z = tileEntity.zCoord;
+
+               try {
+                       // 座標書き込み
+                       var2.writeInt(x);
+                       var2.writeInt(y);
+                       var2.writeInt(z);
+                       tileEntity.writePacket(var2);
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+
+               // パケットの作成
+               Packet250CustomPayload packet = new Packet250CustomPayload();
+               packet.channel = "chemicraft";
+               packet.data = var1.toByteArray();
+               packet.length = var1.size();
+               packet.isChunkDataPacket = true;
+               return packet;
+       }
+
+       public static Packet getPacket(TileEntityChemicalCombinationTable tileEntity) {
+               ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
+               DataOutputStream var2 = new DataOutputStream(var1);
+
+               // Blockのx, y, z座標
+               int x, y, z;
+
+               // x, y, z座標を代入
+               x = tileEntity.xCoord;
+               y = tileEntity.yCoord;
+               z = tileEntity.zCoord;
+
+               try {
+                       // 座標書き込み
+                       var2.writeInt(x);
+                       var2.writeInt(y);
+                       var2.writeInt(z);
+                       tileEntity.writePacket(var2);
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+
+               // パケットの作成
+               Packet250CustomPayload packet = new Packet250CustomPayload();
+               packet.channel = "chemicraft";
+               packet.data = var1.toByteArray();
+               packet.length = var1.size();
+               packet.isChunkDataPacket = true;
+               return packet;
+       }
+
+       public static Packet getPacket(TileEntityToolAndWeaponCraftingTable tileEntity) {
+               ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
+               DataOutputStream var2 = new DataOutputStream(var1);
+
+               // Blockのx, y, z座標
+               int x, y, z;
+
+               // x, y, z座標を代入
+               x = tileEntity.xCoord;
+               y = tileEntity.yCoord;
+               z = tileEntity.zCoord;
+
+               try {
+                       // 座標書き込み
+                       var2.writeInt(x);
+                       var2.writeInt(y);
+                       var2.writeInt(z);
+                       tileEntity.writePacket(var2);
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+
+               // パケットの作成
+               Packet250CustomPayload packet = new Packet250CustomPayload();
+               packet.channel = "chemicraft";
+               packet.data = var1.toByteArray();
+               packet.length = var1.size();
+               packet.isChunkDataPacket = true;
+               return packet;
+       }
+
+       public static Packet getPacket(TileEntityChemicalCraftingTable tileEntity) {
+               ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
+               DataOutputStream var2 = new DataOutputStream(var1);
+
+               // Blockのx, y, z座標
+               int x, y, z;
+
+               // x, y, z座標を代入
+               x = tileEntity.xCoord;
+               y = tileEntity.yCoord;
+               z = tileEntity.zCoord;
+
+               try {
+                       // 座標書き込み
+                       var2.writeInt(x);
+                       var2.writeInt(y);
+                       var2.writeInt(z);
+                       tileEntity.writePacket(var2);
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+
+               // パケットの作成
+               Packet250CustomPayload packet = new Packet250CustomPayload();
+               packet.channel = "chemicraft";
+               packet.data = var1.toByteArray();
+               packet.length = var1.size();
+               packet.isChunkDataPacket = true;
+               return packet;
+       }
+
+}