Skocz do zawartości
  • 0

End crystal - klikanie prawym


krvzk

Pytanie

18 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 minutę temu, krvzk napisał:

niestety nie dziala

Co dokładnie nie działa? Nic się nie pokazuje, czy jak?

Wklep ten kod, kliknij PPM na endercrystala i daj ss co ci wypisze:

@EventHandler
public void onInteract(PlayerInteractEntityEvent e) {
  e.getPlayer().sendMessage("CLICK ENTITY");
  if(!(e.getRightClicked() instanceof EnderCrystal)) {
    return;
  }
  e.getPlayer().sendMessage("CLICK ENDERCRYSTAL");
  e.setCancelled(true);
  //Twój dalszy kod
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Zbucki napisał:

Co dokładnie nie działa? Nic się nie pokazuje, czy jak?

Wklep ten kod, kliknij PPM na endercrystala i daj ss co ci wypisze:

@EventHandler
public void onInteract(PlayerInteractEntityEvent e) {
  e.getPlayer().sendMessage("CLICK ENTITY");
  if(!(e.getRightClicked() instanceof EnderCrystal)) {
    return;
  }
  e.getPlayer().sendMessage("CLICK ENDERCRYSTAL");
  e.setCancelled(true);
  //Twój dalszy kod
}

 

problem jest w tym ze nic nie sie wyswietla, juz sprawdzalem to z wiadomosciami, ale twoje tez przetestowalem i nic

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, krvzk napisał:

zarejestrowalem,  1.8.8 

@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onInteract(PlayerInteractEntityEvent e) {
  e.getPlayer().sendMessage("CLICK ENTITY");
  if (!(e.getRightClicked() instanceof EnderCrystal)) {
    return;
  }
  e.getPlayer().sendMessage("CLICK ENDERCRYSTAL");
  // Twój dalszy kod
}

Zobacz ten kod.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, Zbucki napisał:
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onInteract(PlayerInteractEntityEvent e) {
  e.getPlayer().sendMessage("CLICK ENTITY");
  if (!(e.getRightClicked() instanceof EnderCrystal)) {
    return;
  }
  e.getPlayer().sendMessage("CLICK ENDERCRYSTAL");
  // Twój dalszy kod
}

Zobacz ten kod.

no nic sie nie wyswietla

 

cos jest nie tak z end crystalem, jakby nie traktuje tego jako entity, bo jak klikam zombie czy cos to dostaje wiadomosc CLICK ENTITY

Zbucki

Łączę posty

Notatka dodana przez Zbucki

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, krvzk napisał:

no nic sie nie wyswietla

 

cos jest nie tak z end crystalem, jakby nie traktuje tego jako entity, bo jak klikam zombie czy cos to dostaje wiadomosc CLICK ENTITY

@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onInteract(PlayerInteractEntityEvent e) {
	e.getPlayer().sendMessage("CLICK ENTITY");
	if (e.getRightClicked().getType() != EntityType.ENDER_CRYSTAL) {
		return;
	}
	e.getPlayer().sendMessage("CLICK ENDERCRYSTAL");
	// Twój dalszy kod
}

A coś takiego?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Zbucki napisał:
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
	public void onInteract(EntityDamageByEntityEvent e) {
		e.getDamager().sendMessage("damage entity "+e.getEntity().getType().toString());
		if(!(e.getDamager() instanceof Player)) {
			return;
		}
		e.getDamager().sendMessage("damager is player");
		if (!(e.getEntity() instanceof EnderCrystal)) {
			return;
		}
		e.getDamager().sendMessage("damage ender crystal");
		// Twój dalszy kod
	}

Wstaw ten kod i spróbuj uderzyć ender crystala. Wtedy podaj ss z chatu

nie dzieje sie nic, ale juz wiem czego to jest wina, bo generalnie uzywam funnyguilds, i jak robie cokolwiek z end crystalem ktory spawnuje funnyguilds to to nie dziala, jak zrobie sobie summon end crystal to dziala normalnie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, krvzk napisał:

nie dzieje sie nic, ale juz wiem czego to jest wina, bo generalnie uzywam funnyguilds, i jak robie cokolwiek z end crystalem ktory spawnuje funnyguilds to to nie dziala, jak zrobie sobie summon end crystal to dziala normalnie.

Czyli musisz użyć pakietów.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

czyli cos jest nie tak z end crystalem z funnyguilds, lub funnyguilds blokuje jakos interakcje z nim

 

2 minuty temu, Zbucki napisał:

Czyli musisz użyć pakietów.

how? bo juz mania mi siada, od 1h probuje wszystkiego co wiem

Zbucki

Łączę dwa posty

Notatka dodana przez Zbucki

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 godzinę temu, krvzk napisał:

czyli cos jest nie tak z end crystalem z funnyguilds, lub funnyguilds blokuje jakos interakcje z nim

 

how? bo juz mania mi siada, od 1h probuje wszystkiego co wiem

 

	@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
	public void onInteract(PlayerInteractEvent event) {
		PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration();
		Action eventAction = event.getAction();
		Player player = event.getPlayer();
		Block clicked = event.getClickedBlock();

		if (eventAction != Action.RIGHT_CLICK_BLOCK) {
			return;
		}

		if (clicked == null) {
			return;
		}

		Region region = RegionUtils.getAt(clicked.getLocation());

		if (region == null) {
			return;
		}

		Block heart = region.getCenter().getBlock().getRelative(BlockFace.DOWN);

		if (clicked.equals(heart)) {
			if (heart.getType() == Material.DRAGON_EGG) {
				event.setCancelled(true);
			}

			Guild guild = region.getGuild();

			if (!SecuritySystem.onHitCrystal(player, guild)) {
				return;
			}
			event.setCancelled(true);
			// Twój kod
		}
	}

Kod zapożyczony z samego FunnyGuilds.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Zbucki napisał:
	@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
	public void onInteract(PlayerInteractEvent event) {
		PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration();
		Action eventAction = event.getAction();
		Player player = event.getPlayer();
		Block clicked = event.getClickedBlock();

		if (eventAction != Action.RIGHT_CLICK_BLOCK) {
			return;
		}

		if (clicked == null) {
			return;
		}

		Region region = RegionUtils.getAt(clicked.getLocation());

		if (region == null) {
			return;
		}

		Block heart = region.getCenter().getBlock().getRelative(BlockFace.DOWN);

		if (clicked.equals(heart)) {
			if (heart.getType() == Material.DRAGON_EGG) {
				event.setCancelled(true);
			}

			Guild guild = region.getGuild();

			if (!SecuritySystem.onHitCrystal(player, guild)) {
				return;
			}
			event.setCancelled(true);
			// Twój kod
		}
	}

Kod zapożyczony z samego FunnyGuilds.

dobra czyli mam sprawdzac klikniecie serca zamiast samego end crystala?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
21 minut temu, Zbucki napisał:

Tak będzie najprościej.

nadal mi nie dziala... nie wiem juz co zle robie

 

wklepałem kod na otwieranie skarbca i nie dziala, pare innych sposobow tez probowalem i nic

Zbucki

Łącze dwa posty

Notatka dodana przez Zbucki

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

To nie wiem, próbuj z pakietami. A jak nie to zrób to inaczej - pobieraj lokacje środka gildii i sprawdzaj odległość między nimi, jeśli jest np. < 3 kratek to otwieraj sejf

Albo spróbuj zmienić w configu funnyguilds tego endercrystala na coś innego. Zauważyłem, że nawet FunnyGuilds ma problem z poprawnym odczytaniem interakcji endercrystala(Dopiero w konkretnym punkcie kryształu pojawiają się informacje o gildii)

 

PS. Nie dodawaj nowych postów gdy twój jest ostatni. Użyj opcji "Edytuj".

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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