mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Minor optimization
This commit is contained in:
parent
b2fd914cee
commit
7e0eb29040
@ -8,12 +8,10 @@ import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
@ -77,34 +75,18 @@ public class BackpackListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent e) {
|
||||
if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||
Player p = e.getPlayer();
|
||||
ItemStack item = e.getItem();
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||
|
||||
// Open the Backpack (also includes Coolers)
|
||||
if (sfItem instanceof SlimefunBackpack) {
|
||||
openBackpack(item, sfItem, ((SlimefunBackpack) sfItem).getSize(), e, p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void openBackpack(ItemStack item, SlimefunItem sfItem, int size, PlayerInteractEvent e, Player p) {
|
||||
e.setCancelled(true);
|
||||
|
||||
public static void openBackpack(Player p, ItemStack item, SlimefunBackpack backpack) {
|
||||
if (item.getAmount() == 1) {
|
||||
if (Slimefun.hasUnlocked(p, sfItem, true)) {
|
||||
if (!PlayerProfile.get(p, profile -> openBackpack(item, profile, size)))
|
||||
if (Slimefun.hasUnlocked(p, backpack, true)) {
|
||||
if (!PlayerProfile.get(p, profile -> openBackpack(item, profile, backpack.getSize())))
|
||||
Slimefun.getLocal().sendMessage(p, "messages.opening-backpack");
|
||||
}
|
||||
}
|
||||
else SlimefunPlugin.getLocal().sendMessage(p, "backpack.no-stack", true);
|
||||
}
|
||||
|
||||
private void openBackpack(ItemStack item, PlayerProfile profile, int size) {
|
||||
private static void openBackpack(ItemStack item, PlayerProfile profile, int size) {
|
||||
Player p = profile.getPlayer();
|
||||
for (int line = 0; line < item.getItemMeta().getLore().size(); line++) {
|
||||
if (item.getItemMeta().getLore().get(line).equals(ChatColor.translateAlternateColorCodes('&', "&7ID: <ID>"))) {
|
||||
|
@ -45,6 +45,7 @@ import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.MultiTool;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunBackpack;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemDropHandler;
|
||||
@ -232,7 +233,13 @@ public class ItemListener implements Listener {
|
||||
for (ItemHandler handler : SlimefunItem.getHandlers("ItemInteractionHandler")) {
|
||||
if (((ItemInteractionHandler) handler).onRightClick(e, p, item)) return;
|
||||
}
|
||||
if (slimefunItem instanceof MultiTool) {
|
||||
|
||||
// Open the Backpack (also includes Coolers)
|
||||
if (slimefunItem instanceof SlimefunBackpack) {
|
||||
e.setCancelled(true);
|
||||
BackpackListener.openBackpack(p, item, (SlimefunBackpack) slimefunItem);
|
||||
}
|
||||
else if (slimefunItem instanceof MultiTool) {
|
||||
e.setCancelled(true);
|
||||
|
||||
List<Integer> modes = ((MultiTool) slimefunItem).getModes();
|
||||
|
Loading…
Reference in New Issue
Block a user