změněno jméno z eventmanager na trixinity-event
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
rootProject.name = 'TrixinityEventManager'
|
||||
rootProject.name = 'Trixinity-Event'
|
||||
+11
-11
@@ -1,22 +1,22 @@
|
||||
package dev.trixinity.eventmanager;
|
||||
package dev.trixinity.event;
|
||||
|
||||
import com.sk89q.worldguard.WorldGuard;
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
import com.sk89q.worldguard.protection.flags.registry.FlagRegistry;
|
||||
import dev.trixinity.eventmanager.commands.ClearEventerCommand;
|
||||
import dev.trixinity.eventmanager.commands.EventCommand;
|
||||
import dev.trixinity.eventmanager.commands.EventerCommand;
|
||||
import dev.trixinity.eventmanager.commands.TrixinityCommand;
|
||||
import dev.trixinity.eventmanager.placeholders.TrixinityPlaceholderExpansion;
|
||||
import dev.trixinity.event.commands.ClearEventerCommand;
|
||||
import dev.trixinity.event.commands.EventCommand;
|
||||
import dev.trixinity.event.commands.EventerCommand;
|
||||
import dev.trixinity.event.commands.TrixinityCommand;
|
||||
import dev.trixinity.event.placeholders.TrixinityPlaceholderExpansion;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
/**
|
||||
* Hlavní třída pluginu pro správu eventů na Minecraft serveru.
|
||||
*/
|
||||
public class TrixinityEventManager extends JavaPlugin {
|
||||
private static volatile TrixinityEventManager instance;
|
||||
public class TrixinityEvent extends JavaPlugin {
|
||||
private static volatile TrixinityEvent instance;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
@@ -43,12 +43,12 @@ public class TrixinityEventManager extends JavaPlugin {
|
||||
getLogger().warning("PlaceholderAPI není nainstalováno! Placeholders nebudou fungovat.");
|
||||
}
|
||||
|
||||
getLogger().info("TrixinityEventManager byl úspěšně spuštěn!");
|
||||
getLogger().info("Trixinity-Event byl úspěšně spuštěn!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
getLogger().info("TrixinityEventManager byl vypnut!");
|
||||
getLogger().info("Trixinity-Event byl vypnut!");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,7 +57,7 @@ public class TrixinityEventManager extends JavaPlugin {
|
||||
* @return Instance pluginu
|
||||
* @throws IllegalStateException pokud plugin není inicializován
|
||||
*/
|
||||
public static TrixinityEventManager getInstance() {
|
||||
public static TrixinityEvent getInstance() {
|
||||
if (instance == null) {
|
||||
throw new IllegalStateException("Plugin není inicializován!");
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package dev.trixinity.event.commands;
|
||||
|
||||
import dev.trixinity.event.TrixinityEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
* Implementace příkazu /cleareventer pro vymazání současného eventera.
|
||||
*/
|
||||
public class ClearEventerCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
// Kontrola oprávnění - vyžaduje * oprávnění
|
||||
if (!sender.hasPermission("*")) {
|
||||
sender.sendMessage(String.format("%s%sTrixinity-Event v1.0",
|
||||
ChatColor.RED, ChatColor.BOLD));
|
||||
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||
sender.sendMessage(ChatColor.GRAY
|
||||
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
|
||||
return true;
|
||||
}
|
||||
|
||||
// ... zbytek kódu zůstává stejný ...
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package dev.trixinity.event.commands;
|
||||
|
||||
import dev.trixinity.event.TrixinityEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implementace příkazů pro správu eventů.
|
||||
*/
|
||||
public class EventCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
private void handleEventStarting(CommandSender sender) {
|
||||
TrixinityEvent plugin = TrixinityEvent.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "starting"
|
||||
plugin.getConfig().set("event_status", "starting");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti vzduchem
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 air");
|
||||
|
||||
sender.sendMessage(ChatColor.YELLOW + "Event začíná");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.YELLOW + ChatColor.BOLD.toString() + "EVENT ZAČÍNÁ!");
|
||||
}
|
||||
|
||||
private void handleEventStart(CommandSender sender) {
|
||||
TrixinityEvent plugin = TrixinityEvent.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "začal"
|
||||
plugin.getConfig().set("event_status", "started");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti železnými mřížemi
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 iron_bars");
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Event byl úspěšně spuštěn!");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "EVENT ZAČAL!");
|
||||
}
|
||||
|
||||
private void handleEventEnd(CommandSender sender) {
|
||||
TrixinityEvent plugin = TrixinityEvent.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "skončil"
|
||||
plugin.getConfig().set("event_status", "ended");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti vzduchem (reset po skončení eventu)
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 air");
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Event byl ukončen!");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "EVENT SKONČIL!");
|
||||
}
|
||||
|
||||
private void showPluginInfo(CommandSender sender) {
|
||||
sender.sendMessage(String.format("%s%s------------(%s%s TRIXINITY EVENT %s%s)------------",
|
||||
ChatColor.RED, ChatColor.STRIKETHROUGH,
|
||||
ChatColor.RED, ChatColor.BOLD,
|
||||
ChatColor.RED, ChatColor.STRIKETHROUGH));
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.GOLD + ChatColor.BOLD.toString() + "Plugin pro správu eventů");
|
||||
sender.sendMessage(ChatColor.YELLOW + "Tvůrce: " + ChatColor.WHITE + "BabyMsp2k");
|
||||
sender.sendMessage(ChatColor.YELLOW + "Verze: " + ChatColor.WHITE + "1.0.0");
|
||||
|
||||
// Zobrazení příkazů pouze pro hráče s oprávněním trixinity.eventer.help
|
||||
if (sender.hasPermission("trixinity.eventer.help")) {
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.GREEN + "Dostupné příkazy:");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event starting");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event start");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event end");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event event <spleef/end>");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event build off/on");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event pvp off/on");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event spawn (hráč)");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event hunger on/off");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event kick (hráč)");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "WorldEdit příkazy");
|
||||
}
|
||||
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.STRIKETHROUGH.toString()
|
||||
+ "---------------------------------");
|
||||
}
|
||||
|
||||
// ... zbytek kódu zůstává stejný ...
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package dev.trixinity.event.commands;
|
||||
|
||||
import dev.trixinity.event.TrixinityEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* Implementace příkazu /eventer pro nastavení eventer role.
|
||||
*/
|
||||
public class EventerCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
// Kontrola oprávnění - vyžaduje * oprávnění
|
||||
if (!sender.hasPermission("*")) {
|
||||
sender.sendMessage(String.format("%s%sTrixinity-Event v1.0",
|
||||
ChatColor.RED, ChatColor.BOLD));
|
||||
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||
sender.sendMessage(ChatColor.GRAY
|
||||
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
|
||||
return true;
|
||||
}
|
||||
|
||||
// ... zbytek kódu zůstává stejný ...
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package dev.trixinity.eventmanager.commands;
|
||||
package dev.trixinity.event.commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -13,7 +13,7 @@ public class TrixinityCommand implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
sender.sendMessage(String.format("%s%sTrixinityEventManager v1.0",
|
||||
sender.sendMessage(String.format("%s%sTrixinity-Event v1.0",
|
||||
ChatColor.RED, ChatColor.BOLD));
|
||||
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||
sender.sendMessage(ChatColor.GRAY
|
||||
@@ -0,0 +1,44 @@
|
||||
package dev.trixinity.event.placeholders;
|
||||
|
||||
import dev.trixinity.event.TrixinityEvent;
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* PlaceholderAPI expansion pro Trixinity placeholders.
|
||||
*/
|
||||
public class TrixinityPlaceholderExpansion extends PlaceholderExpansion {
|
||||
|
||||
private final TrixinityEvent plugin;
|
||||
|
||||
public TrixinityPlaceholderExpansion(TrixinityEvent plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdentifier() {
|
||||
return "trixinity";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getAuthor() {
|
||||
return "TrixinityDev";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getVersion() {
|
||||
return "1.0.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean persist() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String onRequest(OfflinePlayer player, @NotNull String params) {
|
||||
// ... zbytek kódu zůstává stejný ...
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package dev.trixinity.eventmanager.commands;
|
||||
|
||||
import dev.trixinity.eventmanager.TrixinityEventManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
* Implementace příkazu /cleareventer pro vymazání eventera.
|
||||
*/
|
||||
public class ClearEventerCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
// Kontrola oprávnění - vyžaduje * oprávnění
|
||||
if (!sender.hasPermission("*")) {
|
||||
sender.sendMessage(String.format("%s%sTrixinityEventManager v1.0",
|
||||
ChatColor.RED, ChatColor.BOLD));
|
||||
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||
sender.sendMessage(ChatColor.GRAY
|
||||
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
|
||||
return true;
|
||||
}
|
||||
|
||||
TrixinityEventManager plugin = TrixinityEventManager.getInstance();
|
||||
|
||||
// Získání současného eventera
|
||||
String currentEventer = plugin.getConfig().getString("current_eventer", "");
|
||||
|
||||
if (currentEventer.isEmpty()) {
|
||||
sender.sendMessage(ChatColor.YELLOW + "Žádný eventer není nastaven!");
|
||||
return true;
|
||||
}
|
||||
|
||||
// Vrácení eventera na default roli
|
||||
String removeCommand = String.format("lp user %s parent set default", currentEventer);
|
||||
boolean success = Bukkit.dispatchCommand(Bukkit.getConsoleSender(), removeCommand);
|
||||
|
||||
if (success) {
|
||||
sender.sendMessage(ChatColor.GREEN + String.format(
|
||||
"Hráč %s byl vrácen na default roli!", currentEventer));
|
||||
|
||||
// Vymazání z konfigurace
|
||||
plugin.getConfig().set("current_eventer", "");
|
||||
plugin.getConfig().set("eventers." + currentEventer, false);
|
||||
plugin.saveConfig();
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Eventer byl úspěšně vymazán!");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + String.format(
|
||||
"Chyba při odebírání role eventer pro hráče %s!", currentEventer));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,563 +0,0 @@
|
||||
package dev.trixinity.eventmanager.commands;
|
||||
|
||||
import dev.trixinity.eventmanager.TrixinityEventManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Implementace příkazů pro správu eventů.
|
||||
*/
|
||||
public class EventCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
// Pokud není zadán žádný argument, zobraz informace o pluginu (bez kontroly oprávnění)
|
||||
if (args == null || args.length == 0) {
|
||||
showPluginInfo(sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "starting":
|
||||
if (!sender.hasPermission("trixinity.event.admin")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleEventStarting(sender);
|
||||
break;
|
||||
case "start":
|
||||
if (!sender.hasPermission("trixinity.event.admin")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleEventStart(sender);
|
||||
break;
|
||||
case "end":
|
||||
if (!sender.hasPermission("trixinity.event.admin")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleEventEnd(sender);
|
||||
break;
|
||||
case "event":
|
||||
if (!sender.hasPermission("trixinity.event.admin")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleEventEvent(sender, args);
|
||||
break;
|
||||
case "build":
|
||||
if (!sender.hasPermission("trixinity.event.build")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleBuild(sender, args);
|
||||
break;
|
||||
case "pvp":
|
||||
if (!sender.hasPermission("trixinity.event.pvp")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handlePvP(sender, args);
|
||||
break;
|
||||
case "spawn":
|
||||
if (!sender.hasPermission("trixinity.event.spawn")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleSpawn(sender, args);
|
||||
break;
|
||||
case "hunger":
|
||||
if (!sender.hasPermission("trixinity.event.hunger")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleHunger(sender, args);
|
||||
break;
|
||||
case "kick":
|
||||
if (!sender.hasPermission("trixinity.event.kick")) {
|
||||
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||
return true;
|
||||
}
|
||||
handleKick(sender, args);
|
||||
break;
|
||||
default:
|
||||
showPluginInfo(sender);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
|
||||
if (args.length == 1) {
|
||||
// První argument - sub-příkazy
|
||||
List<String> subCommands = Arrays.asList("starting", "start", "end", "event", "build", "pvp", "spawn", "hunger", "kick");
|
||||
for (String subCommand : subCommands) {
|
||||
if (subCommand.toLowerCase().startsWith(args[0].toLowerCase())) {
|
||||
completions.add(subCommand);
|
||||
}
|
||||
}
|
||||
} else if (args.length == 2) {
|
||||
// Druhý argument - závisí na prvním argumentu
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "build":
|
||||
case "pvp":
|
||||
case "hunger":
|
||||
List<String> onOff = Arrays.asList("on", "off");
|
||||
for (String option : onOff) {
|
||||
if (option.toLowerCase().startsWith(args[1].toLowerCase())) {
|
||||
completions.add(option);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "event":
|
||||
List<String> eventOptions = Arrays.asList("spleef", "end");
|
||||
for (String option : eventOptions) {
|
||||
if (option.toLowerCase().startsWith(args[1].toLowerCase())) {
|
||||
completions.add(option);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "spawn":
|
||||
case "kick":
|
||||
// Autocomplete pro jména hráčů
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
if (player.getName().toLowerCase().startsWith(args[1].toLowerCase())) {
|
||||
completions.add(player.getName());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return completions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz event starting.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleEventStarting(CommandSender sender) {
|
||||
TrixinityEventManager plugin = TrixinityEventManager.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "starting"
|
||||
plugin.getConfig().set("event_status", "starting");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti vzduchem
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 air");
|
||||
|
||||
sender.sendMessage(ChatColor.YELLOW + "Event začíná");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.YELLOW + ChatColor.BOLD.toString() + "EVENT ZAČÍNÁ!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz event start.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleEventStart(CommandSender sender) {
|
||||
TrixinityEventManager plugin = TrixinityEventManager.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "začal"
|
||||
plugin.getConfig().set("event_status", "started");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti železnými mřížemi
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 iron_bars");
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Event byl úspěšně spuštěn!");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "EVENT ZAČAL!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz event end.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleEventEnd(CommandSender sender) {
|
||||
TrixinityEventManager plugin = TrixinityEventManager.getInstance();
|
||||
|
||||
// Nastavení stavu eventu na "skončil"
|
||||
plugin.getConfig().set("event_status", "ended");
|
||||
plugin.saveConfig();
|
||||
|
||||
// Vyplnění oblasti vzduchem (reset po skončení eventu)
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 47 62 42 39 60 42 iron_bars");
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Event byl ukončen!");
|
||||
|
||||
// Oznámení všem hráčům
|
||||
Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "EVENT SKONČIL!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zobrazí informace o pluginu.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void showPluginInfo(CommandSender sender) {
|
||||
sender.sendMessage(String.format("%s%s------------(%s%s TRIXINITY EVENT MANAGER %s%s)------------",
|
||||
ChatColor.RED, ChatColor.STRIKETHROUGH,
|
||||
ChatColor.RED, ChatColor.BOLD,
|
||||
ChatColor.RED, ChatColor.STRIKETHROUGH));
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.GOLD + ChatColor.BOLD.toString() + "Plugin pro správu eventů");
|
||||
sender.sendMessage(ChatColor.YELLOW + "Tvůrce: " + ChatColor.WHITE + "BabyMsp2k");
|
||||
sender.sendMessage(ChatColor.YELLOW + "Verze: " + ChatColor.WHITE + "1.0.0");
|
||||
|
||||
// Zobrazení příkazů pouze pro hráče s oprávněním trixinity.eventer.help
|
||||
if (sender.hasPermission("trixinity.eventer.help")) {
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.GREEN + "Dostupné příkazy:");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event starting");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event start");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event end");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event event <spleef/end>");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event build off/on");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event pvp off/on");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event spawn (hráč)");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event hunger on/off");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "/event kick (hráč)");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- "
|
||||
+ ChatColor.RED + "WorldEdit příkazy");
|
||||
}
|
||||
|
||||
sender.sendMessage("");
|
||||
sender.sendMessage(ChatColor.RED + ChatColor.STRIKETHROUGH.toString()
|
||||
+ "---------------------------------");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz build.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleBuild(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event build <on/off>");
|
||||
return;
|
||||
}
|
||||
|
||||
String command = args[1].toLowerCase();
|
||||
if ("on".equals(command)) {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
|
||||
"rg flag __global__ build -w EVENT allow");
|
||||
sender.sendMessage(ChatColor.GREEN + "Build mód byl zapnut!");
|
||||
} else if ("off".equals(command)) {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
|
||||
"rg flag __global__ build -w EVENT deny");
|
||||
sender.sendMessage(ChatColor.RED + "Build mód byl vypnut!");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event build <on/off>");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz teleport.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleTeleport(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 3) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event teleport <hráč> <cíl>");
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = Bukkit.getPlayer(args[1]);
|
||||
Player target = Bukkit.getPlayer(args[2]);
|
||||
|
||||
if (player == null || target == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Jeden nebo oba hráči nejsou online!");
|
||||
return;
|
||||
}
|
||||
|
||||
player.teleport(target.getLocation());
|
||||
sender.sendMessage(ChatColor.GREEN + String.format(
|
||||
"Hráč %s byl teleportován k hráči %s!",
|
||||
player.getName(), target.getName()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz pvp.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handlePvP(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>");
|
||||
return;
|
||||
}
|
||||
|
||||
String command = args[1].toLowerCase();
|
||||
if ("on".equals(command)) {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
|
||||
"rg flag __global__ pvp -w EVENT allow");
|
||||
sender.sendMessage(ChatColor.GREEN + "PvP bylo zapnuto!");
|
||||
} else if ("off".equals(command)) {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
|
||||
"rg flag __global__ pvp -w EVENT deny");
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz spawn.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleSpawn(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
if (sender instanceof Player) {
|
||||
Bukkit.dispatchCommand(sender, "spawn");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event spawn <hráč>");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = Bukkit.getPlayer(args[1]);
|
||||
if (target == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Hráč není online!");
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "spawn " + target.getName());
|
||||
sender.sendMessage(ChatColor.GREEN + "Hráč " + target.getName()
|
||||
+ " byl teleportován na spawn!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz gamemode.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleGamemode(CommandSender sender) {
|
||||
if (!(sender instanceof Player)) {
|
||||
sender.sendMessage(ChatColor.RED + "Tento příkaz může použít pouze hráč!");
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = (Player) sender;
|
||||
player.setGameMode(GameMode.CREATIVE);
|
||||
sender.sendMessage(ChatColor.GREEN + "Herní mód byl změněn na Creative!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz heal.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleHeal(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
player.setHealth(player.getMaxHealth());
|
||||
player.setFoodLevel(20);
|
||||
sender.sendMessage(ChatColor.GREEN + "Byl jsi vyléčen!");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event heal <hráč/*>");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if ("*".equals(args[1])) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.setHealth(player.getMaxHealth());
|
||||
player.setFoodLevel(20);
|
||||
}
|
||||
sender.sendMessage(ChatColor.GREEN + "Všichni hráči byli vyléčeni!");
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = Bukkit.getPlayer(args[1]);
|
||||
if (target == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Hráč není online!");
|
||||
return;
|
||||
}
|
||||
|
||||
target.setHealth(target.getMaxHealth());
|
||||
target.setFoodLevel(20);
|
||||
sender.sendMessage(ChatColor.GREEN + "Hráč " + target.getName() + " byl vyléčen!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz hunger.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleHunger(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event hunger <on/off>");
|
||||
return;
|
||||
}
|
||||
|
||||
String command = args[1].toLowerCase();
|
||||
if ("on".equals(command)) {
|
||||
// Zapnutí hunger pro všechny hráče
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.setFoodLevel(20); // Nastavení plného hunger baru
|
||||
player.setSaturation(20.0f); // Nastavení saturace
|
||||
}
|
||||
sender.sendMessage(ChatColor.GREEN + "Hunger byl zapnut pro všechny hráče!");
|
||||
Bukkit.broadcastMessage(ChatColor.YELLOW + "Hunger byl zapnut!");
|
||||
} else if ("off".equals(command)) {
|
||||
// Vypnutí hunger pro všechny hráče
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.setFoodLevel(20); // Plný hunger bar
|
||||
player.setSaturation(20.0f); // Maximální saturace (zabrání klesání)
|
||||
}
|
||||
sender.sendMessage(ChatColor.RED + "Hunger byl vypnut pro všechny hráče!");
|
||||
Bukkit.broadcastMessage(ChatColor.YELLOW + "Hunger byl vypnut!");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event hunger <on/off>");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz kick.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleKick(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event kick <hráč>");
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = Bukkit.getPlayer(args[1]);
|
||||
if (target == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Hráč není online!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Nastavení hráče do spectator módu
|
||||
target.setGameMode(GameMode.SPECTATOR);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Hráč " + target.getName() + " byl přepnut do spectator módu!");
|
||||
target.sendMessage(ChatColor.YELLOW + "Byl jsi přepnut do spectator módu!");
|
||||
|
||||
// Oznámení všem adminům
|
||||
for (Player admin : Bukkit.getOnlinePlayers()) {
|
||||
if (admin.hasPermission("trixinity.event.admin") && !admin.equals(sender)) {
|
||||
admin.sendMessage(ChatColor.GRAY + "[Event] " + sender.getName() + " přepnul " + target.getName() + " do spectator módu");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zpracuje příkaz event event.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
* @param args Argumenty příkazu
|
||||
*/
|
||||
private void handleEventEvent(CommandSender sender, String[] args) {
|
||||
if (args == null || args.length < 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event event <spleef/end>");
|
||||
return;
|
||||
}
|
||||
|
||||
String eventType = args[1].toLowerCase();
|
||||
switch (eventType) {
|
||||
case "spleef":
|
||||
handleSpleefStart(sender);
|
||||
break;
|
||||
case "end":
|
||||
handleSpleefEnd(sender);
|
||||
break;
|
||||
default:
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /event event <spleef/end>");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Spustí spleef event.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleSpleefStart(CommandSender sender) {
|
||||
// Vyplnění oblasti sněhovými bloky
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "fill 22 107 -21 50 107 9 minecraft:snow_block");
|
||||
|
||||
// Teleportace všech hráčů
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "minecraft:tp @a 42 108 1");
|
||||
|
||||
// Dání zlaté lopaty všem hráčům
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
ItemStack goldenShovel = new ItemStack(Material.GOLDEN_SHOVEL);
|
||||
ItemMeta meta = goldenShovel.getItemMeta();
|
||||
|
||||
if (meta != null) {
|
||||
meta.setUnbreakable(true);
|
||||
meta.addEnchant(Enchantment.EFFICIENCY, 3, true); // Opraveno z DIG_SPEED na EFFICIENCY
|
||||
meta.setDisplayName(ChatColor.GOLD + "Spleef Lopata");
|
||||
goldenShovel.setItemMeta(meta);
|
||||
}
|
||||
|
||||
player.getInventory().addItem(goldenShovel);
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Spleef event byl spuštěn!");
|
||||
Bukkit.broadcastMessage(ChatColor.YELLOW + ChatColor.BOLD.toString() + "SPLEEF EVENT ZAČAL!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Ukončí spleef event.
|
||||
*
|
||||
* @param sender Odesílatel příkazu
|
||||
*/
|
||||
private void handleSpleefEnd(CommandSender sender) {
|
||||
// Odebrání zlatých lopat všem hráčům
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
player.getInventory().remove(Material.GOLDEN_SHOVEL);
|
||||
}
|
||||
|
||||
// Teleportace všech hráčů
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "minecraft:tp @a 43 60 26");
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Spleef event byl ukončen!");
|
||||
Bukkit.broadcastMessage(ChatColor.RED + ChatColor.BOLD.toString() + "SPLEEF EVENT SKONČIL!");
|
||||
}
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
package dev.trixinity.eventmanager.commands;
|
||||
|
||||
import dev.trixinity.eventmanager.TrixinityEventManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* Implementace příkazu /eventer pro správu eventer rolí.
|
||||
*/
|
||||
public class EventerCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label,
|
||||
String[] args) {
|
||||
// Kontrola oprávnění - vyžaduje * oprávnění
|
||||
if (!sender.hasPermission("*")) {
|
||||
sender.sendMessage(String.format("%s%sTrixinityEventManager v1.0",
|
||||
ChatColor.RED, ChatColor.BOLD));
|
||||
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||
sender.sendMessage(ChatColor.GRAY
|
||||
+ "Plugin pro správu herních eventů s podporou WorldGuard.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args == null || args.length == 0) {
|
||||
sender.sendMessage(ChatColor.RED + "Použití: /eventer <nick>");
|
||||
return true;
|
||||
}
|
||||
|
||||
String targetNick = args[0];
|
||||
TrixinityEventManager plugin = TrixinityEventManager.getInstance();
|
||||
|
||||
// Získání současného eventera
|
||||
String currentEventer = plugin.getConfig().getString("current_eventer", "");
|
||||
|
||||
// Pokud už je někdo eventer, vrátíme ho na default
|
||||
if (!currentEventer.isEmpty() && !currentEventer.equals(targetNick)) {
|
||||
String removeCommand = String.format("lp user %s parent set default", currentEventer);
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), removeCommand);
|
||||
sender.sendMessage(ChatColor.YELLOW + String.format(
|
||||
"Hráč %s byl vrácen na default roli.", currentEventer));
|
||||
|
||||
// Odebrání z konfigurace
|
||||
plugin.getConfig().set("eventers." + currentEventer, false);
|
||||
}
|
||||
|
||||
// Ověření, že hráč existuje
|
||||
Player targetPlayer = Bukkit.getPlayer(targetNick);
|
||||
if (targetPlayer == null) {
|
||||
sender.sendMessage(ChatColor.YELLOW + "Hráč není online, zkouším nastavit pro offline hráče...");
|
||||
}
|
||||
|
||||
// Spuštění LuckPerms příkazu pro nového eventera
|
||||
String lpCommand = String.format("lp user %s parent set eventer", targetNick);
|
||||
boolean success = Bukkit.dispatchCommand(Bukkit.getConsoleSender(), lpCommand);
|
||||
|
||||
if (success) {
|
||||
sender.sendMessage(ChatColor.GREEN + String.format(
|
||||
"Hráči %s byla úspěšně nastavena role eventer!", targetNick));
|
||||
|
||||
// Nastavení nového eventera v konfiguraci
|
||||
plugin.getConfig().set("current_eventer", targetNick);
|
||||
plugin.getConfig().set("eventers." + targetNick, true);
|
||||
plugin.saveConfig();
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + String.format(
|
||||
"Placeholder trixinity_eventer byl aktualizován pro hráče %s!", targetNick));
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + String.format(
|
||||
"Chyba při nastavování role eventer pro hráče %s!", targetNick));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
package dev.trixinity.eventmanager.placeholders;
|
||||
|
||||
import dev.trixinity.eventmanager.TrixinityEventManager;
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* PlaceholderAPI expansion pro Trixinity placeholders.
|
||||
*/
|
||||
public class TrixinityPlaceholderExpansion extends PlaceholderExpansion {
|
||||
|
||||
private final TrixinityEventManager plugin;
|
||||
|
||||
public TrixinityPlaceholderExpansion(TrixinityEventManager plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdentifier() {
|
||||
return "trixinity";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getAuthor() {
|
||||
return "TrixinityDev";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getVersion() {
|
||||
return plugin.getDescription().getVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean persist() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String onRequest(OfflinePlayer player, @NotNull String params) {
|
||||
// Placeholder: %trixinity_eventer% - zobrazuje jméno aktuálního eventera
|
||||
if ("eventer".equals(params)) {
|
||||
String currentEventer = plugin.getConfig().getString("current_eventer", "");
|
||||
return currentEventer.isEmpty() ? "Žádný" : currentEventer;
|
||||
}
|
||||
|
||||
// Placeholder: %trixinity_eventer_online% - zobrazuje jméno eventera pouze pokud je online
|
||||
if ("eventer_online".equals(params)) {
|
||||
String currentEventer = plugin.getConfig().getString("current_eventer", "");
|
||||
if (currentEventer.isEmpty()) {
|
||||
return "Žádný";
|
||||
}
|
||||
|
||||
// Kontrola, zda je eventer online
|
||||
if (plugin.getServer().getPlayer(currentEventer) != null) {
|
||||
return currentEventer;
|
||||
} else {
|
||||
return "Offline";
|
||||
}
|
||||
}
|
||||
|
||||
// Placeholder: %trixinity_status% - zobrazuje stav eventu
|
||||
if ("status".equals(params)) {
|
||||
String eventStatus = plugin.getConfig().getString("event_status", "ended");
|
||||
switch (eventStatus) {
|
||||
case "starting":
|
||||
return "Event začíná";
|
||||
case "started":
|
||||
return "Event začal";
|
||||
case "ended":
|
||||
return "Event skončil";
|
||||
default:
|
||||
return "Event skončil";
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# Konfigurace TrixinityEventManager
|
||||
# Konfigurace Trixinity-Event
|
||||
# Automaticky generovaný soubor pro ukládání dat
|
||||
|
||||
# Aktuální eventer
|
||||
|
||||
@@ -18,16 +18,15 @@ commands:
|
||||
§c§l- §c/event starting
|
||||
§c§l- §c/event start
|
||||
§c§l- §c/event end
|
||||
§c§l- §c/event event <spleef/end>
|
||||
§c§l- §c/event build off/on
|
||||
§c§l- §c/event pvp off/on
|
||||
§c§l- §c/event spawn (hráč)
|
||||
§c§l- §c/event gmc
|
||||
§c§l- §c/event heal (hráč/*)
|
||||
§c§l- §c/event teleport (hráč) (hráč)
|
||||
§c§l- §c/event hunger on/off
|
||||
§c§l- §c/event kick (hráč)
|
||||
§c§l- §c/WorldEdit příkazy
|
||||
§c§m---------------------------------
|
||||
aliases: [e]
|
||||
# permission: trixinity.event.admin <-- ODSTRANĚNO
|
||||
eventer:
|
||||
description: Nastavení eventer role pomocí LuckPerms
|
||||
usage: "/eventer <nick>"
|
||||
@@ -52,6 +51,8 @@ permissions:
|
||||
trixinity.event.gamemode: true
|
||||
trixinity.event.heal: true
|
||||
trixinity.event.teleport: true
|
||||
trixinity.event.hunger: true
|
||||
trixinity.event.kick: true
|
||||
trixinity.event.build:
|
||||
description: Povolení pro build příkazy
|
||||
default: op
|
||||
@@ -69,4 +70,13 @@ permissions:
|
||||
default: op
|
||||
trixinity.event.teleport:
|
||||
description: Povolení pro teleport příkazy
|
||||
default: op
|
||||
trixinity.event.hunger:
|
||||
description: Povolení pro hunger příkazy
|
||||
default: op
|
||||
trixinity.event.kick:
|
||||
description: Povolení pro kick příkazy
|
||||
default: op
|
||||
trixinity.eventer.help:
|
||||
description: Povolení pro zobrazení nápovědy
|
||||
default: op
|
||||
Reference in New Issue
Block a user