Skocz do zawartości
  • 0

bład z gui


xTea_199
 Udostępnij

Pytanie

Rekomendowane odpowiedzi

  • 0

ahhh... mógł byś zrobić aby to działało?

 

 

--------------------

 

package pl.xvector.gmail.com.core.items;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class DiscoCommand extends JavaPlugin{

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(command.getName().equalsIgnoreCase("drop")){
            Inventory dropInventory = Bukkit.createInventory(null, 9, "§6Drop");
            ItemStack exp = new ItemStack(Material.DIAMOND, 1, (short)0);
            ItemMeta expMeta = exp.getItemMeta();
            expMeta.setDisplayName("§6Diament");
            exp.setItemMeta(expMeta);
            dropInventory.clear();
            dropInventory.setItem(0, exp);
            player.openInventory(dropInventory);
            return false;
        }
    }
}    

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

  • 0
Teraz, xTea_199 napisał:

tylko że ja nie umiem zrobić tej zmiennej a jeżeli ty umiesz, to co ci zależy>?

Ja nie robię żadnych, nawet jakichkolwiek płatnych zleceń. Moje działania opierają się jedynie do open-source i moich prywatnych projektów. Jestem tutaj na forum, aby udzielać pomocy, abyście Towarzyszu się dowiedzieli tego co ja wiem... bo ja też mogę kiedyś potrzebować pomocy. Wtedy otrzymam ją od kogoś kto ją ma.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Godzinę temu, TheMolkaPL napisał:

Ja nie robię żadnych, nawet jakichkolwiek płatnych zleceń. Moje działania opierają się jedynie do open-source i moich prywatnych projektów. Jestem tutaj na forum, aby udzielać pomocy, abyście Towarzyszu się dowiedzieli tego co ja wiem... bo ja też mogę kiedyś potrzebować pomocy. Wtedy otrzymam ją od kogoś kto ją ma.

Są  rozwiązania:

Albo przy evencie zamieniasz przy CommandSender na player, albo player na sender. Uczyłeś się od KamilKime'a to tez oglądaj kolejno te odcinki.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
21 minut temu, xTea_199 napisał:

KrejzolekPRO mogł byś to zrobić bo zmieniam tak jak napisałeś i nie działa...

Musisz sprawdzić czy sender jest instancją od Playera. Jeżeli tak, to castujesz sendera do Playera, w innym wypadku drukujesz do sendera wiadomość, że nie jest graczem.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 godzin temu, xTea_199 napisał:

KrejzolekPRO mogł byś to zrobić bo zmieniam tak jak napisałeś i nie działa...

Ostatni raz, nienawidze klepać kodu, bo i tak nie zrozumiesz.

sender.openInventory(dropInventory);

 

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

  • 0
6 minut temu, KrejzolekPRO napisał:

Ostatni raz, nienawidze klepać kodu, bo i tak nie zrozumiesz.

sender.openInventory(dropInventory);

 

Ekem, sender to CommandSender, a CommandSender ekwipunku otworzyć nie może (bo to może też być na przykład konsola czy command block). Musi zrobić to co padłem ja, czyli upewnić się, że sender jest graczem (Playerem), castować sendera do Playera i na nim otworzyć ekwipunek.

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

  • 0
8 minut temu, TheMolkaPL napisał:

Ekem, sender to CommandSender, a CommandSender ekwipunku otworzyć nie może (bo to może też być na przykład konsola czy command block). Musi zrobić to co padłem ja, czyli upewnić się, że sender jest graczem (Playerem), castować sendera do Playera i na nim otworzyć ekwipunek.

No w sumie racja, nie spojrzałem w kod tylko w linijkę tam gdzie był błąd.

O ile się nie myle to było tak: ((Player) sender).openInventory(dropInventory);?

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

  • 0
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
      	if(!(sender instanceof Player)){
          	sender.sendMessage("Musisz byc graczem!");
        	return true;
        }
      	Player player = (Player) sender;
        if(command.getName().equalsIgnoreCase("drop")){
            Inventory dropInventory = Bukkit.createInventory(null, 9, "§6Drop");
            ItemStack exp = new ItemStack(Material.DIAMOND, 1, (short)0);
            ItemMeta expMeta = exp.getItemMeta();
            expMeta.setDisplayName("§6Diament");
            exp.setItemMeta(expMeta);
            dropInventory.clear();
            dropInventory.setItem(0, exp);
            player.openInventory(dropInventory);
            return true;
        }
      return false;
    }

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 godziny temu, xTea_199 napisał:

dobra nie twój interes po prostu pomyliłem się chyba nie pójdę za to do więzienie i idź pisać swoje skrypty które nie działają ...

Nie musisz się denerwować, wystarczy poprawić. Moje skrypty działają :kappa:

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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