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 org.bukkit.entity.Player;
|
||||||
|
|
||||||
import tokarotik.giftapi.APIManager;
|
import tokarotik.giftapi.APIManager;
|
||||||
|
import tokarotik.giftapi.savemanager.BasicNBT;
|
||||||
import tokarotik.giftapi.savemanager.NBTManager;
|
import tokarotik.giftapi.savemanager.NBTManager;
|
||||||
|
import tokarotik.giftapi.savemanager.item.ItemGame;
|
||||||
|
|
||||||
public class GiftCommand implements CommandExecutor {
|
public class GiftCommand implements CommandExecutor {
|
||||||
|
|
||||||
@ -27,6 +29,12 @@ public class GiftCommand implements CommandExecutor {
|
|||||||
|
|
||||||
new NBTManager("world").write((Player) sender);
|
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);
|
this.apiManager.openInventory((Player) sender);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -9,6 +9,7 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
|
||||||
public class BasicNBT {
|
public class BasicNBT {
|
||||||
|
|
||||||
@ -40,12 +41,22 @@ public class BasicNBT {
|
|||||||
|
|
||||||
public NBTTagCompound readPlayerNBT(EntityPlayer entityPlayer)
|
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)
|
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.EntityPlayer;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import tokarotik.giftapi.savemanager.item.ItemNBTTag;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import tokarotik.giftapi.savemanager.item.ItemManager;
|
|
||||||
|
|
||||||
public class NBTManager
|
public class NBTManager
|
||||||
{
|
{
|
||||||
private BasicNBT basicNBT;
|
private BasicNBT basicNBT;
|
||||||
@ -26,7 +26,7 @@ public class NBTManager
|
|||||||
EntityPlayer entityPlayer = this.basicNBT.getPlayer(player);
|
EntityPlayer entityPlayer = this.basicNBT.getPlayer(player);
|
||||||
NBTTagCompound tag = this.basicNBT.readPlayerNBT(entityPlayer);
|
NBTTagCompound tag = this.basicNBT.readPlayerNBT(entityPlayer);
|
||||||
|
|
||||||
ItemStack item = new ItemStack(39, 1);
|
ItemStack item = new ItemStack(Material.COAL_BLOCK, 1);
|
||||||
|
|
||||||
ItemMeta metaItem = item.getItemMeta();
|
ItemMeta metaItem = item.getItemMeta();
|
||||||
|
|
||||||
@ -38,10 +38,9 @@ public class NBTManager
|
|||||||
|
|
||||||
item.setItemMeta(metaItem);
|
item.setItemMeta(metaItem);
|
||||||
|
|
||||||
ItemManager itemManager = new ItemManager(item);
|
ItemNBTTag itemManager = new ItemNBTTag(item);
|
||||||
itemManager.getTag();
|
|
||||||
|
|
||||||
tag.setCompound("giftapi", itemManager.tag);
|
tag.setCompound("giftapi", itemManager.getTag());
|
||||||
|
|
||||||
System.out.println("OUTPUT" + tag);
|
System.out.println("OUTPUT" + tag);
|
||||||
|
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
package tokarotik.giftapi.savemanager.item;
|
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 org.bukkit.inventory.ItemStack;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ItemGame
|
public class ItemGame
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -21,7 +26,7 @@ public class ItemGame
|
|||||||
getId(), getCount(), getDurability()
|
getId(), getCount(), getDurability()
|
||||||
);
|
);
|
||||||
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
item.setItemMeta(setMeta(item.getItemMeta())); // тут чехорда. с начало сет айтем, после сет мета, а в самом конце гет мета
|
||||||
|
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
@ -69,15 +74,28 @@ public class ItemGame
|
|||||||
}
|
}
|
||||||
if (metaNBT.hasKey("lore"))
|
if (metaNBT.hasKey("lore"))
|
||||||
{
|
{
|
||||||
//meta.setLore();
|
meta.setLore(
|
||||||
|
NBTListToStringList(
|
||||||
|
metaNBT.getList("lore")
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return meta;
|
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