začátek
This commit is contained in:
+6
-5
@@ -8,7 +8,7 @@ plugins {
|
|||||||
id 'java'
|
id 'java'
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.crimsonwarpedcraft.exampleplugin"
|
group = "dev.trixinity.eventmanager"
|
||||||
|
|
||||||
static def getTime() {
|
static def getTime() {
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd-HHmm")
|
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd-HHmm")
|
||||||
@@ -65,14 +65,15 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'io.papermc.paper:paper-api:1.21.7-R0.1-SNAPSHOT'
|
compileOnly 'io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT'
|
||||||
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.3'
|
compileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.3'
|
||||||
implementation 'io.papermc:paperlib:1.0.8'
|
implementation 'io.papermc:paperlib:1.0.8'
|
||||||
|
implementation 'com.sk89q.worldguard:worldguard-bukkit:7.0.9'
|
||||||
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0'
|
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0'
|
||||||
testCompileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.3'
|
testCompileOnly 'com.github.spotbugs:spotbugs-annotations:4.9.3'
|
||||||
testImplementation 'io.papermc.paper:paper-api:1.21.7-R0.1-SNAPSHOT'
|
testImplementation 'io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT'
|
||||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.2'
|
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.1'
|
||||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.2'
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.13.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
rootProject.name = 'ExamplePlugin'
|
rootProject.name = 'TrixinityEventManager'
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
package com.crimsonwarpedcraft.exampleplugin;
|
|
||||||
|
|
||||||
import io.papermc.lib.PaperLib;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Levi Muniz on 7/29/20.
|
|
||||||
*
|
|
||||||
* @author Copyright (c) Levi Muniz. All Rights Reserved.
|
|
||||||
*/
|
|
||||||
public class ExamplePlugin extends JavaPlugin {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEnable() {
|
|
||||||
PaperLib.suggestPaper(this);
|
|
||||||
|
|
||||||
saveDefaultConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package dev.trixinity.eventmanager;
|
||||||
|
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
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;
|
||||||
|
|
||||||
|
public class TrixinityEventManager extends JavaPlugin {
|
||||||
|
|
||||||
|
private static TrixinityEventManager instance;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
instance = this;
|
||||||
|
|
||||||
|
// Registrace příkazů
|
||||||
|
getCommand("trixinity").setExecutor(new TrixinityCommand());
|
||||||
|
getCommand("event").setExecutor(new EventCommand());
|
||||||
|
|
||||||
|
getLogger().info("TrixinityEventManager byl úspěšně spuštěn!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
getLogger().info("TrixinityEventManager byl vypnut!");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TrixinityEventManager getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,182 @@
|
|||||||
|
package dev.trixinity.eventmanager.commands;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
|
||||||
|
public class EventCommand implements CommandExecutor {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
showHelp(sender);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sender.hasPermission("trixinity.event.*")) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Nemáte oprávnění k použití tohoto příkazu!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (args[0].toLowerCase()) {
|
||||||
|
case "build":
|
||||||
|
handleBuild(sender, args);
|
||||||
|
break;
|
||||||
|
case "pvp":
|
||||||
|
handlePvP(sender, args);
|
||||||
|
break;
|
||||||
|
case "spawn":
|
||||||
|
handleSpawn(sender, args);
|
||||||
|
break;
|
||||||
|
case "gmc":
|
||||||
|
handleGamemode(sender);
|
||||||
|
break;
|
||||||
|
case "heal":
|
||||||
|
handleHeal(sender, args);
|
||||||
|
break;
|
||||||
|
case "teleport":
|
||||||
|
handleTeleport(sender, args);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
showHelp(sender);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showHelp(CommandSender sender) {
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.STRIKETHROUGH.toString() + "------------(" +
|
||||||
|
ChatColor.RED + ChatColor.BOLD.toString() + " EVENT " +
|
||||||
|
ChatColor.RED + ChatColor.STRIKETHROUGH.toString() + ")------------");
|
||||||
|
sender.sendMessage("");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/build off/on");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/event off/on");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/pvp off/on");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/spawn (hráč)");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/gmc");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/heal (hráč/*)");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "/teleport (hráč) (hráč)");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "- " + ChatColor.RED + "WorldEdit příkazy");
|
||||||
|
sender.sendMessage("");
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.STRIKETHROUGH.toString() + "---------------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleBuild(CommandSender sender, String[] args) {
|
||||||
|
if (args.length < 2) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Použití: /event build <on/off>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String command = args[1].toLowerCase();
|
||||||
|
if (command.equals("on")) {
|
||||||
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT allow");
|
||||||
|
sender.sendMessage(ChatColor.GREEN + "Build mód byl zapnut!");
|
||||||
|
} else if (command.equals("off")) {
|
||||||
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ build -w EVENT deny");
|
||||||
|
sender.sendMessage(ChatColor.RED + "Build mód byl vypnut!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handlePvP(CommandSender sender, String[] args) {
|
||||||
|
if (args.length < 2) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Použití: /event pvp <on/off>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String command = args[1].toLowerCase();
|
||||||
|
if (command.equals("on")) {
|
||||||
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ pvp -w EVENT allow");
|
||||||
|
sender.sendMessage(ChatColor.GREEN + "PvP bylo zapnuto!");
|
||||||
|
} else if (command.equals("off")) {
|
||||||
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "rg flag __global__ pvp -w EVENT deny");
|
||||||
|
sender.sendMessage(ChatColor.RED + "PvP bylo vypnuto!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleSpawn(CommandSender sender, String[] args) {
|
||||||
|
if (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!");
|
||||||
|
}
|
||||||
|
|
||||||
|
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!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleHeal(CommandSender sender, String[] args) {
|
||||||
|
if (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 (args[1].equals("*")) {
|
||||||
|
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!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleTeleport(CommandSender sender, String[] args) {
|
||||||
|
if (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 + "Hráč " + player.getName() + " byl teleportován k hráči " + target.getName() + "!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package dev.trixinity.eventmanager.commands;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
public class TrixinityCommand implements CommandExecutor {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
sender.sendMessage(ChatColor.RED + ChatColor.BOLD.toString() + "TrixinityEventManager v1.0");
|
||||||
|
sender.sendMessage(ChatColor.RED + "Vytvořil: TrixinityDev");
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Plugin pro správu herních eventů s podporou WorldGuard.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,20 +1,39 @@
|
|||||||
main: ${PACKAGE}.${NAME}
|
main: ${PACKAGE}.${NAME}
|
||||||
name: ${NAME}
|
name: ${NAME}
|
||||||
version: "${VERSION}"
|
version: "${VERSION}"
|
||||||
api-version: "1.21.1"
|
api-version: "1.21"
|
||||||
author: AUTHOR
|
author: TrixinityDev
|
||||||
description: DESCRIPTION
|
description: Plugin pro správu eventů na Minecraft serveru s přehlednými příkazy, integrovanými WorldGuard příkazy a možností základního ovládání přes konzoli nebo přímo ze hry.
|
||||||
|
depend: [WorldGuard]
|
||||||
commands:
|
commands:
|
||||||
ex:
|
trixinity:
|
||||||
description: Base command for EXAMPLE
|
description: Zobrazí základní informace o pluginu
|
||||||
usage: "For a list of commands, type /ex help"
|
usage: "/trixinity"
|
||||||
aliases: example
|
event:
|
||||||
|
description: Správa event systému
|
||||||
|
usage: |
|
||||||
|
§c§m------------(§c§l EVENT §c§m)------------
|
||||||
|
§c§l- §c/build off/on
|
||||||
|
§c§l- §c/event off/on
|
||||||
|
§c§l- §c/pvp off/on
|
||||||
|
§c§l- §c/spawn (hráč)
|
||||||
|
§c§l- §c/gmc
|
||||||
|
§c§l- §c/heal (hráč/*)
|
||||||
|
§c§l- §c/teleport (hráč) (hráč)
|
||||||
|
§c§l- §cWorldEdit příkazy
|
||||||
|
§c§m---------------------------------
|
||||||
|
aliases: [e]
|
||||||
permissions:
|
permissions:
|
||||||
example.test:
|
trixinity.admin:
|
||||||
description: DESCRIPTION
|
description: Přístup ke všem příkazům pluginu
|
||||||
default: true
|
default: op
|
||||||
example.*:
|
trixinity.event.*:
|
||||||
description: Grants all other permissions
|
description: Přístup ke všem event příkazům
|
||||||
default: false
|
default: op
|
||||||
children:
|
children:
|
||||||
example.test: true
|
trixinity.event.build: true
|
||||||
|
trixinity.event.pvp: true
|
||||||
|
trixinity.event.spawn: true
|
||||||
|
trixinity.event.gamemode: true
|
||||||
|
trixinity.event.heal: true
|
||||||
|
trixinity.event.teleport: true
|
||||||
Reference in New Issue
Block a user