@Override
 public void readSpawnData(ByteArrayDataInput data) {
   returnStack = new ItemStack(data.readShort(), 1, 0);
   rotationYaw = data.readFloat();
   NBTTagCompound compound = new NBTTagCompound();
   NBTTagCompound toolTag = new NBTTagCompound();
   toolTag.setInteger("RenderHandle", data.readInt());
   toolTag.setInteger("RenderHead", data.readInt());
   toolTag.setInteger("RenderAccessory", data.readInt());
   switch (data.readInt()) {
     case 6:
       toolTag.setInteger("Effect6", data.readInt());
     case 5:
       toolTag.setInteger("Effect5", data.readInt());
     case 4:
       toolTag.setInteger("Effect4", data.readInt());
     case 3:
       toolTag.setInteger("Effect3", data.readInt());
     case 2:
       toolTag.setInteger("Effect2", data.readInt());
     case 1:
       toolTag.setInteger("Effect1", data.readInt());
   }
   compound.setCompoundTag("InfiTool", toolTag);
   returnStack.setTagCompound(compound);
 }
 @Override
 protected void readData(ByteArrayDataInput in) throws IOException {
   x = in.readInt();
   y = in.readShort();
   z = in.readInt();
   charge = in.readInt();
 }
  /**
   * method to handle packets that were sent to the server. mostly the same as above but with
   * different handling.
   *
   * @param manager
   * @param packet
   * @param player
   * @param dat
   * @param ID
   */
  public void handleServerPacket(
      Packet packet, EntityPlayer player, ByteArrayDataInput dat, short ID) {
    EntityPlayerMP thePlayer = (EntityPlayerMP) player;
    World world = thePlayer.worldObj;

    if (ID == 1) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp =
          (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      short var3 = dat.readShort();
      StringBuilder var4 = new StringBuilder();

      for (int var5 = 0; var5 < var3; var5++) {
        var4.append(dat.readChar());
      }

      String var6 = var4.toString();
      tpp.switchMob(var6, world);
      return;
    }

    if (ID == 2) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp =
          (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      short var3 = dat.readShort();
      StringBuilder var4 = new StringBuilder();

      for (int var5 = 0; var5 < var3; var5++) {
        var4.append(dat.readChar());
      }

      String var6 = var4.toString();
      tpp.switchPlayer(var6, world);
      return;
    }

    if (ID == 3) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        int usernameLength = dat.readInt();
        String username = "";

        for (int var2 = 0; var2 < usernameLength; var2++) {
          char c = dat.readChar();
          username = new StringBuilder().append(username).append(c).toString();
        }

        int playerUsernameLength = dat.readInt();
        String playerUsername = "";

        for (int var2 = 0; var2 < playerUsernameLength; var2++) {
          char c = dat.readChar();
          playerUsername = new StringBuilder().append(playerUsername).append(c).toString();
        }

        boolean bool = tpp.addPlayer(username);
        PacketSendManager.sendAddBooleanToClient(
            bool, coords[0], coords[1], coords[2], playerUsername);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 4) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        int usernameLength = dat.readInt();
        String username = "";

        for (int var2 = 0; var2 < usernameLength; var2++) {
          char c = dat.readChar();
          username = new StringBuilder().append(username).append(c).toString();
        }

        String playerUsername = "";
        int playerUsernameLength = dat.readInt();

        for (int var3 = 0; var3 < playerUsernameLength; var3++) {
          char c = dat.readChar();
          playerUsername = new StringBuilder().append(playerUsername).append(c).toString();
        }

        boolean bool = tpp.removePlayer(username);
        PacketSendManager.sendRemoveBooleanToClient(
            bool, coords[0], coords[1], coords[2], playerUsername);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 5) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 6) {
      int[] coords = new int[3];

      for (int var2 = 0; var2 < 3; var2++) {
        coords[var2] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        PacketSendManager.sendPressurePlateMobDataToClient(tpp);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
        PacketSendManager.sendSettingsDataToClient(tpp);
        PacketSendManager.sendChangedDataToClient(tpp);
      }

      return;
    }

    if (ID == 7) {
      PPRegistry.loggedIn = true;
    }

    if (ID == 8) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int index = dat.readInt();
        tpp.switchSetting(index);
      }

      return;
    }

    if (ID == 9) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int length = dat.readInt();
        StringBuilder sb = new StringBuilder();

        for (int var1 = 0; var1 < length; var1++) {
          sb.append(dat.readChar());
        }

        String s = sb.toString();
        tpp.password = s;
        PacketSendManager.sendPasswordSetToClient(tpp, player);
      }

      return;
    }

    if (ID == 10) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int length = dat.readInt();
        StringBuilder sb = new StringBuilder();

        for (int var1 = 0; var1 < length; var1++) {
          sb.append(dat.readChar());
        }

        String s = sb.toString();
        boolean b = tpp.password.matches(s);
        PacketSendManager.sendPasswordResponseToClient(tpp, b, thePlayer);
      }

      return;
    }

    if (ID == 11) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        PacketSendManager.sendPasswordToClient(tpp, thePlayer);
      }

      return;
    }

    if (ID == 12) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      int GuiID = dat.readInt();
      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        thePlayer.openGui(IronPP.instance, GuiID, world, tpp.xCoord, tpp.yCoord, tpp.zCoord);
      }

      return;
    }

    if (ID == 13) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      world.setBlockToAir(coords[0], coords[1], coords[2]);
    }
    if (ID == 14) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }
      TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
      if (te instanceof TileEntityPressurePlate) {
        ((TileEntityPressurePlate) te).maxOutput = dat.readInt();
        ((TileEntityPressurePlate) te).itemsForMax = dat.readInt();
        PacketSendManager.sendChangedDataToClient((TileEntityPressurePlate) te);
      }
    }
  }
  /**
   * this is a method for handling packets that were sent to the client.
   *
   * @param manager
   * @param packet
   * @param player
   * @param dat the data that it can read from
   * @param ID the packet ID
   */
  public void handleClientPacket(
      Packet packet, EntityPlayer player, ByteArrayDataInput dat, short ID) {
    EntityPlayer thePlayer = (EntityPlayer) player;
    World world = thePlayer.worldObj;

    if (world != null) {
      if (FMLClientHandler.instance().getClient().currentScreen instanceof GuiAPressurePlate) {
        if (ID == 1) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            ((EntityPlayerSP) thePlayer).closeScreen();
          }

          return;
        }

        if (ID == 2) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          int allowedmobs = dat.readInt();

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            for (int var1 = 0; var1 < allowedmobs; var1++) {
              boolean bool = dat.readBoolean();
              GuiAPressurePlate.enabled[var1] = bool;
            }
          }

          return;
        }

        if (ID == 3) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            GuiAPressurePlate.tpp.allowedPlayers.clear();
            int allowedPlayers = dat.readInt();
            {
              for (int var1 = 0; var1 < allowedPlayers; var1++) {
                short nameLength = dat.readShort();
                String username = "";

                for (int var2 = 0; var2 < nameLength; var2++) {
                  username = new StringBuilder().append(username).append(dat.readChar()).toString();
                }

                boolean bool = dat.readBoolean();
                GuiAPressurePlate.tpp.addPlayer(username);
                GuiAPressurePlate.tpp.setEnabledForPlayer(username, bool);
              }

              GuiAPressurePlate.lineUp();
            }
          }

          return;
        }

        if (ID == 4) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          int index = dat.readInt();

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            GuiAPressurePlate.switchbutton(index);
          }

          return;
        }

        if (ID == 11) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            if (GuiAPressurePlate.tpp.settings == null) {
              GuiAPressurePlate.tpp.registerSettings();
            }

            int var2 = dat.readInt();

            for (int var3 = 0; var3 < var2; var3++) {
              if (var3 <= GuiAPressurePlate.tpp.settings.size()) {
                GuiAPressurePlate.tpp.setSetting(var3, dat.readBoolean());
              }
            }

            GuiAPressurePlate.LineUpSettings();
          }

          return;
        }

        if (ID == 10) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            int var2 = dat.readInt();

            if (GuiAPressurePlate.tpp.settings.size() >= var2) {
              GuiAPressurePlate.tpp.switchSetting(var2);
            }
          }

          return;
        }
      }

      if (FMLClientHandler.instance().getClient().currentScreen instanceof GuiModifyPressurePlate) {
        if (ID == 1) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            ((EntityPlayerSP) thePlayer).closeScreen();
          }
        }

        if (ID == 3) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            GuiAPressurePlate.tpp.allowedPlayers.clear();
            int allowedPlayers = dat.readInt();
            {
              for (int var1 = 0; var1 < allowedPlayers; var1++) {
                short nameLength = dat.readShort();
                String username = "";

                for (int var2 = 0; var2 < nameLength; var2++) {
                  username = new StringBuilder().append(username).append(dat.readChar()).toString();
                }

                boolean bool = dat.readBoolean();
                GuiAPressurePlate.tpp.setEnabledForPlayer(username, bool);
              }

              GuiAPressurePlate.lineUp();
            }
          }

          return;
        }

        if (ID == 4) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          int index = dat.readInt();

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            GuiAPressurePlate.switchbutton(index);
          }

          return;
        }

        if (ID == 5) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            boolean bool = dat.readBoolean();
            int usernamelength = dat.readInt();
            String username = "";

            for (int var2 = 0; var2 < usernamelength; var2++) {
              char c = dat.readChar();
              username = new StringBuilder().append(username).append(c).toString();
            }

            if (thePlayer.getCommandSenderName().matches(username)) {
              if (bool) {
                GuiModifyPressurePlate.showText("Player added", 20);
              } else {
                GuiModifyPressurePlate.showText("Player is already in list", 20);
              }
            }
          }

          return;
        }

        if (ID == 6) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            boolean bool = dat.readBoolean();
            int usernamelength = dat.readInt();
            String username = "";

            for (int var2 = 0; var2 < usernamelength; var2++) {
              char c = dat.readChar();
              username = new StringBuilder().append(username).append(c).toString();
            }

            if (thePlayer.getCommandSenderName().matches(username)) {
              if (bool) {
                GuiModifyPressurePlate.showText("Player removed", 20);
              } else {
                GuiModifyPressurePlate.showText("Player is not in list", 20);
              }
            }
          }

          return;
        }

        if (ID == 10) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            int index = dat.readInt();

            if (GuiAPressurePlate.tpp.settings.size() >= index) {
              GuiAPressurePlate.tpp.switchSetting(index);
            }
          }

          return;
        }

        if (ID == 11) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          if (GuiAPressurePlate.tpp.xCoord == coords[0]
              && GuiAPressurePlate.tpp.yCoord == coords[1]
              && GuiAPressurePlate.tpp.zCoord == coords[2]) {
            if (GuiAPressurePlate.tpp.settings == null) {
              GuiAPressurePlate.tpp.registerSettings();
            }

            int var2 = dat.readInt();

            for (int var3 = 0; var3 < var2; var3++) {
              if (var3 <= GuiAPressurePlate.tpp.settings.size()) {
                GuiAPressurePlate.tpp.setSetting(var3, dat.readBoolean());
              }
            }

            GuiAPressurePlate.LineUpSettings();
          }

          return;
        }
      }

      if (FMLClientHandler.instance().getClient().currentScreen instanceof GuiPassword) {
        if (ID == 12) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          int length = dat.readInt();
          StringBuilder sb = new StringBuilder();

          for (int var1 = 0; var1 < length; var1++) {
            sb.append(dat.readChar());
          }

          String name = sb.toString();

          if (((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp != null
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.xCoord
                  == coords[0]
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.yCoord
                  == coords[1]
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.zCoord
                  == coords[2]) {
            if (name.matches(thePlayer.getCommandSenderName())) {
              GuiPassword gui = (GuiPassword) FMLClientHandler.instance().getClient().currentScreen;
              gui.enterGui();
            }
          }

          return;
        }

        if (ID == 13) {
          int coords[] = new int[3];

          for (int var1 = 0; var1 < 3; var1++) {
            coords[var1] = dat.readInt();
          }

          boolean b = dat.readBoolean();

          if (((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp != null
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.xCoord
                  == coords[0]
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.yCoord
                  == coords[1]
              && ((GuiPassword) FMLClientHandler.instance().getClient().currentScreen).tpp.zCoord
                  == coords[2]) {
            GuiPassword gui = (GuiPassword) FMLClientHandler.instance().getClient().currentScreen;

            if (b) {
              gui.enterGui();
            } else {
              GuiPassword.showText("Wrong Password!!!", 20);
            }
          }

          return;
        }

        if (ID == 15) {
          return;
        }

        if (ID == 18) {
          int guiID = dat.readInt();

          if (FMLClientHandler.instance().getClient().currentScreen != null
              && FMLClientHandler.instance().getClient().currentScreen instanceof GuiPassword) {
            GuiPassword gui = (GuiPassword) FMLClientHandler.instance().getClient().currentScreen;
            gui.set = guiID;
          }

          return;
        }
      }

      if (ID == 7) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        TileEntityPressurePlate tpp = null;

        if (te != null || te instanceof TileEntityPressurePlate) {
          tpp = (TileEntityPressurePlate) te;
        }

        int itemId = dat.readInt();
        int stackSize = dat.readInt();
        int itemDamage = dat.readInt();
        int dimension = dat.readInt();

        if (!PPRegistry.getContainsPressurePlate(coords[0], coords[1], coords[2], dimension)) {
          PPRegistry.addPressurePlate(coords[0], coords[1], coords[2], dimension, false, null);
        }

        if (itemId == 0 && stackSize == 0 & itemDamage == 0) {
          if (tpp != null) {
            tpp.item[0] = null;
          }

          PPRegistry.setItem(coords[0], coords[1], coords[2], dimension, null);
          world.markBlockForUpdate(coords[0], coords[1], coords[2]);
        } else {
          if (tpp != null) {
            tpp.item[0] = new ItemStack(Item.getItemById(itemId), stackSize, itemDamage);
          }

          PPRegistry.setItem(
              coords[0],
              coords[1],
              coords[2],
              dimension,
              new ItemStack(Item.getItemById(itemId), stackSize, itemDamage));
          world.markBlockForUpdate(coords[0], coords[1], coords[2]);
        }

        return;
      }

      if (ID == 8) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        TileEntityPressurePlate tpp = null;

        if (te == null || !(te instanceof TileEntityPressurePlate)) {
          world.setTileEntity(coords[0], coords[1], coords[2], new TileEntityPressurePlate());
          tpp = (TileEntityPressurePlate) te;
        } else {
          tpp = (TileEntityPressurePlate) te;
        }

        if (tpp != null) {
          tpp.currentOutput = dat.readInt();
        }

        world.markBlockForUpdate(coords[0], coords[1], coords[2]);
        return;
      }

      if (ID == 9) {
        PPRegistry.sendToServer = true;
        return;
      }

      if (ID == 11) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        TileEntityPressurePlate tpp = null;

        if (te != null || te instanceof TileEntityPressurePlate) {
          tpp = (TileEntityPressurePlate) te;
        }

        if (tpp != null) {
          if (tpp.xCoord == coords[0] && tpp.yCoord == coords[1] && tpp.zCoord == coords[2]) {
            if (tpp.settings == null) {
              tpp.registerSettings();
            }

            int var2 = dat.readInt();

            for (int var3 = 0; var3 < var2; var3++) {
              if (var3 <= tpp.settings.size()) {
                tpp.setSetting(var3, dat.readBoolean());
              }
            }
          }
        }

        return;
      }

      if (ID == 12) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        int length = dat.readInt();
        StringBuilder sb = new StringBuilder();

        for (int var1 = 0; var1 < length; var1++) {
          sb.append(dat.readChar());
        }

        sb.toString();
        return;
      }

      if (ID == 14) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        if (te != null || te instanceof TileEntityPressurePlate) {}

        int dimension = dat.readInt();

        if (!PPRegistry.getContainsPressurePlate(coords[0], coords[1], coords[2], dimension)) {
          PPRegistry.addPressurePlate(coords[0], coords[1], coords[2], dimension, false, null);
        }

        PPRegistry.setUsesPassword(coords[0], coords[1], coords[2], dimension, dat.readBoolean());
        return;
      }

      if (ID == 16) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        TileEntityPressurePlate tpp = null;

        if (te != null || te instanceof TileEntityPressurePlate) {
          tpp = (TileEntityPressurePlate) te;
        }

        int dimension = dat.readInt();

        if (tpp != null) {
          PPRegistry.removePressurePlate(tpp, dimension);
        }

        return;
      }

      if (ID == 17) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        TileEntityPressurePlate tpp = null;

        if (te != null || te instanceof TileEntityPressurePlate) {
          tpp = (TileEntityPressurePlate) te;
        }

        int dimension = dat.readInt();

        if (tpp != null) {
          PPRegistry.addPressurePlate(tpp, dimension);
        }

        return;
      }
      if (ID == 19) {
        int coords[] = new int[3];

        for (int var1 = 0; var1 < 3; var1++) {
          coords[var1] = dat.readInt();
        }

        TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
        if (te instanceof TileEntityPressurePlate) {
          if (!(FMLClientHandler.instance().getClient().currentScreen
              instanceof GuiAPressurePlate)) {
            ((TileEntityPressurePlate) te).maxOutput = dat.readInt();
            ((TileEntityPressurePlate) te).itemsForMax = dat.readInt();
          } else if (GuiAPressurePlate.tpp != te || GuiAPressurePlate.hasData == false) {
            ((TileEntityPressurePlate) te).maxOutput = dat.readInt();
            ((TileEntityPressurePlate) te).itemsForMax = dat.readInt();
            GuiAPressurePlate.hasData = true;
          }
        }
      }
    }
  }
示例#5
0
 @Override
 public Object read(ByteArrayDataInput dat) {
   return dat.readShort();
 }