IDEA Auto Inspect
This commit is contained in:
@@ -1,16 +1,12 @@
|
||||
package me.skymc.taboolib.inventory;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import me.skymc.taboolib.other.NumberUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import me.skymc.taboolib.other.NumberUtils;
|
||||
|
||||
public class DropUtils {
|
||||
|
||||
public static Item drop(Player player, ItemStack itemStack, double bulletSpread, double radius) {
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
package me.skymc.taboolib.inventory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.skymc.taboolib.methods.MethodsUtils;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
|
||||
public class InventoryUtil {
|
||||
|
||||
@@ -62,27 +58,13 @@ public class InventoryUtil {
|
||||
for (int i = 0; i < player.getInventory().getSize() && remove; i++) {
|
||||
ItemStack _item = player.getInventory().getItem(i);
|
||||
if (_item != null && _item.isSimilar(item)) {
|
||||
/**
|
||||
* 如果循环到的物品数量 小于 需要的数量
|
||||
* 则 删除物品,减少需要的数量
|
||||
*/
|
||||
if (_item.getAmount() < requireAmount) {
|
||||
player.getInventory().setItem(i, null);
|
||||
requireAmount -= _item.getAmount();
|
||||
}
|
||||
/**
|
||||
* 如果循环到的物品数量 等于 需要的数量
|
||||
* 则 删除物品,直接结束
|
||||
*/
|
||||
else if (_item.getAmount() == requireAmount) {
|
||||
} else if (_item.getAmount() == requireAmount) {
|
||||
player.getInventory().setItem(i, null);
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* 如果循环到的物品数量 大于 需要的数量
|
||||
* 则扣除 需要的数量
|
||||
*/
|
||||
else {
|
||||
} else {
|
||||
_item.setAmount(_item.getAmount() - requireAmount);
|
||||
return true;
|
||||
}
|
||||
@@ -101,11 +83,8 @@ public class InventoryUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (inventoryAmount >= amount) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return inventoryAmount >= amount;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static boolean takeItem2(Inventory inv, ItemStack takeitem, Integer amount) {
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
package me.skymc.taboolib.inventory;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import lombok.Getter;
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.skymc.taboolib.Main;
|
||||
import me.skymc.taboolib.TabooLib;
|
||||
import me.skymc.taboolib.fileutils.ConfigUtils;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTItem;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTList;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTListCompound;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTType;
|
||||
import me.skymc.taboolib.message.MsgUtils;
|
||||
import me.skymc.taboolib.other.NumberUtils;
|
||||
import me.skymc.taboolib.string.Language;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
@@ -25,18 +28,10 @@ import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import lombok.Getter;
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.skymc.taboolib.Main;
|
||||
import me.skymc.taboolib.TabooLib;
|
||||
import me.skymc.taboolib.fileutils.ConfigUtils;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTItem;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTList;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTListCompound;
|
||||
import me.skymc.taboolib.itemnbtapi.NBTType;
|
||||
import me.skymc.taboolib.message.MsgUtils;
|
||||
import me.skymc.taboolib.other.NumberUtils;
|
||||
import me.skymc.taboolib.string.Language;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemUtils {
|
||||
|
||||
@@ -150,8 +145,7 @@ public class ItemUtils {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static ItemStack item(int n, int a, int d) {
|
||||
ItemStack item = new ItemStack(n, a, (short)d);
|
||||
return item;
|
||||
return new ItemStack(n, a, (short) d);
|
||||
}
|
||||
|
||||
public static ItemStack setName(ItemStack i, String n) {
|
||||
@@ -180,17 +174,11 @@ public class ItemUtils {
|
||||
}
|
||||
|
||||
public static boolean isName(ItemStack i, String a) {
|
||||
if (!isNamed(i) || i.getItemMeta() == null || i.getItemMeta().getDisplayName() == null || !i.getItemMeta().getDisplayName().equals(a)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return isNamed(i) && i.getItemMeta() != null && i.getItemMeta().getDisplayName() != null && i.getItemMeta().getDisplayName().equals(a);
|
||||
}
|
||||
|
||||
public static boolean isNameAs(ItemStack i, String a) {
|
||||
if (!isNamed(i) || !i.getItemMeta().getDisplayName().contains(a)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return isNamed(i) && i.getItemMeta().getDisplayName().contains(a);
|
||||
}
|
||||
|
||||
public static String asString(String args, Player placeholderPlayer) {
|
||||
@@ -259,27 +247,22 @@ public class ItemUtils {
|
||||
}
|
||||
|
||||
public static String asAttribute(String name) {
|
||||
if (name.toLowerCase().equals("damage")) {
|
||||
return "generic.attackDamage";
|
||||
}
|
||||
else if (name.toLowerCase().equals("attackspeed")) {
|
||||
return "generic.attackSpeed";
|
||||
}
|
||||
else if (name.toLowerCase().equals("health")) {
|
||||
return "generic.maxHealth";
|
||||
}
|
||||
else if (name.toLowerCase().equals("speed")) {
|
||||
return "generic.movementSpeed";
|
||||
}
|
||||
else if (name.toLowerCase().equals("knockback")) {
|
||||
return "generic.knockbackResistance";
|
||||
}
|
||||
else if (name.toLowerCase().equals("armor")) {
|
||||
return "generic.armor";
|
||||
}
|
||||
else if (name.toLowerCase().equals("luck")) {
|
||||
return "generic.luck";
|
||||
}
|
||||
switch (name.toLowerCase()) {
|
||||
case "damage":
|
||||
return "generic.attackDamage";
|
||||
case "attackspeed":
|
||||
return "generic.attackSpeed";
|
||||
case "health":
|
||||
return "generic.maxHealth";
|
||||
case "speed":
|
||||
return "generic.movementSpeed";
|
||||
case "knockback":
|
||||
return "generic.knockbackResistance";
|
||||
case "armor":
|
||||
return "generic.armor";
|
||||
case "luck":
|
||||
return "generic.luck";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -290,10 +273,7 @@ public class ItemUtils {
|
||||
* @param a 关键字
|
||||
*/
|
||||
public static boolean hasLore(ItemStack i, String a) {
|
||||
if (!isLored(i) || !i.getItemMeta().getLore().toString().contains(a)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return isLored(i) && i.getItemMeta().getLore().toString().contains(a);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,10 +283,7 @@ public class ItemUtils {
|
||||
* @return
|
||||
*/
|
||||
public static boolean isLored(ItemStack i) {
|
||||
if (i == null || i.getItemMeta() == null || i.getItemMeta().getLore() == null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return i != null && i.getItemMeta() != null && i.getItemMeta().getLore() != null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -316,10 +293,7 @@ public class ItemUtils {
|
||||
* @return
|
||||
*/
|
||||
public static boolean isNamed(ItemStack i) {
|
||||
if (i == null || i.getItemMeta() == null || i.getItemMeta().getDisplayName() == null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return i != null && i.getItemMeta() != null && i.getItemMeta().getDisplayName() != null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.bukkit.plugin.Plugin;
|
||||
* @author sky
|
||||
* @since 2018年2月17日 下午8:35:42
|
||||
*/
|
||||
public abstract interface AbstractSpecialItem {
|
||||
public interface AbstractSpecialItem {
|
||||
|
||||
/**
|
||||
* 当接口被载入
|
||||
@@ -25,14 +25,14 @@ public abstract interface AbstractSpecialItem {
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
abstract String getName();
|
||||
String getName();
|
||||
|
||||
/**
|
||||
* 获取载入插件
|
||||
*
|
||||
* @return {@link Plugin}
|
||||
*/
|
||||
abstract Plugin getPlugin();
|
||||
Plugin getPlugin();
|
||||
|
||||
/**
|
||||
* 是否进行点击事件
|
||||
@@ -42,5 +42,5 @@ public abstract interface AbstractSpecialItem {
|
||||
* @param cursorItem 持有物品
|
||||
* @return {@link SpecialItemResult[]}
|
||||
*/
|
||||
abstract SpecialItemResult[] isCorrectClick(Player player, ItemStack currentItem, ItemStack cursorItem);
|
||||
SpecialItemResult[] isCorrectClick(Player player, ItemStack currentItem, ItemStack cursorItem);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package me.skymc.taboolib.inventory.speciaitem;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import lombok.Getter;
|
||||
import me.skymc.taboolib.Main;
|
||||
import me.skymc.taboolib.inventory.ItemUtils;
|
||||
import me.skymc.taboolib.message.MsgUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -12,10 +13,8 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.server.PluginDisableEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import lombok.Getter;
|
||||
import me.skymc.taboolib.Main;
|
||||
import me.skymc.taboolib.inventory.ItemUtils;
|
||||
import me.skymc.taboolib.message.MsgUtils;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
* @author sky
|
||||
@@ -119,7 +118,7 @@ public class SpecialItem implements Listener {
|
||||
* 载入所有已注册接口
|
||||
*/
|
||||
public void loadItems() {
|
||||
ITEM_DATA.forEach(x -> x.onEnable());
|
||||
ITEM_DATA.forEach(AbstractSpecialItem::onEnable);
|
||||
isLoaded = true;
|
||||
}
|
||||
|
||||
@@ -127,7 +126,7 @@ public class SpecialItem implements Listener {
|
||||
* 注销所有已注册接口
|
||||
*/
|
||||
public void unloadItems() {
|
||||
ITEM_DATA.forEach(x -> x.onDisable());
|
||||
ITEM_DATA.forEach(AbstractSpecialItem::onDisable);
|
||||
ITEM_DATA.clear();
|
||||
}
|
||||
|
||||
@@ -147,33 +146,32 @@ public class SpecialItem implements Listener {
|
||||
Player player = (Player) e.getWhoClicked();
|
||||
for (AbstractSpecialItem specialitem : ITEM_DATA) {
|
||||
for (SpecialItemResult result : specialitem.isCorrectClick(player, e.getCurrentItem(), e.getCursor())) {
|
||||
if (result == SpecialItemResult.CANCEL) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
else if (result == SpecialItemResult.BREAK) {
|
||||
return;
|
||||
}
|
||||
else if (result == SpecialItemResult.REMOVE_ITEM_CURRENT) {
|
||||
e.setCurrentItem(null);
|
||||
}
|
||||
else if (result == SpecialItemResult.REMOVE_ITEM_CURSOR) {
|
||||
e.getWhoClicked().setItemOnCursor(null);
|
||||
}
|
||||
else if (result == SpecialItemResult.REMOVE_ITEM_CURRENT_AMOUNT_1) {
|
||||
if (e.getCurrentItem().getAmount() > 1) {
|
||||
e.getCurrentItem().setAmount(e.getCurrentItem().getAmount() - 1);
|
||||
}
|
||||
else {
|
||||
e.setCurrentItem(null);
|
||||
}
|
||||
}
|
||||
else if (result == SpecialItemResult.REMOVE_ITEM_CURSOR_AMOUNT_1) {
|
||||
if (e.getCursor().getAmount() > 1) {
|
||||
e.getCursor().setAmount(e.getCursor().getAmount() - 1);
|
||||
}
|
||||
else {
|
||||
e.getWhoClicked().setItemOnCursor(null);
|
||||
}
|
||||
switch (result) {
|
||||
case CANCEL:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case BREAK:
|
||||
return;
|
||||
case REMOVE_ITEM_CURRENT:
|
||||
e.setCurrentItem(null);
|
||||
break;
|
||||
case REMOVE_ITEM_CURSOR:
|
||||
e.getWhoClicked().setItemOnCursor(null);
|
||||
break;
|
||||
case REMOVE_ITEM_CURRENT_AMOUNT_1:
|
||||
if (e.getCurrentItem().getAmount() > 1) {
|
||||
e.getCurrentItem().setAmount(e.getCurrentItem().getAmount() - 1);
|
||||
} else {
|
||||
e.setCurrentItem(null);
|
||||
}
|
||||
break;
|
||||
case REMOVE_ITEM_CURSOR_AMOUNT_1:
|
||||
if (e.getCursor().getAmount() > 1) {
|
||||
e.getCursor().setAmount(e.getCursor().getAmount() - 1);
|
||||
} else {
|
||||
e.getWhoClicked().setItemOnCursor(null);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,6 @@ public enum SpecialItemResult {
|
||||
/**
|
||||
* 移除一个鼠标物品
|
||||
*/
|
||||
REMOVE_ITEM_CURSOR_AMOUNT_1;
|
||||
|
||||
REMOVE_ITEM_CURSOR_AMOUNT_1
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user