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] Pierwszy własny plugin


Rekomendowane odpowiedzi

Opublikowano

                                                                                                  |

                                                                                                  |

                                                                                                  |                                                                                                

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

                                                                                                  |

 

Witam, mam problem z pluginem. Chciałem zrobić komende dla gracza /gracz i ,żeby była treść ale niestety nie ma i wgl. nie    działa plugin.

 

Oto kod zródłowy:

 

 

 

package pl.drake.gamingk;

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() + " Wersha " + pdf.getVersion() + " Zostal wlaczony !");
    }
    
    
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        if(commandLabel.equalsIgnoreCase("gracz")){
                if(sender instanceof Player){
                        Player p = (Player) sender;
                        p.sendMessage(ChatColor.GREEN + "Czesc !");
}
                else{
                        sender.sendMessage(ChatColor.DARK_RED + "Musisz byc na serwerze !");
}
}
       
        else if(commandLabel.equalsIgnoreCase("konsolaigracz")){
                sender.sendMessage(ChatColor.GREEN + "Witaj !");
}
        return false;
 
}
    
    
    
    
}
  

 

 

 

Plugin.yml:

 

name: gamingk
main: pl.drake.gamingk
version: 10.0
description: Minecraft plugin Aka Drakus

commands:

    gracz:
        description: Przywitaj sie z serwerem.
        
    konsolaigracz:
        description: Przywitaj sie z serwerem.

 

 

I macie dowland do pluginu i craftbukkita...

 

 

http://www.speedyshare.com/VMhrW/gamingk.jar

 

 

http://speedy.sh/dHW3w/craftbukkit-1.7.2-R0.3.jar

 

 

 

 

 

 

Opublikowano

Masz poprawione:



package pl.drake.gamingk;

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();
logger.info(pdf.getName() + " Zostal wylaczony !");
}

@Override
public void onEnable()
{
PluginDescriptionFile pdf = getDescription();
logger.info(pdf.getName() + " Wersja " + pdf.getVersion() + " Zostal wlaczony !");
}


public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
if(commandLabel.equalsIgnoreCase("gracz"))
{
if(sender instanceof Player)
{
Player p = (Player) sender;
p.sendMessage(ChatColor.GREEN + "Czesc !");
}
else
{
sender.sendMessage(ChatColor.DARK_RED + "Musisz byc na serwerze !");
}
}

else if(commandLabel.equalsIgnoreCase("konsolaigracz"))
{
sender.sendMessage(ChatColor.GREEN + "Witaj !");
}
return false;
}
}


Jesli dalej nie bedzie dzialac to sprawdz czy czegos zle nie wprowadziles w plugin.yml


 


//Edit


Popraw plugin.yml



name: gamingk
main: pl.drake.gamingk.Main
version: 1.0
description: Minecraft plugin Aka Drakus
Opublikowano

Popraw tylko to co napisalem. Wklej kod ten co wyslalem i przeklej te 4 linijki w plugin.yml co wstawilem pozniej export i sprawdz czy zadziala.


Opublikowano

a skąd Bukkit ma wiedzieć, że w ogóle istnieje komenda?

 

1. w plugin.yml

name: gamingk
main: pl.drake.gamingk.Main
version: 1.0
description: Minecraft plugin Aka Drakus
commands:
  gracz:
    description: 'Komenda jakas tam'
    usage: /gracz
  konsolaigracz:
    description: 'Druga komenda'
    usage: /konsolaigracz

2. Zrób implement interface'u CommandExecutor dla klasy Main czyli - 

