vaper1337 0 Opublikowano 4 listopada 2017 Udostępnij Opublikowano 4 listopada 2017 (edytowane) Elo da ktos kod pluginu, że po położeniu xxxx bloku o xxxx nazwie z xxxx opisem tworzy się obs 100 kratek w dół do bedrocka od położonego bloku??? i jeszcze, o połozeniu jakiegos bloku xxx nazwa xxxx opis tworzy się dziura. DAJE LIKEI @yooniks Edytowane 4 listopada 2017 przez vaper1337 Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 kyuubi 35 Opublikowano 5 listopada 2017 Udostępnij Opublikowano 5 listopada 2017 (edytowane) Ehh.. Jesli tworzysz serwer, to nawet sie za niego nie bierz. Naprawde wrzucenie posta do odpowiedniej kategorii jest ciezkie? Ale mnie to juz wkurza.. //W takich przypadkach warto zgłosić to przyciskiem przez co od razu zostanie przeniesione, po zauważaniu zgłoszenia przez moderację/administrację. ~ Nioo Edytowane 7 listopada 2017 przez Nioo Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154660 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LloydPL 436 Opublikowano 5 listopada 2017 Udostępnij Opublikowano 5 listopada 2017 (edytowane) powinno działać Spoiler package me.plugin.boyfarmer; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.plugin.java.JavaPlugin; public class Mainn extends JavaPlugin implements Listener { private Material blok1 = Material.STONE; private Material blok2 = Material.SPONGE; private ArrayList<String> lore1 = new ArrayList<>(); private ArrayList<String> lore2 = new ArrayList<>(); private String nazwa1 = "nazwa1"; private String nazwa2 = "nazwa2"; @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(this, this); lore1.add("opis linia1"); lore1.add("opis linia2"); //Tak robisz opis -> po linijce lore2.add("opis linia1"); lore2.add("opis linia2"); } @EventHandler public void onPlace(BlockPlaceEvent e){ if(e.getItemInHand().getItemMeta().getDisplayName().equals(nazwa1) && e.getItemInHand().getItemMeta().getLore().equals(lore1) && e.getBlock().getType().equals(blok1)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = 100; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = y; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } }else if(e.getItemInHand().getItemMeta().getDisplayName().equals(nazwa2) && e.getItemInHand().getItemMeta().getLore().equals(lore2) && e.getBlock().getType().equals(blok2)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = 100; } else{ loc.getBlock().setType(Material.AIR); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = y; } else{ loc.getBlock().setType(Material.AIR); } } } } } } btw. zły dział bo ten jest od skryptów daj lajka //Chowam w spoiler ~ Nioo Edytowane 7 listopada 2017 przez Nioo Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154673 Udostępnij na innych stronach Więcej opcji udostępniania...
0 vaper1337 0 Opublikowano 6 listopada 2017 Autor Udostępnij Opublikowano 6 listopada 2017 Dnia 5.11.2017 o 16:37, LloydPL napisał: powinno działać package me.plugin.boyfarmer; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.plugin.java.JavaPlugin; public class Mainn extends JavaPlugin implements Listener { private Material blok1 = Material.STONE; private Material blok2 = Material.SPONGE; private ArrayList<String> lore1 = new ArrayList<>(); private ArrayList<String> lore2 = new ArrayList<>(); private String nazwa1 = "nazwa1"; private String nazwa2 = "nazwa2"; @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(this, this); lore1.add("opis linia1"); lore1.add("opis linia2"); //Tak robisz opis -> po linijce lore2.add("opis linia1"); lore2.add("opis linia2"); } @EventHandler public void onPlace(BlockPlaceEvent e){ if(e.getItemInHand().getItemMeta().getDisplayName().equals(nazwa1) && e.getItemInHand().getItemMeta().getLore().equals(lore1) && e.getBlock().getType().equals(blok1)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = 100; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = y; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } }else if(e.getItemInHand().getItemMeta().getDisplayName().equals(nazwa2) && e.getItemInHand().getItemMeta().getLore().equals(lore2) && e.getBlock().getType().equals(blok2)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = 100; } else{ loc.getBlock().setType(Material.AIR); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(!(loc.getBlock().getType().equals(Material.BEDROCK))){ i = y; } else{ loc.getBlock().setType(Material.AIR); } } } } } } btw. zły dział bo ten jest od skryptów daj lajka To nie działa. Nie ma błędów w eclipsie Były w konsoli ale zmieniłem na if (e.getItemInHand().isSimilar(Main.bf)) { I nie ma błędów w konsoli ale nie działa. Nazwa na 100% dobra i 100% dobry item trzymam w łapie. Proszę pomóż Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154832 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LloydPL 436 Opublikowano 6 listopada 2017 Udostępnij Opublikowano 6 listopada 2017 (edytowane) sorka, błąd logiczny przy bedrocku, masz tu sprawdzone + dodałem metodę która da itemy graczowi, poprostu wpiszujesz giveItems(gracz); pamiętaj że gracz ma być typem Player Kod: Spoiler package me.plugin.boyfarmer; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener { private Material blok1 = Material.STONE; private Material blok2 = Material.SPONGE; private ArrayList<String> lore1 = new ArrayList<>(); private ArrayList<String> lore2 = new ArrayList<>(); private String nazwa1 = "nazwa1"; private String nazwa2 = "nazwa2"; private ItemStack i1; private ItemStack i2; @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(this, this); //Tak robisz opis -> po linijce //lore 1 lore1.add("kappa"); // lore1.add("itd"); //lore 2 lore2.add("hey"); // lore2.add("itd"); //Nizej nic nie ruszaj i1 = new ItemStack(blok1); ItemMeta i1m = i1.getItemMeta(); i1m.setDisplayName(nazwa1); i1m.setLore(lore1); i1.setItemMeta(i1m); i2 = new ItemStack(blok2); ItemMeta i2m = i2.getItemMeta(); i2m.setDisplayName(nazwa2); i2m.setLore(lore2); i2.setItemMeta(i2m); } @EventHandler public void onPlace(BlockPlaceEvent e){ if(e.getItemInHand().equals(i1)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); l.getBlock().setType(Material.OBSIDIAN); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 100; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } }else if(e.getItemInHand().equals(i2)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); l.getBlock().setType(Material.AIR); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 100; } else{ loc.getBlock().setType(Material.AIR); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.AIR); } } } } } } //Chowam w spoiler ~ Nioo Edytowane 7 listopada 2017 przez Nioo Bielecki 1 Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154841 Udostępnij na innych stronach Więcej opcji udostępniania...
0 vaper1337 0 Opublikowano 7 listopada 2017 Autor Udostępnij Opublikowano 7 listopada 2017 13 godzin temu, LloydPL napisał: sorka, błąd logiczny przy bedrocku, masz tu sprawdzone + dodałem metodę która da itemy graczowi, poprostu wpiszujesz giveItems(gracz); pamiętaj że gracz ma być typem Player Kod: package me.plugin.boyfarmer; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener { private Material blok1 = Material.STONE; private Material blok2 = Material.SPONGE; private ArrayList<String> lore1 = new ArrayList<>(); private ArrayList<String> lore2 = new ArrayList<>(); private String nazwa1 = "nazwa1"; private String nazwa2 = "nazwa2"; private ItemStack i1; private ItemStack i2; @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(this, this); //Tak robisz opis -> po linijce //lore 1 lore1.add("kappa"); // lore1.add("itd"); //lore 2 lore2.add("hey"); // lore2.add("itd"); //Nizej nic nie ruszaj i1 = new ItemStack(blok1); ItemMeta i1m = i1.getItemMeta(); i1m.setDisplayName(nazwa1); i1m.setLore(lore1); i1.setItemMeta(i1m); i2 = new ItemStack(blok2); ItemMeta i2m = i2.getItemMeta(); i2m.setDisplayName(nazwa2); i2m.setLore(lore2); i2.setItemMeta(i2m); } @EventHandler public void onPlace(BlockPlaceEvent e){ if(e.getItemInHand().equals(i1)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); l.getBlock().setType(Material.OBSIDIAN); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 100; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } }else if(e.getItemInHand().equals(i2)){ Location l = e.getBlock().getLocation(); int y = (int) l.getY(); l.getBlock().setType(Material.AIR); if(y >= 100){ for(int i = 0; i < 100; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 100; } else{ loc.getBlock().setType(Material.AIR); } } } else{ for(int i = 0; i < y; i++){ y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.AIR); } } } } } } Działa tylko nie robi się do bedrocka tylko jakiejs tam kratki. Możesz wysłać kod ale napisz co zmieniłes ok? Ale nie musisz ale możesz daać kod na proste sstoniarki, że po postawieniu Main.st tworzy się nad tym blokiem nieskonczony stone. pls Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154915 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LloydPL 436 Opublikowano 7 listopada 2017 Udostępnij Opublikowano 7 listopada 2017 Dnia 4.11.2017 o 16:06, vaper1337 napisał: tworzy się obs 100 kratek w dół do bedrocka Tak jak sobie życzyłeś, w czym problem? -_- Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154988 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 7 listopada 2017 Udostępnij Opublikowano 7 listopada 2017 //onplace, event itd final Block down = locationOfPlacedBlock.getBlock().getRelative(BlockFace.DOWN) while (down.getType != Material.BEDROCK) down.setType(Material.AIR); Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-154992 Udostępnij na innych stronach Więcej opcji udostępniania...
0 vaper1337 0 Opublikowano 7 listopada 2017 Autor Udostępnij Opublikowano 7 listopada 2017 4 godziny temu, LloydPL napisał: Tak jak sobie życzyłeś, w czym problem? -_- NIE TWORZY SIĘ DO BEDROCKA TYLKO PO 1 POŁOZENIU OKOŁO 45 KRATEK A JAK JEST CORAZ NIŻEJ TO PO 3/4 KRATKI SIĘ USUWAJĄ I TAK SAMO Z BOYFARMEREM. sorry za caps Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-155040 Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 8 listopada 2017 Udostępnij Opublikowano 8 listopada 2017 9 godzin temu, vaper1337 napisał: NIE TWORZY SIĘ DO BEDROCKA TYLKO PO 1 POŁOZENIU OKOŁO 45 KRATEK A JAK JEST CORAZ NIŻEJ TO PO 3/4 KRATKI SIĘ USUWAJĄ I TAK SAMO Z BOYFARMEREM. sorry za caps Jak wróce do domu to napisze Ci, chyba że ktoś ma teraz czas to: 1. pobierasz lokalizacje postawionego bloku. 2. Tworzysz petle, np. for(int i = 0;i <= 100; i++); 3. potem sprawdzasz czy lokalizacja -1y nie jest bedrockiem i ustawiasz obsa/piasek, lub jezeli jest to stopujesz return; bgK1NG 1 Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-155053 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 8 listopada 2017 Udostępnij Opublikowano 8 listopada 2017 8 godzin temu, KrejzolekPRO napisał: Jak wróce do domu to napisze Ci, chyba że ktoś ma teraz czas to: 1. pobierasz lokalizacje postawionego bloku. 2. Tworzysz petle, np. for(int i = 0;i <= 100; i++); 3. potem sprawdzasz czy lokalizacja -1y nie jest bedrockiem i ustawiasz obsa/piasek, lub jezeli jest to stopujesz return; Po co wy tak robicie? Wystarczy proste "while(warunek)" i sprawdzanie czy blok pod boyfarmerem to bedrock, jesli nie to ustawianie na powietrze wtf STEINER 1 Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-155088 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LloydPL 436 Opublikowano 8 listopada 2017 Udostępnij Opublikowano 8 listopada 2017 1 godzinę temu, yooniks napisał: Po co wy tak robicie? Wystarczy proste "while(warunek)" i sprawdzanie czy blok pod boyfarmerem to bedrock, jesli nie to ustawianie na powietrze wtf No ja chciałem to tak zrobić, ale chciał 100 kratek w dół to musiałem zrobić warunek (w sumie mogłem też loopnąć 100 razy i zatrzymać na bedrocku) Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-155106 Udostępnij na innych stronach Więcej opcji udostępniania...
0 STEINER 60 Opublikowano 6 grudnia 2017 Udostępnij Opublikowano 6 grudnia 2017 @LloydPL czytaj dokładniej: Poprawa: @EventHandler public void onPlace(BlockPlaceEvent e) { if(e.getItemInHand().isSimilar(Main.boyfarmer)) { //TAK JAK PISAŁEŚ Z KLASY MAIN Location l = e.getBlock().getLocation(); e.getPlayer().getWorld().spigot().playEffect(l, Effect.SMOKE, 0, 0, 1.0f, 1.0f, 1.0f, 1.0f, 15, 25); //Zawsze można dodać particlesy, żeby ładniej wyglądało int y = (int) l.getY(); l.getBlock().setType(Material.OBSIDIAN); if(y >= 3){ for(int i = 0; i < 300; i++) { y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 3; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } else{ for(int i = 0; i < y; i++) { y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.OBSIDIAN); } } } }else if(e.getItemInHand().isSimilar(Main.fosafarmer)) { //TAK JAK PISAŁEŚ Z KLASY MAIN Location l = e.getBlock().getLocation(); e.getPlayer().getWorld().spigot().playEffect(l, Effect.SMOKE, 0, 0, 1.0f, 1.0f, 1.0f, 1.0f, 15, 25); int y = (int) l.getY(); l.getBlock().setType(Material.AIR); if(y >= 3){ for(int i = 0; i < 300; i++) { y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = 300; } else{ loc.getBlock().setType(Material.AIR); } } } else{ for(int i = 0; i < y; i++) { y--; Location loc = new Location(l.getWorld(), l.getX(), y, l.getZ()); if(loc.getBlock().getType().equals(Material.BEDROCK)){ i = y; } else{ loc.getBlock().setType(Material.AIR); } } } Odnośnik do komentarza https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/#findComment-159236 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
vaper1337 0
Elo da ktos kod pluginu, że po położeniu xxxx bloku o xxxx nazwie z xxxx opisem tworzy się obs 100 kratek w dół do bedrocka od położonego bloku???
i jeszcze, o połozeniu jakiegos bloku xxx nazwa xxxx opis tworzy się dziura. DAJE LIKEI
@yooniks
Edytowane przez vaper1337Odnośnik do komentarza
https://skript.pl/temat/22705-plugin-na-boyfarmer-sandfarmer-kopaczfosy/Udostępnij na innych stronach
12 odpowiedzi na to pytanie
Rekomendowane odpowiedzi