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] Mój plugin nie działa


Rekomendowane odpowiedzi

Opublikowano

Witam,

Dzisaj napisalem plugin na komende /VIP

Plugin ten nie dziala :\ 

O to kod pluginu:

package me.bartix123.hitmcvip;

import java.util.logging.Logger;

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

public class Main extends JavaPlugin{
	
	public final Logger logger = Logger.getLogger("Minecraft");
	public static Main plugin;

	@Override
	public void onDisable() {
		PluginDescriptionFile pdf = getDescription();
		this.logger.info(pdf.getName() + " Zostal wylaczony :(");

	}

	@Override
	public void onEnable() {
		PluginDescriptionFile pdf = getDescription();
		this.logger.info(pdf.getName() + pdf.getVersion() + " Zostal wlaczony :)");	
	}
	
	public boolean onCommand(CommandSender sender, Command cmd, String commandLabel,String[] args){
		Player p = (Player) sender;
		
	if(commandLabel.equalsIgnoreCase("vip")){
		p.sendMessage(ChatColor.AQUA +"Dziala!");
	}
		
		
		
		return false;
		
	}

O to zawartosc plugin.yml:

name: HitMCVIP
main: me.bartix123.hitmcvip.main
version: 1.0
description: Wyswietla komendy dla VIP'a

commands:
  vip:
      description: Pokazuje komendy VIP.

I czemu to nie dziala ? ;\ 

Prosze mi wszystko wytlumaczyc bo to moj pierwszy plugin. Dziekuje!

Nie zezwalam na uzywanie tego plg...

Pasjonat
Opublikowano

Zamień plugin.yml na:

name: HitMCVIP
main: me.bartix123.hitmcvip.Main
version: 1.0
description: Wyswietla komendy dla VIP'a

commands:
  vip:
    description: Pokazuje komendy VIP.
Opublikowano

1. nie sprawdzaj komendy po "commandLabel" tylko po command.getName()

 

2. public final Logger logger = Logger.getLogger("Minecraft");   - co za debil to wymyślił. loggera pobieramy z bukkita Bukkit.getLogger()

 

3 Player p = (Player) sender;   castujesz do gracza, ale nie masz pewności czy nim jest -> to może byc konsola.

if (sender instanceof Player)

PS: do wysyłania wiadomości nie potrzebujesz gracza, można spokojnie zrobić sender.sendMessage()

 

4. w komendzie "return false;" informuje bukkita że coś jest źle, więc jak nie chcesz by wywaliło potem graczowi domyślną pomoc przy każdym użyciu komendy... to daj return true

 

5. zmienna "public static Main plugin; " jest nie używana -> nawet nie zainicjowana.

 

6. wklej błąd, bo jak nie działa to jakis musi być

 

7. problemem jest to że masz w plugin.yml

description: Wyswietla komendy dla VIP'a

znaczek apostrofu psuje składnie, uzyj tego:

description: "Wyswietla komendy dla VIP'a"

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Up nie ma bledow, po prostu pisz ze nie ma komendy :\ sprawdze to co napisalas :)

@edit 

mozesz dac caly kod? bo nie rozumiem troche :\ 

@logoff

Jutro dokoncze. Ale podaj kod prosze :\

Opublikowano

jak chcesz sie czegos nauczyc to dojdz do rozwiazania sam a nie czekasz na gotowca 

wg tego co karolina napisala 

 

 

@Override
public void onEnable()
{
Bukkit.getConsoleSender().sendMessage("Plugin wlaczony!");
}
 
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel,String[] args)
{
if (sender instanceof Player)
{
Player p = (Player) sender;
if (commandLabel.equalsIgnoreCase("vip"))
{
p.sendMessage("dziala");
return true;
}
}
sender.sendMessage("komenda tylko z od gracza");
return false;
}

i plugin.yml
name: vipinfo
version: 1.0 
main: pl.banan.mRank.Main
commands: 
 vip:
   description: "Wyswietla komendy dla VIP'a"
Opublikowano

 

jak chcesz sie czegos nauczyc to dojdz do rozwiazania sam a nie czekasz na gotowca 

wg tego co karolina napisala 

 

 

@Override
public void onEnable()
{
Bukkit.getConsoleSender().sendMessage("Plugin wlaczony!");
}
 
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel,String[] args)
{
if (sender instanceof Player)
{
Player p = (Player) sender;
if (commandLabel.equalsIgnoreCase("vip"))
{
p.sendMessage("dziala");
return true;
}
}
sender.sendMessage("komenda tylko z od gracza");
return false;
}

i plugin.yml
name: vipinfo
version: 1.0 
main: pl.banan.mRank.Main
commands: 
 vip:
   description: "Wyswietla komendy dla VIP'a"

 

nie porpawiłeś

if (commandLabel.equalsIgnoreCase("vip"))

na

if (cmd.getName().equalsIgnoreCase("vip"))

 

i jak wysyłasz wiadomość że nie da się tego uzyć z kosoli

sender.sendMessage("komenda tylko z od gracza");

return false;

 

to też nie ma sensu zwracać false :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

nie porpawiłeś

if (commandLabel.equalsIgnoreCase("vip"))

na

if (cmd.getName().equalsIgnoreCase("vip"))

 

i jak wysyłasz wiadomość że nie da się tego uzyć z kosoli

sender.sendMessage("komenda tylko z od gracza");

return false;

 

to też nie ma sensu zwracać false :P

nie poprawilem tego cmd.getname bo mi pluginu wtedy nie wczytywalo nwm czemu 

Opublikowano

a czemu nie commandlabel ?

bo jak w plugin.yml dodajesz do komendy aliasy... to nie będą działać.

Bo commandlabel to to jak dokładnie została wpisana komenda, a cmd.getName() zwraca nazwe komendy z plugin.yml - nawet jak ktoś wpisze inny alias, ale do tej samej komendy.

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...