Advertisement
turt2live

inventory()

Nov 5th, 2011
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.75 KB | None | 0 0
  1. // The error is somewhere here
  2.     public void inventory(Player player, String world, String fromWorld){
  3.         File inventoryFile = new File("plugins/Inventory/"+player.getName()+"_"+world+".INVENTORY");
  4.         if(!inventoryFile.exists()){ //Check for inventory file
  5.             try{
  6.                 //Populate it (if it doesn't exist)
  7.                 BufferedWriter out = new BufferedWriter(new FileWriter(inventoryFile, false));
  8.                 for(int i=0;i<36;i++){
  9.                     out.write(i+"..0..0..0\r\n");
  10.                 }
  11.                 out.write("BOOTS..0..0..0\r\n");
  12.                 out.write("CHEST..0..0..0\r\n");
  13.                 out.write("LEGS..0..0..0\r\n");
  14.                 out.write("HELM..0..0..0\r\n");
  15.                 out.close();
  16.             }catch (Exception e){
  17.                 ChatLog.log_error(e.getMessage());
  18.             }
  19.         }
  20.         try{
  21.             // Load current inventory into file
  22.             BufferedWriter out = new BufferedWriter(new FileWriter(new File("plugins/Inventory/"+player.getName()+"_"+fromWorld+".INVENTORY"), false));
  23.             for(int i=0;i<36;i++){
  24.                 ItemStack item = player.getInventory().getItem(i);
  25.                 int slot = i;
  26.                 int ID = 0;
  27.                 int amount = 0;
  28.                 int durability = 0;
  29.                 if(item!=null){
  30.                     ID = item.getTypeId();
  31.                     amount = item.getAmount();
  32.                     durability = item.getDurability();
  33.                 }
  34.                 out.write(slot+".."+ID+".."+amount+".."+durability+"\r\n");
  35.             }
  36.             // Do armor
  37.             ItemStack item = player.getInventory().getBoots();
  38.             out.write("BOOTS.."+item.getTypeId()+".."+item.getAmount()+".."+item.getDurability()+"\r\n");
  39.             item = player.getInventory().getChestplate();
  40.             out.write("CHEST.."+item.getTypeId()+".."+item.getAmount()+".."+item.getDurability()+"\r\n");
  41.             item = player.getInventory().getLeggings();
  42.             out.write("LEGS.."+item.getTypeId()+".."+item.getAmount()+".."+item.getDurability()+"\r\n");
  43.             item = player.getInventory().getHelmet();
  44.             out.write("HELM.."+item.getTypeId()+".."+item.getAmount()+".."+item.getDurability()+"\r\n");
  45.             out.close();
  46.         }catch (Exception e){
  47.             ChatLog.log_error(e.getMessage());
  48.         }
  49.         // Wipe inventory (for my purposes)
  50.         for(int i=0;i<36;i++){
  51.             player.getInventory().setItem(i, new ItemStack(0, 0));
  52.         }
  53.         // Wipe armor off
  54.         player.getInventory().setBoots(new ItemStack(0, 0));
  55.         player.getInventory().setChestplate(new ItemStack(0, 0));
  56.         player.getInventory().setLeggings(new ItemStack(0, 0));
  57.         player.getInventory().setHelmet(new ItemStack(0, 0));
  58.         try{
  59.             // Load new inventory
  60.             BufferedReader in = new BufferedReader(new FileReader(inventoryFile));
  61.             String line;
  62.             while((line = in.readLine()) != null){
  63.                 // Split line to it's parts
  64.                 String item[] = line.replaceAll("\\\r\\\n", "").split("\\.\\.");
  65.                 if(!item[0].equalsIgnoreCase("boots") &&
  66.                     !item[0].equalsIgnoreCase("chest") &&
  67.                     !item[0].equalsIgnoreCase("legs") &&
  68.                     !item[0].equalsIgnoreCase("helm")){ //EndIfCall
  69.                     //Is Item...
  70.                     int slot = Integer.parseInt(item[0]);
  71.                     int ID = Integer.parseInt(item[1]);
  72.                     int amount = Integer.parseInt(item[2]);
  73.                     short durability = Short.parseShort(item[3]);
  74.                     ItemStack invItem = new ItemStack(ID, amount);
  75.                     invItem.setDurability(durability);
  76.                     player.getInventory().setItem(slot, invItem);  
  77.                 }else{ //Is armor
  78.                     if(item[0].equalsIgnoreCase("boots")){
  79.                         int ID = Integer.parseInt(item[1]);
  80.                         int amount = Integer.parseInt(item[2]);
  81.                         short durability = Short.parseShort(item[3]);
  82.                         ItemStack invItem = new ItemStack(ID, amount);
  83.                         invItem.setDurability(durability);
  84.                         player.getInventory().setBoots(invItem);
  85.                     }else if(item[0].equalsIgnoreCase("chest")){
  86.                         int ID = Integer.parseInt(item[1]);
  87.                         int amount = Integer.parseInt(item[2]);
  88.                         short durability = Short.parseShort(item[3]);
  89.                         ItemStack invItem = new ItemStack(ID, amount);
  90.                         invItem.setDurability(durability);
  91.                         player.getInventory().setChestplate(invItem);
  92.                     }else if(item[0].equalsIgnoreCase("legs")){
  93.                         int ID = Integer.parseInt(item[1]);
  94.                         int amount = Integer.parseInt(item[2]);
  95.                         short durability = Short.parseShort(item[3]);
  96.                         ItemStack invItem = new ItemStack(ID, amount);
  97.                         invItem.setDurability(durability);
  98.                         player.getInventory().setLeggings(invItem);
  99.                     }else if(item[0].equalsIgnoreCase("helm")){
  100.                         int ID = Integer.parseInt(item[1]);
  101.                         int amount = Integer.parseInt(item[2]);
  102.                         short durability = Short.parseShort(item[3]);
  103.                         ItemStack invItem = new ItemStack(ID, amount);
  104.                         invItem.setDurability(durability);
  105.                         player.getInventory().setHelmet(invItem);
  106.                     }
  107.                 }
  108.             }
  109.             in.close();
  110.         }catch (Exception e){
  111.             ChatLog.log_error(e.getMessage());
  112.         }
  113.         //End inventory,
  114.         /*
  115.             The code can reach all of the code just fine, but does not give the right inventory (in fact it stays wiped). The code also throws no errors if I were to spam this thing with debug statements.
  116.         */
  117.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement