-package chemicraft.system;\r
-\r
-import java.io.ByteArrayOutputStream;\r
-import java.io.DataOutputStream;\r
-import java.io.IOException;\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
-import chemicraft.ChemiCraft;\r
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
-import chemicraft.tileentity.TileEntityDecompositionTable;\r
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;\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(NetworkManager 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
- TileEntityDecompositionTable var2;\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.instance.proxy.getClientWorld();\r
- worldServer = ((EntityPlayer)player).worldObj;\r
- if(worldClient != null && worldServer == null){\r
- var1 = worldClient.getBlockTileEntity(x, y, z);\r
- if (var1 instanceof TileEntityDecompositionTable) {\r
- var2 = (TileEntityDecompositionTable) var1;\r
- var2.readPacket(badi, (EntityPlayer)player);\r
- }\r
- return;\r
- }\r
- if(worldServer != null){\r
- var1 = worldServer.getBlockTileEntity(x, y, z);\r
- if (var1 instanceof TileEntityDecompositionTable) {\r
- var2 = (TileEntityDecompositionTable) var1;\r
- var2.readPacket(badi, (EntityPlayer)player);\r
- }\r
- return;\r
- }\r
- }\r
- }\r
-\r
-\r
- public static Packet getPacket(TileEntityDecompositionTable 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
- // activeTab\r
- String activeTab;\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
- // activeTab\r
- String activeTab;\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
- // activeTab\r
- String activeTab;\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
- // activeTab\r
- String activeTab;\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;
+ }
+
+}