Skocz do zawartości
  • 0

Blad


4RNI

Pytanie

Witam po wpisaniu komendy wyskakuje mi blad. Komende zarejestrowalem w Main i plugin.yml.

package pl.unixhc.tools.commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import pl.unixhc.tools.Main;

public class TeleportAllCommand implements CommandExecutor{
	Main plugin;
	
public TeleportAllCommand(Main plugin){
	this.plugin = plugin;	
	this.plugin.getCommand("tpall").setExecutor(this);
}
	public boolean onCommand(CommandSender sender, Command cmd, String lab, String[] args){	
		if(!(sender instanceof Player)){
			sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscKonsola").replace('&', '§'));
			return false;
		}
		if (!(sender.hasPermission(this.plugin.getConfig().getString("TeleportAll.Uprawnienie")))){
			sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscBrakUprawnien").replace('&', '§'));
			return false;
		}
		Player admin = (Player)sender;
		for (Player gracze : Bukkit.getOnlinePlayers()){
			gracze.teleport(admin.getLocation());
			sender.sendMessage(this.plugin.getConfig().getString("TeleportAll.WiadomoscPrzeteleportowano").replace('&', '§'));
			return true;
		}
		return false;
	}
}

 

Edytowane przez 4RNI
Odnośnik do komentarza
https://skript.pl/temat/25727-blad/
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

No nie do końca, musisz ją zarejestrować w onEnable() jeszcze.

public void onEnable(){
	this.getCommand("tpall").setExecutor(this);
}

I wtedy to:

public TeleportAllCommand(Main plugin){
	this.plugin = plugin;	
	this.plugin.getCommand("tpall").setExecutor(this);
}

jest niepotrzebne.

Dobra nie patrzcie tam do góry, myślałem, że to jest główna klasa pluginu. Tak to jest jak ktoś daje tylko część, a resztę "a niech się domyślą"... Dałeś w onEnable() tą linijkę?

new TeleportAllCommand(this);

Po za tym dziwnie to robisz, okej chcesz mieć porządek w głownej klasie, ale taka rejestracja jest chaotyczna. Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić.

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/25727-blad/#findComment-170238
Udostępnij na innych stronach

  • 0

@KrejzolekPRO

Po za tym dziwnie to robisz, okej chcesz mieć porządek w głownej klasie, ale taka rejestracja jest chaotyczna. Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić. "

Przeciez ten sposób jest okej

public TeleportAllCommand(Main plugin){
	this.plugin = plugin;	
	this.plugin.getCommand("tpall").setExecutor(this);
}

"Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić. "

A po co robic wszystko statycznie skoro można tak :P  no i oczywiscie ze taki sposob zadziala

Odnośnik do komentarza
https://skript.pl/temat/25727-blad/#findComment-170305
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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