package me.skelletonx.br.command; import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.component.Store; import com.hypixel.hytale.server.core.Message; import com.hypixel.hytale.server.core.command.system.CommandContext; import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes; import com.hypixel.hytale.server.core.command.system.basecommands.AbstractPlayerCommand; import com.hypixel.hytale.server.core.command.system.arguments.system.*; // Importante import com.hypixel.hytale.server.core.command.system.arguments.system.OptionalArg; // Importante import com.hypixel.hytale.server.core.entity.entities.Player; import com.hypixel.hytale.server.core.universe.PlayerRef; import com.hypixel.hytale.server.core.universe.world.World; import com.hypixel.hytale.server.core.universe.world.storage.EntityStore; import me.skelletonx.br.manager.KitManager; import me.skelletonx.br.model.Kit; import javax.annotation.Nonnull; public class KitsCommand extends AbstractPlayerCommand { private final KitManager kitManager; private final OptionalArg kitNameArg = this.withOptionalArg("nome", "Nome do Kit", ArgTypes.STRING); public KitsCommand(KitManager kitManager) { super("kit", "Comando de kits"); this.kitManager = kitManager; } @Override protected boolean canGeneratePermission() { return true; } @Override protected void execute( @Nonnull CommandContext context, @Nonnull Store store, @Nonnull Ref ref, @Nonnull PlayerRef playerRef, @Nonnull World world ) { Player player = store.getComponent(ref, Player.getComponentType()); if (player == null) return; String kitName = kitNameArg.get(context); if (kitName == null) { player.sendMessage(Message.raw("§eKits disponíveis (" + kitManager.getAllKits().size() + "):")); if (kitManager.getAllKits().isEmpty()) { player.sendMessage(Message.raw("§cNenhum kit configurado.")); } else { for (String k : kitManager.getAllKits().keySet()) { player.sendMessage(Message.raw("§7- §a" + k)); } } return; } System.out.println("DEBUG - Tentando entregar kit: " + kitName); Kit kit = kitManager.getKit(kitName); if (kit == null) { player.sendMessage(Message.raw("§cKit não encontrado: " + kitName)); return; } if (kit.getPermission() != null && !kit.getPermission().isEmpty()) { if (!player.hasPermission(kit.getPermission())) { player.sendMessage(Message.raw("§cVocê não tem permissão.")); return; } } kitManager.giveKitToPlayer(player, kit); player.sendMessage(Message.raw("§aVocê recebeu o kit: " + kit.getName())); } }