diff --git a/.classpath b/.classpath index bb537a2..7cefeef 100644 --- a/.classpath +++ b/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/src/com/untamedears/PrisonPearl/PrisonPearlManager.java b/src/com/untamedears/PrisonPearl/PrisonPearlManager.java index a0e461b..cc401a9 100644 --- a/src/com/untamedears/PrisonPearl/PrisonPearlManager.java +++ b/src/com/untamedears/PrisonPearl/PrisonPearlManager.java @@ -1,5 +1,6 @@ package com.untamedears.PrisonPearl; +import java.util.ArrayList; import java.util.Map.Entry; import java.util.concurrent.Callable; @@ -14,6 +15,7 @@ import org.bukkit.block.DoubleChest; import org.bukkit.block.Furnace; import org.bukkit.configuration.Configuration; +import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Entity; import org.bukkit.entity.Item; import org.bukkit.entity.Player; @@ -34,6 +36,7 @@ import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; class PrisonPearlManager implements Listener { private final PrisonPearlPlugin plugin; @@ -116,7 +119,25 @@ public boolean imprisonPlayer(String imprisonedname, Player imprisoner) { return false; } - inv.setItem(pearlnum, new ItemStack(Material.ENDER_PEARL, 1, pp.getID())); // give it to the imprisoner + // START OF 'TinieSnipah' EDIT - MORE PEARL TWEAKS + + ItemStack is = new ItemStack(Material.ENDER_PEARL, 1, pp.getID());// create pearl + ItemMeta im = is.getItemMeta(); + im.setDisplayName(pp.getImprisonedName());// rename pearl to that of imprisoned player + ArrayList lore = new ArrayList(); + lore.add(pp.getImprisonedName() + " is held within this pearl");// gives pearl lore that says more info when hovered over + im.addEnchant(Enchantment.DURABILITY, 1, true);// given enchantment effect (durability used because it doesn't affect pearl behaviour) + im.setLore(lore);// lore set + is.setItemMeta(im);// meta data set + is.removeEnchantment(Enchantment.DURABILITY); + //pp.getHolderPlayer().getInventory().addItem(is);// given to imprisoner + + // Previous line: + inv.setItem(pearlnum, is); // give it to the imprisoner + + // Reason for edit: Gives pearl enchantment effect (distinguishable, unstackable) Gives name of prisoner in inventory. + + // END OF 'TinieSnipah' EDIT - MORE PEARL TWEAKS if (getConfig().getBoolean("prison_resetbed")) { Player imprisoned = Bukkit.getPlayerExact(imprisonedname); diff --git a/src/com/untamedears/PrisonPearl/PrisonPearlPlugin.java b/src/com/untamedears/PrisonPearl/PrisonPearlPlugin.java index d0316d4..e2c45ad 100644 --- a/src/com/untamedears/PrisonPearl/PrisonPearlPlugin.java +++ b/src/com/untamedears/PrisonPearl/PrisonPearlPlugin.java @@ -96,10 +96,10 @@ public void run() { // shamelessly swiped from bookworm, not sure why there isn't a Bukkit API for this // this causes items to be stacked by their durability value try { - Method method = net.minecraft.server.Item.class.getDeclaredMethod("a", boolean.class); - if (method.getReturnType() == net.minecraft.server.Item.class) { + Method method = net.minecraft.server.v1_4_5.Item.class.getDeclaredMethod("a", boolean.class); + if (method.getReturnType() == net.minecraft.server.v1_4_5.Item.class) { method.setAccessible(true); - method.invoke(net.minecraft.server.Item.ENDER_PEARL, true); + method.invoke(net.minecraft.server.v1_4_5.Item.ENDER_PEARL, true); } } catch (Exception e) { e.printStackTrace();