krvzk 2 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 Witam. Robie cos typu skarbiec gildyjny, i chce zrobic aby po kliknieciu prawym na end crystal otwieral sie sejf, ale mam problem z tym ze nie wiem jak sprawdzic ze gracz kliknal w end crystal. Pomoze ktos ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 @EventHandler public void onInteract(PlayerInteractEntityEvent e) { if(!(e.getRightClicked() instanceof EnderCrystal)) { return; } e.setCancelled(true); //Twój dalszy kod } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 12 minut temu, Zbucki napisał: @EventHandler public void onInteract(PlayerInteractEntityEvent e) { if(!(e.getRightClicked() instanceof EnderCrystal)) { return; } e.setCancelled(true); //Twój dalszy kod } niestety nie dziala Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 1 minutę temu, krvzk napisał: problem jest w tym ze nic nie sie wyswietla, juz sprawdzalem to z wiadomosciami, ale twoje tez przetestowalem i nic Zarejestrowałeś event w onEnable? Pod jaką wersje piszesz plugin? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 3 minuty temu, Zbucki napisał: Zarejestrowałeś event w onEnable? Pod jaką wersje piszesz plugin? zarejestrowalem, 1.8.8 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Łączę posty Notatka dodana przez Zbucki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Łączę dwa posty Notatka dodana przez Zbucki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 Teraz, krvzk napisał: dobra czyli mam sprawdzac klikniecie serca zamiast samego end crystala? Tak będzie najprościej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krvzk 2 Opublikowano 24 sierpnia 2021 Autor Udostępnij Opublikowano 24 sierpnia 2021 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 Łącze dwa posty Notatka dodana przez Zbucki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 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 Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 Problem został rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
krvzk 2
Witam. Robie cos typu skarbiec gildyjny, i chce zrobic aby po kliknieciu prawym na end crystal otwieral sie sejf, ale mam problem z tym ze nie wiem jak sprawdzic ze gracz kliknal w end crystal. Pomoze ktos ?
Odnośnik do komentarza
Udostępnij na innych stronach
18 odpowiedzi na to pytanie
Rekomendowane odpowiedzi