at least.. i have to write pages
(have some brainrot-shit code. it's only for some test)
This commit is contained in:
parent
8070765b14
commit
d3891cc364
@ -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;
|
||||
|
@ -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,12 +41,22 @@ 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);
|
||||
|
||||
return compound;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Bukkit.getLogger().warning(e.toString());
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public EntityPlayer getPlayer(Player player)
|
||||
{
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user