You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.2 KiB
95 lines
2.2 KiB
package com.entryrise.afkguard.mineutils;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.bukkit.enchantments.Enchantment;
|
|
import org.bukkit.inventory.Inventory;
|
|
import org.bukkit.inventory.ItemFlag;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.meta.ItemMeta;
|
|
|
|
public class InventoryUtils {
|
|
|
|
public static List<Integer> filledSquare(Inventory inv, ItemStack filler, int from, int to) {
|
|
int row1 = from%9;
|
|
int line1 = from/9;
|
|
|
|
int row2 = to%9;
|
|
int line2 = to/9;
|
|
|
|
List<Integer> filled = new ArrayList<Integer>();
|
|
|
|
for (int i = line1; i<=line2; i++) {
|
|
for (int j = row1; j<=row2; j++) {
|
|
int slot = i*9+j;
|
|
filled.add(slot);
|
|
inv.setItem(slot, filler);
|
|
}
|
|
}
|
|
|
|
return filled;
|
|
}
|
|
|
|
public static List<Integer> outlineSquare(Inventory inv, ItemStack filler, int from, int to) {
|
|
int row1 = from%9;
|
|
int line1 = from/9;
|
|
|
|
int row2 = to%9;
|
|
int line2 = to/9;
|
|
|
|
List<Integer> filled = new ArrayList<Integer>();
|
|
|
|
for (int i=row1; i<=row2; i++) {
|
|
filled.add(line1*9+i);
|
|
filled.add(line2*9+i);
|
|
}
|
|
|
|
for (int i=line1; i<=line2; i++) {
|
|
filled.add(i*9+row1);
|
|
filled.add(i*9+row2);
|
|
}
|
|
|
|
for (int slot : filled) {
|
|
inv.setItem(slot, filler);
|
|
}
|
|
|
|
return filled;
|
|
}
|
|
|
|
public static List<Integer> centeredCross(Inventory inv, ItemStack filler, int center, int size) {
|
|
int row = center%9;
|
|
int line = center/9;
|
|
|
|
List<Integer> filled = new ArrayList<Integer>();
|
|
|
|
for (int i = Math.max(0, line-size); i<=Math.min(8, line+size); i++) {
|
|
int slot = i*9+row;
|
|
filled.add(slot);
|
|
inv.setItem(slot, filler);
|
|
}
|
|
|
|
for (int i = Math.max(0, row-size); i<=Math.min(8, row+size); i++) {
|
|
int slot = line*9+i;
|
|
filled.add(slot);
|
|
inv.setItem(slot, filler);
|
|
}
|
|
|
|
return filled;
|
|
}
|
|
|
|
public static ItemStack setName(ItemStack itm, String name) {
|
|
ItemMeta imeta = itm.getItemMeta();
|
|
imeta.setDisplayName(name);
|
|
itm.setItemMeta(imeta);
|
|
return itm;
|
|
}
|
|
|
|
public static ItemStack setShiny(ItemStack itm) {
|
|
ItemMeta imeta = itm.getItemMeta();
|
|
imeta.addEnchant(Enchantment.DURABILITY, 10, true);
|
|
imeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
|
itm.setItemMeta(imeta);
|
|
return itm;
|
|
}
|
|
}
|