Advertisement
Exception_Prototype

GunsNBT

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