NoInteract | Forge Ready

  • Автор темы Автор темы s3m1
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Дек 2024
Сообщения
71
Реакции
1
Подарочек на новый год
Java:
Expand Collapse Copy
public class NoInteract extends Feature {
    private final Map<BooleanSetting, Predicate<Block>> blocks;
    private final BooleanSetting stand;

    public NoInteract() {
        this.stand = new BooleanSetting("Стойки для брони", true);

        this.blocks = new LinkedHashMap<BooleanSetting, Predicate<Block>>() {{
            put(new BooleanSetting("Сундуки", true), block -> block.getDescriptionId().contains("chest"));
            put(new BooleanSetting("Двери", true), block -> block.getDescriptionId().contains("door"));
            put(new BooleanSetting("Воронки", true), block -> block.getDescriptionId().contains("hopper"));
            put(new BooleanSetting("Кнопки", true), block -> block.getDescriptionId().contains("button"));
            put(new BooleanSetting("Раздатчики", true), block -> block.getDescriptionId().contains("dispenser"));
            put(new BooleanSetting("Нотные блоки", true), block -> block.getDescriptionId().contains("note"));
            put(new BooleanSetting("Верстаки", true), block -> block.getDescriptionId().contains("crafting_table"));
            put(new BooleanSetting("Люки", true), block -> block.getDescriptionId().contains("trapdoor"));
            put(new BooleanSetting("Печки", true), block -> block.getDescriptionId().contains("furnace"));
            put(new BooleanSetting("Калитки", true), block -> block.getDescriptionId().contains("fence_gate"));
            put(new BooleanSetting("Наковальни", true), block -> block.getDescriptionId().contains("anvil"));
            put(new BooleanSetting("Рычаги", true), block -> block.getDescriptionId().contains("lever"));
        }};

        List<Setting> sets = new ArrayList<>(blocks.keySet());
        sets.add(stand);
        addSettings(sets.toArray(new Setting[0]));
    }

    @SubscribeEvent
    public void onInteract(PlayerInteractEvent event) {
        if (event instanceof PlayerInteractEvent.RightClickBlock) {
            if (blocks.entrySet().stream().anyMatch(entry -> entry.getKey().isEnabled() && entry.getValue().test(mc.level.getBlockState(event.getPos()).getBlock()))) {
                event.setCanceled(true);
            }
        }
    }

    @SubscribeEvent
    public void onEntityInteract(PlayerInteractEvent.EntityInteract event) {
        if (stand.isEnabled() && event.getTarget() instanceof ArmorStandEntity) {
            event.setCanceled(true);
        }
    }
}
 
Последнее редактирование:
Подарочек на новый год
Java:
Expand Collapse Copy
public class NoInteract extends Feature {
    private final Map<BooleanSetting, Predicate<Block>> blocks;
    private final BooleanSetting stand;

    public NoInteract() {
        this.stand = new BooleanSetting("Стойки для брони", true);

        this.blocks = new LinkedHashMap<BooleanSetting, Predicate<Block>>() {{
            put(new BooleanSetting("Сундуки", true), block -> block.getDescriptionId().contains("chest"));
            put(new BooleanSetting("Двери", true), block -> block.getDescriptionId().contains("door"));
            put(new BooleanSetting("Воронки", true), block -> block.getDescriptionId().contains("hopper"));
            put(new BooleanSetting("Кнопки", true), block -> block.getDescriptionId().contains("button"));
            put(new BooleanSetting("Раздатчики", true), block -> block.getDescriptionId().contains("dispenser"));
            put(new BooleanSetting("Нотные блоки", true), block -> block.getDescriptionId().contains("note"));
            put(new BooleanSetting("Верстаки", true), block -> block.getDescriptionId().contains("crafting_table"));
            put(new BooleanSetting("Люки", true), block -> block.getDescriptionId().contains("trapdoor"));
            put(new BooleanSetting("Печки", true), block -> block.getDescriptionId().contains("furnace"));
            put(new BooleanSetting("Калитки", true), block -> block.getDescriptionId().contains("fence_gate"));
            put(new BooleanSetting("Наковальни", true), block -> block.getDescriptionId().contains("anvil"));
            put(new BooleanSetting("Рычаги", true), block -> block.getDescriptionId().contains("lever"));
        }};

        List<Setting> sets = new ArrayList<>(blocks.keySet());
        sets.add(stand);
        addSettings(sets.toArray(new Setting[0]));
    }

    @SubscribeEvent
    public void onInteract(PlayerInteractEvent event) {
        if (event instanceof PlayerInteractEvent.RightClickBlock) {
            if (blocks.entrySet().stream().anyMatch(entry -> entry.getKey().isEnabled() && entry.getValue().test(mc.level.getBlockState(event.getPos()).getBlock()))) {
                event.setCanceled(true);
            }
        }
    }

    @SubscribeEvent
    public void onEntityInteract(PlayerInteractEvent.EntityInteract event) {
        if (stand.isEnabled() && event.getTarget() instanceof ArmorStandEntity) {
            event.setCanceled(true);
        }
    }
}
нормас но сеттинги хуйня
 
