Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Plugin


Rekomendowane odpowiedzi

Opublikowano

Cześć, uczę się pisać pluginy i mam komendę /heal <nick> i chce żeby można było leczyć tylko gracz z uprawnieniem tools.heal.zezwolenie .

Oto kod mojej komendy:

package me.tools.rarstmanpl.command;

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;

public class heal implements CommandExecutor{

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String text, String[] args) {
		if(cmd.getName().equalsIgnoreCase("ulecz")){
			if (sender.hasPermission("tools.heal")){
			if(args.length == 0){
				if(!(sender instanceof Player)){
					ChatColor.translateAlternateColorCodes('&', text);
					sender.sendMessage("&cNie jestes graczem!");
					return false;
				}
				Player p = (Player) sender;
				p.setHealth(20);
				p.setFoodLevel(20);
				p.setFireTicks(0);
				p.sendMessage("&aZostales uleczony!");
			}
			if(args.length >= 1){
				if (sender.hasPermission("tools.heal.other")){
				String pName = args[0];
				if(Bukkit.getPlayer(pName) !=null){
					Player p = Bukkit.getPlayer(pName);
					p.setHealth(20);
					p.setFoodLevel(20);
					p.setFireTicks(0);
					p.sendMessage("&aostales uleczony!");
				} else {
					sender.sendMessage("&cNie ma takiego gracza na serwerze!");
	}
			} else {
				sender.sendMessage("&cNie masz uprawnien do tej komendy!");
			}
			}
			} else {
				sender.sendMessage("&cNie masz uprawnien do tej komendy!");
			}
		}
		return true;
	}
	
}

A  i jeszcze jedna rzecz czemu mi kolory nie działają?

Opublikowano

if (p.hasPermission("tools.heal.permission")) {
 // your code...
}
Kolory nie działają, bo koloruje się poprzez enum ChatColor...

 

Po co 2x loopujesz wszystkich graczy przez Bukkit.getPlayer(...)?

#AntyBlezur


Opublikowano

@TheMolkaPL. thx

Mam jeszcze pytania jak zrobić cooldown, żeby komendy /heal można było używać co 20 min i mógłbyś mi dokładnie powiedzieć co z tymi kolorami xD?

Po użyciu zapisujesz UUID takiej osoby do HashMapy wraz z System.currentTimeMillis (czas UNIX) ;)

 

Kolory: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/ChatColor.html

#AntyBlezur


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...