1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите нельзя двигать блоки в приватах поршнем

Тема в разделе "Помощь", создана пользователем mazafakerR, 3 апр 2020.

  1. Автор темы
    mazafakerR

    mazafakerR Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Mazafakerr1337
    Доброго времени суток!
    При создании гриф-сервера столкнулся с такой проблемой: нельзя двигать блоки в приватах поршнем.
    Что делать?
    Версия ядра - 1.12.2
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну лол на то он и приват. Странно было бы еслиб двигало.
     
  3. Автор темы
    mazafakerR

    mazafakerR Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Mazafakerr1337
    На серверах Анархия в регионе разрешено Двигать блоки , если знаете как это реализовать помогите пожалуйста.
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    wg 1.7
    Код:
    import java.util.List;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import com.sk89q.worldedit.bukkit.BukkitAdapter;
    import com.sk89q.worldguard.WorldGuard;
    import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
    import com.sk89q.worldguard.bukkit.cause.Cause;
    import com.sk89q.worldguard.bukkit.event.block.BreakBlockEvent;
    import com.sk89q.worldguard.protection.flags.Flags;
    import com.sk89q.worldguard.protection.flags.StateFlag;
    import com.sk89q.worldguard.protection.regions.RegionQuery;
    
    public class EventListener implements Listener {
    
        @EventHandler(priority = EventPriority.LOWEST)
        public void onp(BreakBlockEvent e) {
            Cause cause = e.getCause();
            Block block = cause.getFirstBlock();
            if (block != null && (block.getType() == Material.MOVING_PISTON || block.getType() == Material.PISTON
                    || block.getType() == Material.STICKY_PISTON)) {
                List<Block> blocks = (List<Block>) e.getBlocks();
                for (final Block b : blocks) {
                    if (isFlagAllows(null, b.getLocation(), Flags.PISTONS)) {
                        e.setResult(Event.Result.ALLOW);
                    }
                }
            }
        }
    
        public boolean isFlagAllows(Player player, Location location, StateFlag flag) {
            WorldGuardPlugin wg = WorldGuardPlugin.inst();
            RegionQuery rg = WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery();
            return rg.testState(BukkitAdapter.adapt(location), wg.wrapPlayer(player), flag);
        }
    }
     
  5. Thin_Troll

    Thin_Troll Активный участник Пользователь

    Баллы:
    76
    в дефолт WG можно двигать блоки привата поршнями.
    Запрет на сдвиг добавляет WGExtender,

    pistonmove:
    enabled: true
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Сто лет как фикс. Проснулся, динозавр.
     
  7. Автор темы
    mazafakerR

    mazafakerR Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Mazafakerr1337
    Не пользуюсь WGExtender
     

Поделиться этой страницей