Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.lisenochek.realistic.objects;
- import com.google.common.collect.Lists;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import ru.lisenochek.realistic.utils.Utils;
- import java.util.*;
- import java.util.concurrent.CopyOnWriteArrayList;
- public class WorkbenchClass {
- public static HashMap<Location, WorkbenchClass> wbMap = new HashMap<>();
- private Location workBenchLocation;
- private List<Location> cuboid;
- private CopyOnWriteArrayList<String> ownersList;
- private WorkbenchClass(Location workBenchLocation, String... owners) {
- this.workBenchLocation = workBenchLocation;
- ownersList = Lists.newCopyOnWriteArrayList(Arrays.asList(owners));
- cuboid = new ArrayList<>();
- for (int x = -10; x < 11; x++) {
- for (int y = -4; y < 10; y++) {
- for (int z = -10; z < 11; z++) {
- Location location = new Location(workBenchLocation.getWorld(), workBenchLocation.getBlockX() + x, workBenchLocation.getBlockY() + y, workBenchLocation.getBlockZ() + z);
- cuboid.add(location);
- wbMap.put(location, this);
- }
- }
- }
- }
- public static WorkbenchClass createRegion(Location workBenchLocation, String... owners) {
- return new WorkbenchClass(workBenchLocation, owners);
- }
- public List<Location> getCuboid() {
- return cuboid;
- }
- public Location getWorkBenchLocation() {
- return workBenchLocation;
- }
- public List<String> getOwnersList() {
- return ownersList;
- }
- public void addOwner(String playerName) {
- if (!isOwner(playerName)) ownersList.add(playerName);
- }
- public void removeOwner(String playerName) {
- if (isOwner(playerName)) ownersList.remove(playerName);
- }
- public boolean isOwner(String playerName) {
- return ownersList.contains(playerName);
- }
- public void openInventory(Player player) {
- Inventory inventory = Bukkit.createInventory(null, 9, Utils.stripColor("&2&lШкаф."));
- inventory.setItem(3, !isOwner(player.getName()) ? Utils.setItemMeta(new ItemStack(Material.BOOK), "&a&l» &e&lАвторизоваться в шкафу.", false, "", "&7Авторизуйтесь в шкафу, чтобы", "&7строить на территории.") : Utils.setItemMeta(new ItemStack(Material.BOOK), "&a&l» &e&lВыписаться из шкафа.", false, "", "&7Выпишитесь из шкафа, если вы ", "&7не хотите строить на территории."));
- inventory.setItem(4, Utils.setItemMeta(new ItemStack(Material.BOOK), "&a&l» &e&lВыписать всех из шкафа.", false, "", "&7Выписать всех выживших из шкафа"));
- StringBuilder builder = new StringBuilder();
- Iterator<String> i = ownersList.iterator();
- while (i.hasNext()) {
- String ownerName = i.next();
- builder.append("&a").append(ownerName).append(i.hasNext() ? "&7, " : "&7.");
- }
- inventory.setItem(5, Utils.setItemMeta(new ItemStack(Material.BOOK), "&a&l» &e&lАвторизированные выжившие:", false, "", ownersList.size() == 0 ? "&cНету &7авторизированных выживших." : builder.toString()));
- for (int emptySlot = 0; emptySlot < inventory.getSize(); emptySlot++) if (inventory.getItem(emptySlot) == null) inventory.setItem(emptySlot, Utils.setItemMeta(new ItemStack(Material.STAINED_GLASS_PANE), " ", false));
- player.openInventory(inventory);
- }
- }
Add Comment
Please, Sign In to add comment