Skocz do zawartości
  • 0

Problem z WorldGuardem (Dependency)


Pytanie

Siema, mam problem ze sprawdzeniem regionu na ktorym zostal postawiony blok przez gracza, jezeli region to "spawn", blokuje mozliwosc dalszego wykonania funkcji.

Nie wiem jak dodac sprawdzanie tego regionu, ogolnie plugin dziala dobrze, tylko gdy postawi sie owego boyfarmera, to blok sie nie stawia przez region, ale funkcja sie wykonuje

Odnośnik do komentarza
https://skript.pl/temat/54513-problem-z-worldguardem-dependency/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 1
    @EventHandler(priority = EventPriority.NORMAL)
    public void onBlockPlace(BlockPlaceEvent e){
        Location loc = e.getBlock().getLocation();
        Player p = e.getPlayer();
        if (e.getBlock().getType().equals(Material.END_PORTAL_FRAME)){
            if (p.getItemInHand().getItemMeta().getDisplayName().toString().equals(ChatColor.DARK_PURPLE+"BoyFarmer")){
                //Pobierz region, w którym został postawiony blok
                RegionManager regionManager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(loc.getWorld());
                ApplicableRegionSet regionSet = regionManager.getApplicableRegions(loc);
                
                //Sprawdź czy region jest spawnem
                if(regionSet.getRegions().stream().anyMatch(region -> region.getId().equals("spawn"))) {
                    //Jeśli tak, blokuj dalszą funkcję
                    e.getBlock().setType(Material.AIR);
                    p.sendMessage(ChatColor.RED+"Nie mozesz stawiac boyfarmera w regionie spawn!");
                    e.setCancelled(true);
                }
                else if(loc.getY()<=128){
                    new BoyFarmerPlaceEvent(p , loc);
                }
                else{
                    e.getBlock().setType(Material.AIR);
                    p.sendMessage(ChatColor.RED+"Nie mozesz stawiac boyfarmera powyzej 128 kratki!");
                    e.setCancelled(true);
                }
            }
        }
    }

Jestem zielony w Jave ale myślę że zadziała. :P 

Odnośnik do komentarza
https://skript.pl/temat/54513-problem-z-worldguardem-dependency/#findComment-330737
Udostępnij na innych stronach

  • 0
14 minut temu, xMarmo321 napisał:
    @EventHandler(priority = EventPriority.NORMAL)
    public void onBlockPlace(BlockPlaceEvent e){
        Location loc = e.getBlock().getLocation();
        Player p = e.getPlayer();
        if (e.getBlock().getType().equals(Material.END_PORTAL_FRAME)){
            if (p.getItemInHand().getItemMeta().getDisplayName().toString().equals(ChatColor.DARK_PURPLE+"BoyFarmer")){
                //Pobierz region, w którym został postawiony blok
                RegionManager regionManager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(loc.getWorld());
                ApplicableRegionSet regionSet = regionManager.getApplicableRegions(loc);
                
                //Sprawdź czy region jest spawnem
                if(regionSet.getRegions().stream().anyMatch(region -> region.getId().equals("spawn"))) {
                    //Jeśli tak, blokuj dalszą funkcję
                    e.getBlock().setType(Material.AIR);
                    p.sendMessage(ChatColor.RED+"Nie mozesz stawiac boyfarmera w regionie spawn!");
                    e.setCancelled(true);
                }
                else if(loc.getY()<=128){
                    new BoyFarmerPlaceEvent(p , loc);
                }
                else{
                    e.getBlock().setType(Material.AIR);
                    p.sendMessage(ChatColor.RED+"Nie mozesz stawiac boyfarmera powyzej 128 kratki!");
                    e.setCancelled(true);
                }
            }
        }
    }

Jestem zielony w Jave ale myślę że zadziała. :P 

Dzieki za starania, ale pozniej ogarnalem ze FG jeszcze jest na serwerze i musialbym ogarnac jeszcze u nich w soruce code gdzie jest funkcja odpowiedzialna za blokowanie stawiania blokow w gildii jak nie jestes czlonkiem. Wiec kolega co napisal wyzej, zrobil mi o wiele prosciej. Ale jeszcze raz dzieki za starania <3

Odnośnik do komentarza
https://skript.pl/temat/54513-problem-z-worldguardem-dependency/#findComment-330738
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ę...