public class Main extends JavaPlugin implements CommandExecutor {

3. I weź jeszcze ogarnij bloki bo to tragicznie wygląda...

http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

 

4. W onEnable() daj jeszcze 

this.getCommand("gracz").setExecutor(this, this);

podobnie z tą drugą komendą.

 

5. Na końcu daj return true; zamiast return false; bo będzie się zwracać usage komendy.

Dlaczego MPC popiera piractwo Minecrafta...

 

Do moderatora: Po co Ty to usuwasz??

Opublikowano

a skąd Bukkit ma wiedzieć, że w ogóle istnieje komenda?

 

1. w plugin.yml

name: gamingk
main: pl.drake.gamingk.Main
version: 1.0
description: Minecraft plugin Aka Drakus
commands:
  gracz:
    description: 'Komenda jakas tam'
    usage: /gracz
  konsolaigracz:
    description: 'Druga komenda'
    usage: /konsolaigracz

2. Zrób implement interface'u CommandExecutor dla klasy Main czyli - 

public class Main extends JavaPlugin implements CommandExecutor {

3. I weź jeszcze ogarnij bloki bo to tragicznie wygląda...

http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

 

4. W onEnable() daj jeszcze 

this.getCommand("gracz").setExecutor(this, this);

podobnie z tą drugą komendą.

 

5. Na końcu daj return true; zamiast return false; bo będzie się zwracać usage komendy.

1. ok

 

2: poczytaj jakies podstawy na temat bukkita, bo smiem twierdzić że umiesz mniej niz autor tematu

JavaPlugin już implementuje CommandExecutora.... czyste podstawy

 

3: czego ty się tam czepiasz? jest ponad 5 popularnych i powszechnie stosowanych sposobów zapisu bloków/klamerek, i to jest jeden z nich, zwany stylem allmana.

Specjalnie dla ciebie nawet znalazłam na wikipedii! może i to ujne źródło, ale wypisane jest dośc sporo:

http://en.wikipedia.org/wiki/Indent_style#Allman_style

Ty pewnie używasz K&R bo taki jest domyślnie w wielu IDE od javy, a szkoda, bo jest w uj nie-czytelny

 

4. jak już wspominałam JavaPlugin implementuje CommandExecutora, i jest domyślnie zarejestrowany do wszystkich komend...

 

 

PS: pozdrawiam: J****y złodziej (to tak do twojej sygny :3)

 

 

 

A do autora przyczepie sie o:

public final Logger logger = Logger.getLogger("Minecraft");

 

zamiast Logger.getLogger("Minecraft"); powinno uzywac się Bukkit.getLogger() lub server.getLogger() itd... ale nie tego :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

1. ok

 

2: poczytaj jakies podstawy na temat bukkita, bo smiem twierdzić że umiesz mniej niz autor tematu

JavaPlugin już implementuje CommandExecutora.... czyste podstawy

 

3: czego ty się tam czepiasz? jest ponad 5 popularnych i powszechnie stosowanych sposobów zapisu bloków/klamerek, i to jest jeden z nich, zwany stylem allmana.

Specjalnie dla ciebie nawet znalazłam na wikipedii! może i to ujne źródło, ale wypisane jest dośc sporo:

http://en.wikipedia.org/wiki/Indent_style#Allman_style

Ty pewnie używasz K&R bo taki jest domyślnie w wielu IDE od javy, a szkoda, bo jest w uj nie-czytelny

 

4. jak już wspominałam JavaPlugin implementuje CommandExecutora, i jest domyślnie zarejestrowany do wszystkich komend...

 

 

PS: pozdrawiam: J****y złodziej (to tak do twojej sygny :3)

 

 

 

A do autora przyczepie sie o:

public final Logger logger = Logger.getLogger("Minecraft");

 

zamiast Logger.getLogger("Minecraft"); powinno uzywac się Bukkit.getLogger() lub server.getLogger() itd... ale nie tego :P

 

2. Ano rzeczywiście. Teraz przeczytałem w dokumentacji. Mogę nie wiedzieć bo nigdy nie pisze komend klasie głównej.

 

3. Czepiam się trochę, ponieważ programiści Oracle i Sun używają stylu K&R 1TBS, więc jest też oficjalnym stylem tego języka. Dla mnie jest czytelny. Allmana też czasem trudno ogarnąć - md-5. :P Więc właśnie oficjalnie w Javie używam K&R.

Używam NetBeans IDE ponieważ jest zintegrowany z Mavenem i posiada wbudowanego Gita.

Dlaczego MPC popiera piractwo Minecrafta...

 

Do moderatora: Po co Ty to usuwasz??

Opublikowano

2. Ano rzeczywiście. Teraz przeczytałem w dokumentacji. Mogę nie wiedzieć bo nigdy nie pisze komend klasie głównej.

 

3. Czepiam się trochę, ponieważ programiści Oracle i Sun używają stylu K&R 1TBS, więc jest też oficjalnym stylem tego języka. Dla mnie jest czytelny. Allmana też czasem trudno ogarnąć - md-5. :P Więc właśnie oficjalnie w Javie używam K&R.

Używam NetBeans IDE ponieważ jest zintegrowany z Mavenem i posiada wbudowanego Gita.

co do 3...

Eclipse i IntellijIDEA też posiada mavena i git-a :P

 

"Allmana też czasem trudno ogarnąć - md-5"

WUT? jakie md5? co ma do tego md5? chyba że myślimy o innym md5...?

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

co do 3...

Eclipse i IntellijIDEA też posiada mavena i git-a :P

 

"Allmana też czasem trudno ogarnąć - md-5"

WUT? jakie md5? co ma do tego md5? chyba że myślimy o innym md5...?

 

Ale Eclipse nie jest tak zintegrowany z Mavenem.

 

Nie nie nie, nie chodzi mi o kodowanie xD

md_5 autor BungeeCorda, czasem trudno kod ogarnąć na małym ekranie, np telefon.

Dlaczego MPC popiera piractwo Minecrafta...

 

Do moderatora: Po co Ty to usuwasz??

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...