124 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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().getPlayersArena(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 -> {
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |