Advertisement
Exception_Prototype

GunsNBT

Jul 29th, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1.  //Погнали сохранять!
  2.     public void saveGuns(File path){
  3.         ItemStack[] guns = ... //где то ты там их получил.
  4.         NBTTagCompound GUNS = new NBTTagCompound();
  5.         NBTTagList nbtGuns = new NBTTagList();
  6.         for(ItemStack gun : guns){
  7.             nbtGuns.add(toNBT(gun));
  8.         }
  9.         GUNS.set("guns", nbtGuns);
  10.         saveNBTTagToFile(GUNS, path);
  11.     }
  12.    
  13.     public void loadingGuns(){
  14.         //Загрузку плез догадайся сам сделать.
  15.     }
  16.    
  17.     //Сохранение в тэг
  18.     public NBTTagCompound void toNBT(ItemStack item) {
  19.         NBTTagCompound outputObject = new NBTTagCompound();
  20.         CraftItemStack craft = getCraftVersion(item);
  21.         CraftItemStack.asNMSCopy(craft).save(outputObject);
  22.     }
  23.    
  24.     //Загрузка из тэга
  25.     public ItemStack fromNBT(NBTTagCompound inputObject) {
  26.         net.minecraft.server.v1_12_R1.ItemStack item = new net.minecraft.server.v1_12_R1.ItemStack(inputObject);
  27.         return CraftItemStack.asBukkitCopy(item);
  28.     }
  29.    
  30.     //Сохранение тэга со всеми предмеми в файл
  31.     public void saveNBTTagToFile(NBTTagCompound nbt, File path) {
  32.         try {
  33.             NBTCompressedStreamTools.a(nbt, new FileOutputStream(path.getAbsolutePath()));
  34.         } catch (IOException ex) {
  35.             LOGGER.log(Level.SEVERE, CONSOLE_PREFIX + "Could not save guns to file.", ex);
  36.         }
  37.     }
  38.  
  39.     //Загрузка тэга со всеми предметами из файла
  40.     public NBTTagCompound loadNBTTagFromFile(File path) {
  41.         NBTTagCompound ngt = null;
  42.         try {
  43.             ngt = NBTCompressedStreamTools.a(new FileInputStream(path));
  44.         } catch (IOException ex) {
  45.             LOGGER.log(Level.SEVERE, CONSOLE_PREFIX + "Could not load guns from file.");
  46.         }
  47.         return ngt;
  48.     }
  49.    
  50.     public CraftItemStack getCraftVersion(ItemStack stack) {
  51.         if (stack instanceof CraftItemStack) {
  52.             return (CraftItemStack) stack;
  53.         } else if (stack != null) {
  54.             return CraftItemStack.asCraftCopy(stack);
  55.         } else {
  56.             return null;
  57.         }
  58.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement