Vytvořen příkaz /admin setRulerItem #16
Merged
jakub
merged 1 commits from setRulerItemCommand into master 1 year ago
4 changed files with 87 additions and 1 deletions
@ -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(); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue