Compare commits
5 commits
0f349c3ea0
...
583f8a1257
| Author | SHA1 | Date | |
|---|---|---|---|
| 583f8a1257 | |||
| 2bc7a3979e | |||
| f09c9772b2 | |||
| 75768ea587 | |||
| b1193d4687 |
14 changed files with 308 additions and 240 deletions
|
|
@ -48,7 +48,7 @@ public class MinecleanerListener implements Listener {
|
||||||
hasRightClicked = true;
|
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) {
|
if(arena.getArenaStatus() == ArenaStatus.PLAYING) {
|
||||||
int d0x = arena.getOrientation().getModX();
|
int d0x = arena.getOrientation().getModX();
|
||||||
int d0z = arena.getOrientation().getModZ();
|
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) {
|
public int getSettingsValue(String settingsKeyString, Player player) {
|
||||||
PlayerStatistics playerStatistics = plugin.getCubesideStatistics().getStatistics(player.getUniqueId());
|
PlayerStatistics playerStatistics = plugin.getCubesideStatistics().getStatistics(player.getUniqueId());
|
||||||
SettingKey settingKey = plugin.getCubesideStatistics().getSettingKey("minecleaner.settings." + settingsKeyString);
|
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 -> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -43,10 +43,10 @@ public class InfoCommand extends SubCommand{
|
||||||
ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException,
|
ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException,
|
||||||
NoPermissionException, IllegalSyntaxException, InternalCommandException {
|
NoPermissionException, IllegalSyntaxException, InternalCommandException {
|
||||||
sender.sendMessage(NamedChatColor.GREEN + "--- " + ChatColor.AQUA + plugin.getName() + ChatColor.GREEN + " ---");
|
sender.sendMessage(NamedChatColor.GREEN + "--- " + ChatColor.AQUA + plugin.getName() + ChatColor.GREEN + " ---");
|
||||||
sender.sendMessage(createLangComponent("minecleaner.info.version", NamedTextColor.AQUA) + ": " + ChatColor.GREEN + plugin.getPluginMeta().getVersion());
|
sender.sendMessage(createLangComponent("minecleaner.info.version", ": ", plugin.getPluginMeta().getVersion(), NamedTextColor.AQUA, NamedTextColor.GREEN));
|
||||||
sender.sendMessage(createLangComponent("minecleaner.info.developer", NamedTextColor.AQUA) + ": " + ChatColor.GREEN + plugin.getPluginMeta().getAuthors().get(0));
|
sender.sendMessage(createLangComponent("minecleaner.info.developer", ": ", plugin.getPluginMeta().getAuthors().get(0), NamedTextColor.AQUA, NamedTextColor.GREEN));
|
||||||
sender.sendMessage(createLangComponent("minecleaner.info.website", NamedTextColor.AQUA) + ": " + ChatColor.GREEN + plugin.getPluginMeta().getWebsite());
|
sender.sendMessage(createLangComponent("minecleaner.info.website", ": ", plugin.getPluginMeta().getWebsite(), NamedTextColor.AQUA, NamedTextColor.GREEN));
|
||||||
sender.sendMessage(createLangComponent("minecleaner.info.license", NamedTextColor.AQUA) + ": " + ChatColor.GREEN + "GPL-3.0");
|
sender.sendMessage(createLangComponent("minecleaner.info.license", ": ", "GPL-3.0", NamedTextColor.AQUA, NamedTextColor.GREEN));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package de.lunarakai.minecleaner.commands;
|
||||||
|
|
||||||
|
import de.iani.cubesideutils.bukkit.commands.SubCommand;
|
||||||
|
import de.iani.cubesideutils.bukkit.commands.exceptions.*;
|
||||||
|
import de.iani.cubesideutils.commands.ArgsParser;
|
||||||
|
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
public class InviteCommand extends SubCommand {
|
||||||
|
/*
|
||||||
|
TODO:
|
||||||
|
- Invite other Players to play in Duo Mode
|
||||||
|
- Add Functionality to support multiple Players in the same game
|
||||||
|
- use settings of player that invited the other player
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUsage() {
|
||||||
|
return "<Player>";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean requiresPlayer() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRequiredPermission() {
|
||||||
|
return MinecleanerPlugin.PERMISSION_PLAY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender commandSender, Command command, String s, String s1, ArgsParser argsParser) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
|
||||||
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
|
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
|
||||||
import de.iani.cubesideutils.commands.ArgsParser;
|
import de.iani.cubesideutils.commands.ArgsParser;
|
||||||
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
||||||
|
import de.lunarakai.minecleaner.MinecleanerSettingsInventory;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
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 {
|
public boolean onCommand(CommandSender sender, Command command, String s, String s1, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
|
|
||||||
player.openInventory(plugin.getManager().showSettingsInventory(player));
|
new MinecleanerSettingsInventory(player, plugin).open();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import de.iani.cubesideutils.StringUtil;
|
|
||||||
import de.iani.cubesideutils.bukkit.commands.SubCommand;
|
import de.iani.cubesideutils.bukkit.commands.SubCommand;
|
||||||
import de.iani.cubesideutils.bukkit.commands.exceptions.DisallowsCommandBlockException;
|
import de.iani.cubesideutils.bukkit.commands.exceptions.DisallowsCommandBlockException;
|
||||||
import de.iani.cubesideutils.bukkit.commands.exceptions.IllegalSyntaxException;
|
import de.iani.cubesideutils.bukkit.commands.exceptions.IllegalSyntaxException;
|
||||||
|
|
@ -19,7 +18,6 @@ import de.iani.cubesideutils.commands.ArgsParser;
|
||||||
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
import de.lunarakai.minecleaner.MinecleanerPlugin;
|
||||||
import de.lunarakai.minecleaner.PlayerStatisticsData;
|
import de.lunarakai.minecleaner.PlayerStatisticsData;
|
||||||
import de.lunarakai.minecleaner.utils.MinecleanerStringUtil;
|
import de.lunarakai.minecleaner.utils.MinecleanerStringUtil;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
|
||||||
|
|
||||||
import static de.lunarakai.minecleaner.utils.MinecleanerComponentUtils.createLangComponent;
|
import static de.lunarakai.minecleaner.utils.MinecleanerComponentUtils.createLangComponent;
|
||||||
|
|
||||||
|
|
@ -61,8 +59,22 @@ public class StatsCommand extends SubCommand {
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(createLangComponent("data.player.other", plugin.getDisplayedPluginName(), data.getPlayerName(), NamedTextColor.AQUA).append(Component.text(":")));
|
sender.sendMessage(createLangComponent("data.player.other", plugin.getDisplayedPluginName(), data.getPlayerName(), NamedTextColor.AQUA).append(Component.text(":")));
|
||||||
}
|
}
|
||||||
sender.sendMessage(ChatColor.BLUE + " Punkte erspielt: " + ChatColor.GREEN + data.getPointsAcquiredTotal() + " (Dieser Monat: " + data.getPointsAquiredMonth() + ")");
|
|
||||||
sender.sendMessage(ChatColor.BLUE + " Runden gewonnen: " + ChatColor.GREEN + data.getWonGamesPlayed() + " (Dieser Monat: " + data.getWonGamesPlayedThisMonth() + ")");
|
sender.sendMessage(createLangComponent("data.player.pointsscored", NamedTextColor.BLUE)
|
||||||
|
.append(Component.text(": ", NamedTextColor.BLUE))
|
||||||
|
.append(Component.text(String.valueOf(data.getPointsAcquiredTotal()), NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" (", NamedTextColor.GREEN))
|
||||||
|
.append(createLangComponent("data.player.thismonth", NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(": " + String.valueOf(data.getPointsAquiredMonth()) + ")", NamedTextColor.GREEN)));
|
||||||
|
|
||||||
|
|
||||||
|
sender.sendMessage(createLangComponent("data.player.roundswon", NamedTextColor.BLUE)
|
||||||
|
.append(Component.text(": ", NamedTextColor.BLUE))
|
||||||
|
.append(Component.text(String.valueOf(data.getWonGamesPlayed()), NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" (", NamedTextColor.GREEN))
|
||||||
|
.append(createLangComponent("data.player.thismonth", NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(": " + String.valueOf(data.getWonGamesPlayedThisMonth()) + ")", NamedTextColor.GREEN)));
|
||||||
|
|
||||||
for(Entry<Integer, String> e : plugin.getManager().getSizes().entrySet()) {
|
for(Entry<Integer, String> e : plugin.getManager().getSizes().entrySet()) {
|
||||||
int totalWonSize = data.getGamesPlayedSize(e.getKey());
|
int totalWonSize = data.getGamesPlayedSize(e.getKey());
|
||||||
int totalWonMonth = data.getGamesPlayedSizeThisMonth(e.getKey());
|
int totalWonMonth = data.getGamesPlayedSizeThisMonth(e.getKey());
|
||||||
|
|
@ -70,14 +82,35 @@ public class StatsCommand extends SubCommand {
|
||||||
int totalSizeMonth = data.getTotalGamesPlayedSizeThisMonth(e.getKey());
|
int totalSizeMonth = data.getTotalGamesPlayedSizeThisMonth(e.getKey());
|
||||||
|
|
||||||
if(totalSize > 0) {
|
if(totalSize > 0) {
|
||||||
String sizeName = StringUtil.capitalizeFirstLetter(e.getValue(), false);
|
String sizeName = e.getValue();
|
||||||
sender.sendMessage(ChatColor.AQUA + " " + sizeName + ":");
|
if(sizeName.equals("groß")) {
|
||||||
sender.sendMessage(ChatColor.BLUE + " Runden gewonnen: " + ChatColor.GREEN + totalWonSize + " von " + totalSize + " (" + MinecleanerStringUtil.percentageString(totalWonSize, totalSize)+ ") ");
|
sizeName = "gross";
|
||||||
sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + totalWonMonth + " von " + totalSizeMonth + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth)+ ")");
|
}
|
||||||
|
sender.sendMessage(createLangComponent("arena.width." + sizeName, NamedTextColor.AQUA).append(Component.text(":", NamedTextColor.AQUA)));
|
||||||
|
|
||||||
|
sender.sendMessage(Component.text(" ")
|
||||||
|
.append(createLangComponent("data.player.roundswon", NamedTextColor.BLUE))
|
||||||
|
.append(Component.text(" "))
|
||||||
|
.append(Component.text(String.valueOf(totalWonSize), NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" "))
|
||||||
|
.append(createLangComponent("data.player.outof", NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" " + totalSize + " (" + MinecleanerStringUtil.percentageString(totalWonSize, totalSize) + ")", NamedTextColor.GREEN)));
|
||||||
|
|
||||||
|
sender.sendMessage(Component.text(" ")
|
||||||
|
.append(createLangComponent("data.player.thismonth", NamedTextColor.BLUE))
|
||||||
|
.append(Component.text(" "))
|
||||||
|
.append(Component.text(String.valueOf(totalWonMonth), NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" "))
|
||||||
|
.append(createLangComponent("data.player.outof", NamedTextColor.GREEN))
|
||||||
|
.append(Component.text(" " + totalSize + " (" + MinecleanerStringUtil.percentageString(totalWonMonth, totalSizeMonth) + ")", NamedTextColor.GREEN)));
|
||||||
|
|
||||||
Integer time = data.getBestTime(e.getKey());
|
Integer time = data.getBestTime(e.getKey());
|
||||||
Integer timeThisMonth = data.getBestTimeThisMonth(e.getKey());
|
Integer timeThisMonth = data.getBestTimeThisMonth(e.getKey());
|
||||||
sender.sendMessage(ChatColor.BLUE + " Bestzeit: " + ChatColor.GREEN + (time == null ? "-" : MinecleanerStringUtil.timeToString(time, false)));
|
sender.sendMessage(Component.text(" ")
|
||||||
sender.sendMessage(ChatColor.BLUE + " Dieser Monat: " + ChatColor.GREEN + (timeThisMonth == null ? "-" : MinecleanerStringUtil.timeToString(timeThisMonth, false)));
|
.append(createLangComponent("data.player.besttime",": ", (time == null ? "-" : MinecleanerStringUtil.timeToString(time, false)), NamedTextColor.BLUE, NamedTextColor.GREEN)));
|
||||||
|
|
||||||
|
sender.sendMessage(Component.text(" ")
|
||||||
|
.append(createLangComponent("data.player.thismonth", ": ", (timeThisMonth == null ? "-" : MinecleanerStringUtil.timeToString(timeThisMonth, false)), NamedTextColor.BLUE, NamedTextColor.GREEN)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -86,7 +119,7 @@ public class StatsCommand extends SubCommand {
|
||||||
if(sender instanceof Player) {
|
if(sender instanceof Player) {
|
||||||
plugin.getManager().getStatisticsForPlayer((Player) sender, callback);
|
plugin.getManager().getStatisticsForPlayer((Player) sender, callback);
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChatColor.GREEN + "Für die Konsole existieren keine Daten.");
|
sender.sendMessage(createLangComponent("data.console.nodata", NamedTextColor.GREEN));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
plugin.getManager().getStatisticsForPlayerIfExists(playerName, callback);
|
plugin.getManager().getStatisticsForPlayerIfExists(playerName, callback);
|
||||||
|
|
|
||||||
32
src/main/java/de/lunarakai/minecleaner/utils/ItemUtil.java
Normal file
32
src/main/java/de/lunarakai/minecleaner/utils/ItemUtil.java
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
package de.lunarakai.minecleaner.utils;
|
||||||
|
|
||||||
|
import de.iani.cubesideutils.bukkit.items.ItemBuilder;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.inventory.ItemFlag;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
public class ItemUtil {
|
||||||
|
|
||||||
|
public static final ItemStack EMPTY_ICON = createGuiItem(Material.GRAY_STAINED_GLASS_PANE, " ", true, true);
|
||||||
|
|
||||||
|
public static ItemStack createGuiItem(Material material, String name, String... lore) {
|
||||||
|
return createGuiItem(material, name, false, lore);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack createGuiItem(Material material, String name, boolean glowing, boolean showTooltip, String... lore) {
|
||||||
|
ItemBuilder builder = ItemBuilder.fromMaterial(material).displayName(name).lore(lore);
|
||||||
|
if (glowing) {
|
||||||
|
builder.enchantment(Enchantment.UNBREAKING, 1, true).flag(ItemFlag.HIDE_ENCHANTS);
|
||||||
|
}
|
||||||
|
if (!showTooltip) {
|
||||||
|
builder.flag(ItemFlag.HIDE_ADDITIONAL_TOOLTIP);
|
||||||
|
}
|
||||||
|
return builder.build();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack createGuiItem(Material material, String name, boolean glowing, String... lore) {
|
||||||
|
return createGuiItem(material, name, glowing, true, lore);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package de.lunarakai.minecleaner.utils;
|
||||||
|
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
|
import net.kyori.adventure.text.event.ClickEvent;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
|
||||||
public class MinecleanerComponentUtils {
|
public class MinecleanerComponentUtils {
|
||||||
|
|
@ -27,4 +28,25 @@ public class MinecleanerComponentUtils {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static TextComponent createLangComponent(String langKey, String filler, String arg1, NamedTextColor namedColor, NamedTextColor namedColorArg1) {
|
||||||
|
if(MinecleanerStringUtil.isValidURL(arg1)) {
|
||||||
|
TextComponent urlMessage = Component.text(arg1);
|
||||||
|
urlMessage = urlMessage.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, arg1));
|
||||||
|
urlMessage = urlMessage.color(namedColorArg1);
|
||||||
|
|
||||||
|
return Component.text()
|
||||||
|
.color(namedColor)
|
||||||
|
.append(Component.translatable(langKey))
|
||||||
|
.append(Component.text(filler))
|
||||||
|
.append(urlMessage)
|
||||||
|
.build();
|
||||||
|
} else {
|
||||||
|
return Component.text()
|
||||||
|
.color(namedColor)
|
||||||
|
.append(Component.translatable(langKey))
|
||||||
|
.append(Component.text(filler))
|
||||||
|
.append(Component.text(arg1, namedColorArg1))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,8 @@
|
||||||
package de.lunarakai.minecleaner.utils;
|
package de.lunarakai.minecleaner.utils;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import de.iani.cubesideutils.bukkit.items.CustomHeads;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
import org.bukkit.inventory.meta.SkullMeta;
|
|
||||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
|
||||||
import com.destroystokyo.paper.profile.ProfileProperty;
|
|
||||||
|
|
||||||
public enum MinecleanerHeads {
|
public enum MinecleanerHeads {
|
||||||
MINESWEEPER_TILE_0("38206373-5653-4431-85aa-6276f3f9a046", "Minesweeper Tile 0", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRjMjg0YTRlOTc0MDA1ZWE4ZDFkNGQwNjc0ZWMwODk0ZWZkOGY2ZGQwMjQ4NjM5YTZjZmE5NGY4NTM4OCJ9fX0="),
|
MINESWEEPER_TILE_0("38206373-5653-4431-85aa-6276f3f9a046", "Minesweeper Tile 0", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRjMjg0YTRlOTc0MDA1ZWE4ZDFkNGQwNjc0ZWMwODk0ZWZkOGY2ZGQwMjQ4NjM5YTZjZmE5NGY4NTM4OCJ9fX0="),
|
||||||
|
|
@ -38,40 +32,11 @@ public enum MinecleanerHeads {
|
||||||
|
|
||||||
private ItemStack head;
|
private ItemStack head;
|
||||||
|
|
||||||
private MinecleanerHeads(String ownerUUIDString, String ownerName, String texturesProperty) {
|
MinecleanerHeads(String ownerUUIDString, String ownerName, String texturesProperty) {
|
||||||
head = createHead(UUID.fromString(ownerUUIDString), ownerName, texturesProperty);
|
head = CustomHeads.createHead(UUID.fromString(ownerUUIDString), ownerName, texturesProperty);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getHead() {
|
public ItemStack getHead() {
|
||||||
return new ItemStack(head);
|
return new ItemStack(head);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getHead(String displayName) {
|
|
||||||
return getHead(displayName, (String[]) null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack getHead(String displayName, String... lore) {
|
|
||||||
ItemStack stack = getHead();
|
|
||||||
ItemMeta meta = stack.getItemMeta();
|
|
||||||
meta.setDisplayName(displayName);
|
|
||||||
if (lore != null && lore.length > 0) {
|
|
||||||
meta.setLore(Arrays.asList(lore));
|
|
||||||
}
|
|
||||||
stack.setItemMeta(meta);
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ItemStack createHead(UUID ownerUUID, String ownerName, String texturesProperty) {
|
|
||||||
if (ownerName == null) {
|
|
||||||
ownerName = ownerUUID.toString().substring(0, 16);
|
|
||||||
}
|
|
||||||
ItemStack stack = new ItemStack(Material.PLAYER_HEAD);
|
|
||||||
SkullMeta meta = (SkullMeta) stack.getItemMeta();
|
|
||||||
PlayerProfile profile = Bukkit.createProfile(ownerUUID, ownerName);
|
|
||||||
profile.setProperty(new ProfileProperty("textures", texturesProperty));
|
|
||||||
meta.setPlayerProfile(profile);
|
|
||||||
stack.setItemMeta(meta);
|
|
||||||
return stack;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package de.lunarakai.minecleaner.utils;
|
package de.lunarakai.minecleaner.utils;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
public class MinecleanerStringUtil {
|
public class MinecleanerStringUtil {
|
||||||
private MinecleanerStringUtil() {
|
private MinecleanerStringUtil() {
|
||||||
}
|
}
|
||||||
|
|
@ -50,4 +52,14 @@ public class MinecleanerStringUtil {
|
||||||
String percentageString = String.format("%.1f", percent);
|
String percentageString = String.format("%.1f", percent);
|
||||||
return percentageString + "%";
|
return percentageString + "%";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isValidURL(String urlString) {
|
||||||
|
try {
|
||||||
|
URL url = new URL(urlString);
|
||||||
|
url.toURI();
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@ minecleaner.info.license=Lizenz
|
||||||
|
|
||||||
arena.name.invalid=Ungueltiger Arenaname. Erlaubt sind Buchstaben, Zahlen und der Unterstrich
|
arena.name.invalid=Ungueltiger Arenaname. Erlaubt sind Buchstaben, Zahlen und der Unterstrich
|
||||||
arena.name.exists=Eine Arena mit diesem Namen existiert bereits
|
arena.name.exists=Eine Arena mit diesem Namen existiert bereits
|
||||||
|
arena.width.klein=Klein
|
||||||
|
arena.width.mittel=Mittel
|
||||||
|
arena.width.gross=Gross
|
||||||
|
arena.width.experte=Experte
|
||||||
arena.widthindex.invalid=Kein Valider Arena WidthIndex!
|
arena.widthindex.invalid=Kein Valider Arena WidthIndex!
|
||||||
arena.widthindex.validOptions=0 (oder weglassen) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33
|
arena.widthindex.validOptions=0 (oder weglassen) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33
|
||||||
arena.widthindex.toolarge=Arena WidthIndex darf nicht groesser als 3 sein
|
arena.widthindex.toolarge=Arena WidthIndex darf nicht groesser als 3 sein
|
||||||
|
|
@ -19,6 +23,13 @@ arena.list.none=(keine)
|
||||||
data.player.noData=Fuer Spieler "{0}" existieren keine Daten.
|
data.player.noData=Fuer Spieler "{0}" existieren keine Daten.
|
||||||
data.player.self=Deine {0} Statistik
|
data.player.self=Deine {0} Statistik
|
||||||
data.player.other={0}-Statistik von {1}
|
data.player.other={0}-Statistik von {1}
|
||||||
|
data.player.roundswon=Runden gewonnen
|
||||||
|
data.player.pointsscored=Punkte erspielt
|
||||||
|
data.player.from=von
|
||||||
|
data.player.besttime=Bestzeit
|
||||||
|
data.player.thismonth=Dieser Monat
|
||||||
|
|
||||||
data.delete.playerNotFound=Ein Spieler mit dem Namen "{0}" konnte nicht gefunden werden.
|
data.delete.playerNotFound=Ein Spieler mit dem Namen "{0}" konnte nicht gefunden werden.
|
||||||
data.delete.deleted=Alle {0}-Statistiken von Spieler "{1}" wurden geloescht.
|
data.delete.deleted=Alle {0}-Statistiken von Spieler "{1}" wurden geloescht.
|
||||||
|
|
||||||
|
data.console.nodata=Fuer die Konsole existieren keine Daten.
|
||||||
|
|
@ -5,6 +5,10 @@ minecleaner.info.license=License
|
||||||
|
|
||||||
arena.name.invalid=Invalid arena name. Allowed are letters, numbers and the underscore
|
arena.name.invalid=Invalid arena name. Allowed are letters, numbers and the underscore
|
||||||
arena.name.exists=An arena with this name already exists
|
arena.name.exists=An arena with this name already exists
|
||||||
|
arena.width.klein=Small
|
||||||
|
arena.width.mittel=Medium
|
||||||
|
arena.width.gross=Large
|
||||||
|
arena.width.experte=Expert
|
||||||
arena.widthindex.invalid=Not a valid Arena WidthIndex
|
arena.widthindex.invalid=Not a valid Arena WidthIndex
|
||||||
arena.widthindex.validOptions=0 (or leave empty) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33
|
arena.widthindex.validOptions=0 (or leave empty) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33
|
||||||
arena.widthindex.toolarge=Arena WidthIndex must not be greater than 3
|
arena.widthindex.toolarge=Arena WidthIndex must not be greater than 3
|
||||||
|
|
@ -19,6 +23,13 @@ arena.list.none=(none)
|
||||||
data.player.noData=No data exists for player "{0}".
|
data.player.noData=No data exists for player "{0}".
|
||||||
data.player.self=Your {0} statistics
|
data.player.self=Your {0} statistics
|
||||||
data.player.other={0} statistics from {1}
|
data.player.other={0} statistics from {1}
|
||||||
|
data.player.roundswon=Rounds won
|
||||||
|
data.player.pointsscored=Points scored
|
||||||
|
data.player.outof=out of
|
||||||
|
data.player.besttime=Best time
|
||||||
|
data.player.thismonth=This month
|
||||||
|
|
||||||
data.delete.playerNotFound=A player with the name "{0}" could not be found.
|
data.delete.playerNotFound=A player with the name "{0}" could not be found.
|
||||||
data.delete.deleted=All {0} stats of player "{1}" have been deleted.
|
data.delete.deleted=All {0} stats of player "{1}" have been deleted.
|
||||||
|
|
||||||
|
data.console.nodata=No data exists for the console.
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
name: Minecleaner
|
name: Minecleaner
|
||||||
version: '${project.version}-${git.commit.id.abbrev}'
|
version: '${project.version}-${git.commit.id.abbrev}'
|
||||||
author: LunarAkai
|
author: LunarAkai
|
||||||
website: https://github.com/LunarAkai/Minecleaner
|
website: https://git.lunarakai.de/LunarAkai/NewMinecleaner
|
||||||
main: de.lunarakai.minecleaner.MinecleanerPlugin
|
main: de.lunarakai.minecleaner.MinecleanerPlugin
|
||||||
api-version: '1.20'
|
api-version: '1.20'
|
||||||
depend:
|
depend:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue