1 package chemicraft.system;
\r
3 import java.io.ByteArrayOutputStream;
\r
4 import java.io.DataOutputStream;
\r
5 import java.io.IOException;
\r
7 import net.minecraft.src.EntityPlayer;
\r
8 import net.minecraft.src.NetworkManager;
\r
9 import net.minecraft.src.Packet;
\r
10 import net.minecraft.src.Packet250CustomPayload;
\r
11 import net.minecraft.src.TileEntity;
\r
12 import net.minecraft.src.World;
\r
13 import chemicraft.ChemiCraft;
\r
14 import chemicraft.tileentity.TileEntityChemicalCraftingTable;
\r
16 import com.google.common.io.ByteArrayDataInput;
\r
17 import com.google.common.io.ByteStreams;
\r
19 import cpw.mods.fml.common.network.IPacketHandler;
\r
20 import cpw.mods.fml.common.network.Player;
\r
23 * サーバーとクライアントのデータの同期に必要なクラス
\r
28 public class PacketHandler implements IPacketHandler {
\r
31 public void onPacketData(NetworkManager manager, Packet250CustomPayload packet, Player player) {
\r
32 if (packet.channel.equals("chemicraft")) {
\r
33 ByteArrayDataInput badi = ByteStreams.newDataInput(packet.data);
\r
39 // TileEntityのx, y, z座標
\r
47 worldClient = ChemiCraft.proxy.getClientWorld();
\r
48 worldServer = ((EntityPlayer)player).worldObj;
\r
49 if(worldClient != null && worldServer == null){
\r
50 var1 = worldClient.getBlockTileEntity(x, y, z);
\r
53 if(worldServer != null){
\r
54 var1 = worldServer.getBlockTileEntity(x, y, z);
\r
62 * Commented by mozipi.
\r
63 public static Packet getPacket(TileEntityDecompositionTable tileEntity) {
\r
64 ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
\r
65 DataOutputStream var2 = new DataOutputStream(var1);
\r
71 x = tileEntity.xCoord;
\r
72 y = tileEntity.yCoord;
\r
73 z = tileEntity.zCoord;
\r
80 tileEntity.writePacket(var2);
\r
81 } catch (IOException e) {
\r
82 e.printStackTrace();
\r
86 Packet250CustomPayload packet = new Packet250CustomPayload();
\r
87 packet.channel = "chemicraft";
\r
88 packet.data = var1.toByteArray();
\r
89 packet.length = var1.size();
\r
90 packet.isChunkDataPacket = true;
\r
94 public static Packet getPacket(TileEntityChemicalCombinationTable tileEntity) {
\r
95 ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
\r
96 DataOutputStream var2 = new DataOutputStream(var1);
\r
102 x = tileEntity.xCoord;
\r
103 y = tileEntity.yCoord;
\r
104 z = tileEntity.zCoord;
\r
111 tileEntity.writePacket(var2);
\r
112 } catch (IOException e) {
\r
113 e.printStackTrace();
\r
117 Packet250CustomPayload packet = new Packet250CustomPayload();
\r
118 packet.channel = "chemicraft";
\r
119 packet.data = var1.toByteArray();
\r
120 packet.length = var1.size();
\r
121 packet.isChunkDataPacket = true;
\r
125 public static Packet getPacket(TileEntityToolAndWeaponCraftingTable tileEntity) {
\r
126 ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
\r
127 DataOutputStream var2 = new DataOutputStream(var1);
\r
133 x = tileEntity.xCoord;
\r
134 y = tileEntity.yCoord;
\r
135 z = tileEntity.zCoord;
\r
142 tileEntity.writePacket(var2);
\r
143 } catch (IOException e) {
\r
144 e.printStackTrace();
\r
148 Packet250CustomPayload packet = new Packet250CustomPayload();
\r
149 packet.channel = "chemicraft";
\r
150 packet.data = var1.toByteArray();
\r
151 packet.length = var1.size();
\r
152 packet.isChunkDataPacket = true;
\r
156 public static Packet getPacket(TileEntityChemicalCraftingTable tileEntity) {
\r
157 ByteArrayOutputStream var1 = new ByteArrayOutputStream(128);
\r
158 DataOutputStream var2 = new DataOutputStream(var1);
\r
164 x = tileEntity.xCoord;
\r
165 y = tileEntity.yCoord;
\r
166 z = tileEntity.zCoord;
\r
173 tileEntity.writePacket(var2);
\r
174 } catch (IOException e) {
\r
175 e.printStackTrace();
\r
179 Packet250CustomPayload packet = new Packet250CustomPayload();
\r
180 packet.channel = "chemicraft";
\r
181 packet.data = var1.toByteArray();
\r
182 packet.length = var1.size();
\r
183 packet.isChunkDataPacket = true;
\r