kerpson 551 Opublikowano 23 maja 2018 Udostępnij Opublikowano 23 maja 2018 Napisalem pewien kod. KOmenda /kit dziala, ale nie dziala juz blokowanie wyjmowania itemow. package pl.toxicplayer.pmh1.commands; import java.util.ArrayList; 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.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import pl.toxicplayer.pmh1.Main; import com.connorlinfoot.actionbarapi.ActionBarAPI; public class Kit implements CommandExecutor, Listener{ @Override public boolean onCommand(CommandSender sender, Command cmd, String labe, String[] args){ Player p = (Player) sender; if(p instanceof Player){ createMenuKit(p); } return false; } public void createMenuKit(Player p){ for(String s : Main.getPlugin(Main.class).getConfig().getStringList("kit.gui-name")){ s = s.replace('&', '§'); Inventory inv = Bukkit.getServer().createInventory(null, 9, s); ItemStack gracz = new ItemStack(Material.STONE_SWORD, 1); ItemMeta gim = gracz.getItemMeta(); ArrayList<String> glore = new ArrayList<String>(); for(String sg : Main.getPlugin(Main.class).getConfig().getStringList("kit.gracz.name")){ sg = sg.replace('&', '§'); gim.setDisplayName(sg); } for(String sg1 : Main.getPlugin(Main.class).getConfig().getStringList("kit.gracz.lore")){ sg1 = sg1.replace('&', '§'); glore.add(sg1); gim.setLore(glore); } gracz.setItemMeta(gim); inv.setItem(0, gracz); p.openInventory(inv); } } @EventHandler public void onInvClickKit(InventoryClickEvent e){ Player p = (Player) e.getWhoClicked(); for(String s : Main.getPlugin(Main.class).getConfig().getStringList("kit.gui-name")){ s = s.replace('&', '§'); if(e.getInventory().getName() == s){ for(String sg1 : Main.getPlugin(Main.class).getConfig().getStringList("kit.gracz.name")){ sg1 = sg1.replace('&', '§'); if(e.getCurrentItem().getItemMeta().getDisplayName().contains(sg1)){ } e.setCancelled(true); p.closeInventory(); } } return; } } } Main: package pl.toxicplayer.pmh1; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import pl.toxicplayer.pmh1.commands.Kit; import pl.toxicplayer.pmh1.commands.Pomoc; import pl.toxicplayer.pmh1.commands.Vip; public class Main extends JavaPlugin{ @Override public void onEnable(){ saveDefaultConfig(); getCommand("pomoc").setExecutor(new Pomoc()); getCommand("vip").setExecutor(new Vip()); getCommand("kit").setExecutor(new Kit()); Bukkit.getPluginManager().registerEvents(new Kit(), this); System.out.println(""); } @Override public void onDisable(){ System.out.println(""); } } Odnośnik do komentarza https://skript.pl/temat/27373-nie-dziala-mi-blokowanie-wyjmowania-itemow/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 24 maja 2018 Udostępnij Opublikowano 24 maja 2018 Castujesz playera do sendera nawet jezeli jest to konsola, a pozniej jeszcze sprawdzasz czy player jest playerem ;/ Stringow nie porownujemy poprzez == tylko equals(), i zamiast robic taka petle i sprawdzac czy string z petli == okreslony string to po prostu masz takie cos jak contains w listach.. Do tego ten replace i petla w ktorej za kazdym razem zamykasz inventory i cancelujesz event ;/ No i glowne co do tematu: DEBUGUJ - to bedziesz wiedzial co jest zle. Odnośnik do komentarza https://skript.pl/temat/27373-nie-dziala-mi-blokowanie-wyjmowania-itemow/#findComment-180803 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
kerpson 551
Napisalem pewien kod. KOmenda /kit dziala, ale nie dziala juz blokowanie wyjmowania itemow.
Main:
package pl.toxicplayer.pmh1;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import pl.toxicplayer.pmh1.commands.Kit;
import pl.toxicplayer.pmh1.commands.Pomoc;
import pl.toxicplayer.pmh1.commands.Vip;
public class Main extends JavaPlugin{
@Override
public void onEnable(){
saveDefaultConfig();
getCommand("pomoc").setExecutor(new Pomoc());
getCommand("vip").setExecutor(new Vip());
getCommand("kit").setExecutor(new Kit());
Bukkit.getPluginManager().registerEvents(new Kit(), this);
System.out.println("");
}
@Override
public void onDisable(){
System.out.println("");
}
}
Odnośnik do komentarza
https://skript.pl/temat/27373-nie-dziala-mi-blokowanie-wyjmowania-itemow/Udostępnij na innych stronach
1 odpowiedź na to pytanie
Rekomendowane odpowiedzi