Merge branch “1.20.6”
This commit is contained in:
commit
2bc7a3979e
7 changed files with 165 additions and 221 deletions
|
|
@ -48,7 +48,7 @@ public class MinecleanerListener implements Listener {
|
|||
hasRightClicked = true;
|
||||
}
|
||||
|
||||
if(!arena.getCurrentMinecleanerGame().gameover && (arena.getArenaStatus() == ArenaStatus.PLAYING || arena.getArenaStatus() == ArenaStatus.COMPLETED)) {
|
||||
if(arena.getCurrentMinecleanerGame() != null && !arena.getCurrentMinecleanerGame().gameover && (arena.getArenaStatus() == ArenaStatus.PLAYING || arena.getArenaStatus() == ArenaStatus.COMPLETED)) {
|
||||
if(arena.getArenaStatus() == ArenaStatus.PLAYING) {
|
||||
int d0x = arena.getOrientation().getModX();
|
||||
int d0z = arena.getOrientation().getModZ();
|
||||
|
|
@ -131,117 +131,6 @@ public class MinecleanerListener implements Listener {
|
|||
}
|
||||
}
|
||||
}
|
||||
if(e.getInventory().equals(plugin.getManager().getSettingsInventory())) {
|
||||
int slot = e.getRawSlot();
|
||||
switch (slot) {
|
||||
case 10: {
|
||||
if(plugin.getManager().getSettingsValue("allowmanualreset", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("allowmanualreset", 1, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("allowmanualreset", 0, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 12: {
|
||||
if(plugin.getManager().getSettingsValue("additionaldisplay", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("additionaldisplay", 1, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("additionaldisplay", 0, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 14: {
|
||||
if(plugin.getManager().getSettingsValue("timer", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("timer", 1, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("timer", 0, player);
|
||||
if(arena != null) {
|
||||
arena.updateIngameInfoTexts();
|
||||
}
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
switch (plugin.getManager().getSettingsValue("resettime", player)) {
|
||||
case 1: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 2, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 3, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 4, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 5, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 6, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 7, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 7: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 8, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 8: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 9, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 9: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 10, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
case 10: {
|
||||
plugin.getManager().updateSettingsValue("resettime", 1, player);
|
||||
player.closeInventory();
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -373,75 +373,6 @@ public class MinecleanerManager {
|
|||
}
|
||||
}
|
||||
|
||||
public Inventory showSettingsInventory(Player player) {
|
||||
int current = getSettingsValue("allowmanualreset", player);
|
||||
|
||||
if(current == 0) {
|
||||
settingsInventory.setItem(10,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.SHEARS), ChatColor.RED + "Manuelles Resetten deaktiviert")));
|
||||
} else {
|
||||
settingsInventory.setItem(10,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.SHEARS), ChatColor.GREEN + "Manuelles Resetten aktiviert")));
|
||||
}
|
||||
|
||||
current = getSettingsValue("additionaldisplay", player);
|
||||
if(current == 0) {
|
||||
settingsInventory.setItem(12,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.NAME_TAG), ChatColor.RED + "Zusätzliche Anzeige in der Action Bar deaktiviert")));
|
||||
} else {
|
||||
settingsInventory.setItem(12,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.NAME_TAG), ChatColor.GREEN + "Zusätzliche Anzeige in der Action Bar aktiviert")));
|
||||
}
|
||||
|
||||
|
||||
current = getSettingsValue("timer", player);
|
||||
|
||||
if(current == 0) {
|
||||
settingsInventory.setItem(14,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CLOCK), ChatColor.RED + "Timer wird nicht angezeigt")));
|
||||
} else {
|
||||
settingsInventory.setItem(14,
|
||||
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CLOCK), ChatColor.GREEN + "Timer wird angezeigt")));
|
||||
}
|
||||
|
||||
current = getSettingsValue("resettime", player);
|
||||
|
||||
switch (current) {
|
||||
case 1:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "1s")));
|
||||
break;
|
||||
case 2:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "2s")));
|
||||
break;
|
||||
case 3:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "3s")));
|
||||
break;
|
||||
case 4:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "4s")));
|
||||
break;
|
||||
case 5:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "5s")));
|
||||
break;
|
||||
case 6:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "6s")));
|
||||
break;
|
||||
case 7:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "7s")));
|
||||
break;
|
||||
case 8:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "8s")));
|
||||
break;
|
||||
case 9:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "9s")));
|
||||
break;
|
||||
case 10:
|
||||
settingsInventory.setItem(16, ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CANDLE), ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + "10s")));
|
||||
break;
|
||||
}
|
||||
|
||||
return settingsInventory;
|
||||
}
|
||||
|
||||
public int getSettingsValue(String settingsKeyString, Player player) {
|
||||
PlayerStatistics playerStatistics = plugin.getCubesideStatistics().getStatistics(player.getUniqueId());
|
||||
SettingKey settingKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings." + settingsKeyString);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
package de.lunarakai.minecleaner;
|
||||
|
||||
import de.iani.cubesideutils.bukkit.inventory.AbstractWindow;
|
||||
import de.lunarakai.minecleaner.utils.ItemUtil;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
||||
public class MinecleanerSettingsInventory extends AbstractWindow {
|
||||
|
||||
private static final int SETTINGS_ALLOW_MANUEL_RESET = 10;
|
||||
private static final int SETTINGS_ADDITIONAL_DISPLAY = 12;
|
||||
private static final int SETTINGS_TIMER = 14;
|
||||
private static final int SETTINGS_RESETTIME = 16;
|
||||
private static final int WINDOW_SIZE = 27;
|
||||
|
||||
private MinecleanerPlugin plugin;
|
||||
|
||||
public MinecleanerSettingsInventory(Player player, MinecleanerPlugin plugin) {
|
||||
super(player, Bukkit.createInventory(player, InventoryType.CHEST, plugin.getDisplayedPluginName() + " Einstellungen"));
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void rebuildInventory() {
|
||||
Player player = getPlayer();
|
||||
|
||||
for (int i = 0; i < WINDOW_SIZE; i++) {
|
||||
ItemStack item;
|
||||
switch (i) {
|
||||
case SETTINGS_ALLOW_MANUEL_RESET -> {
|
||||
if (plugin.getManager().getSettingsValue("allowmanualreset", player) == 0) {
|
||||
item = ItemUtil.createGuiItem(Material.SHEARS, ChatColor.RED + "Manuelles Resetten deaktiviert");
|
||||
} else {
|
||||
item = ItemUtil.createGuiItem(Material.SHEARS, ChatColor.GREEN + "Manuelles Resetten aktiviert");
|
||||
}
|
||||
}
|
||||
case SETTINGS_ADDITIONAL_DISPLAY -> {
|
||||
if (plugin.getManager().getSettingsValue("additionaldisplay", player) == 0) {
|
||||
item = ItemUtil.createGuiItem(Material.NAME_TAG, ChatColor.RED + "Zusätzliche Anzeige in der Action Bar deaktiviert\"");
|
||||
} else {
|
||||
item = ItemUtil.createGuiItem(Material.NAME_TAG, ChatColor.GREEN + "Zusätzliche Anzeige in der Action Bar aktiviert\"");
|
||||
}
|
||||
}
|
||||
case SETTINGS_TIMER -> {
|
||||
if (plugin.getManager().getSettingsValue("timer", player) == 0) {
|
||||
item = ItemUtil.createGuiItem(Material.CLOCK, ChatColor.RED + "Timer wird nicht angezeigt");
|
||||
} else {
|
||||
item = ItemUtil.createGuiItem(Material.CLOCK, ChatColor.GREEN + "Timer wird angezeigt");
|
||||
}
|
||||
}
|
||||
case SETTINGS_RESETTIME -> {
|
||||
int current = plugin.getManager().getSettingsValue("resettime", player);
|
||||
item = ItemUtil.createGuiItem(Material.CANDLE, ChatColor.GOLD + "Resetzeit: " + ChatColor.RED + current + "s");
|
||||
}
|
||||
default -> item = ItemUtil.EMPTY_ICON;
|
||||
}
|
||||
this.getInventory().setItem(i, item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClicked(InventoryClickEvent event) {
|
||||
if (!mayAffectThisInventory(event)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
if (!getInventory().equals(event.getClickedInventory())) {
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = getPlayer();
|
||||
|
||||
|
||||
int slot = event.getSlot();
|
||||
switch (slot) {
|
||||
case SETTINGS_ALLOW_MANUEL_RESET -> {
|
||||
if(plugin.getManager().getSettingsValue("allowmanualreset", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("allowmanualreset", 1, player);
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("allowmanualreset", 0, player);
|
||||
}
|
||||
rebuildInventory();
|
||||
}
|
||||
case SETTINGS_ADDITIONAL_DISPLAY -> {
|
||||
if(plugin.getManager().getSettingsValue("additionaldisplay", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("additionaldisplay", 1, player);
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("additionaldisplay", 0, player);
|
||||
}
|
||||
rebuildInventory();
|
||||
}
|
||||
case SETTINGS_TIMER -> {
|
||||
if(plugin.getManager().getSettingsValue("timer", player) == 0) {
|
||||
plugin.getManager().updateSettingsValue("timer", 1, player);
|
||||
} else {
|
||||
MinecleanerArena arena = plugin.getArenaList().getPlayerArena(player);
|
||||
plugin.getManager().updateSettingsValue("timer", 0, player);
|
||||
if(arena != null) {
|
||||
arena.updateIngameInfoTexts();
|
||||
}
|
||||
}
|
||||
rebuildInventory();
|
||||
}
|
||||
case SETTINGS_RESETTIME -> {
|
||||
int current = plugin.getManager().getSettingsValue("resettime", player);
|
||||
if(plugin.getManager().getSettingsValue("resettime", player) < 10) {
|
||||
plugin.getManager().updateSettingsValue("resettime", current + 1, player);
|
||||
} else {
|
||||
plugin.getManager().updateSettingsValue("resettime", 1, player);
|
||||
}
|
||||
rebuildInventory();
|
||||
}
|
||||
default -> {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
|
|||
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
|
||||
import de.iani.cubesideutils.commands.ArgsParser;
|
||||
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
||||
import de.lunarakai.minecleaner.MinecleanerSettingsInventory;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
|
@ -39,7 +40,7 @@ public class SettingsCommand extends SubCommand {
|
|||
public boolean onCommand(CommandSender sender, Command command, String s, String s1, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
|
||||
Player player = (Player) sender;
|
||||
|
||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
||||
new MinecleanerSettingsInventory(player, plugin).open();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
32
src/main/java/de/lunarakai/minecleaner/utils/ItemUtil.java
Normal file
32
src/main/java/de/lunarakai/minecleaner/utils/ItemUtil.java
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
package de.lunarakai.minecleaner.utils;
|
||||
|
||||
import de.iani.cubesideutils.bukkit.items.ItemBuilder;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class ItemUtil {
|
||||
|
||||
public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, " ", true, true);
|
||||
|
||||
public static ItemStack createGuiItem(Material material, String name, String... lore) {
|
||||
return createGuiItem(material, name, false, lore);
|
||||
}
|
||||
|
||||
public static ItemStack createGuiItem(Material material, String name, boolean glowing, boolean showTooltip, String... lore) {
|
||||
ItemBuilder builder = ItemBuilder.fromMaterial(material).displayName(name).lore(lore);
|
||||
if (glowing) {
|
||||
builder.enchantment(Enchantment.UNBREAKING, 1, true).flag(ItemFlag.HIDE_ENCHANTS);
|
||||
}
|
||||
if (!showTooltip) {
|
||||
builder.flag(ItemFlag.HIDE_ADDITIONAL_TOOLTIP);
|
||||
}
|
||||
return builder.build();
|
||||
|
||||
}
|
||||
|
||||
public static ItemStack createGuiItem(Material material, String name, boolean glowing, String... lore) {
|
||||
return createGuiItem(material, name, glowing, true, lore);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,8 @@
|
|||
package de.lunarakai.minecleaner.utils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import de.iani.cubesideutils.bukkit.items.CustomHeads;
|
||||
import java.util.UUID;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||
import com.destroystokyo.paper.profile.ProfileProperty;
|
||||
|
||||
public enum MinecleanerHeads {
|
||||
MINESWEEPER_TILE_0("38206373-5653-4431-85aa-6276f3f9a046", "Minesweeper Tile 0", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRjMjg0YTRlOTc0MDA1ZWE4ZDFkNGQwNjc0ZWMwODk0ZWZkOGY2ZGQwMjQ4NjM5YTZjZmE5NGY4NTM4OCJ9fX0="),
|
||||
|
|
@ -38,40 +32,11 @@ public enum MinecleanerHeads {
|
|||
|
||||
private ItemStack head;
|
||||
|
||||
private MinecleanerHeads(String ownerUUIDString, String ownerName, String texturesProperty) {
|
||||
head = createHead(UUID.fromString(ownerUUIDString), ownerName, texturesProperty);
|
||||
MinecleanerHeads(String ownerUUIDString, String ownerName, String texturesProperty) {
|
||||
head = CustomHeads.createHead(UUID.fromString(ownerUUIDString), ownerName, texturesProperty);
|
||||
}
|
||||
|
||||
|
||||
public ItemStack getHead() {
|
||||
return new ItemStack(head);
|
||||
}
|
||||
|
||||
public ItemStack getHead(String displayName) {
|
||||
return getHead(displayName, (String[]) null);
|
||||
}
|
||||
|
||||
public ItemStack getHead(String displayName, String... lore) {
|
||||
ItemStack stack = getHead();
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
meta.setDisplayName(displayName);
|
||||
if (lore != null && lore.length > 0) {
|
||||
meta.setLore(Arrays.asList(lore));
|
||||
}
|
||||
stack.setItemMeta(meta);
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static ItemStack createHead(UUID ownerUUID, String ownerName, String texturesProperty) {
|
||||
if (ownerName == null) {
|
||||
ownerName = ownerUUID.toString().substring(0, 16);
|
||||
}
|
||||
ItemStack stack = new ItemStack(Material.PLAYER_HEAD);
|
||||
SkullMeta meta = (SkullMeta) stack.getItemMeta();
|
||||
PlayerProfile profile = Bukkit.createProfile(ownerUUID, ownerName);
|
||||
profile.setProperty(new ProfileProperty("textures", texturesProperty));
|
||||
meta.setPlayerProfile(profile);
|
||||
stack.setItemMeta(meta);
|
||||
return stack;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package de.lunarakai.minecleaner.utils;
|
||||
|
||||
import de.iani.cubesideutils.StringUtil;
|
||||
|
||||
public class MinecleanerStringUtil {
|
||||
private MinecleanerStringUtil() {
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue