i need more bullets
i think i will delete NBTManager.java
This commit is contained in:
parent
cfb573e376
commit
f347c01426
@ -17,10 +17,10 @@ public class APIManager {
|
||||
this.plugin = plugin;
|
||||
|
||||
this.inventoryManager = new InventoryManager(
|
||||
config.getString(ConfigPaths.GUINAME, "GiftAPI Menu"),
|
||||
config.getString(ConfigPaths.GUIRIGHT, "<<right"),
|
||||
config.getString(ConfigPaths.GUILEFT, "left>>"),
|
||||
config.getString(ConfigPaths.GUIEXIT, "quit")
|
||||
ConfigPaths.getWithColor(config, ConfigPaths.GUINAME, "GiftAPI Menu"),
|
||||
ConfigPaths.getWithColor(config, ConfigPaths.GUIRIGHT, "<<right"),
|
||||
ConfigPaths.getWithColor(config, ConfigPaths.GUILEFT, "left>>"),
|
||||
ConfigPaths.getWithColor(config, ConfigPaths.GUIEXIT, "quit")
|
||||
);
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(this.inventoryManager, this.plugin);
|
||||
|
@ -1,9 +1,17 @@
|
||||
package tokarotik.giftapi;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
public class ConfigPaths {
|
||||
public static final String DEVTEST = "dev-test";
|
||||
public static final String GUINAME = "gui.title-menu";
|
||||
public static final String GUIRIGHT = "gui.buttons.right-name";
|
||||
public static final String GUILEFT = "gui.buttons.left-name";
|
||||
public static final String GUIEXIT = "gui.buttons.exit-name";
|
||||
|
||||
public static String getWithColor(FileConfiguration config, String path, String defaul)
|
||||
{
|
||||
return ChatColor.translateAlternateColorCodes('&', config.getString(path, defaul));
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,8 @@
|
||||
package tokarotik.giftapi;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import tokarotik.giftapi.dev.GiftCommand;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package tokarotik.giftapi.savemanager;
|
||||
package tokarotik.giftapi.NBT;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.EntityPlayer;
|
||||
import net.minecraft.server.v1_6_R3.NBTCompressedStreamTools;
|
||||
@ -13,7 +13,7 @@ import java.io.FileInputStream;
|
||||
|
||||
public class BasicNBT {
|
||||
|
||||
private String path;
|
||||
private final String path;
|
||||
|
||||
public BasicNBT(String world)
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
package tokarotik.giftapi.savemanager;
|
||||
package tokarotik.giftapi.NBT;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.EntityPlayer;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
@ -0,0 +1,40 @@
|
||||
package tokarotik.giftapi.NBT;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.EntityPlayer;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class WorldNBTSynchronizer
|
||||
{
|
||||
public static String getWorld(EntityPlayer entityPlayer, String worldName)
|
||||
{
|
||||
BasicNBT basicNBT = new BasicNBT(worldName);
|
||||
|
||||
return worldName;
|
||||
}
|
||||
|
||||
private static boolean hasPlayer(String playerName, String worldName)
|
||||
{
|
||||
World world = Bukkit.getWorld(worldName);
|
||||
|
||||
for (Player player : world.getPlayers())
|
||||
{
|
||||
if (player.getName() == playerName) { return true; }
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean hasGiftApiNBT(EntityPlayer entityPlayer, String worldName)
|
||||
{
|
||||
BasicNBT basicNBT = new BasicNBT(worldName);
|
||||
|
||||
NBTTagCompound tag = basicNBT.readPlayerNBT(entityPlayer);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package tokarotik.giftapi.savemanager.item;
|
||||
package tokarotik.giftapi.NBT.item;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagString;
|
@ -1,4 +1,4 @@
|
||||
package tokarotik.giftapi.savemanager.item;
|
||||
package tokarotik.giftapi.NBT.item;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
113
src/main/java/tokarotik/giftapi/NBT/page/PageManager.java
Normal file
113
src/main/java/tokarotik/giftapi/NBT/page/PageManager.java
Normal file
@ -0,0 +1,113 @@
|
||||
package tokarotik.giftapi.NBT.page;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import tokarotik.giftapi.NBT.page.page.Page;
|
||||
|
||||
public class PageManager
|
||||
{
|
||||
|
||||
private NBTTagList tag;
|
||||
private final int max_stack;
|
||||
|
||||
public PageManager(NBTTagList tag, int max_stack)
|
||||
{
|
||||
this.tag = tag;
|
||||
this.max_stack = max_stack;
|
||||
}
|
||||
|
||||
public PageManager(int max_stack)
|
||||
{
|
||||
this.max_stack = max_stack;
|
||||
}
|
||||
|
||||
public NBTTagList getTag()
|
||||
{
|
||||
return this.tag;
|
||||
}
|
||||
|
||||
public void setTag(NBTTagList tag)
|
||||
{
|
||||
this.tag = tag;
|
||||
}
|
||||
|
||||
public boolean add(ItemStack item)
|
||||
{
|
||||
Page page = getPageWithEmptySlots();
|
||||
|
||||
boolean is_added = page.add(item);
|
||||
boolean is_updated = updateTag(page);
|
||||
|
||||
return is_added && is_updated;
|
||||
}
|
||||
|
||||
public boolean remove(ItemStack item)
|
||||
{
|
||||
Page page = getPageWithEmptySlots();
|
||||
|
||||
boolean is_removed = page.remove(item);
|
||||
boolean is_updated = updateTag(page);
|
||||
|
||||
return is_removed && is_updated;
|
||||
}
|
||||
|
||||
public Page getPage(int number)
|
||||
{
|
||||
if (number > 0 && number < this.tag.size())
|
||||
{
|
||||
NBTTagList tag = (NBTTagList) this.tag.get(number);
|
||||
|
||||
return new Page(tag, this.max_stack, number);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Page getPageWithEmptySlots()
|
||||
{
|
||||
for (int i = 0; i < tag.size(); i++)
|
||||
{
|
||||
|
||||
Page page = new Page( (NBTTagList) tag.get(i), this.max_stack, i);
|
||||
|
||||
if (!page.isOverStacked())
|
||||
{
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
Page page = new Page(this.max_stack);
|
||||
page.setNumber(tag.size());
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
public boolean updateTag(Page page)
|
||||
{
|
||||
Integer page_number = page.getNumber();
|
||||
|
||||
if (page_number == null) { return false; }
|
||||
|
||||
NBTTagList new_tag = new NBTTagList();
|
||||
|
||||
for (int i = 0; i < tag.size(); i++)
|
||||
{
|
||||
NBTTagList pageNBT = (NBTTagList) tag.get(i);
|
||||
|
||||
if (page_number == i)
|
||||
{
|
||||
pageNBT = page.getTag();
|
||||
}
|
||||
|
||||
new_tag.add(pageNBT);
|
||||
}
|
||||
|
||||
this.tag = new_tag;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
22
src/main/java/tokarotik/giftapi/NBT/page/PagesSaver.java
Normal file
22
src/main/java/tokarotik/giftapi/NBT/page/PagesSaver.java
Normal file
@ -0,0 +1,22 @@
|
||||
package tokarotik.giftapi.NBT.page;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PagesSaver
|
||||
{
|
||||
final PageManager pageManager;
|
||||
final Player player;
|
||||
//final BasicNBT basicNBT;
|
||||
|
||||
public PagesSaver(Player player, int max_stack)
|
||||
{
|
||||
this.pageManager = new PageManager(max_stack);
|
||||
this.player = player;
|
||||
//this.basicNBT = new BasicNBT();
|
||||
}
|
||||
|
||||
public void loadNBT()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
package tokarotik.giftapi.savemanager.page;
|
||||
package tokarotik.giftapi.NBT.page.page;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import tokarotik.giftapi.savemanager.item.ItemNBT;
|
||||
import tokarotik.giftapi.NBT.item.ItemNBT;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -11,12 +11,22 @@ import java.util.List;
|
||||
|
||||
public class Page
|
||||
{
|
||||
public final int max_stack;
|
||||
public NBTTagList tag;
|
||||
private final int max_stack;
|
||||
private NBTTagList tag;
|
||||
|
||||
public Integer number;
|
||||
|
||||
public Page(int max_stack)
|
||||
{
|
||||
this.max_stack = max_stack;
|
||||
this.tag = new NBTTagList();
|
||||
}
|
||||
|
||||
public Page(NBTTagList tag, int max_stack, int number)
|
||||
{
|
||||
this.tag = tag;
|
||||
this.max_stack = max_stack;
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public boolean add(ItemStack item) {
|
||||
@ -46,11 +56,26 @@ public class Page
|
||||
return false;
|
||||
}
|
||||
|
||||
public NBTTagList getTag()
|
||||
{
|
||||
return this.tag;
|
||||
}
|
||||
|
||||
public void setTag(NBTTagList tag)
|
||||
{
|
||||
this.tag = tag;
|
||||
}
|
||||
|
||||
public ItemStack[] getList()
|
||||
{
|
||||
return PageUtil.reverse(PageUtil.getRawList(this.tag));
|
||||
}
|
||||
|
||||
public boolean isEmpty()
|
||||
{
|
||||
return this.tag.size() == 0;
|
||||
}
|
||||
|
||||
public boolean isOverStacked()
|
||||
{
|
||||
return this.tag.size() < this.max_stack;
|
||||
@ -68,4 +93,14 @@ public class Page
|
||||
|
||||
return new ItemStack[]{};
|
||||
}
|
||||
|
||||
public Integer getNumber()
|
||||
{
|
||||
return this.number;
|
||||
}
|
||||
|
||||
public void setNumber(int number)
|
||||
{
|
||||
this.number = number;
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
package tokarotik.giftapi.savemanager.page;
|
||||
package tokarotik.giftapi.NBT.page.page;
|
||||
|
||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import tokarotik.giftapi.savemanager.item.ItemLoad;
|
||||
import tokarotik.giftapi.savemanager.item.ItemNBT;
|
||||
import tokarotik.giftapi.NBT.item.ItemLoad;
|
||||
import tokarotik.giftapi.NBT.item.ItemNBT;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
@ -6,7 +6,7 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import tokarotik.giftapi.APIManager;
|
||||
import tokarotik.giftapi.savemanager.NBTManager;
|
||||
import tokarotik.giftapi.NBT.NBTManager;
|
||||
|
||||
public class GiftCommand implements CommandExecutor {
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
package tokarotik.giftapi.savemanager.page;
|
||||
|
||||
public class PageManager
|
||||
{
|
||||
public PageManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,14 +1,16 @@
|
||||
# Colors you can see here https://htmlcolorcodes.com/minecraft-color-codes/
|
||||
# Set Names Only In English
|
||||
# For colors:
|
||||
# do not use § use only &
|
||||
|
||||
|
||||
# Will turn command /gift for dev. test
|
||||
dev-test: true
|
||||
|
||||
gui:
|
||||
# Set Title Only In English
|
||||
# Max title length is 32 letters
|
||||
title-menu: "Set Your Title In Config"
|
||||
|
||||
buttons:
|
||||
right-name: ">"
|
||||
left-name: "<"
|
||||
exit-name: "Exit"
|
||||
right-name: "&6>"
|
||||
left-name: "&6<"
|
||||
exit-name: "&4Exit"
|
Loading…
x
Reference in New Issue
Block a user