Skocz do zawartości

NS-CustomCMD


Natusiekk
 Udostępnij

Rekomendowane odpowiedzi

System.out.println("NS-CustomCMD: ON");

Bukkit ma wlasny logger od tego;

KlasaGlowna.getLogger()
		instance = this;
		
		/*** I D K ***/
		instance = this;

po co robisz dwa razy to samo?

Swoja droga nie wiem czy jak jestes poczatkujacy, jest sens zakladac, ze jakas klasa moze miec tylko jedna instancje, bo mozesz nauczyc sie zlych praktyk...

 

public class Config {
	
    private static Config inst;

Jak klasa glowna pluginu moze miec tylko jedna instancje to juz taka klasa niekoniecznie - nie bierzesz pod uwage mozliwosci posiadania kilku plikow konfiguracyjnych, przez co aplikacja robi sie hard-coded.

 

    public static Config getInst(){
        if(inst == null) return new Config();
        return inst;
    }
    public Config(){
    	inst = this;
    }

X D

 

    @Override
    public boolean execute(CommandSender sender, String s, String[] strings) {
        for(String a : this.command){
            sender.sendMessage(a);
        }
        return false;
    }

czemu zwracasz jedynie false? Jesli w komendzie zwrocisz false oznacza to, ze nie wykonala sie poprawnie...

Odnośnik do komentarza
Udostępnij na innych stronach

27 minut temu, Natusiekk napisał:

Poprawione,

 

No nie..

Klasa Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!:

protected List<String> command;

to powinno byc prywatne

    @Override
    public boolean execute(CommandSender sender, String s, String[] strings) {
        for(String a : this.command){
            sender.sendMessage(a);
        }
        return true;
    }

teraz zwracasz tylko true, a przeciez powinienes brac pod uwage czy komenda wykonala sie prawidlowo

    true - komenda wykonala sie prawidlowo

    false - komenda wykonala sie nieprawidlowo

this.command.add(a.replace("&", "§"));

NIE UZYWAJ PARAGRAFOW W KODZIE

od takiego czegos w bukkicie jest metoda translateAlternateColorCodes() w klasie ChatColor

 

Teraz Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! 

Pierw sama nazwa klasy - bukkit zaleca nazywanie glownej klasy NazwaPluginuPlugin


metody onEnable() i onDisable() nadpisuja inne, wiec powinna byc tam adnotacja @Override

Juz wczesniej czepialem sie singletonu, ale juz dam sobie spokoj...

 

I jeszcze package powinno sie nazywac w liczbie poj. Mam tu na mysli

files

 

 

 

 

 

Edytowane przez Sewer
Odnośnik do komentarza
Udostępnij na innych stronach

To ja jeszcze czepne sie tego:

import org.bukkit.craftbukkit.v1_8_R3.CraftServer;

brak wsparcia dla wersji innych niz 1.8.8

public class Config {
	
    public FileConfiguration cfg = Main.getInst().getConfig();
	
	public void load() {
		  for(String a : cfg.getConfigurationSection("commands").getKeys(false)){
			  String name = a;
			  List<String> content = cfg.getStringList("commands."+a);
	          ((CraftServer) Main.getInst().getServer()).getCommandMap().register(name, new CustomCommand(name,content));
	        }
	    }
}

1. package "files" a plikow to raczej nie dotyczy, tylko konfiguracji

2. no w sumie konfiguracji to tez nie bo to laduje komendy tylko z configu (nawet nazwa klasy myląca)

	  for(String a : cfg.getConfigurationSection("commands").getKeys(false)){
			  String name = a;
			  List<String> content = cfg.getStringList("commands."+a);

nie  latwiej i czytelniej

for (String name : section.getKeys(false)) {
}

lub nawet stream ze sprowadzaniem (poprzez .map()) do obiektu CustomCommand i po prostu rejestracja

no i ogolnie tak jakos niechlujnie napisane=(

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...