Подарочек на новый год
Java:
Expand Collapse Copy
public class NoInteract extends Feature {
    private final Map<BooleanSetting, Predicate<Block>> blocks;
    private final BooleanSetting stand;

    public NoInteract() {
        this.stand = new BooleanSetting("Стойки для брони", true);

        this.blocks = new LinkedHashMap<BooleanSetting, Predicate<Block>>() {{
            put(new BooleanSetting("Сундуки", true), block -> block.getDescriptionId().contains("chest"));
            put(new BooleanSetting("Двери", true), block -> block.getDescriptionId().contains("door"));
            put(new BooleanSetting("Воронки", true), block -> block.getDescriptionId().contains("hopper"));
            put(new BooleanSetting("Кнопки", true), block -> block.getDescriptionId().contains("button"));
            put(new BooleanSetting("Раздатчики", true), block -> block.getDescriptionId().contains("dispenser"));
            put(new BooleanSetting("Нотные блоки", true), block -> block.getDescriptionId().contains("note"));
            put(new BooleanSetting("Верстаки", true), block -> block.getDescriptionId().contains("crafting_table"));
            put(new BooleanSetting("Люки", true), block -> block.getDescriptionId().contains("trapdoor"));
            put(new BooleanSetting("Печки", true), block -> block.getDescriptionId().contains("furnace"));
            put(new BooleanSetting("Калитки", true), block -> block.getDescriptionId().contains("fence_gate"));
            put(new BooleanSetting("Наковальни", true), block -> block.getDescriptionId().contains("anvil"));
            put(new BooleanSetting("Рычаги", true), block -> block.getDescriptionId().contains("lever"));
        }};

        List<Setting> sets = new ArrayList<>(blocks.keySet());
        sets.add(stand);
        addSettings(sets.toArray(new Setting[0]));
    }

    @SubscribeEvent
    public void onInteract(PlayerInteractEvent event) {
        if (event instanceof PlayerInteractEvent.RightClickBlock) {
            if (blocks.entrySet().stream().anyMatch(entry -> entry.getKey().isEnabled() && entry.getValue().test(mc.level.getBlockState(event.getPos()).getBlock()))) {
                event.setCanceled(true);
            }
        }
    }

    @SubscribeEvent
    public void onEntityInteract(PlayerInteractEvent.EntityInteract event) {
        if (stand.isEnabled() && event.getTarget() instanceof ArmorStandEntity) {
            event.setCanceled(true);
        }
    }
}
Безполезно, но норм
 
Подарочек на новый год
Java:
Expand Collapse Copy
public class NoInteract extends Feature {
    private final Map<BooleanSetting, Predicate<Block>> blocks;
    private final BooleanSetting stand;

    public NoInteract() {
        this.stand = new BooleanSetting("Стойки для брони", true);

        this.blocks = new LinkedHashMap<BooleanSetting, Predicate<Block>>() {{
            put(new BooleanSetting("Сундуки", true), block -> block.getDescriptionId().contains("chest"));
            put(new BooleanSetting("Двери", true), block -> block.getDescriptionId().contains("door"));
            put(new BooleanSetting("Воронки", true), block -> block.getDescriptionId().contains("hopper"));
            put(new BooleanSetting("Кнопки", true), block -> block.getDescriptionId().contains("button"));
            put(new BooleanSetting("Раздатчики", true), block -> block.getDescriptionId().contains("dispenser"));
            put(new BooleanSetting("Нотные блоки", true), block -> block.getDescriptionId().contains("note"));
            put(new BooleanSetting("Верстаки", true), block -> block.getDescriptionId().contains("crafting_table"));
            put(new BooleanSetting("Люки", true), block -> block.getDescriptionId().contains("trapdoor"));
            put(new BooleanSetting("Печки", true), block -> block.getDescriptionId().contains("furnace"));
            put(new BooleanSetting("Калитки", true), block -> block.getDescriptionId().contains("fence_gate"));
            put(new BooleanSetting("Наковальни", true), block -> block.getDescriptionId().contains("anvil"));
            put(new BooleanSetting("Рычаги", true), block -> block.getDescriptionId().contains("lever"));
        }};

        List<Setting> sets = new ArrayList<>(blocks.keySet());
        sets.add(stand);
        addSettings(sets.toArray(new Setting[0]));
    }

    @SubscribeEvent
    public void onInteract(PlayerInteractEvent event) {
        if (event instanceof PlayerInteractEvent.RightClickBlock) {
            if (blocks.entrySet().stream().anyMatch(entry -> entry.getKey().isEnabled() && entry.getValue().test(mc.level.getBlockState(event.getPos()).getBlock()))) {
                event.setCanceled(true);
            }
        }
    }

    @SubscribeEvent
    public void onEntityInteract(PlayerInteractEvent.EntityInteract event) {
        if (stand.isEnabled() && event.getTarget() instanceof ArmorStandEntity) {
            event.setCanceled(true);
        }
    }
}
Так это же тоже самое что идет в Exp 3.1? Только код конечно под другие базы
 
как по мне очень юзабельная функция для рв плееров, где сидят одни траперы у которых кроме верстаков в доме больше блоков нет
Извини забыл про трапкодрочеров на рилике
 
Назад
Сверху Снизу