nullpointer + settingsinv
This commit is contained in:
		
					parent
					
						
							
								b1193d4687
							
						
					
				
			
			
				commit
				
					
						75768ea587
					
				
			
		
					 5 changed files with 129 additions and 182 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; | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -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