use of fr.minuskube.inv.content.InventoryContents in project WereWolfPlugin by Ph1Lou.
the class ScenariosGUI method update.
@Override
public void update(Player player, InventoryContents contents) {
Main main = JavaPlugin.getPlugin(Main.class);
GameManager game = (GameManager) main.getWereWolfAPI();
IConfiguration config = game.getConfig();
Pagination pagination = contents.pagination();
List<ClickableItem> items = new ArrayList<>();
for (ScenarioRegister scenarioRegister : main.getRegisterManager().getScenariosRegister()) {
List<String> lore = new ArrayList<>();
scenarioRegister.getLoreKey().stream().map(game::translate).map(s -> Arrays.stream(s.split("\\n")).collect(Collectors.toList())).forEach(lore::addAll);
ItemStack itemStack;
if (config.isScenarioActive(scenarioRegister.getKey())) {
lore.add(0, game.translate("werewolf.utils.enable"));
itemStack = UniversalMaterial.GREEN_TERRACOTTA.getStack();
} else {
lore.add(0, game.translate("werewolf.utils.disable"));
itemStack = UniversalMaterial.RED_TERRACOTTA.getStack();
}
Optional<String> incompatible = scenarioRegister.getIncompatibleScenarios().stream().filter(s -> game.getConfig().isScenarioActive(s)).map(game::translate).findFirst();
incompatible.ifPresent(scenario -> lore.add(game.translate("werewolf.menu.scenarios.incompatible", Formatter.format("&scenario&", scenario))));
items.add(ClickableItem.of((new ItemBuilder(scenarioRegister.getItem().isPresent() ? scenarioRegister.getItem().get() : itemStack).setDisplayName(game.translate(scenarioRegister.getKey())).setLore(lore).build()), e -> {
if (!incompatible.isPresent() || config.isScenarioActive(scenarioRegister.getKey())) {
config.switchScenarioValue(scenarioRegister.getKey());
scenarioRegister.getScenario().register(config.isScenarioActive(scenarioRegister.getKey()));
}
}));
}
if (items.size() > 45) {
pagination.setItems(items.toArray(new ClickableItem[0]));
pagination.setItemsPerPage(36);
pagination.addToIterator(contents.newIterator(SlotIterator.Type.HORIZONTAL, 1, 0));
int page = pagination.getPage() + 1;
contents.set(5, 0, null);
contents.set(5, 1, null);
contents.set(5, 3, null);
contents.set(5, 5, null);
contents.set(5, 7, null);
contents.set(5, 8, null);
contents.set(5, 2, ClickableItem.of(new ItemBuilder(Material.ARROW).setDisplayName(game.translate("werewolf.menu.roles.previous", Formatter.format("¤t&", page), Formatter.format("&previous&", pagination.isFirst() ? page : page - 1))).build(), e -> INVENTORY.open(player, pagination.previous().getPage())));
contents.set(5, 6, ClickableItem.of(new ItemBuilder(Material.ARROW).setDisplayName(game.translate("werewolf.menu.roles.next", Formatter.format("¤t&", page), Formatter.format("&next&", pagination.isLast() ? page : page + 1))).build(), e -> INVENTORY.open(player, pagination.next().getPage())));
contents.set(5, 4, ClickableItem.empty(new ItemBuilder(UniversalMaterial.SIGN.getType()).setDisplayName(game.translate("werewolf.menu.roles.current", Formatter.format("¤t&", page), Formatter.format("&sum&", items.size() / 36 + 1))).build()));
} else {
int i = 0;
for (ClickableItem clickableItem : items) {
contents.set(i / 9 + 1, i % 9, clickableItem);
i++;
}
for (int k = i; k < (i / 9 + 1) * 9; k++) {
contents.set(k / 9 + 1, k % 9, null);
}
}
}
use of fr.minuskube.inv.content.InventoryContents in project WereWolfPlugin by Ph1Lou.
the class ScenariosGUI method init.
@Override
public void init(Player player, InventoryContents contents) {
Main main = JavaPlugin.getPlugin(Main.class);
WereWolfAPI game = main.getWereWolfAPI();
contents.set(0, 0, ClickableItem.of((new ItemBuilder(UniversalMaterial.COMPASS.getType()).setDisplayName(game.translate("werewolf.menu.return")).build()), e -> Config.INVENTORY.open(player)));
}
use of fr.minuskube.inv.content.InventoryContents in project WereWolfPlugin by Ph1Lou.
the class Stuffs method update.
@Override
public void update(Player player, InventoryContents contents) {
Main main = JavaPlugin.getPlugin(Main.class);
WereWolfAPI game = main.getWereWolfAPI();
UUID uuid = player.getUniqueId();
contents.set(0, 2, ClickableItem.of((new ItemBuilder(Material.EGG).setDisplayName(game.translate("werewolf.menu.stuff.normal"))).build(), e -> game.getStuffs().loadAllStuffDefault()));
contents.set(0, 4, ClickableItem.of((new ItemBuilder(UniversalMaterial.GOLDEN_SWORD.getType()).setDisplayName(game.translate("werewolf.menu.stuff.meet_up"))).build(), e -> game.getStuffs().loadAllStuffMeetUP()));
contents.set(0, 6, ClickableItem.of((new ItemBuilder(Material.JUKEBOX).setDisplayName(game.translate("werewolf.menu.stuff.chill"))).build(), e -> game.getStuffs().loadStuffChill()));
contents.set(1, 1, ClickableItem.of((new ItemBuilder(Material.BARRIER).setDisplayName(game.translate("werewolf.menu.stuff.delete"))).build(), e -> {
game.getStuffs().clearStartLoot();
game.getStuffs().clearDeathLoot();
}));
contents.set(1, 4, ClickableItem.of((new ItemBuilder(Material.CHEST).setDisplayName(game.translate("werewolf.menu.stuff.start"))).build(), e -> {
if (!game.getModerationManager().checkAccessAdminCommand("werewolf.commands.admin.stuff_start.command", player)) {
return;
}
IStuffManager stuffManager = game.getStuffs();
PlayerInventory inventory = player.getInventory();
player.setGameMode(GameMode.CREATIVE);
if (!stuffManager.getTempStuff().containsKey(uuid)) {
Inventory inventoryTemp = Bukkit.createInventory(player, 45);
for (int j = 0; j < 40; j++) {
inventoryTemp.setItem(j, inventory.getItem(j));
}
stuffManager.getTempStuff().put(uuid, inventoryTemp);
}
for (int j = 0; j < 40; j++) {
inventory.setItem(j, game.getStuffs().getStartLoot().getItem(j));
}
TextComponent msg = new TextComponent(game.translate(Prefix.YELLOW.getKey(), "werewolf.commands.admin.stuff_start.valid"));
msg.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, String.format("/a %s", game.translate("werewolf.commands.admin.stuff_start.command"))));
player.spigot().sendMessage(msg);
player.closeInventory();
}));
contents.set(1, 7, ClickableItem.of((new ItemBuilder(Material.ENDER_CHEST).setDisplayName(game.translate("werewolf.menu.stuff.death"))).build(), e -> {
if (!game.getModerationManager().checkAccessAdminCommand("werewolf.commands.admin.loot_death.command", player)) {
return;
}
IStuffManager stuffManager = game.getStuffs();
PlayerInventory inventory = player.getInventory();
player.setGameMode(GameMode.CREATIVE);
if (!stuffManager.getTempStuff().containsKey(uuid)) {
Inventory inventoryTemp = Bukkit.createInventory(player, 45);
for (int j = 0; j < 40; j++) {
inventoryTemp.setItem(j, inventory.getItem(j));
}
stuffManager.getTempStuff().put(uuid, inventoryTemp);
}
for (int j = 0; j < 40; j++) {
inventory.setItem(j, null);
}
for (ItemStack i : stuffManager.getDeathLoot()) {
if (i != null) {
inventory.addItem(i);
}
}
TextComponent msg = new TextComponent(game.translate(Prefix.YELLOW.getKey(), "werewolf.commands.admin.loot_death.valid"));
msg.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, String.format("/a %s", game.translate("werewolf.commands.admin.loot_death.command"))));
player.spigot().sendMessage(msg);
player.closeInventory();
}));
}
use of fr.minuskube.inv.content.InventoryContents in project WereWolfPlugin by Ph1Lou.
the class TrollChoice method init.
@Override
public void init(Player player, InventoryContents contents) {
WereWolfAPI game = JavaPlugin.getPlugin(Main.class).getWereWolfAPI();
contents.set(0, 0, ClickableItem.of((new ItemBuilder(UniversalMaterial.COMPASS.getType()).setDisplayName(game.translate("werewolf.menu.return")).build()), e -> AdvancedConfig.INVENTORY.open(player)));
}
use of fr.minuskube.inv.content.InventoryContents in project WereWolfPlugin by Ph1Lou.
the class Start method init.
@Override
public void init(Player player, InventoryContents contents) {
GameManager game = (GameManager) JavaPlugin.getPlugin(Main.class).getWereWolfAPI();
contents.fillBorders(ClickableItem.empty(new ItemStack(UniversalMaterial.ORANGE_STAINED_GLASS_PANE.getStack())));
contents.set(0, 0, ClickableItem.of((new ItemBuilder(UniversalMaterial.COMPASS.getType()).setDisplayName(game.translate("werewolf.menu.return")).build()), e -> Config.INVENTORY.open(player)));
}
Aggregations