diff --git a/pom.xml b/pom.xml
index 4856cdf..ba7fbc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.lunarakai
Minecleaner
- 1.0.4
+ 1.1.0
jar
Minecleaner
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
index 19205a1..355119b 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java
@@ -5,12 +5,16 @@ import de.lunarakai.minecleaner.game.BoardSize;
import de.lunarakai.minecleaner.game.Cell;
import de.lunarakai.minecleaner.game.Game;
import de.lunarakai.minecleaner.utils.MinecleanerHeads;
+import de.lunarakai.minecleaner.utils.MinecleanerStringUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.TextComponent;
import net.md_5.bungee.api.ChatColor;
+import net.md_5.bungee.api.ChatMessageType;
+import net.md_5.bungee.api.chat.BaseComponent;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
@@ -23,6 +27,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.ItemDisplay;
import org.bukkit.entity.Player;
import org.bukkit.entity.TextDisplay;
+import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Transformation;
import org.joml.Vector2i;
import org.joml.Vector3f;
@@ -41,6 +46,7 @@ public class MinecleanerArena {
private int flagsPlaced = 0;
private Player currentPlayer;
private long currentGameStartTime;
+ private long ingameTime;
private Game currentMinecleanerGame;
private final Location tempLoc = new Location(null, 0, 0, 0);
@@ -219,6 +225,28 @@ public class MinecleanerArena {
currentMinecleanerGame = new Game(plugin, BoardSize.boardSizesWidth[widthIndex], BoardSize.boardSizesHeight[widthIndex], BoardSize.mineCounter[widthIndex]);
currentMinecleanerGame.start();
showTextDisplay();
+ if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) {
+ updateIngameInfoTexts();
+ }
+ }
+ }.runTaskTimer(plugin, 20L, 20L);
+ }
+
+ if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ if(arenaStatus == ArenaStatus.PLAYING && currentPlayer != null) {
+ updateIngameInfoTexts();
+ }
+ }
+ }.runTaskTimer(plugin, 1L, 1L);
+ }
+
removeStartHeads();
flagsPlaced = 0;
hasMadeFirstClick = false;
@@ -350,13 +378,31 @@ public class MinecleanerArena {
textdisplay.setDisplayHeight(3);
textdisplay.setDisplayWidth((float) BoardSize.boardSizesWidth[widthIndex] / 3);
textdisplay.setPersistent(false);
- textdisplay.text(Component.text(ChatColor.GOLD + "Minesweeper"));
+ textdisplay.text(Component.text(ChatColor.GOLD + plugin.getDisplayedPluginName()));
});
}
- private void updateTextDisplay() {
+ private void updateIngameInfoTexts() {
+ String timer = "";
+ if(plugin.getManager().getSettingsValue("timer", currentPlayer) != 0) {
+ ingameTime += 1;
+ timer = ChatColor.GOLD + " Zeit: " + MinecleanerStringUtil.timeToString((ingameTime/20)*1000) + " ";
+ }
+
if (textDisplay != null) {
- textDisplay.text(Component.text(ChatColor.GREEN + "-- Flaggen gesetzt: " + flagsPlaced + " --" + "\n" + ChatColor.RED + "-- Minen insgesamt: " + BoardSize.mineCounter[widthIndex] + " --"));
+ String component = ChatColor.GREEN + "-- Flaggen gesetzt: " + flagsPlaced + " --" + "\n" + ChatColor.RED + "-- Minen insgesamt: " + BoardSize.mineCounter[widthIndex] + " --";
+ //textDisplay.text(Component.text(ChatColor.GREEN + "-- Flaggen gesetzt: " + flagsPlaced + " --" + "\n" + ChatColor.RED + "-- Minen insgesamt: " + BoardSize.mineCounter[widthIndex] + " --"));
+ String newLine = "";
+ String filler = "";
+ if(!timer.equals("")) {
+ newLine = "\n" + ChatColor.GOLD + "-- ";
+ filler = " --";
+ }
+ textDisplay.text(Component.text(component + newLine + timer + filler));
+ }
+ if(plugin.getManager().getSettingsValue("additionaldisplay", currentPlayer) != 0) {
+ String componentActionBar = ChatColor.GREEN + "Flaggen gesetzt: " + flagsPlaced + ChatColor.RED + " Minen insgesamt: " + BoardSize.mineCounter[widthIndex];
+ currentPlayer.sendActionBar(Component.text(componentActionBar + " " + timer));
}
}
@@ -394,12 +440,12 @@ public class MinecleanerArena {
}
if (cell.isFlagged() == true) {
flagsPlaced = flagsPlaced + 1;
- updateTextDisplay();
+ updateIngameInfoTexts();
setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_FLAG, true);
}
if (cell.isFlagged() == false) {
flagsPlaced = flagsPlaced - 1;
- updateTextDisplay();
+ updateIngameInfoTexts();
setDiplayBlock(x, y, MinecleanerHeads.MINESWEEPER_TILE_UNKNOWN, true);
}
}
@@ -423,7 +469,7 @@ public class MinecleanerArena {
if (currentMinecleanerGame.gameover) {
plugin.getManager().handleGameover(player, this, !(cell.isRevealed() && cell.isExploded()));
} else {
- updateTextDisplay();
+ updateIngameInfoTexts();
}
ArrayList| floodedCells = currentMinecleanerGame.getfloodedCells();
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java
index 57ae8fb..7e9bb24 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java
@@ -122,6 +122,39 @@ public class MinecleanerListener implements Listener {
}
}
}
+ if(e.getInventory().equals(plugin.getManager().getSettingsInventory())) {
+ e.setCancelled(true);
+ int slot = e.getRawSlot();
+ switch (slot) {
+ 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);
+ player.closeInventory();
+ player.openInventory(plugin.getManager().showSettingsInventory(player));
+ }
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+ }
}
}
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
index 6c0c061..2ac61c9 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java
@@ -1,9 +1,11 @@
package de.lunarakai.minecleaner;
+import de.iani.cubesidestats.api.SettingKey;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.UUID;
import java.util.function.Consumer;
import org.bukkit.Bukkit;
@@ -11,6 +13,7 @@ import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.World;
+import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
@@ -41,6 +44,12 @@ public class MinecleanerManager {
private final HashMap statisticsTimeRecord;
private final HashMap statisticsTotalGamesPlayed;
+ // Settings
+
+ private Inventory settingsInventory;
+ private SettingKey minecleanerSettingTimerKey;
+ private SettingKey minecleanerAdditionalDisplaySettingKey;
+
public MinecleanerManager(MinecleanerPlugin plugin) {
this.plugin = plugin;
@@ -50,12 +59,29 @@ public class MinecleanerManager {
this.sizes.put(2, "groß");
this.sizes.put(3, "experte");
- this.confirmPlayingInventory = plugin.getServer().createInventory(null, InventoryType.HOPPER, "Minecleaner starten?");
- this.confirmPlayingInventory.setItem(1,
+ this.confirmPlayingInventory = plugin.getServer().createInventory(null, InventoryType.HOPPER, plugin.getDisplayedPluginName() + " starten?");
+ this.confirmPlayingInventory.setItem(1,
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.GREEN_CONCRETE), ChatColor.GREEN + "Bestätigen")));
this.confirmPlayingInventory.setItem(3,
ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.RED_CONCRETE), ChatColor.RED + "Abbrechen")));
+ // Settings
+
+
+ minecleanerSettingTimerKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings.timer");
+ minecleanerSettingTimerKey.setDefault(0);
+ minecleanerSettingTimerKey.setDisplayName("Timer");
+
+ minecleanerAdditionalDisplaySettingKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings.additionaldisplay");
+ minecleanerAdditionalDisplaySettingKey.setDefault(0);
+ minecleanerAdditionalDisplaySettingKey.setDisplayName("Zusätzliche Anzeige in der Action Bar");
+
+ this.settingsInventory = plugin.getServer().createInventory(null, InventoryType.CHEST,
+ plugin.getDisplayedPluginName() + " Einstellungen");
+
+
+ // Statistics
+
statisticsWonGamesTotal = plugin.getCubesideStatistics().getStatisticKey("minecleaner.wonGamestotal");
statisticsWonGamesTotal.setIsMonthlyStats(true);
statisticsWonGamesTotal.setDisplayName("Runden gewonnen");
@@ -86,10 +112,6 @@ public class MinecleanerManager {
statisticsTimeRecord.put(e.getKey(), s);
}
}
-
- public HashMap getSizes() {
- return sizes;
- }
public void joinArena(Player player, MinecleanerArena arena) {
if (!player.hasPermission(MinecleanerPlugin.PERMISSION_PLAY)) {
@@ -108,7 +130,7 @@ public class MinecleanerManager {
arena.removePlayer();
plugin.getArenaList().setArenaForPlayer(player, null);
if(message) {
- player.sendMessage(ChatColor.YELLOW + "Das Minecleanerspiel wurde abgebrochen.");
+ player.sendMessage(ChatColor.YELLOW + "Das " + plugin.getDisplayedPluginName() + "spiel wurde abgebrochen.");
}
}
@@ -117,7 +139,7 @@ public class MinecleanerManager {
Preconditions.checkArgument(arena != null, "player is in no arena");
Preconditions.checkState(arena.getArenaStatus() == ArenaStatus.CONFIRM_PLAYING, "not confirming playing status");
arena.startNewGame();
- player.sendMessage(ChatColor.YELLOW + "Du hast eine neue Runde Minecleaner gestartet.");
+ player.sendMessage(ChatColor.YELLOW + "Du hast eine neue Runde " + plugin.getDisplayedPluginName() + " gestartet.");
}
public void handleGameover(Player player, MinecleanerArena arena, boolean isSuccessfullyCleared) {
@@ -128,7 +150,7 @@ public class MinecleanerManager {
if(!isSuccessfullyCleared) {
world.playSound(player.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 0.5f, 0.5f);
- player.sendMessage(ChatColor.YELLOW + "Game Over! Du konntest das Minecleaner-Feld nicht erfolgreich lösen!");
+ player.sendMessage(ChatColor.YELLOW + "Game Over! Du konntest das " + plugin.getDisplayedPluginName() + "-Feld nicht erfolgreich lösen!");
arena.showMines();
if(sg != null) {
@@ -164,7 +186,7 @@ public class MinecleanerManager {
if(isUpdated != null && isUpdated) {
player.sendMessage(ChatColor.GOLD + "Herzlichen Glückwunsch! Du hast eine neue Bestzeit erreicht! " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis) );
} else {
- player.sendMessage(ChatColor.YELLOW + "Glückwunsch, du konntest das Minecleaner-Feld in " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis) + ChatColor.YELLOW + " erfolgreich lösen!");
+ player.sendMessage(ChatColor.YELLOW + "Glückwunsch, du konntest das " + plugin.getDisplayedPluginName() + "-Feld in " + ChatColor.RED + MinecleanerStringUtil.timeToString(millis) + ChatColor.YELLOW + " erfolgreich lösen!");
}
});
}
@@ -209,9 +231,6 @@ public class MinecleanerManager {
}
}
- public Inventory getConfirmPlayingInventory() {
- return confirmPlayingInventory;
- }
public void handleFieldClick(@NotNull Player player, int x, int y, boolean hasRightClicked) {
MinecleanerArena arena = plugin.getArenaList().getPlayerArena(player);
@@ -325,6 +344,63 @@ public class MinecleanerManager {
for(StatisticKey statsKey : statisticsTotalGamesPlayed.values()) {
statsPlayer.deleteScore(statsKey);
}
-
+ }
+
+ public Inventory showSettingsInventory(Player player) {
+ int 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")));
+ } else {
+ settingsInventory.setItem(12,
+ ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.NAME_TAG), ChatColor.GREEN + "Zusätzliche Anzeige in der Action Bar")));
+ }
+
+
+ current = getSettingsValue("timer", player);
+
+ if(current == 0) {
+ settingsInventory.setItem(14,
+ ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CLOCK), ChatColor.RED + "Timer anzeigen")));
+ } else {
+ settingsInventory.setItem(14,
+ ItemStacks.lore(ItemStacks.rename(new ItemStack(Material.CLOCK), ChatColor.GREEN + "Timer anzeigen")));
+ }
+
+ return settingsInventory;
+ }
+
+ public int getSettingsValue(String settingsKeyString, Player player) {
+ PlayerStatistics playerStatistics = plugin.getCubesideStatistics().getStatistics(player.getUniqueId());
+ SettingKey settingKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings." + settingsKeyString);
+
+ return playerStatistics.getSettingValueOrDefault(settingKey);
+ }
+
+ public void updateSettingsValue(String settingsKeyString, int newValue, Player player) {
+ PlayerStatistics playerStatistics = plugin.getCubesideStatistics().getStatistics(player.getUniqueId());
+ SettingKey settingKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings." + settingsKeyString);
+ playerStatistics.setSettingValue(settingKey, newValue);
+ }
+
+ public HashMap getSizes() {
+ return sizes;
+ }
+
+ public Inventory getConfirmPlayingInventory() {
+ return confirmPlayingInventory;
+ }
+
+ public Inventory getSettingsInventory() {
+ return settingsInventory;
+ }
+
+ public SettingKey getMinecleanerSettingTimerKey() {
+ return minecleanerSettingTimerKey;
+ }
+
+ public SettingKey getMinecleanerAdditionalDisplaySettingKey() {
+ return minecleanerAdditionalDisplaySettingKey;
}
}
diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerPlugin.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerPlugin.java
index e11acbd..672311f 100644
--- a/src/main/java/de/lunarakai/minecleaner/MinecleanerPlugin.java
+++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerPlugin.java
@@ -1,5 +1,6 @@
package de.lunarakai.minecleaner;
+import de.lunarakai.minecleaner.commands.SettingsCommand;
import org.bukkit.plugin.java.JavaPlugin;
import de.iani.cubesidestats.api.CubesideStatisticsAPI;
import de.iani.cubesideutils.bukkit.commands.CommandRouter;
@@ -43,6 +44,7 @@ public final class MinecleanerPlugin extends JavaPlugin {
minecleanerCommand.addCommandMapping(new StatsCommand(this), "stats");
minecleanerCommand.addCommandMapping(new DeletePlayerScoreCommand(this), "deleteplayerscores");
minecleanerCommand.addCommandMapping(new InfoCommand(this), "info");
+ minecleanerCommand.addCommandMapping(new SettingsCommand(this), "settings");
}
@Override
@@ -67,4 +69,12 @@ public final class MinecleanerPlugin extends JavaPlugin {
public PlayerUUIDCache getPlayerUUIDCache() {
return playerUUIDCache;
}
+
+ public String getDisplayedPluginName() {
+ return this.getConfig().getString("generalSettings.displayedPluginName");
+ }
+
+ public int getSizeWinpoints(String size) {
+ return this.getConfig().getInt("winpoints.size." + size);
+ }
}
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/CreateCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/CreateCommand.java
index e4ac4a3..38a2022 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/CreateCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/CreateCommand.java
@@ -94,12 +94,12 @@ public class CreateCommand extends SubCommand {
@Nullable
RayTraceResult target = player.rayTraceBlocks(6);
if(target == null || target.getHitBlock() == null) {
- sender.sendMessage(ChatColor.DARK_RED + "Bitte gucke den Block an, der im Zentrum des Minecleaner-Spielfelds sein soll.");
+ sender.sendMessage(ChatColor.DARK_RED + "Bitte gucke den Block an, der im Zentrum des " + plugin.getDisplayedPluginName() + "-Spielfelds sein soll.");
return true;
}
BlockFace face = target.getHitBlockFace();
if(face != BlockFace.NORTH && face != BlockFace.WEST && face != BlockFace.EAST && face != BlockFace.SOUTH) {
- sender.sendMessage(ChatColor.DARK_RED + "Bitte gucke die Seite des Blockes an, wo das Minecleaner-Spielfeld erstellt werden soll.");
+ sender.sendMessage(ChatColor.DARK_RED + "Bitte gucke die Seite des Blockes an, wo das " + plugin.getDisplayedPluginName() + "-Spielfeld erstellt werden soll.");
return true;
}
location = target.getHitBlock().getLocation();
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/DeleteCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/DeleteCommand.java
index bb7c577..46f7434 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/DeleteCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/DeleteCommand.java
@@ -52,9 +52,9 @@ public class DeleteCommand extends SubCommand {
}
if(arena != null) {
plugin.getArenaList().removeArena(arena);
- sender.sendMessage(ChatColor.YELLOW + "Die Minecleaner-Arena " + arena.getName() + " wurde gelöscht.");
+ sender.sendMessage(ChatColor.YELLOW + "Die " + plugin.getDisplayedPluginName() + "-Arena " + arena.getName() + " wurde gelöscht.");
} else {
- sender.sendMessage(ChatColor.YELLOW + "Hier befindet sich keine Minecleaner-Arena.");
+ sender.sendMessage(ChatColor.YELLOW + "Hier befindet sich keine " + plugin.getDisplayedPluginName() + "-Arena.");
}
return true;
}
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/DeletePlayerScoreCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/DeletePlayerScoreCommand.java
index 2965406..df54c61 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/DeletePlayerScoreCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/DeletePlayerScoreCommand.java
@@ -51,7 +51,7 @@ public class DeletePlayerScoreCommand extends SubCommand{
sender.sendMessage(ChatColor.DARK_RED + "Ein Spieler mit dem Namen '" + player + "' konnte nicht gefunden werden.");
}
plugin.getManager().deleteScores(cachedPlayer.getUUID());
- sender.sendMessage(ChatColor.DARK_RED + "Alle Minecleaner-Statistiken von Spieler '" + cachedPlayer.getName() + "' wurden gelöscht.");
+ sender.sendMessage(ChatColor.DARK_RED + "Alle " + plugin.getDisplayedPluginName() + "-Statistiken von Spieler '" + cachedPlayer.getName() + "' wurden gelöscht.");
return true;
}
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/ListCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/ListCommand.java
index 7824b7b..51b9b96 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/ListCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/ListCommand.java
@@ -41,7 +41,7 @@ public class ListCommand extends SubCommand{
@Override
public boolean onCommand(CommandSender sender, Command arg1, String arg2, String commandString, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
- sender.sendMessage(ChatColor.YELLOW + "Angelegte Minecleaner-Arenen");
+ sender.sendMessage(ChatColor.YELLOW + "Angelegte "+ plugin.getDisplayedPluginName() + "-Arenen");
boolean any = false;
for(MinecleanerArena arena : plugin.getArenaList().getArenas()) {
Location location = arena.getLocation();
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/SettingsCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/SettingsCommand.java
new file mode 100644
index 0000000..a7051ad
--- /dev/null
+++ b/src/main/java/de/lunarakai/minecleaner/commands/SettingsCommand.java
@@ -0,0 +1,45 @@
+package de.lunarakai.minecleaner.commands;
+
+import de.iani.cubesideutils.bukkit.commands.SubCommand;
+import de.iani.cubesideutils.bukkit.commands.exceptions.DisallowsCommandBlockException;
+import de.iani.cubesideutils.bukkit.commands.exceptions.IllegalSyntaxException;
+import de.iani.cubesideutils.bukkit.commands.exceptions.InternalCommandException;
+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 org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class SettingsCommand extends SubCommand {
+ MinecleanerPlugin plugin;
+
+ public SettingsCommand(MinecleanerPlugin plugin) {
+ this.plugin = plugin;
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public boolean requiresPlayer() {
+ return true;
+ }
+
+ @Override
+ public String getRequiredPermission() {
+ return MinecleanerPlugin.PERMISSION_PLAY;
+ }
+
+
+ @Override
+ 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));
+ return true;
+ }
+}
diff --git a/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
index 4783980..f87c3a8 100644
--- a/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
+++ b/src/main/java/de/lunarakai/minecleaner/commands/StatsCommand.java
@@ -52,7 +52,7 @@ public class StatsCommand extends SubCommand {
return;
}
if(playerName == null) {
- sender.sendMessage(ChatColor.AQUA + "Deine Minecleaner Statistik:");
+ sender.sendMessage(ChatColor.AQUA + "Deine " + plugin.getDisplayedPluginName() + " Statistik:");
} else {
sender.sendMessage(ChatColor.AQUA + "Minecleaner-Statistik von " + data.getPlayerName() + ":");
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 34cc22c..a6c8023 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1,3 +1,5 @@
+generalSettings:
+ displayedPluginName: Minecleaner
winpoints:
size:
small: 1
|