diff --git a/pom.xml b/pom.xml index fa43060..f52f871 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,64 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - me.nikl + me.nikl.gamebox.games logicpuzzles - 2.1.0 + LogicPuzzles + jar + 3.0.0-beta + Spend some time with brain teasers + + + + nikl-repo + http://repo.nikl.me/artifactory/public + + + + + https://github.com/NiklasEi/logic-puzzles-for-gamebox + git@github.com:NiklasEi/logic-puzzles-for-gamebox.git + + + + clean package + ${project.name} + src/main/java + target + + + . + true + ${basedir}/src/main/resources + + **/*.yml + + + + + + maven-compiler-plugin + 3.6.0 + + 1.8 + 1.8 + + + + org.codehaus.mojo + buildnumber-maven-plugin + 1.4 + + + validate + + create-timestamp + + + + + + @@ -15,36 +70,30 @@ nikl-repo - https://repo.nikl.me/artifactory/repositories + http://repo.nikl.me/artifactory/public - org.bukkit bukkit - 1.12.2-R0.1-SNAPSHOT + 1.14.1-R0.1-SNAPSHOT provided - me.nikl - gamebox-core - 2.1.4 + gamebox + ${gamebox.version} provided - - clean package - ${project.artifactId} - - 1.8 1.8 UTF-8 UTF-8 + 3.0.0-beta.2 - \ No newline at end of file + diff --git a/src/main/java/me/nikl/logicpuzzles/ExtendedInventory.java b/src/main/java/me/nikl/logicpuzzles/ExtendedInventory.java new file mode 100644 index 0000000..6f529a9 --- /dev/null +++ b/src/main/java/me/nikl/logicpuzzles/ExtendedInventory.java @@ -0,0 +1,22 @@ +package me.nikl.logicpuzzles; + +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; + +public class ExtendedInventory { + private Inventory upperInventory; + private Inventory lowerInventory; + + public ExtendedInventory(Inventory upperInventory, Inventory lowerInventory) { + this.upperInventory = upperInventory; + this.lowerInventory = lowerInventory; + } + + public void setItem(int slot, ItemStack item) { + if (slot >= upperInventory.getSize()) { + lowerInventory.setItem(slot - upperInventory.getSize() + 9, item); + } else { + upperInventory.setItem(slot, item); + } + } +} diff --git a/src/main/java/me/nikl/logicpuzzles/LogicPuzzles.java b/src/main/java/me/nikl/logicpuzzles/LogicPuzzles.java index 5631656..4a56bd9 100644 --- a/src/main/java/me/nikl/logicpuzzles/LogicPuzzles.java +++ b/src/main/java/me/nikl/logicpuzzles/LogicPuzzles.java @@ -1,35 +1,26 @@ package me.nikl.logicpuzzles; -import me.nikl.gamebox.GameBox; -import me.nikl.gamebox.Module; -import org.bukkit.Bukkit; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.java.JavaPlugin; +import me.nikl.gamebox.module.GameBoxModule; +import me.nikl.logicpuzzles.sudoku.Sudoku; +import me.nikl.logicpuzzles.threeinarow.ThreeInARow; /** * Created by Niklas * * Main class of the GameBox game Sudoku */ -public class LogicPuzzles extends JavaPlugin{ +public class LogicPuzzles extends GameBoxModule { public static final String SUDOKU = "sudoku"; public static final String THREE_IN_A_ROW = "threeinarow"; - private GameBox gameBox; @Override public void onEnable(){ - Plugin plugin = Bukkit.getPluginManager().getPlugin("GameBox"); - if(plugin == null || !plugin.isEnabled()){ - getLogger().warning(" GameBox was not found! Disabling LogicPuzzles..."); - Bukkit.getPluginManager().disablePlugin(this); - return; - } - gameBox = (GameBox) plugin; - new Module(gameBox, SUDOKU - , "me.nikl.logicpuzzles.sudoku.Sudoku" - , this, SUDOKU, "su"); - new Module(gameBox, THREE_IN_A_ROW - , "me.nikl.logicpuzzles.threeinarow.ThreeInARow" - , this, THREE_IN_A_ROW, "tiar"); + registerGame(SUDOKU, Sudoku.class, "su"); + registerGame(THREE_IN_A_ROW, ThreeInARow.class, "tiar"); + } + + @Override + public void onDisable() { + } } diff --git a/src/main/java/me/nikl/logicpuzzles/sudoku/Sudoku.java b/src/main/java/me/nikl/logicpuzzles/sudoku/Sudoku.java index cbd7c32..3cc811d 100644 --- a/src/main/java/me/nikl/logicpuzzles/sudoku/Sudoku.java +++ b/src/main/java/me/nikl/logicpuzzles/sudoku/Sudoku.java @@ -27,7 +27,6 @@ public void loadSettings() { gameSettings.setGameType(GameSettings.GameType.SINGLE_PLAYER); gameSettings.setGameGuiSize(54); gameSettings.setHandleClicksOnHotbar(false); - gameSettings.setGameBoxMinimumVersion("2.1.4"); } @Override @@ -39,4 +38,4 @@ public void loadLanguage() { public void loadGameManager() { gameManager = new SudokuGameManager(this); } -} \ No newline at end of file +} diff --git a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGame.java b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGame.java index a3d1ad6..f0ff10d 100644 --- a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGame.java +++ b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGame.java @@ -3,7 +3,7 @@ import me.nikl.gamebox.GameBoxSettings; import me.nikl.gamebox.nms.NmsFactory; import me.nikl.gamebox.utility.Sound; -import org.bukkit.Material; +import me.nikl.logicpuzzles.ExtendedInventory; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; @@ -24,7 +24,8 @@ public class SudokuGame { private String ruleKey; private boolean playSounds, wasWon = false; private SudokuLanguage lang; - private Inventory inventory; + //private Inventory inventory; + private ExtendedInventory inventory; private Player player; private Sound won = Sound.VILLAGER_YES, click = Sound.CLICK; private float volume = 0.5f, pitch= 1f; @@ -36,8 +37,6 @@ public class SudokuGame { private BitSet tips = new BitSet(81); private ItemStack resetButton; private String puzzle; - private long lastRestartClick = System.currentTimeMillis() - 100000; - private final int resetButtonSlot = 22; public SudokuGame(SudokuGameRules rule, Sudoku game, Player player, boolean playSounds, String puzzle, Map cover, Map tip, Map number){ this.game = game; @@ -53,20 +52,10 @@ public SudokuGame(SudokuGameRules rule, Sudoku game, Player player, boolean play // create inventory String title = lang.GAME_TITLE.replace("%score%", String.valueOf(score)); - if(GameBoxSettings.checkInventoryLength && title.length() > 32){ - title = "Title is too long!"; - } - this.inventory = game.createInventory(81, title); + Inventory upperInventory = game.createInventory(54, title); + this.inventory = new ExtendedInventory(upperInventory, player.getInventory()); buildStartingGrid(); - player.openInventory(inventory); - if(rule.hasRestartButton()) { - resetButton = new ItemStack(Material.LEVER); - ItemMeta meta = resetButton.getItemMeta(); - meta.setDisplayName(lang.RESTART_NAME); - meta.setLore(lang.RESTART_LORE); - resetButton.setItemMeta(meta); - player.getInventory().setItem(resetButtonSlot, resetButton); - } + player.openInventory(upperInventory); } private void loadNumberTiles(Map number) { @@ -92,7 +81,7 @@ private void buildStartingGrid() { char value; ItemStack tip; ItemMeta meta; - for(int slot = 0; slot < inventory.getSize(); slot++){ + for(int slot = 0; slot < 81; slot++){ x = (slot%9)/3 + 1; y = (slot/9)/3; value = puzzle.charAt(slot); @@ -154,23 +143,10 @@ private boolean isWon() { public void onClick(InventoryClickEvent inventoryClickEvent) { if(inventoryClickEvent.getCurrentItem() == null) return; if(wasWon) return; - if(inventoryClickEvent.getRawSlot() > 81 && inventoryClickEvent.getSlot() == resetButtonSlot){ - long now = System.currentTimeMillis(); - game.debug("reset click..."); - if(now - lastRestartClick > 1000){ - lastRestartClick = now; - } else { - gridNumbers = new int[81]; - buildStartingGrid(); - if (playSounds) player.playSound(player.getLocation(), Sound.BURP.bukkitSound(), volume, pitch); - lastRestartClick = now - 1000000; - } - return; - } - int slot = inventoryClickEvent.getSlot(); + int slot = inventoryClickEvent.getRawSlot(); - // if the bit set is set for the slot it is a tip + // if the bit is set for the slot it is a tip if(tips.get(slot)) return; int x = (slot%9)/3; diff --git a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameManager.java b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameManager.java index 0104fb8..f0e50ab 100644 --- a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameManager.java +++ b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameManager.java @@ -87,25 +87,25 @@ private void loadItems() { for (int i = 1; i < 10; i++){ if(!game.getConfig().isConfigurationSection("items.grid." + i)){ Bukkit.getConsoleSender().sendMessage(lang.PREFIX + ChatColor.RED + " items.grid." + i + " section missing in config"); - cover.put(i, new ItemStack(Material.STAINED_GLASS_PANE, 1)); - tip.put(i, new ItemStack(Material.HARD_CLAY, i)); - number.put(i, new ItemStack(Material.WOOL, i)); + cover.put(i, new ItemStack(Material.LIGHT_GRAY_STAINED_GLASS_PANE, 1)); + tip.put(i, new ItemStack(Material.CLAY, i)); + number.put(i, new ItemStack(Material.WHITE_WOOL, i)); continue; } - tipItem = ItemStackUtility.getItemStack(items.getString(i + "." + "tip" + ".materialData", "HARD_CLAY")); - coverItem = ItemStackUtility.getItemStack(items.getString(i + "." + "cover" + ".materialData", "STAINED_GLASS_PANE")); - numberItem = ItemStackUtility.getItemStack(items.getString(i + "." + "number" + ".materialData", "WOOL")); + tipItem = ItemStackUtility.getItemStack(items.getString(i + "." + "tip" + ".materialData", "CLAY")); + coverItem = ItemStackUtility.getItemStack(items.getString(i + "." + "cover" + ".materialData", "LIGHT_GRAY_STAINED_GLASS_PANE")); + numberItem = ItemStackUtility.getItemStack(items.getString(i + "." + "number" + ".materialData", "WHITE_WOOL")); if(tipItem == null){ - tipItem = new ItemStack(Material.HARD_CLAY, 1); + tipItem = new ItemStack(Material.CLAY, 1); game.warn(ChatColor.RED.toString() + i + "." + "tip" + ".materialData" + " not valid material"); } if(coverItem == null){ - coverItem = new ItemStack(Material.STAINED_GLASS_PANE, 1); + coverItem = new ItemStack(Material.LIGHT_GRAY_STAINED_GLASS_PANE, 1); game.warn(ChatColor.RED.toString() + i + "." + "cover" + ".materialData" + " not valid material"); } if(numberItem == null){ - numberItem = new ItemStack(Material.WOOL, 1); + numberItem = new ItemStack(Material.WHITE_WOOL, 1); game.warn(ChatColor.RED.toString() + i + "." + "number" + ".materialData" + " not valid material"); } ItemMeta meta = tipItem.getItemMeta(); @@ -189,10 +189,9 @@ public void removeFromGame(UUID uuid) { public void loadGameRules(ConfigurationSection buttonSec, String buttonID) { double cost = buttonSec.getDouble("cost", 0.); boolean saveStats = buttonSec.getBoolean("saveStats", false); - boolean restartButton = buttonSec.getBoolean("restartButton", true); int token = buttonSec.getInt("token", 0); int money = buttonSec.getInt("money", 0); - gameTypes.put(buttonID, new SudokuGameRules(buttonID, cost, money, token, restartButton, saveStats)); + gameTypes.put(buttonID, new SudokuGameRules(buttonID, cost, money, token, saveStats)); } @Override @@ -218,6 +217,5 @@ public void onGameEnd(Player winner, String key) { } else { winner.sendMessage((lang.PREFIX + lang.GAME_WON)); } - game.onGameWon(winner, rule, 1); } } diff --git a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameRules.java b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameRules.java index 72293a6..dc1ab59 100644 --- a/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameRules.java +++ b/src/main/java/me/nikl/logicpuzzles/sudoku/SudokuGameRules.java @@ -9,14 +9,7 @@ * Game rules container for Sudoku */ public class SudokuGameRules extends GameRuleRewards { - private boolean restartButton; - - public SudokuGameRules(String key, double cost, int reward, int tokens, boolean restartButton, boolean saveStats){ + public SudokuGameRules(String key, double cost, int reward, int tokens, boolean saveStats){ super(key, saveStats, SaveType.WINS, cost, reward, tokens); - this.restartButton = restartButton; - } - - public boolean hasRestartButton() { - return restartButton; } } diff --git a/src/main/java/me/nikl/logicpuzzles/threeinarow/ThreeInARow.java b/src/main/java/me/nikl/logicpuzzles/threeinarow/ThreeInARow.java index fd32046..57ea9fb 100644 --- a/src/main/java/me/nikl/logicpuzzles/threeinarow/ThreeInARow.java +++ b/src/main/java/me/nikl/logicpuzzles/threeinarow/ThreeInARow.java @@ -3,9 +3,9 @@ import me.nikl.gamebox.GameBox; import me.nikl.gamebox.game.Game; import me.nikl.gamebox.game.GameSettings; -import me.nikl.logicpuzzles.LogicPuzzles; import me.nikl.gamebox.utility.ItemStackUtility; import me.nikl.gamebox.utility.StringUtility; +import me.nikl.logicpuzzles.LogicPuzzles; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -36,13 +36,13 @@ public void init() { } private void loadItems() { - blueTile = loadItem("game.blueTile", "wool:11"); - whiteTile = loadItem("game.whiteTile", "wool"); - blueTileTip = loadItem("game.blueTileTip", "stained_clay:11"); - whiteTileTip = loadItem("game.whiteTileTip", "stained_clay"); - wrongHelpItem = loadItem("game.wrongHelpItem", "stained_glass_pane:14"); - correctHelpItem = loadItem("game.correctHelpItem", "stained_glass_pane:13"); - backGround = loadItem("game.backGround", "stained_glass_pane:7"); + blueTile = loadItem("game.blueTile", "BLUE_WOOL"); + whiteTile = loadItem("game.whiteTile", "WHITE_WOOL"); + blueTileTip = loadItem("game.blueTileTip", "BLUE_CONCRETE"); + whiteTileTip = loadItem("game.whiteTileTip", "WHITE_CONCRETE"); + wrongHelpItem = loadItem("game.wrongHelpItem", "ORANGE_STAINED_GLASS_PANE"); + correctHelpItem = loadItem("game.correctHelpItem", "GREEN_STAINED_GLASS_PANE"); + backGround = loadItem("game.backGround", "GRAY_STAINED_GLASS_PANE"); } private ItemStack loadItem(String path, String defaultMaterial) { @@ -67,7 +67,6 @@ public void loadSettings() { gameSettings.setGameType(GameSettings.GameType.SINGLE_PLAYER); gameSettings.setHandleClicksOnHotbar(false); gameSettings.setGameGuiSize(54); - gameSettings.setGameBoxMinimumVersion("2.1.4"); } @Override diff --git a/src/main/java/me/nikl/logicpuzzles/threeinarow/TiarGame.java b/src/main/java/me/nikl/logicpuzzles/threeinarow/TiarGame.java index 5693164..2f4d550 100644 --- a/src/main/java/me/nikl/logicpuzzles/threeinarow/TiarGame.java +++ b/src/main/java/me/nikl/logicpuzzles/threeinarow/TiarGame.java @@ -2,6 +2,7 @@ import me.nikl.gamebox.nms.NmsFactory; import me.nikl.gamebox.utility.Sound; +import me.nikl.logicpuzzles.ExtendedInventory; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; @@ -18,7 +19,7 @@ * Created by nikl on 25.02.18. */ public class TiarGame { - private Inventory inventory; + private ExtendedInventory extendedInventory; private TiarLanguage language; private ThreeInARow game; private TiarRules rule; @@ -37,9 +38,10 @@ public TiarGame(ThreeInARow threeInARow, TiarRules rules, Player player, String this.game = threeInARow; backGround = this.game.getBackGround(); this.rule = rules; - this.inventory = threeInARow.createInventory(54 + 9, language.GAME_TITLE); + Inventory upperInventory = threeInARow.createInventory(54, language.GAME_TITLE); + this.extendedInventory = new ExtendedInventory(upperInventory, player.getInventory()); prepareInventory(game); - player.openInventory(inventory); + player.openInventory(upperInventory); } private void prepareInventory(String game) { @@ -54,13 +56,13 @@ private void prepareInventory(String game) { } if (character == '1') { grid[gridSlot] = 1; - inventory.setItem(gridToInventory(gridSlot), this.game.getWhiteTileTip()); + extendedInventory.setItem(gridToInventory(gridSlot), this.game.getWhiteTileTip()); tipSlots.add(gridToInventory(gridSlot)); continue; } if (character == '2') { grid[gridSlot] = 2; - inventory.setItem(gridToInventory(gridSlot), this.game.getBlueTileTip()); + extendedInventory.setItem(gridToInventory(gridSlot), this.game.getBlueTileTip()); tipSlots.add(gridToInventory(gridSlot)); } } @@ -68,11 +70,12 @@ private void prepareInventory(String game) { } private void placeBackGround() { - for (int i = 0; i < 7; i++) { - inventory.setItem(i, backGround); - inventory.setItem(i*9, backGround); - inventory.setItem(i*9 + 8, backGround); - inventory.setItem(i*9 + 7, backGround); + extendedInventory.setItem(60, backGround); + for (int i = 0; i < 9; i++) { + extendedInventory.setItem(i + 63, backGround); + extendedInventory.setItem(i + 72, backGround); + extendedInventory.setItem(i*9 + 8, backGround); + extendedInventory.setItem(i*9 + 7, backGround); } } @@ -98,13 +101,14 @@ private void updateColumnHelpItem(int column) { if (grid[row*6 + column] == 1) white++; if (grid[row*6 + column] == 2) blue++; } + int helpItemSlot = column + 54; if (blue == 3 && white == 3) { - helpItems.put(column + 1, game.getCorrectHelpItem()); - inventory.setItem(column + 1, game.getCorrectHelpItem()); + helpItems.put(helpItemSlot, game.getCorrectHelpItem()); + extendedInventory.setItem(helpItemSlot, game.getCorrectHelpItem()); return; } - helpItems.put(column + 1, createHelpItem(white, blue)); - inventory.setItem(column + 1, helpItems.get(column + 1)); + helpItems.put(helpItemSlot, createHelpItem(white, blue)); + extendedInventory.setItem(helpItemSlot, helpItems.get(helpItemSlot)); } private ItemStack createHelpItem(int white, int blue) { @@ -128,47 +132,48 @@ private void updateRowHelpItem(int row) { if (grid[row*6 + column] == 1) white++; if (grid[row*6 + column] == 2) blue++; } + int helpItemSlot = row * 9 + 6; if (blue == 3 && white == 3) { - helpItems.put(gridToInventory(row*6 + 5) + 1, game.getCorrectHelpItem()); - inventory.setItem(gridToInventory(row*6 + 5) + 1, game.getCorrectHelpItem()); + helpItems.put(helpItemSlot, game.getCorrectHelpItem()); + extendedInventory.setItem(helpItemSlot, game.getCorrectHelpItem()); return; } - helpItems.put(gridToInventory(row*6 + 5) + 1, createHelpItem(white, blue)); - inventory.setItem(gridToInventory(row*6 + 5) + 1, helpItems.get(gridToInventory(row*6 + 5) + 1)); + helpItems.put(helpItemSlot, createHelpItem(white, blue)); + extendedInventory.setItem(helpItemSlot, helpItems.get(helpItemSlot)); } private int gridToInventory(int gridSlot) { int row = gridSlot / 6; int column = gridSlot % 6; - return 9 + row * 9 + column + 1; + return row * 9 + column; } private int inventoryToGrid (int inventorySlot) { int row = inventorySlot / 9; int column = inventorySlot % 9; - if (row == 0 || column == 0 || column > 6 || row > 6) return -1; - return (row - 1)*6 + column - 1; + if (column > 5 || row > 5) return -1; + return (row)*6 + column; } - private void clickSlot(int inventorySlot) { + private void clickSlot(int inventorySlot, boolean rightClick) { int gridSlot = inventoryToGrid(inventorySlot); if (gridSlot < 0) return; if (tipSlots.contains(inventorySlot)) return; game.playSound(player, click); - grid[gridSlot] = (grid[gridSlot] + 1) % 3; + grid[gridSlot] = (grid[gridSlot] + (rightClick ? -1 : 1)) % 3; updateGridSlot(gridSlot); } private void updateGridSlot(int gridSlot) { switch (grid[gridSlot]) { case 0: - inventory.setItem(gridToInventory(gridSlot), null); + extendedInventory.setItem(gridToInventory(gridSlot), null); break; case 1: - inventory.setItem(gridToInventory(gridSlot), game.getWhiteTile()); + extendedInventory.setItem(gridToInventory(gridSlot), game.getWhiteTile()); break; case 2: - inventory.setItem(gridToInventory(gridSlot), game.getBlueTile()); + extendedInventory.setItem(gridToInventory(gridSlot), game.getBlueTile()); break; } updateHelpItem(gridSlot); @@ -176,7 +181,7 @@ private void updateGridSlot(int gridSlot) { public boolean onClick(InventoryClickEvent inventoryClickEvent) { if (inventoryClickEvent.getClick() == ClickType.DOUBLE_CLICK || finished) return true; - clickSlot(inventoryClickEvent.getSlot()); + clickSlot(inventoryClickEvent.getRawSlot(), inventoryClickEvent.getClick() == ClickType.RIGHT); if (isFinished()) { game.onGameWon(player, rule, 1); NmsFactory.getNmsUtility().updateInventoryTitle(player, language.GAME_TITLE_WON); diff --git a/src/main/resources/games/sudoku/config.yml b/src/main/resources/games/sudoku/config.yml index 4dd1a64..85b0ef9 100644 --- a/src/main/resources/games/sudoku/config.yml +++ b/src/main/resources/games/sudoku/config.yml @@ -26,7 +26,7 @@ langFile: "default" gameBox: mainButton: # define the Material and data for the button (format: 'material:data') - materialData: "wool:4" + materialData: "YELLOW_WOOL" # display name of the button displayName: "&3Sudoku" # lore of the button @@ -35,7 +35,7 @@ gameBox: - "&1The famous logic game" gameButtons: saveStats: - materialData: "stained_clay:3" + materialData: "LIGHT_BLUE_CONCRETE" displayName: "&a&lSudoku" lore: - "" @@ -49,16 +49,13 @@ gameBox: cost: 20 token: 1 money: 30 - # option for restart button - # default is true - restartButton: true # if true the best score of this button is saved saveStats: true topListButtons: # use the same key as the game you want to display the top list for # for that button 'saveStats' must be true (see above) saveStats: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&a&lTop list" lore: - "" @@ -99,91 +96,91 @@ items: grid: '1': cover: - materialData: "stained_glass_pane:11" + materialData: "BLUE_STAINED_GLASS_PANE" displayName: "&1" tip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1&l&n%value%" number: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1%value%" '2': cover: - materialData: "stained_glass_pane" + materialData: "WHITE_STAINED_GLASS_PANE" displayName: "&f" tip: - materialData: "stained_clay" + materialData: "WHITE_CONCRETE" displayName: "&f&l&n%value%" number: - materialData: "wool" + materialData: "WHITE_WOOL" displayName: "&f%value%" '3': cover: - materialData: "stained_glass_pane:11" + materialData: "BLUE_STAINED_GLASS_PANE" displayName: "&1" tip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1&l&n%value%" number: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1%value%" '4': cover: - materialData: "stained_glass_pane" + materialData: "WHITE_STAINED_GLASS_PANE" displayName: "&f" tip: - materialData: "stained_clay" + materialData: "WHITE_CONCRETE" displayName: "&f&l&n%value%" number: - materialData: "wool" + materialData: "WHITE_WOOL" displayName: "&f%value%" '5': cover: - materialData: "stained_glass_pane:11" + materialData: "BLUE_STAINED_GLASS_PANE" displayName: "&1" tip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1&l&n%value%" number: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1%value%" '6': cover: - materialData: "stained_glass_pane" + materialData: "WHITE_STAINED_GLASS_PANE" displayName: "&f" tip: - materialData: "stained_clay" + materialData: "WHITE_CONCRETE" displayName: "&f&l&n%value%" number: - materialData: "wool" + materialData: "WHITE_WOOL" displayName: "&f%value%" '7': cover: - materialData: "stained_glass_pane:11" + materialData: "BLUE_STAINED_GLASS_PANE" displayName: "&1" tip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1&l&n%value%" number: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1%value%" '8': cover: - materialData: "stained_glass_pane" + materialData: "WHITE_STAINED_GLASS_PANE" displayName: "&f" tip: - materialData: "stained_clay" + materialData: "WHITE_CONCRETE" displayName: "&f&l&n%value%" number: - materialData: "wool" + materialData: "WHITE_WOOL" displayName: "&f%value%" '9': cover: - materialData: "stained_glass_pane:11" + materialData: "BLUE_STAINED_GLASS_PANE" displayName: "&1" tip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1&l&n%value%" number: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1%value%" diff --git a/src/main/resources/games/threeinarow/config.yml b/src/main/resources/games/threeinarow/config.yml index 32f690c..7bd49c9 100644 --- a/src/main/resources/games/threeinarow/config.yml +++ b/src/main/resources/games/threeinarow/config.yml @@ -15,7 +15,7 @@ langFile: "default" gameBox: mainButton: # define the Material and data for the button (format: 'material:data') - materialData: "wool:11" + materialData: "BLUE_WOOL" # display name of the button displayName: "&3Three In A Row" # lore of the button @@ -24,7 +24,7 @@ gameBox: - "&1Japanese logic game" gameButtons: saveStats: - materialData: "stained_clay:3" + materialData: "WHITE_CONCRETE" displayName: "&a&lThree In A Row" lore: - "" @@ -48,7 +48,7 @@ gameBox: # use the same key as the game you want to display the top list for # for that button 'saveStats' must be true (see above) saveStats: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&a&lTop list" lore: - "" @@ -73,37 +73,37 @@ economy: game: blueTile: - materialData: "wool:11" + materialData: "BLUE_WOOL" displayName: "&1Blue tile" whiteTile: - materialData: "wool" + materialData: "WHITE_WOOL" displayName: "&rWhite tile" blueTileTip: - materialData: "stained_clay:11" + materialData: "BLUE_CONCRETE" displayName: "&1Blue tile" lore: - "" - "&cThis cannot be changed" whiteTileTip: - materialData: "stained_clay" + materialData: "WHITE_CONCRETE" displayName: "&rWhite tile" lore: - "" - "&cThis cannot be changed" wrongHelpItem: - materialData: "stained_glass_pane:14" + materialData: "ORANGE_STAINED_GLASS_PANE" displayName: "&4&lIncomplete:" lore: - "" - "Blue: %blue_count%/3" - "White: %white_count%/3" correctHelpItem: - materialData: "stained_glass_pane:13" + materialData: "GREEN_STAINED_GLASS_PANE" displayName: "&a&lComplete!" lore: - "" - "Blue: 3/3" - "White: 3/3" backGround: - materialData: "stained_glass_pane:7" - displayName: "&a" \ No newline at end of file + materialData: "GRAY_STAINED_GLASS_PANE" + displayName: "&a" diff --git a/src/main/resources/module.yml b/src/main/resources/module.yml new file mode 100644 index 0000000..324d1dd --- /dev/null +++ b/src/main/resources/module.yml @@ -0,0 +1,10 @@ +id: ${project.artifactId} +version: ${project.version} +authors: ["Niklas Eicker"] +name: ${project.name} +description: ${project.description} +sourceUrl: ${project.scm.url} +updatedAt: !!java.lang.Long ${timestamp} +dependencies: + - id: gamebox + versionConstrain: ">= ${gamebox.version}" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml deleted file mode 100644 index 5b92eb9..0000000 --- a/src/main/resources/plugin.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: LogicPuzzles -author: Nikl -main: me.nikl.logicpuzzles.LogicPuzzles -version: 2.1.0 -website: nikl.me -depend: [GameBox] \ No newline at end of file