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

Помогите Фикс краш-табличек

Тема в разделе "Помощь", создана пользователем morokin, 2 май 2023.

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

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

    Баллы:
    61
    Помогите пофиксить краш-табличку если которую поставить крашнется майнкрафт.
    Вот на неё команда
    /give @p minecraft:sign 1 0 {BlockEntityTag:{Text1:"{\"translate\":\"translation.test.invalid\"}"},display:{Name:"Краш табличка"}}
     
  2. NyanGuyMF

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

    Баллы:
    76
    Panilla фиксит этот и подобные эксплоиты.
    Решение конкретно этой проблемы: NbtCheck_pages
     
  3. Автор темы
    morokin

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

    Баллы:
    61
    я скачал плагин panilla, не помогает не сбрасываются nbt-теги таблички
     
  4. NyanGuyMF

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

    Баллы:
    76
    Такой код пофиксит

    PHP:
    private static final Collection<ComponentcrashComponents Arrays.asList(
            
    GsonComponentSerializer.gson().deserialize("{\"translate\":\"translation.test.invalid\"}"),
            
    GsonComponentSerializer.gson().deserialize("{\"translate\":\"translation.test.invalid2\"}")
    );

    @
    EventHandler(priority=EventPriority.HIGHESTignoreCancelled=true)
    public 
    void onMaliciousSignPlace(final BlockPlaceEvent event) {
        if (!(
    event.getBlock().getState() instanceof Sign sign))
            return;
        for (final 
    Component line sign.lines()) {
            for (final 
    Component crashComponent crashComponents) {
                if (
    line.equals(crashComponent) || line.contains(crashComponent)) {
                    
    event.setCancelled(true);
                    
    getSLF4JLogger().debug("Player {}[{}] tried to place a malicious crash sign."event.getPlayer().getName(),
                            
    event.getPlayer().getUniqueId());
                }
            }
        }
    }
    * просто отменит установку таблички, если она содержит один из краш компонентов

    UPD: не знаю, какой у вас сервер с клиентом, но на 1.19.4 такой краш в принципе не работает.
     

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