Vytvořen příkaz /admin setRulerItem

pull/16/head
Gioth8281 1 year ago
parent d34b7892fe
commit c322e47706
  1. 4
      src/main/java/xyz/soukup/mineconomiaCoreV2/MineconomiaCoreV2.java
  2. 73
      src/main/java/xyz/soukup/mineconomiaCoreV2/commands/admin.java
  3. 8
      src/main/resources/lang/czech.yml
  4. 3
      src/main/resources/plugin.yml

@ -1,6 +1,7 @@
package xyz.soukup.mineconomiaCoreV2;
import org.bukkit.configuration.InvalidConfigurationException;
import xyz.soukup.mineconomiaCoreV2.commands.admin;
import xyz.soukup.mineconomiaCoreV2.commands.tabCompleter;
import xyz.soukup.mineconomiaCoreV2.commands.teleportWorld;
import org.bukkit.entity.Player;
@ -58,6 +59,9 @@ public final class MineconomiaCoreV2 extends JavaPlugin {
Objects.requireNonNull(this.getCommand("tpw")).setExecutor(new teleportWorld());
Objects.requireNonNull(this.getCommand("tpw")).setTabCompleter(new tabCompleter());
// setRulerItem registration
Objects.requireNonNull(this.getCommand("admin")).setExecutor(new admin());
Objects.requireNonNull(this.getCommand("admin")).setTabCompleter(new admin());
}

@ -0,0 +1,73 @@
package xyz.soukup.mineconomiaCoreV2.commands;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import xyz.soukup.mineconomiaCoreV2.tools.LangManager;
import xyz.soukup.mineconomiaCoreV2.tools.PDC;
import java.io.IOException;
import java.util.List;
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config;
public class admin implements TabExecutor {
@Override
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
if (commandSender instanceof Player) {
Player player = (Player) commandSender;
if (!player.isOp() || strings.length == 0) {
LangManager.message(commandSender, "error.command.admin.setruleritem.no-permissions");
return true;
}
if (strings[0].equalsIgnoreCase("setRulerItem")) {
ItemStack playerHand = player.getInventory().getItemInMainHand();
if (playerHand.getType() == Material.AIR) {
LangManager.message(commandSender, "error.command.admin.setruleritem.invalid-item");
return true;
}
ItemMeta meta = playerHand.getItemMeta();
PDC.WriteItemMetaPDC(meta, "ruler", PersistentDataType.INTEGER, 1);
playerHand.setItemMeta(meta);
config.set("special-items.ruler", playerHand);
try {
config.save("config.yml");
} catch (IOException e) {
throw new RuntimeException(e);
}
LangManager.message(commandSender, "success.command.admin.setruleritem");
return true;
}
}
return false;
}
@Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
if (strings.length == 1 && commandSender.isOp()) {
return List.of("setRulerItem");
}
return List.of();
}
}

@ -9,8 +9,14 @@ error:
invalid-world: "&cTento svět neexistuje!"
already-in-world-self: "&cJiž jsi v tomto světě"
already-in-world: "&6%s1 &cjiž je v tomto světě"
admin:
setruleritem:
invalid-item: "&cNedržíš nic v ruce!"
no-permissions: "&cNemáš oprávnění!"
success:
command:
tpw:
teleported: "&2%s1 &abyl úspěšně teleportován z &2%s2 &ado &2%s3"
teleported-self: "&aÚspěšně si se teleportoval z &2%s1 &ado &2%s2"
teleported-self: "&aÚspěšně si se teleportoval z &2%s1 &ado &2%s2"
admin:
setruleritem: "&aRuler Item úspěšně nastaven!"

@ -8,3 +8,6 @@ commands:
usage: /<command> [arguments]
tractor:
description: "blieat"
admin:
description: "Utility command pro adminy"
usage: /<command> [arguments]

Loading…
Cancel
Save