at least.. i have to write pages

(have some brainrot-shit code. it's only for some test)
This commit is contained in:
ScriptCat 2025-07-25 00:24:43 +03:00
parent 8070765b14
commit d3891cc364
5 changed files with 49 additions and 44 deletions

View File

@ -6,7 +6,9 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import tokarotik.giftapi.APIManager;
import tokarotik.giftapi.savemanager.BasicNBT;
import tokarotik.giftapi.savemanager.NBTManager;
import tokarotik.giftapi.savemanager.item.ItemGame;
public class GiftCommand implements CommandExecutor {
@ -27,6 +29,12 @@ public class GiftCommand implements CommandExecutor {
new NBTManager("world").write((Player) sender);
BasicNBT nbt = new BasicNBT("world");
System.out.println(nbt.readPlayerNBT(nbt.getPlayer((Player) sender)).getCompound("giftapi"));
((Player) sender).getInventory().addItem(new ItemGame(nbt.readPlayerNBT(nbt.getPlayer((Player) sender)).getCompound("giftapi")).getItem());
this.apiManager.openInventory((Player) sender);
return true;

View File

@ -9,6 +9,7 @@ import org.bukkit.entity.Player;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
public class BasicNBT {
@ -40,11 +41,21 @@ public class BasicNBT {
public NBTTagCompound readPlayerNBT(EntityPlayer entityPlayer)
{
NBTTagCompound compound = new NBTTagCompound();
try
{
FileInputStream in = new FileInputStream(this.path + "\\players\\" + entityPlayer.getName() + ".dat");
NBTTagCompound compound = NBTCompressedStreamTools.a(in);
entityPlayer.e(compound);
entityPlayer.e(compound);
return compound;
return compound;
}
catch(Exception e)
{
Bukkit.getLogger().warning(e.toString());
return null;
}
}
public EntityPlayer getPlayer(Player player)

View File

@ -2,15 +2,15 @@ package tokarotik.giftapi.savemanager;
import net.minecraft.server.v1_6_R3.EntityPlayer;
import net.minecraft.server.v1_6_R3.NBTTagCompound;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import tokarotik.giftapi.savemanager.item.ItemNBTTag;
import java.util.Arrays;
import java.util.List;
import tokarotik.giftapi.savemanager.item.ItemManager;
public class NBTManager
{
private BasicNBT basicNBT;
@ -26,7 +26,7 @@ public class NBTManager
EntityPlayer entityPlayer = this.basicNBT.getPlayer(player);
NBTTagCompound tag = this.basicNBT.readPlayerNBT(entityPlayer);
ItemStack item = new ItemStack(39, 1);
ItemStack item = new ItemStack(Material.COAL_BLOCK, 1);
ItemMeta metaItem = item.getItemMeta();
@ -38,10 +38,9 @@ public class NBTManager
item.setItemMeta(metaItem);
ItemManager itemManager = new ItemManager(item);
itemManager.getTag();
ItemNBTTag itemManager = new ItemNBTTag(item);
tag.setCompound("giftapi", itemManager.tag);
tag.setCompound("giftapi", itemManager.getTag());
System.out.println("OUTPUT" + tag);

View File

@ -1,9 +1,14 @@
package tokarotik.giftapi.savemanager.item;
import net.minecraft.server.v1_6_R3.NBTTagList;
import net.minecraft.server.v1_6_R3.NBTTagString;
import org.bukkit.inventory.ItemStack;
import net.minecraft.server.v1_6_R3.NBTTagCompound;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.Arrays;
import java.util.List;
public class ItemGame
{
@ -21,7 +26,7 @@ public class ItemGame
getId(), getCount(), getDurability()
);
ItemMeta meta = item.getItemMeta();
item.setItemMeta(setMeta(item.getItemMeta())); // тут чехорда. с начало сет айтем, после сет мета, а в самом конце гет мета
return item;
@ -69,15 +74,28 @@ public class ItemGame
}
if (metaNBT.hasKey("lore"))
{
//meta.setLore();
meta.setLore(
NBTListToStringList(
metaNBT.getList("lore")
)
);
}
}
return meta;
}
private void NBTCompountToStringList(NBTTagCompound nbt)
private List<String> NBTListToStringList(NBTTagList nbt)
{
return; // it will fill
String[] list = new String[nbt.size()];
for (int i = 0; i < nbt.size(); i++)
{
NBTTagString base = (NBTTagString) nbt.get(i);
list[i] = base.data;
}
return Arrays.asList(list);
}
}

View File

@ -1,31 +0,0 @@
package tokarotik.giftapi.savemanager.item;
import net.minecraft.server.v1_6_R3.NBTTagCompound;
import org.bukkit.inventory.ItemStack;
//import org.bukkit.inventory.ItemStack;
//import org.bukkit.inventory.meta.ItemMeta;
public class ItemManager
{
public ItemStack item;
public NBTTagCompound tag;
public ItemManager(ItemStack item)
{
this.item = item;
}
public ItemManager(NBTTagCompound tag)
{
this.tag = tag;
}
public void getTag()
{
ItemNBTTag item = new ItemNBTTag(this.item);
this.tag = item.getTag();
}
}