Advertisement
Guest User

Packet Handler

a guest
Feb 24th, 2013
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.34 KB | None | 0 0
  1. package advancedscience.core;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import java.io.DataInputStream;
  5. import java.io.IOException;
  6.  
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.network.INetworkManager;
  9. import net.minecraft.network.packet.Packet250CustomPayload;
  10. import net.minecraft.world.World;
  11. import advancedscience.research.TileEntityResearchTable;
  12. import cpw.mods.fml.common.network.IPacketHandler;
  13. import cpw.mods.fml.common.network.PacketDispatcher;
  14. import cpw.mods.fml.common.network.Player;
  15.  
  16. public class PacketHandler implements IPacketHandler {
  17.  
  18.     @Override
  19.     public void onPacketData(INetworkManager manager,
  20.                     Packet250CustomPayload packet, Player player) {
  21.            
  22.             if (packet.channel.equals("DanielScienceGui")) {
  23.                     handleGui(packet, player);
  24.             }
  25.     }
  26.    
  27.     private void handleGui(Packet250CustomPayload packet, Player player) {         
  28.         DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(packet.data));
  29.            
  30.            EntityPlayer entityPlayer = (EntityPlayer) player;
  31.            World world = entityPlayer.worldObj;    
  32.            
  33.         if(world.isRemote) System.out.println("@World is remote.");
  34.         if(!world.isRemote) System.out.println("@World is not remote.");
  35.            
  36.            int xCoord;
  37.            int yCoord;
  38.            int zCoord;
  39.            String action;
  40.            
  41.            try {
  42.                    xCoord = inputStream.readInt();
  43.                    yCoord = inputStream.readInt();
  44.                    zCoord = inputStream.readInt();
  45.                    action = inputStream.readUTF();
  46.            } catch (IOException e) {
  47.                    e.printStackTrace();
  48.                    return;
  49.            }
  50.            System.out.println(xCoord + " " + yCoord + " " + zCoord + " " + action);
  51.            System.out.println(action.substring(0, 5));
  52.            
  53.            if(action.substring(0, 5).equals("rsach")){
  54.                TileEntityResearchTable tileEntity = (TileEntityResearchTable)world.getBlockTileEntity(xCoord, yCoord, zCoord);
  55.                tileEntity.recieveResearchCommand(Integer.parseInt(action.substring(action.length() - 3, action.length())));
  56.            }
  57.            
  58.             if(!world.isRemote){
  59.                 PacketDispatcher.sendPacketToServer(packet);
  60.             }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement