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

Jak dodać permissions do własnej wtyczki (pluginu)?


Geoning

Rekomendowane odpowiedzi

Opublikowano

btn_donateCC_LG.gif

 

Kontynuacja poradnika http://www.mpcforum....o-craftbukkita/

 

Mamy kod wtyczki... Ale każdy może sobie z niego korzystać... jeżeli chcemy umieścić tam jakąś informacje dla teamu moderacyjnego musimy to zabezpieczyć.

package Geoning.PluginMPCforum;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;


public class PluginMPCforum extends JavaPlugin {

	protected static final Logger log = Logger.getLogger("Minecraft");
	public void onDisable()
	{
			log.info("[PluginMPCforum] v1.0 wylaczony...");
	}

	public void onEnable()
	{
			log.info("[PluginMPCforum] v1.0 wlaczony!");
	}

	public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
	{
			if (command.getName().equalsIgnoreCase("geoning"))
			{
					if ((args.length == 1) && (args[0].equalsIgnoreCase("plugin")))
					{
							sender.sendMessage(ChatColor.GOLD + "Wpisales geoning plugin..?" + ChatColor.DARK_GREEN + "To fajnie !");
							return true;
					}
					sender.sendMessage(ChatColor.GOLD + "Czemu wpisales tylko Geoning ;/ ..?");
					return true;
			}
			return false;
	}
}

 

Jeżeli chcemy mieć permissions, musimy dodać nowy import

 

import org.bukkit.entity.Player;

 

Ok. Teraz popatrzmy na kod funkcjii onCommand

	public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
	{
			if (command.getName().equalsIgnoreCase("geoning"))
			{
					if ((args.length == 1) && (args[0].equalsIgnoreCase("plugin")))
					{
							sender.sendMessage(ChatColor.GOLD + "Wpisales geoning plugin..?" + ChatColor.DARK_GREEN + "To fajnie !");
							return true;
					}
					sender.sendMessage(ChatColor.GOLD + "Czemu wpisales tylko Geoning ;/ ..?");
					return true;
			}
			return false;
	}

Wywalmy go i wstamy nowy

public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
{
	if ((sender instanceof Player)) {
		if (((Player)sender).hasPermission("geoning.command")) {
			if (command.getName().equalsIgnoreCase("geoning"))
			{
				if ((args.length == 1) && (args[0].equalsIgnoreCase("plugin")))
				{
					sender.sendMessage(ChatColor.GOLD + "Wpisales geoning plugin..? " + ChatColor.DARK_GREEN + "To fajnie !");
					return true;
				}
				sender.sendMessage(ChatColor.GOLD + "Czemu wpisales tylko Geoning ;/ ..?");
				return true;
			}
		}
		else
			sender.sendMessage(ChatColor.GOLD + "Nie masz uprawnien do uzywania tej komendy!");
		return true;
	}
	return false;
}

 

Jak widać, doszło tylko jedno nowe "if"

 

Wyjaśnijmy...

 

//Jeżeli user wysyłający komende ma permissions..

if (((Player)sender).hasPermission("geoning.command")) {

//To tu piszemy kod, który ma być wykonany jeżeli dany user ma "geoning.command"

}

else

//A tu piszemy kod, który ma być wykonany jeżeli dany user nie ma "geoning.command"

 

I to wszystko ;]

 

 

 

W spoilerze znajduje się gotowy kod

 

package Geoning.PluginMPCforum;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.entity.Player;

public class PluginMPCforum extends JavaPlugin {

protected static final Logger log = Logger.getLogger("Minecraft");
public void onDisable()
{
	log.info("[PluginMPCforum] v1.0 wylaczony...");
}

public void onEnable()
{
	log.info("[PluginMPCforum] v1.0 wlaczony!");
}
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
{
	if ((sender instanceof Player)) {
		if (((Player)sender).hasPermission("geoning.command")) {
			if (command.getName().equalsIgnoreCase("geoning"))
			{
				if ((args.length == 1) && (args[0].equalsIgnoreCase("plugin")))
				{
					sender.sendMessage(ChatColor.GOLD + "Wpisales geoning plugin..? " + ChatColor.DARK_GREEN + "To fajnie !");
					return true;
				}
				sender.sendMessage(ChatColor.GOLD + "Czemu wpisales tylko Geoning ;/ ..?");
				return true;
			}
		}
		else
			sender.sendMessage(ChatColor.GOLD + "Nie masz uprawnien do uzywania tej komendy!");
		return true;
	}
	return false;
}
}

 

Opublikowano

Jeżeli będę chciał do else wpisać to

sender.sendMessage(ChatColor.GOLD + "Ten plugin jest dla moderatorów " + ChatColor.DARK_GREEN + "Przykro mi");

To zadziała?

Nie mam czasu teraz zajrzeć.

 

Co do poradnika to super, żadnych błędów chyba się nie doczytałem.

Jak będę u siebie to zobaczę czy pójdzie.

LAYOUT'Y POD SERWER MINECRAFT U MNIE. ZAPRASZAM PW

Opublikowano

@up

 

Nie łatwiej sprawdzić ;)?

 

 

pewnie że za działa ;)

 

 

@top

 

Geo masz tego lajka, weź zrób następnego tuta jak korzystać z danych zawartych w plugin.yml .. Np. name: Hardcore, podam Ci później co i jak albo sam napiszę tuta jak przyjadę do domu :D. Mi jest tak wygodniej bo raz coś się napiszę a później edytujemy jedną rzecz zamiast 20 albo 30 :D...

1390144171-U592769.png

 

3x ExModerator Minecraft | ExModerator Battlefield | ExMentor | 2x Ex MPC Media Team | Gold Member | MPC Coders Team | ExMPC Modder | Combat Arms Private

  • 1 miesiąc temu...
Opublikowano

jesli ktos chce PermissionsEx

	public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)		 {
			PermissionManager permissionsEx = PermissionsEx.getPermissionManager();
			if ((sender instanceof Player)) {
					if(permissionsEx.has(((Player)sender), "geoning.command")){
							if (command.getName().equalsIgnoreCase("geoning"))
							{
									if ((args.length == 1) && (args[0].equalsIgnoreCase("plugin")))
									{
											sender.sendMessage(ChatColor.GOLD + "Wpisales geoning plugin..? " + ChatColor.DARK_GREEN + "To fajnie !");
											return true;
									}
									sender.sendMessage(ChatColor.GOLD + "Czemu wpisales tylko Geoning ;/ ..?");
									return true;
							}
					}
					else
							sender.sendMessage(ChatColor.GOLD + "Nie masz uprawnien do uzywania tej komendy!");
					return true;
			}
			return false;
	}

A i trzeba Build path > Add i wybieramy PermissionsEx.jar :) I zaimportowac na gorze

import ru.tehkode.permissions.PermissionManager;
import ru.tehkode.permissions.bukkit.PermissionsEx;

  • 4 miesiące temu...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...