+++ /dev/null
-package chemicraft;\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
-\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(TileEntityMaterialCraftingTable 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