From bdda96eb8e1705e80287c35e18954fd594bfb51b Mon Sep 17 00:00:00 2001 From: Brianna O'Keefe Date: Tue, 5 Feb 2019 23:57:38 -0500 Subject: [PATCH] Cleanup. --- .../utils/gui/AbstractAnvilGUI.java | 11 ++-- .../epicbuckets/utils/gui/AbstractGUI.java | 8 +-- .../epicbuckets/utils/gui/Clickable.java | 2 +- .../epicbuckets/utils/gui/OnClose.java | 2 +- .../songoda/epicbuckets/utils/gui/Range.java | 4 +- .../utils/itemnbtapi/ClassWrapper.java | 50 +++++++++--------- .../utils/itemnbtapi/NBTCompound.java | 24 ++++----- .../utils/itemnbtapi/NBTContainer.java | 12 ++--- .../utils/itemnbtapi/NBTEntity.java | 2 +- .../epicbuckets/utils/itemnbtapi/NBTFile.java | 2 +- .../epicbuckets/utils/itemnbtapi/NBTItem.java | 27 +++++----- .../epicbuckets/utils/itemnbtapi/NBTList.java | 2 +- .../utils/itemnbtapi/NBTListCompound.java | 2 +- .../utils/itemnbtapi/NBTReflectionUtil.java | 18 +++---- .../utils/itemnbtapi/NBTTileEntity.java | 2 +- .../epicbuckets/utils/itemnbtapi/NBTType.java | 14 ++--- .../utils/itemnbtapi/ObjectCreator.java | 18 +++---- .../utils/itemnbtapi/ReflectionMethod.java | 51 +++++++++---------- .../utils/itemnbtapi/utils/GsonWrapper.java | 2 +- .../itemnbtapi/utils/MinecraftVersion.java | 10 ++-- .../epicbuckets/utils/version/NMSUtil.java | 2 +- 21 files changed, 131 insertions(+), 134 deletions(-) diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractAnvilGUI.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractAnvilGUI.java index 095b3d8..2d750ab 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractAnvilGUI.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractAnvilGUI.java @@ -1,8 +1,8 @@ -package com.songoda.epicbuckets.util.gui; +package com.songoda.epicbuckets.utils.gui; import com.songoda.epicbuckets.EpicBuckets; -import com.songoda.epicbuckets.util.ServerVersion; -import com.songoda.epicbuckets.util.version.NMSUtil; +import com.songoda.epicbuckets.utils.ServerVersion; +import com.songoda.epicbuckets.utils.version.NMSUtil; import org.bukkit.Bukkit; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -53,7 +53,7 @@ public class AbstractAnvilGUI { closeSound = Sound.ENTITY_PLAYER_LEVELUP; else closeSound = Sound.valueOf("LEVEL_UP"); - + } if (!(event.getWhoClicked() instanceof Player) || !event.getInventory().equals(inv)) return; @@ -94,7 +94,8 @@ public class AbstractAnvilGUI { if (!inv.equals(AbstractAnvilGUI.this.inv)) return; inv.clear(); OnClose onClose = getOnClose(); - if (EpicBuckets.getInstance().isServerVersionAtLeast(ServerVersion.V1_9)) player.playSound(player.getLocation(), closeSound, 1F, 1F); + if (EpicBuckets.getInstance().isServerVersionAtLeast(ServerVersion.V1_9)) + player.playSound(player.getLocation(), closeSound, 1F, 1F); Bukkit.getScheduler().scheduleSyncDelayedTask(EpicBuckets.getInstance(), () -> { if (onClose != null) onClose.OnClose(player, inv); destroy(); diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractGUI.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractGUI.java index bb8d64e..32b8213 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractGUI.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/AbstractGUI.java @@ -1,8 +1,8 @@ -package com.songoda.epicbuckets.util.gui; +package com.songoda.epicbuckets.utils.gui; import com.songoda.arconix.api.methods.formatting.TextComponent; import com.songoda.epicbuckets.EpicBuckets; -import com.songoda.epicbuckets.util.ServerVersion; +import com.songoda.epicbuckets.utils.ServerVersion; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -76,7 +76,7 @@ public abstract class AbstractGUI implements Listener { } } } - + Map entries = new HashMap<>(gui.clickables); for (Map.Entry entry : entries.entrySet()) { @@ -86,7 +86,7 @@ public abstract class AbstractGUI implements Listener { if (event.getSlot() >= range.getMin() && event.getSlot() <= range.getMax()) { entry.getValue().Clickable(player, inventory, event.getCursor(), event.getSlot(), event.getClick()); if (EpicBuckets.getInstance().isServerVersionAtLeast(ServerVersion.V1_12)) - player.playSound(player.getLocation(), entry.getKey().getOnClickSound(), 1F, 1F); + player.playSound(player.getLocation(), entry.getKey().getOnClickSound(), 1F, 1F); } } } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Clickable.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Clickable.java index d595cb0..a3001b8 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Clickable.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Clickable.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.gui; +package com.songoda.epicbuckets.utils.gui; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/OnClose.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/OnClose.java index 310c4be..bdbd6df 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/OnClose.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/OnClose.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.gui; +package com.songoda.epicbuckets.utils.gui; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Range.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Range.java index ee0e686..3debedf 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Range.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/gui/Range.java @@ -1,7 +1,7 @@ -package com.songoda.epicbuckets.util.gui; +package com.songoda.epicbuckets.utils.gui; import com.songoda.epicbuckets.EpicBuckets; -import com.songoda.epicbuckets.util.ServerVersion; +import com.songoda.epicbuckets.utils.ServerVersion; import org.bukkit.Sound; import org.bukkit.event.inventory.ClickType; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ClassWrapper.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ClassWrapper.java index d4fb40e..d927dd6 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ClassWrapper.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ClassWrapper.java @@ -1,39 +1,37 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import org.bukkit.Bukkit; public enum ClassWrapper { -CRAFT_ITEMSTACK("org.bukkit.craftbukkit.", ".inventory.CraftItemStack"), -CRAFT_ENTITY("org.bukkit.craftbukkit.", ".entity.CraftEntity"), -CRAFT_WORLD("org.bukkit.craftbukkit.", ".CraftWorld"), -NMS_NBTBASE("net.minecraft.server.", ".NBTBase"), -NMS_NBTTAGSTRING("net.minecraft.server.", ".NBTTagString"), -NMS_ITEMSTACK("net.minecraft.server.", ".ItemStack"), -NMS_NBTTAGCOMPOUND("net.minecraft.server.", ".NBTTagCompound"), -NMS_NBTTAGLIST("net.minecraft.server.", ".NBTTagList"), -NMS_NBTCOMPRESSEDSTREAMTOOLS("net.minecraft.server.", ".NBTCompressedStreamTools"), -NMS_MOJANGSONPARSER("net.minecraft.server.", ".MojangsonParser"), -NMS_TILEENTITY("net.minecraft.server.", ".TileEntity"), -NMS_BLOCKPOSITION("net.minecraft.server.", ".BlockPosition"), -NMS_WORLD("net.minecraft.server.", ".WorldServer"), -NMS_ENTITY("net.minecraft.server.", ".Entity"), -; - - - + CRAFT_ITEMSTACK("org.bukkit.craftbukkit.", ".inventory.CraftItemStack"), + CRAFT_ENTITY("org.bukkit.craftbukkit.", ".entity.CraftEntity"), + CRAFT_WORLD("org.bukkit.craftbukkit.", ".CraftWorld"), + NMS_NBTBASE("net.minecraft.server.", ".NBTBase"), + NMS_NBTTAGSTRING("net.minecraft.server.", ".NBTTagString"), + NMS_ITEMSTACK("net.minecraft.server.", ".ItemStack"), + NMS_NBTTAGCOMPOUND("net.minecraft.server.", ".NBTTagCompound"), + NMS_NBTTAGLIST("net.minecraft.server.", ".NBTTagList"), + NMS_NBTCOMPRESSEDSTREAMTOOLS("net.minecraft.server.", ".NBTCompressedStreamTools"), + NMS_MOJANGSONPARSER("net.minecraft.server.", ".MojangsonParser"), + NMS_TILEENTITY("net.minecraft.server.", ".TileEntity"), + NMS_BLOCKPOSITION("net.minecraft.server.", ".BlockPosition"), + NMS_WORLD("net.minecraft.server.", ".WorldServer"), + NMS_ENTITY("net.minecraft.server.", ".Entity"),; + + private Class clazz; - - ClassWrapper(String pre, String suffix){ - try{ + + ClassWrapper(String pre, String suffix) { + try { String version = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3]; clazz = Class.forName(pre + version + suffix); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } } - - public Class getClazz(){ + + public Class getClazz() { return clazz; } - + } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTCompound.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTCompound.java index cdc61e0..914a57f 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTCompound.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTCompound.java @@ -1,6 +1,6 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; -import com.songoda.epicbuckets.util.itemnbtapi.utils.MinecraftVersion; +import com.songoda.epicbuckets.utils.itemnbtapi.utils.MinecraftVersion; import java.util.Set; @@ -31,10 +31,10 @@ public class NBTCompound { return parent; } - public void mergeCompound(NBTCompound comp){ + public void mergeCompound(NBTCompound comp) { NBTReflectionUtil.addOtherNBTCompound(this, comp); } - + public void setString(String key, String value) { NBTReflectionUtil.setData(this, ReflectionMethod.COMPOUND_SET_STRING, key, value); } @@ -130,10 +130,10 @@ public class NBTCompound { public T getObject(String key, Class type) { return NBTReflectionUtil.getObject(this, key, type); } - + public Boolean hasKey(String key) { - Boolean b = (Boolean) NBTReflectionUtil.getData(this, ReflectionMethod.COMPOUND_HAS_KEY, key); - if(b == null)return false; + Boolean b = (Boolean) NBTReflectionUtil.getData(this, ReflectionMethod.COMPOUND_HAS_KEY, key); + if (b == null) return false; return b; } @@ -146,7 +146,7 @@ public class NBTCompound { } public NBTCompound addCompound(String name) { - if(getType(name) == NBTType.NBTTagCompound)return getCompound(name); + if (getType(name) == NBTType.NBTTagCompound) return getCompound(name); NBTReflectionUtil.addNBTTagCompound(this, name); return getCompound(name); } @@ -164,7 +164,7 @@ public class NBTCompound { public NBTType getType(String name) { if (MinecraftVersion.getVersion() == MinecraftVersion.MC1_7_R4) return null; Object o = NBTReflectionUtil.getData(this, ReflectionMethod.COMPOUND_GET_TYPE, name); - if(o == null)return null; + if (o == null) return null; return NBTType.valueOf((byte) o); } @@ -190,10 +190,10 @@ public class NBTCompound { return result + "-" + key + ": " + getContent(key) + System.lineSeparator(); } } - - public String asNBTString(){ + + public String asNBTString() { Object comp = NBTReflectionUtil.gettoCompount(getCompound(), this); - if(comp == null)return "{}"; + if (comp == null) return "{}"; return comp.toString(); } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTContainer.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTContainer.java index b07ee0e..6023122 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTContainer.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTContainer.java @@ -1,6 +1,6 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; -public class NBTContainer extends NBTCompound{ +public class NBTContainer extends NBTCompound { private Object nbt; @@ -8,17 +8,17 @@ public class NBTContainer extends NBTCompound{ super(null, null); nbt = ObjectCreator.NMS_NBTTAGCOMPOUND.getInstance(); } - - protected NBTContainer(Object nbt){ + + protected NBTContainer(Object nbt) { super(null, null); this.nbt = nbt; } public NBTContainer(String nbtString) throws IllegalArgumentException { super(null, null); - try{ + try { nbt = ReflectionMethod.PARSE_NBT.run(null, nbtString); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); throw new IllegalArgumentException("Malformed Json: " + ex.getMessage()); } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTEntity.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTEntity.java index b44bbc0..7eafb59 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTEntity.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTEntity.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import org.bukkit.entity.Entity; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTFile.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTFile.java index f27d886..a3f0d4f 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTFile.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTFile.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import java.io.File; import java.io.FileInputStream; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTItem.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTItem.java index c9d2b9a..35536c0 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTItem.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTItem.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import org.bukkit.inventory.ItemStack; @@ -8,12 +8,20 @@ public class NBTItem extends NBTCompound { public NBTItem(ItemStack item) { super(null, null); - if(item == null){ + if (item == null) { throw new NullPointerException("ItemStack can't be null!"); } bukkitItem = item.clone(); } + public static NBTContainer convertItemtoNBT(ItemStack item) { + return NBTReflectionUtil.convertNMSItemtoNBTCompound(ReflectionMethod.ITEMSTACK_NMSCOPY.run(null, item)); + } + + public static ItemStack convertNBTtoItem(NBTCompound comp) { + return (ItemStack) ReflectionMethod.ITEMSTACK_BUKKITMIRROR.run(null, NBTReflectionUtil.convertNBTCompoundtoNMSItem(comp)); + } + protected Object getCompound() { return NBTReflectionUtil.getItemRootNBTTagCompound(ReflectionMethod.ITEMSTACK_NMSCOPY.run(null, bukkitItem)); } @@ -31,23 +39,14 @@ public class NBTItem extends NBTCompound { protected void setItem(ItemStack item) { bukkitItem = item; } - - + /** * This may return true even when the NBT is empty. - * + * * @return Does the ItemStack have a NBTCompound. */ - public boolean hasNBTData(){ + public boolean hasNBTData() { return getCompound() != null; } - - public static NBTContainer convertItemtoNBT(ItemStack item){ - return NBTReflectionUtil.convertNMSItemtoNBTCompound(ReflectionMethod.ITEMSTACK_NMSCOPY.run(null, item)); - } - - public static ItemStack convertNBTtoItem(NBTCompound comp){ - return (ItemStack) ReflectionMethod.ITEMSTACK_BUKKITMIRROR.run(null, NBTReflectionUtil.convertNBTCompoundtoNMSItem(comp)); - } } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTList.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTList.java index 562b52d..39fa25c 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTList.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTList.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; public class NBTList { diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTListCompound.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTListCompound.java index 689c2f7..dad69fd 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTListCompound.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTListCompound.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import java.util.HashSet; import java.util.Set; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTReflectionUtil.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTReflectionUtil.java index 2ba6fe3..9c30e55 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTReflectionUtil.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTReflectionUtil.java @@ -1,4 +1,9 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; + +import com.songoda.epicbuckets.utils.itemnbtapi.utils.GsonWrapper; +import com.songoda.epicbuckets.utils.itemnbtapi.utils.MinecraftVersion; +import org.bukkit.block.BlockState; +import org.bukkit.entity.Entity; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -7,12 +12,7 @@ import java.lang.reflect.Method; import java.util.Set; import java.util.Stack; -import com.songoda.epicbuckets.util.itemnbtapi.utils.GsonWrapper; -import com.songoda.epicbuckets.util.itemnbtapi.utils.MinecraftVersion; -import org.bukkit.block.BlockState; -import org.bukkit.entity.Entity; - -public class NBTReflectionUtil { +public class NBTReflectionUtil { public static Object getNMSEntity(Entity entity) { try { @@ -61,11 +61,11 @@ public class NBTReflectionUtil { @SuppressWarnings("rawtypes") Class clazz = ClassWrapper.NMS_ITEMSTACK.getClazz(); try { - if(MinecraftVersion.getVersion().getVersionId() >= MinecraftVersion.MC1_12_R1.getVersionId()){ + if (MinecraftVersion.getVersion().getVersionId() >= MinecraftVersion.MC1_12_R1.getVersionId()) { Constructor constructor = clazz.getConstructor(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()); constructor.setAccessible(true); return constructor.newInstance(nbtcompound.getCompound()); - }else{ + } else { Method method = clazz.getMethod("createStack", ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()); method.setAccessible(true); return method.invoke(null, nbtcompound.getCompound()); diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTTileEntity.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTTileEntity.java index 3ecab25..d9b7dbd 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTTileEntity.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTTileEntity.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import org.bukkit.block.BlockState; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTType.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTType.java index 150aee5..bb68b5a 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTType.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/NBTType.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; public enum NBTType { NBTTagEnd(0), @@ -14,14 +14,10 @@ public enum NBTType { NBTTagList(9), NBTTagCompound(10); - NBTType(int i) { - id = i; - } - private final int id; - public int getId() { - return id; + NBTType(int i) { + id = i; } public static NBTType valueOf(int id) { @@ -31,4 +27,8 @@ public enum NBTType { return NBTType.NBTTagEnd; } + public int getId() { + return id; + } + } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ObjectCreator.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ObjectCreator.java index 399d468..02636a2 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ObjectCreator.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ObjectCreator.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; import java.lang.reflect.Constructor; @@ -8,21 +8,21 @@ public enum ObjectCreator { private Constructor construct; - ObjectCreator(Class clazz, Class... args){ - try{ + ObjectCreator(Class clazz, Class... args) { + try { construct = clazz.getConstructor(args); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } } - - public Object getInstance(Object... args){ - try{ + + public Object getInstance(Object... args) { + try { return construct.newInstance(args); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } return null; } - + } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ReflectionMethod.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ReflectionMethod.java index d8356bd..3d2bf0b 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ReflectionMethod.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/ReflectionMethod.java @@ -1,12 +1,12 @@ -package com.songoda.epicbuckets.util.itemnbtapi; +package com.songoda.epicbuckets.utils.itemnbtapi; + +import com.songoda.epicbuckets.utils.itemnbtapi.utils.MinecraftVersion; +import org.bukkit.inventory.ItemStack; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Method; -import com.songoda.epicbuckets.util.itemnbtapi.utils.MinecraftVersion; -import org.bukkit.inventory.ItemStack; - public enum ReflectionMethod { COMPOUND_SET_FLOAT(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class, float.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "setFloat")), @@ -20,7 +20,7 @@ public enum ReflectionMethod { COMPOUND_SET_DOUBLE(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class, double.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "setDouble")), COMPOUND_SET_BOOLEAN(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class, boolean.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "setBoolean")), COMPOUND_ADD(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "a")), //FIXME: No Spigot mapping! - + COMPOUND_GET_FLOAT(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getFloat")), COMPOUND_GET_STRING(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getString")), COMPOUND_GET_INT(ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), new Class[]{String.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getInt")), @@ -44,14 +44,14 @@ public enum ReflectionMethod { LIST_ADD(ClassWrapper.NMS_NBTTAGLIST.getClazz(), new Class[]{ClassWrapper.NMS_NBTBASE.getClazz()}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "add")), LIST_GET_STRING(ClassWrapper.NMS_NBTTAGLIST.getClazz(), new Class[]{int.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getString")), LIST_GET(ClassWrapper.NMS_NBTTAGLIST.getClazz(), new Class[]{int.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "get")), - + ITEMSTACK_SET_TAG(ClassWrapper.NMS_ITEMSTACK.getClazz(), new Class[]{ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "setTag")), ITEMSTACK_NMSCOPY(ClassWrapper.CRAFT_ITEMSTACK.getClazz(), new Class[]{ItemStack.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "asNMSCopy")), ITEMSTACK_BUKKITMIRROR(ClassWrapper.CRAFT_ITEMSTACK.getClazz(), new Class[]{ClassWrapper.NMS_ITEMSTACK.getClazz()}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "asCraftMirror")), CRAFT_WORLD_GET_HANDLE(ClassWrapper.CRAFT_WORLD.getClazz(), new Class[]{}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getHandle")), NMS_WORLD_GET_TILEENTITY(ClassWrapper.NMS_WORLD.getClazz(), new Class[]{ClassWrapper.NMS_BLOCKPOSITION.getClazz()}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "getTileEntity")), - + TILEENTITY_GET_NBT(ClassWrapper.NMS_TILEENTITY.getClazz(), new Class[]{ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()}, MinecraftVersion.MC1_8_R3, new Since(MinecraftVersion.MC1_8_R3, "b"), new Since(MinecraftVersion.MC1_9_R1, "save")), TILEENTITY_SET_NBT(ClassWrapper.NMS_TILEENTITY.getClazz(), new Class[]{ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz()}, MinecraftVersion.MC1_8_R3, new Since(MinecraftVersion.MC1_8_R3, "a"), new Since(MinecraftVersion.MC1_12_R1, "load")), @@ -61,45 +61,43 @@ public enum ReflectionMethod { NBTFILE_READ(ClassWrapper.NMS_NBTCOMPRESSEDSTREAMTOOLS.getClazz(), new Class[]{InputStream.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "a")), //FIXME: No Spigot mapping! NBTFILE_WRITE(ClassWrapper.NMS_NBTCOMPRESSEDSTREAMTOOLS.getClazz(), new Class[]{ClassWrapper.NMS_NBTTAGCOMPOUND.getClazz(), OutputStream.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "a")), //FIXME: No Spigot mapping! - - - PARSE_NBT(ClassWrapper.NMS_MOJANGSONPARSER.getClazz(), new Class[]{String.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "parse")), - ; - + + PARSE_NBT(ClassWrapper.NMS_MOJANGSONPARSER.getClazz(), new Class[]{String.class}, MinecraftVersion.MC1_7_R4, new Since(MinecraftVersion.MC1_7_R4, "parse")),; + private Since targetVersion; private Method method; private boolean loaded = false; private boolean compatible = false; - - ReflectionMethod(Class targetClass, Class[] args, MinecraftVersion addedSince, Since... methodnames){ + + ReflectionMethod(Class targetClass, Class[] args, MinecraftVersion addedSince, Since... methodnames) { MinecraftVersion server = MinecraftVersion.getVersion(); - if(server.compareTo(addedSince) < 0)return; + if (server.compareTo(addedSince) < 0) return; compatible = true; Since target = methodnames[0]; - for(Since s : methodnames){ - if(s.version.getVersionId() <= server.getVersionId() && target.version.getVersionId() < s.version.getVersionId()) + for (Since s : methodnames) { + if (s.version.getVersionId() <= server.getVersionId() && target.version.getVersionId() < s.version.getVersionId()) target = s; } targetVersion = target; - try{ + try { method = targetClass.getMethod(targetVersion.name, args); method.setAccessible(true); loaded = true; - }catch(NullPointerException | NoSuchMethodException | SecurityException ex){ + } catch (NullPointerException | NoSuchMethodException | SecurityException ex) { ex.printStackTrace(); } } - - public Object run(Object target, Object... args){ - try{ + + public Object run(Object target, Object... args) { + try { return method.invoke(target, args); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } return null; } - + public boolean isLoaded() { return loaded; } @@ -108,13 +106,14 @@ public enum ReflectionMethod { return compatible; } - public static class Since{ + public static class Since { public final MinecraftVersion version; public final String name; + public Since(MinecraftVersion version, String name) { this.version = version; this.name = name; } } - + } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/GsonWrapper.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/GsonWrapper.java index 86da5c3..5c85128 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/GsonWrapper.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/GsonWrapper.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi.utils; +package com.songoda.epicbuckets.utils.itemnbtapi.utils; import com.google.gson.Gson; diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/MinecraftVersion.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/MinecraftVersion.java index 47c5ede..51d0143 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/MinecraftVersion.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/itemnbtapi/utils/MinecraftVersion.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.itemnbtapi.utils; +package com.songoda.epicbuckets.utils.itemnbtapi.utils; import org.bukkit.Bukkit; @@ -23,10 +23,6 @@ public enum MinecraftVersion { this.versionId = versionId; } - public int getVersionId() { - return versionId; - } - public static MinecraftVersion getVersion() { if (version != null) { return version; @@ -59,4 +55,8 @@ public enum MinecraftVersion { return hasGsonSupport; } + public int getVersionId() { + return versionId; + } + } diff --git a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/version/NMSUtil.java b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/version/NMSUtil.java index 34f4fba..66249b9 100644 --- a/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/version/NMSUtil.java +++ b/EpicBuckets-Plugin/src/main/java/com/songoda/epicbuckets/utils/version/NMSUtil.java @@ -1,4 +1,4 @@ -package com.songoda.epicbuckets.util.version; +package com.songoda.epicbuckets.utils.version; import org.bukkit.Bukkit; import org.bukkit.entity.Player;