Compare commits
	
		
			2 commits
		
	
	
		
			
				b8b9a73140
			
			...
			
				2738a2474d
			
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2738a2474d | |||
| 6c777a50e4 | 
					 7 changed files with 123 additions and 49 deletions
				
			
		|  | @ -15,6 +15,7 @@ import org.bukkit.entity.Display.Brightness; | ||||||
| import org.bukkit.entity.Entity; | import org.bukkit.entity.Entity; | ||||||
| import org.bukkit.entity.ItemDisplay; | import org.bukkit.entity.ItemDisplay; | ||||||
| import org.bukkit.entity.Player; | import org.bukkit.entity.Player; | ||||||
|  | import org.bukkit.scheduler.BukkitRunnable; | ||||||
| import org.bukkit.util.Transformation; | import org.bukkit.util.Transformation; | ||||||
| import org.joml.Vector2i; | import org.joml.Vector2i; | ||||||
| import org.joml.Vector3f; | import org.joml.Vector3f; | ||||||
|  | @ -59,6 +60,17 @@ public class MinecleanerArena { | ||||||
|         MinecleanerHeads.MINESWEEPER_TILE_8, |         MinecleanerHeads.MINESWEEPER_TILE_8, | ||||||
|         MinecleanerHeads.MINESWEEPER_TILE_FLAG, |         MinecleanerHeads.MINESWEEPER_TILE_FLAG, | ||||||
|         MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, |         MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, | ||||||
|  |         MinecleanerHeads.TNT, | ||||||
|  |         MinecleanerHeads.EXPLODED, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_M, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_I, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_N, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_E, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_S, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_W, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_P,         | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_R, | ||||||
|  |         MinecleanerHeads.MINESWEEPER_LETTER_MINUS, | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     public MinecleanerArena(MinecleanerPlugin plugin, ConfigurationSection arenaSection) { |     public MinecleanerArena(MinecleanerPlugin plugin, ConfigurationSection arenaSection) { | ||||||
|  | @ -238,7 +250,7 @@ public class MinecleanerArena { | ||||||
|          |          | ||||||
|         // show Displays |         // show Displays | ||||||
| 
 | 
 | ||||||
|         //showStartHeads(); |         showStartHeads(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void save(ConfigurationSection arenaSection) { |     public void save(ConfigurationSection arenaSection) { | ||||||
|  | @ -258,13 +270,18 @@ public class MinecleanerArena { | ||||||
|         // arenaSection.set("textdisplay", textd); |         // arenaSection.set("textdisplay", textd); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private void setDiplayBlock(int x, int y, MinecleanerHeads head) { |     private void setDiplayBlock(int x, int y, MinecleanerHeads head, boolean applyUsualRotation) { | ||||||
|         int size = BoardSize.boardSizes[widthIndex]; |         int size = BoardSize.boardSizes[widthIndex]; | ||||||
| 
 | 
 | ||||||
|         UUID blockDisplayId = blockDisplays[x + y * size]; |         UUID blockDisplayId = blockDisplays[x + y * size]; | ||||||
|         Entity blockDisplay = blockDisplayId != null ? location.getWorld().getEntity(blockDisplayId) : null; |         Entity blockDisplay = blockDisplayId != null ? location.getWorld().getEntity(blockDisplayId) : null; | ||||||
|         if(blockDisplay instanceof ItemDisplay) { |         if(blockDisplay instanceof ItemDisplay) { | ||||||
|             ItemDisplay display = (ItemDisplay) blockDisplay; |             ItemDisplay display = (ItemDisplay) blockDisplay; | ||||||
|  |             if(!applyUsualRotation) { | ||||||
|  |                 blockDisplay.setRotation(blockDisplay.getYaw(), 0); | ||||||
|  |             } else { | ||||||
|  |                 blockDisplay.setRotation(blockDisplay.getYaw(), -90); | ||||||
|  |             } | ||||||
|             display.setItemStack(head.getHead()); |             display.setItemStack(head.getHead()); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | @ -272,11 +289,20 @@ public class MinecleanerArena { | ||||||
|     public void startNewGame() { |     public void startNewGame() { | ||||||
|         currentMinecleanerGame = new Game(plugin, BoardSize.boardSizes[widthIndex], BoardSize.mineCounter[widthIndex]); |         currentMinecleanerGame = new Game(plugin, BoardSize.boardSizes[widthIndex], BoardSize.mineCounter[widthIndex]); | ||||||
|         currentMinecleanerGame.start(); |         currentMinecleanerGame.start(); | ||||||
|         //removeStartHeads(); |         removeStartHeads(); | ||||||
|         flagsPlaced = 0; |         flagsPlaced = 0; | ||||||
|         hasMadeFirstClick = false; |         hasMadeFirstClick = false; | ||||||
|         arenaStatus = ArenaStatus.PLAYING; |         arenaStatus = ArenaStatus.PLAYING; | ||||||
|         currentGameStartTime = System.currentTimeMillis(); |         currentGameStartTime = System.currentTimeMillis(); | ||||||
|  | 
 | ||||||
|  |         new BukkitRunnable() { | ||||||
|  |             @Override | ||||||
|  |             public void run() { | ||||||
|  |                 if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) { | ||||||
|  |                     sendActionBarMessage(currentPlayer); | ||||||
|  |                 }  | ||||||
|  |             } | ||||||
|  |         }.runTaskTimer(plugin, 20L, 20L); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void addJoiningPlayer(Player player) { |     public void addJoiningPlayer(Player player) { | ||||||
|  | @ -295,27 +321,62 @@ public class MinecleanerArena { | ||||||
|          |          | ||||||
|         for(int x = 0; x < size; x++) { |         for(int x = 0; x < size; x++) { | ||||||
|             for(int y = 0; y < size; y++) { |             for(int y = 0; y < size; y++) { | ||||||
|                 setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |                 setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         //showStartHeads(); |         showStartHeads(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // public void showStartHeads() { |     public void showStartHeads() { | ||||||
|     //     setDiplayBlock(4+widthIndex, 2+widthIndex+1, MinecleanerHeads.RAINBOW_S); |         int correction = 1; | ||||||
|     //     setDiplayBlock(4+widthIndex, 3+widthIndex+1, MinecleanerHeads.RAINBOW_T); |         int xcorrection = 0; | ||||||
|     //     setDiplayBlock(4+widthIndex, 4+widthIndex+1, MinecleanerHeads.RAINBOW_A); |         if(widthIndex == 0) { | ||||||
|     //     setDiplayBlock(4+widthIndex, 5+widthIndex+1, MinecleanerHeads.RAINBOW_R); |             correction = 0; | ||||||
|     //     setDiplayBlock(4+widthIndex, 6+widthIndex+1, MinecleanerHeads.RAINBOW_T); |         } | ||||||
|     // } |         if(widthIndex == 2) { | ||||||
|  |             xcorrection = 1; | ||||||
|  |         } | ||||||
|  |         // MINE - | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 2+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_M, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 3+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_I, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 4+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_N, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 5+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_E, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 6+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_MINUS, true); | ||||||
| 
 | 
 | ||||||
|     // public void removeStartHeads() { |         // SWEEPER | ||||||
|     //     setDiplayBlock(4+widthIndex, 2+widthIndex+1, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |         setDiplayBlock(3+widthIndex+xcorrection, 1+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_S, true); | ||||||
|     //     setDiplayBlock(4+widthIndex, 3+widthIndex+1, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |         setDiplayBlock(3+widthIndex+xcorrection, 2+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_W, true); | ||||||
|     //     setDiplayBlock(4+widthIndex, 4+widthIndex+1, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |         setDiplayBlock(3+widthIndex+xcorrection, 3+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_E, true); | ||||||
|     //     setDiplayBlock(4+widthIndex, 5+widthIndex+1, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |         setDiplayBlock(3+widthIndex+xcorrection, 4+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_E, true); | ||||||
|     //     setDiplayBlock(4+widthIndex, 6+widthIndex+1, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |         setDiplayBlock(3+widthIndex+xcorrection, 5+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_P, true); | ||||||
|     // } |         setDiplayBlock(3+widthIndex+xcorrection, 6+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_E, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 7+widthIndex+correction, MinecleanerHeads.MINESWEEPER_LETTER_R, true); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void removeStartHeads() { | ||||||
|  |         int correction = 1; | ||||||
|  |         int xcorrection = 0; | ||||||
|  |         if(widthIndex == 0) { | ||||||
|  |             correction = 0; | ||||||
|  |         } | ||||||
|  |         if(widthIndex == 2) { | ||||||
|  |             xcorrection = 1; | ||||||
|  |         } | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 2+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 3+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 4+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 5+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(5+widthIndex+xcorrection, 6+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  | 
 | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 1+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 2+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 3+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 4+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 5+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 6+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|  |         setDiplayBlock(3+widthIndex+xcorrection, 7+widthIndex+correction, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true);    | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     public void removeBlockDisplays() { |     public void removeBlockDisplays() { | ||||||
|         int size = BoardSize.boardSizes[widthIndex]; |         int size = BoardSize.boardSizes[widthIndex]; | ||||||
|  | @ -346,13 +407,13 @@ public class MinecleanerArena { | ||||||
|                 if(cell.isFlagged() == true) { |                 if(cell.isFlagged() == true) { | ||||||
|                     flagsPlaced = flagsPlaced + 1; |                     flagsPlaced = flagsPlaced + 1; | ||||||
|                     sendActionBarMessage(player); |                     sendActionBarMessage(player); | ||||||
|                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_FLAG); |                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_FLAG, true); | ||||||
|                 }  |                 }  | ||||||
| 
 | 
 | ||||||
|                 if(cell.isFlagged() == false) { |                 if(cell.isFlagged() == false) { | ||||||
|                     flagsPlaced = flagsPlaced - 1; |                     flagsPlaced = flagsPlaced - 1; | ||||||
|                     sendActionBarMessage(player); |                     sendActionBarMessage(player); | ||||||
|                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN); |                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|              |              | ||||||
|  | @ -412,7 +473,7 @@ public class MinecleanerArena { | ||||||
|         switch (cell.getType()) { |         switch (cell.getType()) { | ||||||
|             case Empty: { |             case Empty: { | ||||||
|                 if(!cell.isRevealed() || !cell.isFlagged() || !cell.isExploded()) {   |                 if(!cell.isRevealed() || !cell.isFlagged() || !cell.isExploded()) {   | ||||||
|                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_0); |                     setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_0, true); | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|  | @ -420,35 +481,35 @@ public class MinecleanerArena { | ||||||
|                 if(!cell.isRevealed() || !cell.isFlagged() || !cell.isExploded()) { |                 if(!cell.isRevealed() || !cell.isFlagged() || !cell.isExploded()) { | ||||||
|                     switch(cell.number) { |                     switch(cell.number) { | ||||||
|                         case 1: { |                         case 1: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_1);  |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_1, true);  | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 2: { |                         case 2: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_2); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_2, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 3: { |                         case 3: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_3); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_3, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 4: { |                         case 4: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_4); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_4, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 5: { |                         case 5: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_5); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_5, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 6: { |                         case 6: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_6); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_6, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 7: { |                         case 7: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_7); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_7, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         case 8: { |                         case 8: { | ||||||
|                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_8); |                             setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_8, true); | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                         default: { |                         default: { | ||||||
|  | @ -460,9 +521,9 @@ public class MinecleanerArena { | ||||||
|             } |             } | ||||||
|             case Mine: { |             case Mine: { | ||||||
|                 if(cell.isExploded()) { |                 if(cell.isExploded()) { | ||||||
|                     setDiplayBlock(x, y, MinecleanerHeads.EXPLODED); |                     setDiplayBlock(x, y, MinecleanerHeads.EXPLODED, true); | ||||||
|                 } else { |                 } else { | ||||||
|                     setDiplayBlock(x, y, MinecleanerHeads.TNT); |                     setDiplayBlock(x, y, MinecleanerHeads.TNT, true); | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  | @ -170,15 +170,15 @@ public class MinecleanerManager { | ||||||
|         int wIndex = arena.getWidthIndex(); |         int wIndex = arena.getWidthIndex(); | ||||||
|         switch (wIndex) { |         switch (wIndex) { | ||||||
|             case 0: { |             case 0: { | ||||||
|                 ps.increaseScore(statisticsPointsAcquired, 1); |                 ps.increaseScore(statisticsPointsAcquired, plugin.getConfig().getInt("winpoints.size.small")); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|             case 1: { |             case 1: { | ||||||
|                 ps.increaseScore(statisticsPointsAcquired, 5); |                 ps.increaseScore(statisticsPointsAcquired, plugin.getConfig().getInt("winpoints.size.medium")); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|             case 2: { |             case 2: { | ||||||
|                 ps.increaseScore(statisticsPointsAcquired, 20); |                 ps.increaseScore(statisticsPointsAcquired, plugin.getConfig().getInt("winpoints.size.large")); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|             default: { |             default: { | ||||||
|  |  | ||||||
|  | @ -21,6 +21,7 @@ public final class MinecleanerPlugin extends JavaPlugin { | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void onEnable() { |     public void onEnable() { | ||||||
|  |         this.saveDefaultConfig(); | ||||||
|         getServer().getScheduler().runTask(this, this::onLateEnable); |         getServer().getScheduler().runTask(this, this::onLateEnable); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -67,11 +67,10 @@ public class StatsCommand extends SubCommand { | ||||||
|                     if(totalSize > 0) { |                     if(totalSize > 0) { | ||||||
|                         String sizeName = StringUtil.capitalizeFirstLetter(e.getValue(), false); |                         String sizeName = StringUtil.capitalizeFirstLetter(e.getValue(), false); | ||||||
|                         sender.sendMessage(ChatColor.GREEN + "  " + sizeName + ":"); |                         sender.sendMessage(ChatColor.GREEN + "  " + sizeName + ":"); | ||||||
|                         sender.sendMessage(ChatColor.BLUE + "    Runden gewonnen: " + ChatColor.GREEN + totalWonSize + " von " + totalSize  + " (Dieser Monat: " + totalWonMonth + " von " + totalSizeMonth + ")"); |                         sender.sendMessage(ChatColor.BLUE + "    Runden gewonnen: " + ChatColor.GREEN + totalWonSize + " von " + totalSize  + " (" + MinecleanerStringUtil.percentageString(totalWonSize, totalSize)+ ") " + "(Dieser Monat: " + totalWonMonth + " von " + totalSizeMonth + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth)+ ")" + ")"); | ||||||
|                         Integer time = data.getBestTime(e.getKey()); |                         Integer time = data.getBestTime(e.getKey()); | ||||||
|                         sender.sendMessage(ChatColor.BLUE + "    Bestzeit: " + ChatColor.GREEN + (time == null ? "-": MinecleanerStringUtil.timeToString(time))); |                         sender.sendMessage(ChatColor.BLUE + "    Bestzeit: " + ChatColor.GREEN + (time == null ? "-": MinecleanerStringUtil.timeToString(time))); | ||||||
|                     } |                     } | ||||||
| 
 |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
|  | @ -22,16 +22,18 @@ public enum MinecleanerHeads { | ||||||
|     MINESWEEPER_TILE_8("168c915e-87c9-4c14-a297-3aafa692d3a5", "Minesweeper Tile 8", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODI3MWNkZDM4ZThhN2M3NDIzMWFmOGExNTU2MThmNGZmY2I3ZjkxN2U4ODI2YzJiM2MxODM2ZDFiZDExNmQzIn19fQ=="), |     MINESWEEPER_TILE_8("168c915e-87c9-4c14-a297-3aafa692d3a5", "Minesweeper Tile 8", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODI3MWNkZDM4ZThhN2M3NDIzMWFmOGExNTU2MThmNGZmY2I3ZjkxN2U4ODI2YzJiM2MxODM2ZDFiZDExNmQzIn19fQ=="), | ||||||
|     MINESWEEPER_TILE_FLAG("ae508256-8113-463c-adce-877bad2227c0", "Minesweeper Tile Flag", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg0YTdmY2IyNDc0MDZlMzUzYTM2ZTU1NmFkMTk1NzhjM2ViZTRlMTU1ODFkYjEwNmQxNWE1Y2I5ZGFkIn19fQ=="), |     MINESWEEPER_TILE_FLAG("ae508256-8113-463c-adce-877bad2227c0", "Minesweeper Tile Flag", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg0YTdmY2IyNDc0MDZlMzUzYTM2ZTU1NmFkMTk1NzhjM2ViZTRlMTU1ODFkYjEwNmQxNWE1Y2I5ZGFkIn19fQ=="), | ||||||
|     MINESWEEPER_TILE_UNKNOWN("2fe94bff-c5c1-410e-8c99-cf713c850930", "Minesweeper Tile Unknown", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzdmMWVhMjZlYTVlNjg1YjJmMmY4NzY0OTAxYmU5MTRmZTM1NTU5Y2IxZWNiMWVmMzRiN2U0NmFiYzhlZTU0MCJ9fX0="), |     MINESWEEPER_TILE_UNKNOWN("2fe94bff-c5c1-410e-8c99-cf713c850930", "Minesweeper Tile Unknown", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzdmMWVhMjZlYTVlNjg1YjJmMmY4NzY0OTAxYmU5MTRmZTM1NTU5Y2IxZWNiMWVmMzRiN2U0NmFiYzhlZTU0MCJ9fX0="), | ||||||
|     // TODO (needs fitting heads) |  | ||||||
|     TNT("22a627e8-e68a-4fca-ad91-7d14c36e8556", "Minesweeper TNT", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGVlYmI4YjAzY2QyN2QzNDM1ZTExNTYxNmI4ZWQzNWRjYjQyN2FmNWIwYjFjYzUyNmQzMjY1YTcyZDQ5M2UifX19"), |     TNT("22a627e8-e68a-4fca-ad91-7d14c36e8556", "Minesweeper TNT", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGVlYmI4YjAzY2QyN2QzNDM1ZTExNTYxNmI4ZWQzNWRjYjQyN2FmNWIwYjFjYzUyNmQzMjY1YTcyZDQ5M2UifX19"), | ||||||
|     EXPLODED("166a5608-5206-49bb-a325-fbcd9564dc2b", "Minesweeper Exploded", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgzMWQ1NzIxOTUwZWZhOWFhNzk5NjdlYjE5MTZhYmViNjRjOTc4ZWE4NTkzYTBjNjgzMzU0ODA5YzZjMzYxZCJ9fX0="), |     EXPLODED("166a5608-5206-49bb-a325-fbcd9564dc2b", "Minesweeper Exploded", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgzMWQ1NzIxOTUwZWZhOWFhNzk5NjdlYjE5MTZhYmViNjRjOTc4ZWE4NTkzYTBjNjgzMzU0ODA5YzZjMzYxZCJ9fX0="), | ||||||
| 
 | 
 | ||||||
|     // Todo: other heads (heads are black) |     MINESWEEPER_LETTER_M("a9046a9a-cf3a-4171-971d-6752561c1962", "Minesweeper Letter M", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZmZTljNTlhNGE2ZTg3MzRlZjFmMGIzNWFkNzFjNjM1ZjY2OTMzYzcxOWEwMjA4NGYxZjc1YTY0MzgyYzJhNCIKICAgIH0KICB9Cn0="), | ||||||
|     RAINBOW_A("0db25a65-ac69-4057-94ca-09b73a0b6bff", "Rainbow A", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTUxN2I0ODI5YjgzMTkyYmQ3MjcxMTI3N2E4ZWZjNDE5NjcxMWU0MTgwYzIyYjNlMmI4MTY2YmVhMWE5ZGUxOSJ9fX0="), |     MINESWEEPER_LETTER_I("3c3409c6-7671-4103-b2cf-42340c8689c1", "Minesweeper Letter I", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzQxYjYxNzFhNjM5MmZkMTU0NDNhN2M5Y2E2ZjEwOGE1OGM3ZmUyZDgxNDZiN2VmZTk3OTQ0ODQxNTJhMWQ5ZCIKICAgIH0KICB9Cn0="), | ||||||
|     RAINBOW_R("5ee68035-e68e-4591-91b1-c30c25710d66", "Rainbow R", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTU4MjdmNDVhYWU2NTY4MWJiMjdlM2UwNDY1YWY2MjI4ZWQ2MjkyYmI2M2IwYTc3NjQ1OTYyMjQ3MjdmOGQ4MSJ9fX0="), |     MINESWEEPER_LETTER_N("015bd450-d99a-41ac-a313-5fc7eb68dad6", "Minesweeper Letter N", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTFkZGEwY2MwZTQwNzM1MTQ0MmVlNTE4MGIzMGYwMzZmNWM3ODI5MTk5NGNmYTgwZjc3ZTQyNmI1NjM1MmM2MiIKICAgIH0KICB9Cn0="), | ||||||
|     RAINBOW_S("830419ec-9906-45c5-8c59-29587cdd4a39", "Rainbow S", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGNkN2QxNGM2ZGI4NDFlNTg2NDUxMWQxNmJhNzY3MGIzZDIwMzgxNDI0NjY5ODFmZWIwNWFmYzZlNWVkYzZjYiJ9fX0="), |     MINESWEEPER_LETTER_E("dd3290e5-b62b-4e3e-977a-39d44c782ce1", "Minesweeper Letter E", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjRlOTg4MDQ3ZWQwYTFlZDFkZjdhZTFlM2ViZDAyZTQ2ZmY5YWM5NGIzYmEwYTY2OWMzNDExMDRjNDY2NTYwMiIKICAgIH0KICB9Cn0="), | ||||||
|     RAINBOW_T("4268d321-bd34-4148-a6c0-c948a6450da0", "Rainbow T", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjk0YWMzNmQ5YTZmYmZmMWM1NTg5NDEzODFlNGRjZjU5NWRmODI1OTEzZjZjMzgzZmZhYTcxYjc1NmE4NzVkMyJ9fX0="), |     MINESWEEPER_LETTER_S("9ac8c7b4-e62e-40f6-b03a-29ee70fe3788", "Minesweeper Letter S", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTExMTI3NmU0ZjU0MDdhNzc1ZWNmNTRlZGRiMzM4Y2VjYTI0Yzg1MmY0OGYzMjQ3NDkzZTU4YzU4MDEwZmE3ZCIKICAgIH0KICB9Cn0="), | ||||||
|     RAINBOW_X("4d37c12c-eb19-4499-8c62-33d84c4d9761", "Rainbow X", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTVkNWM3NWY2Njc1ZWRjMjkyZWEzNzg0NjA3Nzk3MGQyMjZmYmQ1MjRlN2ZkNjgwOGYzYTQ3ODFhNTQ5YjA4YyJ9fX0="), |     MINESWEEPER_LETTER_W("6d580f6c-11ce-4af5-ac20-b5214a0bd901", "Minesweeper Letter W", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjk2MjZiOTg2NWE0OGE4MGU3YzVlMTY0MmZkZWUzMDczN2IzMGE0MjcyYWJiNWE3ZTc5Njc5MjFiODRmNmFhZiIKICAgIH0KICB9Cn0="), | ||||||
|  |     MINESWEEPER_LETTER_P("922fb986-d434-4509-9bef-2ba1c3af753c", "Minesweeper Letter P", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmIyNmNlODI4ZmE5Y2JlMzBlYWIwMDVhNGQzNzA3YzVmZGY0Yzg0MWI0ZGJlNjA5OGZhN2MzMGE2YWUzZGIwYSIKICAgIH0KICB9Cn0="), | ||||||
|  |     MINESWEEPER_LETTER_R("3eacba28-ad1a-446a-beb4-824f545353d0", "Minesweeper Letter R", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjdjOWUwYzFkNzBlNDIzNzI0Y2QwZjJlN2IwNDM1N2I4MDVmZTNmZWM5NzJkN2U4NDRmMDZhNjJjODYzNGU1MiIKICAgIH0KICB9Cn0="), | ||||||
|  |     MINESWEEPER_LETTER_MINUS("7f15a38b-fae8-4b0a-908f-93f72fea0c5f", "Minesweeper Letter Minus", "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzcxYzNkOWQwZGUzODQ4Mjg3MGY0MTlmMGRiYWFiZjM4NGVlODFmZTI4Y2EzMTA5ZWQyYmMwOTM0NzIyYWFjNiIKICAgIH0KICB9Cn0="), | ||||||
|     ; |     ; | ||||||
|      |      | ||||||
|     private ItemStack head; |     private ItemStack head; | ||||||
|  |  | ||||||
|  | @ -29,4 +29,10 @@ public class MinecleanerStringUtil { | ||||||
|         return timeString.toString(); |         return timeString.toString(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public static String percentageString(int whatPercentage, int fromPercentage) { | ||||||
|  |         float percent = (float) whatPercentage/fromPercentage; | ||||||
|  |         percent = percent * 100; | ||||||
|  |         String percentageString = String.format("%.1f", percent); | ||||||
|  |         return percentageString + "%"; | ||||||
|  |     }   | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								src/main/resources/config.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/main/resources/config.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | winpoints: | ||||||
|  |   size: | ||||||
|  |     small: 1 | ||||||
|  |     medium: 5 | ||||||
|  |     large: 20 | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue