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.plugin = plugin;
|
||||||
|
|
||||||
this.inventoryManager = new InventoryManager(
|
this.inventoryManager = new InventoryManager(
|
||||||
config.getString(ConfigPaths.GUINAME, "GiftAPI Menu"),
|
ConfigPaths.getWithColor(config, ConfigPaths.GUINAME, "GiftAPI Menu"),
|
||||||
config.getString(ConfigPaths.GUIRIGHT, "<<right"),
|
ConfigPaths.getWithColor(config, ConfigPaths.GUIRIGHT, "<<right"),
|
||||||
config.getString(ConfigPaths.GUILEFT, "left>>"),
|
ConfigPaths.getWithColor(config, ConfigPaths.GUILEFT, "left>>"),
|
||||||
config.getString(ConfigPaths.GUIEXIT, "quit")
|
ConfigPaths.getWithColor(config, ConfigPaths.GUIEXIT, "quit")
|
||||||
);
|
);
|
||||||
|
|
||||||
Bukkit.getPluginManager().registerEvents(this.inventoryManager, this.plugin);
|
Bukkit.getPluginManager().registerEvents(this.inventoryManager, this.plugin);
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
package tokarotik.giftapi;
|
package tokarotik.giftapi;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
public class ConfigPaths {
|
public class ConfigPaths {
|
||||||
public static final String DEVTEST = "dev-test";
|
public static final String DEVTEST = "dev-test";
|
||||||
public static final String GUINAME = "gui.title-menu";
|
public static final String GUINAME = "gui.title-menu";
|
||||||
public static final String GUIRIGHT = "gui.buttons.right-name";
|
public static final String GUIRIGHT = "gui.buttons.right-name";
|
||||||
public static final String GUILEFT = "gui.buttons.left-name";
|
public static final String GUILEFT = "gui.buttons.left-name";
|
||||||
public static final String GUIEXIT = "gui.buttons.exit-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;
|
package tokarotik.giftapi;
|
||||||
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import tokarotik.giftapi.dev.GiftCommand;
|
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.EntityPlayer;
|
||||||
import net.minecraft.server.v1_6_R3.NBTCompressedStreamTools;
|
import net.minecraft.server.v1_6_R3.NBTCompressedStreamTools;
|
||||||
@ -13,7 +13,7 @@ import java.io.FileInputStream;
|
|||||||
|
|
||||||
public class BasicNBT {
|
public class BasicNBT {
|
||||||
|
|
||||||
private String path;
|
private final String path;
|
||||||
|
|
||||||
public BasicNBT(String world)
|
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.EntityPlayer;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagCompound;
|
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.NBTTagList;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagString;
|
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.NBTTagCompound;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
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.NBTTagCompound;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import tokarotik.giftapi.savemanager.item.ItemNBT;
|
import tokarotik.giftapi.NBT.item.ItemNBT;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -11,12 +11,22 @@ import java.util.List;
|
|||||||
|
|
||||||
public class Page
|
public class Page
|
||||||
{
|
{
|
||||||
public final int max_stack;
|
private final int max_stack;
|
||||||
public NBTTagList tag;
|
private NBTTagList tag;
|
||||||
|
|
||||||
|
public Integer number;
|
||||||
|
|
||||||
public Page(int max_stack)
|
public Page(int max_stack)
|
||||||
{
|
{
|
||||||
this.max_stack = 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) {
|
public boolean add(ItemStack item) {
|
||||||
@ -46,11 +56,26 @@ public class Page
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NBTTagList getTag()
|
||||||
|
{
|
||||||
|
return this.tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTag(NBTTagList tag)
|
||||||
|
{
|
||||||
|
this.tag = tag;
|
||||||
|
}
|
||||||
|
|
||||||
public ItemStack[] getList()
|
public ItemStack[] getList()
|
||||||
{
|
{
|
||||||
return PageUtil.reverse(PageUtil.getRawList(this.tag));
|
return PageUtil.reverse(PageUtil.getRawList(this.tag));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEmpty()
|
||||||
|
{
|
||||||
|
return this.tag.size() == 0;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isOverStacked()
|
public boolean isOverStacked()
|
||||||
{
|
{
|
||||||
return this.tag.size() < this.max_stack;
|
return this.tag.size() < this.max_stack;
|
||||||
@ -68,4 +93,14 @@ public class Page
|
|||||||
|
|
||||||
return new ItemStack[]{};
|
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.NBTTagCompound;
|
||||||
import net.minecraft.server.v1_6_R3.NBTTagList;
|
import net.minecraft.server.v1_6_R3.NBTTagList;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import tokarotik.giftapi.savemanager.item.ItemLoad;
|
import tokarotik.giftapi.NBT.item.ItemLoad;
|
||||||
import tokarotik.giftapi.savemanager.item.ItemNBT;
|
import tokarotik.giftapi.NBT.item.ItemNBT;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
@ -6,7 +6,7 @@ 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.NBTManager;
|
import tokarotik.giftapi.NBT.NBTManager;
|
||||||
|
|
||||||
public class GiftCommand implements CommandExecutor {
|
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/
|
# For colors:
|
||||||
# Set Names Only In English
|
# do not use § use only &
|
||||||
|
|
||||||
|
|
||||||
# Will turn command /gift for dev. test
|
# Will turn command /gift for dev. test
|
||||||
dev-test: true
|
dev-test: true
|
||||||
|
|
||||||
gui:
|
gui:
|
||||||
|
# Set Title Only In English
|
||||||
# Max title length is 32 letters
|
# Max title length is 32 letters
|
||||||
title-menu: "Set Your Title In Config"
|
title-menu: "Set Your Title In Config"
|
||||||
|
|
||||||
buttons:
|
buttons:
|
||||||
right-name: ">"
|
right-name: "&6>"
|
||||||
left-name: "<"
|
left-name: "&6<"
|
||||||
exit-name: "Exit"
|
exit-name: "&4Exit"
|
Loading…
x
Reference in New Issue
Block a user