kerpson 551 Opublikowano 28 kwietnia 2018 Udostępnij Opublikowano 28 kwietnia 2018 (edytowane) Mam taki kod, nie pokazuje mi bledow w konsoli ale jednak pewnie czegos zapomnialem. package pl.vixitube.app1.listeners; import java.util.concurrent.ThreadLocalRandom; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseListener implements Listener{ @EventHandler(priority=EventPriority.HIGHEST) public void onCasePlace(BlockPlaceEvent e){ Block b = e.getBlock(); if(e.isCancelled()){ return; } if(b.getType() == Material.ENDER_CHEST){ ItemMeta im = e.getPlayer().getItemInHand().getItemMeta(); for(String s : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ s = s.replace("&", "§"); if(im.getDisplayName() == s){ e.setCancelled(true); ThreadLocalRandom random = ThreadLocalRandom.current(); int i = random.nextInt(1, 5); if(i == 1){ for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ zestaw1 = zestaw1.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestaw1).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); e.getPlayer().getInventory().addItem(is); } } } } } } } package pl.vixitube.app1.commands; 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.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseCommand implements CommandExecutor{ @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(args.length >= 1){ if(args[0].equalsIgnoreCase("all")){ int i = Integer.parseInt(args[1]); if(i > 0){ for(String zestawI : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ zestawI = zestawI.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestawI).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); for(Player p : Bukkit.getOnlinePlayers()){ p.getInventory().addItem(is); } } } } } return false; } } Main: package pl.vixitube.app1; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import pl.vixitube.app1.commands.CaseCommand; import pl.vixitube.app1.commands.Pomoc; import pl.vixitube.app1.commands.Vip; import pl.vixitube.app1.commands.Yt; import pl.vixitube.app1.listeners.CaseListener; import pl.vixitube.app1.listeners.DisableMessage; public class Main extends JavaPlugin{ @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(new DisableMessage(), this); Bukkit.getServer().getPluginManager().registerEvents(new CaseListener(), this); getCommand("pomoc").setExecutor(new Pomoc()); getCommand("vip").setExecutor(new Vip()); getCommand("yt").setExecutor(new Yt()); getCommand("case").setExecutor(new CaseCommand()); saveDefaultConfig(); } @Override public void onDisable(){ } } Edytowane 29 kwietnia 2018 przez HotAngel2K17 Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 TheMolkaPL 345 Opublikowano 28 kwietnia 2018 Udostępnij Opublikowano 28 kwietnia 2018 W sytuacji komendy, czy stawiania klocka? Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177221 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 28 kwietnia 2018 Autor Udostępnij Opublikowano 28 kwietnia 2018 KOmendy Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177227 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TheMolkaPL 345 Opublikowano 28 kwietnia 2018 Udostępnij Opublikowano 28 kwietnia 2018 Czy wpisujecie komendę /case all jakaśliczba? Czy case.name w config.yml nie jest puste? yooniks i kerpson 2 Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177228 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 28 kwietnia 2018 Autor Udostępnij Opublikowano 28 kwietnia 2018 A powiecie mi co dac zamiast string list? Popatrzcie na te configi: Do string list: config: - 'Wow ale fajny !' A jak dac cos takiego? config: 'Wow ale fajny !' Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177244 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TheMolkaPL 345 Opublikowano 28 kwietnia 2018 Udostępnij Opublikowano 28 kwietnia 2018 Teraz, HotAngel2K17 napisał: A powiecie mi co dac zamiast string list? Popatrzcie na te configi: Do string list: config: - 'Wow ale fajny !' A jak dac cos takiego? config: 'Wow ale fajny !' Pobierasz getString, no i YAML ma też robienie wielu linijek w zwykłym stringu. Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177245 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 28 kwietnia 2018 Autor Udostępnij Opublikowano 28 kwietnia 2018 Nie dziala mi jeszcze jak postawie blok Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177249 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 28 kwietnia 2018 Udostępnij Opublikowano 28 kwietnia 2018 2 godziny temu, HotAngel2K17 napisał: Nie dziala mi jeszcze jak postawie blok daj kod, wytlumacz co chcesz zrobic, a co ci nie dziala dokladniej. 2 godziny temu, HotAngel2K17 napisał: A powiecie mi co dac zamiast string list? Popatrzcie na te configi: Do string list: config: - 'Wow ale fajny !' A jak dac cos takiego? config: 'Wow ale fajny !' bo nic z tego nie rozumiem, zamiast listy mozesz uzywac \n lub od razu inaczej, ale ja widze ze chcesz tu zrobic cos innego Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177274 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 29 kwietnia 2018 Autor Udostępnij Opublikowano 29 kwietnia 2018 @yooniks wiec tak kolego. 1. Co mi nie dziala? package pl.vixitube.app1.listeners; import java.util.concurrent.ThreadLocalRandom; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseListener implements Listener{ @EventHandler(priority=EventPriority.HIGHEST) public void onCasePlace(BlockPlaceEvent e){ Block b = e.getBlock(); if(e.isCancelled()){ return; } if(b.getType() == Material.ENDER_CHEST){ ItemMeta im = e.getPlayer().getItemInHand().getItemMeta(); for(String s : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ s = s.replace("&", "§"); if(im.getDisplayName() == s){ e.setCancelled(true); ThreadLocalRandom random = ThreadLocalRandom.current(); int i = random.nextInt(1, 5); if(i == 1){ for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ zestaw1 = zestaw1.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestaw1).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); e.getPlayer().getInventory().addItem(is); } } } } } } } To jest kod. Chce cos takiego, ze jezeli ktos polozy blok, to losuje mu liczbe od 1 do 5. Jezeli liczba wynosi 1 gracz dostaje zwykla skrzynie nazwana Zestaw I. Nie dziala mi to wgl, jezeli postawie blok nic sie nie dzieje. 2. Popatrz sie: Jezeli tworze config ze StringList to wyglada on tak: config: - "Wow ale fajny" A co trzeba dac zeby config wygladal tak? ZAmiast string list co? config: 'Wow, ale fajny !' Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177314 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 29 kwietnia 2018 Udostępnij Opublikowano 29 kwietnia 2018 45 minut temu, HotAngel2K17 napisał: @yooniks wiec tak kolego. 1. Co mi nie dziala? package pl.vixitube.app1.listeners; import java.util.concurrent.ThreadLocalRandom; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseListener implements Listener{ @EventHandler(priority=EventPriority.HIGHEST) public void onCasePlace(BlockPlaceEvent e){ Block b = e.getBlock(); if(e.isCancelled()){ return; } if(b.getType() == Material.ENDER_CHEST){ ItemMeta im = e.getPlayer().getItemInHand().getItemMeta(); for(String s : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ s = s.replace("&", "§"); if(im.getDisplayName() == s){ e.setCancelled(true); ThreadLocalRandom random = ThreadLocalRandom.current(); int i = random.nextInt(1, 5); if(i == 1){ for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ zestaw1 = zestaw1.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestaw1).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); e.getPlayer().getInventory().addItem(is); } } } } } } } To jest kod. Chce cos takiego, ze jezeli ktos polozy blok, to losuje mu liczbe od 1 do 5. Jezeli liczba wynosi 1 gracz dostaje zwykla skrzynie nazwana Zestaw I. Nie dziala mi to wgl, jezeli postawie blok nic sie nie dzieje. 2. Popatrz sie: Jezeli tworze config ze StringList to wyglada on tak: config: - "Wow ale fajny" A co trzeba dac zeby config wygladal tak? ZAmiast string list co? config: 'Wow, ale fajny !' 1. po prostu po warunku rob System.out.println("sraka"); jezeli sie wykona to znaczy ze dziala, a ze reszte kodu masz po prostu zle zrobiona. czyli np: for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ config nie istnieje, lub lista jest pusta 2.zamiast stringlist zwykly string, lol Odnośnik do komentarza https://skript.pl/temat/26919-czemu-nie-daje-mi-case/#findComment-177321 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
kerpson 551
Mam taki kod, nie pokazuje mi bledow w konsoli ale jednak pewnie czegos zapomnialem.
package pl.vixitube.app1.listeners; import java.util.concurrent.ThreadLocalRandom; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseListener implements Listener{ @EventHandler(priority=EventPriority.HIGHEST) public void onCasePlace(BlockPlaceEvent e){ Block b = e.getBlock(); if(e.isCancelled()){ return; } if(b.getType() == Material.ENDER_CHEST){ ItemMeta im = e.getPlayer().getItemInHand().getItemMeta(); for(String s : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ s = s.replace("&", "§"); if(im.getDisplayName() == s){ e.setCancelled(true); ThreadLocalRandom random = ThreadLocalRandom.current(); int i = random.nextInt(1, 5); if(i == 1){ for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ zestaw1 = zestaw1.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestaw1).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); e.getPlayer().getInventory().addItem(is); } } } } } } }package pl.vixitube.app1.commands; 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.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import pl.vixitube.app1.Main; import pl.vixitube.app1.builder.ItemBuilder; public class CaseCommand implements CommandExecutor{ @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(args.length >= 1){ if(args[0].equalsIgnoreCase("all")){ int i = Integer.parseInt(args[1]); if(i > 0){ for(String zestawI : Main.getPlugin(Main.class).getConfig().getStringList("case.name")){ zestawI = zestawI.replace("&", "§"); ItemStack is = new ItemBuilder(Material.ENDER_CHEST, i).setName(zestawI).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 10).toItemStack(); for(Player p : Bukkit.getOnlinePlayers()){ p.getInventory().addItem(is); } } } } } return false; } }Main:
package pl.vixitube.app1; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import pl.vixitube.app1.commands.CaseCommand; import pl.vixitube.app1.commands.Pomoc; import pl.vixitube.app1.commands.Vip; import pl.vixitube.app1.commands.Yt; import pl.vixitube.app1.listeners.CaseListener; import pl.vixitube.app1.listeners.DisableMessage; public class Main extends JavaPlugin{ @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(new DisableMessage(), this); Bukkit.getServer().getPluginManager().registerEvents(new CaseListener(), this); getCommand("pomoc").setExecutor(new Pomoc()); getCommand("vip").setExecutor(new Vip()); getCommand("yt").setExecutor(new Yt()); getCommand("case").setExecutor(new CaseCommand()); saveDefaultConfig(); } @Override public void onDisable(){ } }
Edytowane przez HotAngel2K17Odnośnik do komentarza
https://skript.pl/temat/26919-czemu-nie-daje-mi-case/Udostępnij na innych stronach
9 odpowiedzi na to pytanie
Rekomendowane odpowiedzi