Skocz do zawartości
  • -1

Plugin Farmerzy


VEROxYT

Pytanie

	@EventHandler(priority = EventPriority.HIGHEST)
	public void onPlace(BlockPlaceEvent e) {
		Player p = e.getPlayer();
		Block b = e.getBlock();

		if(e.getItemInHand().getItemMeta() == Farmers.boyFarmer().getItemMeta()) {
			for(int i = b.getY(); i > 0; i--) {
				Location loc = new Location(p.getLocation().getWorld(), b.getX(), i, b.getZ());
				if(loc.getBlock().getType() == Material.AIR) {
					loc.getBlock().setType(Material.OBSIDIAN);
				}
			}
		} else if(e.getItemInHand().getItemMeta() == Farmers.sandFarmer().getItemMeta()) {
			for(int i = b.getY(); i > 0 ; i--) {
				Location loc = new Location(p.getLocation().getWorld(), b.getX(), i, b.getZ());
				if(loc.getBlock().getType() == Material.AIR) {
					loc.getBlock().setType(Material.SAND);
				}
			}
		} else if(e.getItemInHand().getItemMeta() == Farmers.fosaMiner().getItemMeta()) {
			for(int i = b.getY(); i > 0; i--) {
				Location loc = new Location(p.getLocation().getWorld(), b.getX(), i, b.getZ());
				if(loc.getBlock().getType() != Material.BEDROCK) {
					loc.getBlock().setType(Material.AIR);
				}
			}
		}
	}

Mam taki kod i jak stawiam tą gąbke to się nic nie dzieje

Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
6 godzin temu, LeviBoyPL napisał:

Listener zarejestrowany w mainie?

Pewnie że tak

public class Main extends JavaPlugin implements Listener{
	
	public static Main main;
	
	@Override
	public void onEnable() {
		main = this;
		
		Bukkit.getConsoleSender().sendMessage("[PhoenixPlugin]" + ChatColor.GOLD + "  __ ");
		Bukkit.getConsoleSender().sendMessage("[PhoenixPlugin]" + ChatColor.GOLD + " |__)" + "   Spigot 1.8.8");
		Bukkit.getConsoleSender().sendMessage("[PhoenixPlugin]" + ChatColor.GOLD + " |   ");
		getServer().getPluginManager().registerEvents(new BlockPlace(this), this);
		getServer().getPluginManager().registerEvents(this, this);
		
		getConfig().options().copyDefaults(true);
		saveConfig();
		reloadConfig();
		
		new BlockPlace(this);
		new Farmers(this);
		
		ShapedRecipe boyFarmer = new ShapedRecipe(Farmers.boyFarmer()).shape("***", "*%*", "***").setIngredient('*', Material.OBSIDIAN).setIngredient('%', Material.GOLDEN_APPLE);
		ShapedRecipe sandFarmer = new ShapedRecipe(Farmers.sandFarmer()).shape("***", "*%*", "***").setIngredient('*', Material.SAND).setIngredient('%', Material.GOLDEN_APPLE);
		ShapedRecipe fosaMiner = new ShapedRecipe(Farmers.fosaMiner()).shape("***", "*%*", "***").setIngredient('*', Material.STONE).setIngredient('%', Material.GOLDEN_APPLE);
		
		getServer().addRecipe(boyFarmer);
		getServer().addRecipe(sandFarmer);
		getServer().addRecipe(fosaMiner);
	}
	
	public static Main getMain() {
		return main;
	}
}
Edytowane przez VEROxYT
Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/#findComment-306307
Udostępnij na innych stronach

  • 0
20 godzin temu, Ixidi napisał:

Strzelam, że problem leży w porównywaniu ItemMeta przez ==, spróbuj użyć metody equals.

próbowałem to wyskakuje jakieś zielone podkreślenie żeby dodać @(i tu coś tylko nie pamiętam)

 

20 godzin temu, LeviBoyPL napisał:

souta

jakiego souta?

Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/#findComment-306355
Udostępnij na innych stronach

  • 0
5 godzin temu, VEROxYT napisał:

próbowałem to wyskakuje jakieś zielone podkreślenie żeby dodać @(i tu coś tylko nie pamiętam)

Jakie zielone podkreślenie xD Daj jakiegoś screena...

Edytowane przez Ixidi
Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/#findComment-306382
Udostępnij na innych stronach

  • 0
W dniu 30.06.2021 o 19:27, VEROxYT napisał:

 

 

W dniu 29.06.2021 o 23:22, Ixidi napisał:

Strzelam, że problem leży w porównywaniu ItemMeta przez ==, spróbuj użyć metody equals.

Nie strzelasz tylko tak jest. W javie(zapewne i w innych językach) stringi porównuje się metodą equals lub equalsIgnoreCase. 

 

W dniu 30.06.2021 o 19:27, VEROxYT napisał:

próbowałem to wyskakuje jakieś zielone podkreślenie żeby dodać @(i tu coś tylko nie pamiętam)

 

jakiego souta?

System.out.println();

Edytowane przez FraZ
Glicz

Łączę posty.

Notatka dodana przez Glicz

Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/#findComment-306399
Udostępnij na innych stronach

  • 0

Uwaga naprawiłem to ale nie działa tak jak chciałem:

Plugin działa tak:
 

			for(int i = b.getY(); i > 0; i--) {
				Location loc = new Location(p.getLocation().getWorld(), b.getX(), i, b.getZ());
				if(loc.getBlock().getType() == Material.AIR) {
					loc.getBlock().setType(Material.OBSIDIAN);
				}
			}

A ja chciałem tak jak w sk:

        set block to obsidian
        set {_a} to location of block
        loop 300 times:
            set {_a} to location of block under {_a}
            if block at {_a} is air:
                set block at {_a} to obsidian
                wait 0.1 second
            else:
                stop
Edytowane przez VEROxYT
Odnośnik do komentarza
https://skript.pl/temat/49314-plugin-farmerzy/#findComment-306415
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

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

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