Помогите Отключить создание портала при убийстве дракона

kukuruser

Активный участник
Пользователь
Баллы
66
Здравствуйте обитатели ведёрка! Может кто знает как сделать так, чтобы при убийстве дракона в Краю, не создавалось яйцо с порталом в обычный мир. Т.е. чтобы при убийстве дракона, яйцо не выпадало и не создавалась эта конструкция из бэдрока с порталом.
Версия: KCauldron 1.7.10 от Сашка с Форджем

p.s. прошу добавлять ответы только решающие эту задачу. Вопрос: "Зачем тебе это? Это ненужный гемор" - прошу не задавать.

p.s.s. Задача изменена на: "Как вырезать создание портала из Края при убийстве дракона?"
Через командные блоки не предлагать.

Тестил и плагин и проставлял в конфиге WG - не помогает. Помогите найти решение для KCauldron 1.7.10 + Forge

Что я делал и оно оказалось безрезультатно:
1) Плагин https://www.spigotmc.org/resources/morkaz-anty-enderdragon-portal-creation-spawn.15406/reviews Должен убирать портал в краю при убийстве дракона
2) Плагин EnderSpawn https://dev.bukkit.org/projects/enderspawn
3) Пробовал сам писать плагин:
Код:
@EventHandler
    public void onEntityCreatePortalEvent(EntityCreatePortalEvent event) {
        if (((event.getEntity() instanceof EnderDragon))) {
            event.setCancelled(true);
        }
    }
4) Менял/чистил само ядро (EntityCreatePortalEvent.java)
Код:
package org.bukkit.event.entity;

import org.bukkit.event.*;
import java.util.*;
import org.bukkit.block.*;
import org.bukkit.*;
import org.bukkit.entity.*;

public class EntityCreatePortalEvent extends EntityEvent implements Cancellable
{
    private static final HandlerList handlers;
    private final List<BlockState> blocks;
    private boolean cancelled;
    private PortalType type;

    public EntityCreatePortalEvent(final LivingEntity what, final List<BlockState> blocks, final PortalType type) {
        super(what);
        this.cancelled = false;
        this.type = PortalType.CUSTOM;
        this.blocks = blocks;
        this.type = type;
    }

    @Override
    public LivingEntity getEntity() {
        return (LivingEntity)this.entity;
    }

    public List<BlockState> getBlocks() {
        return this.blocks;
    }

    @Override
    public boolean isCancelled() {
        return this.cancelled;
    }

    @Override
    public void setCancelled(final boolean cancel) {
        this.cancelled = cancel;
    }

    public PortalType getPortalType() {
        return this.type;
    }

    @Override
    public HandlerList getHandlers() {
        return EntityCreatePortalEvent.handlers;
    }

    public static HandlerList getHandlerList() {
        return EntityCreatePortalEvent.handlers;
    }

    static {
        handlers = new HandlerList();
    }
}
Код:
package org.bukkit.event.entity;
5) Меня,чтобы по дефолту создание портала было отменено:
Код:
        this.cancelled = true;
Ничего не помогает! Видимо какой-то другой ивент ещё действует, чтоли.

P.S. Устроит костыль вида: Чтобы портал спавнился под краем.
 
Последнее редактирование:
Ну вот и давись багами под 1.7.10, тебе уже дали все возможные варианты. Кстати можно попробовать тупо убивать айтем яйца дракона когда он выпадает
Мне ещё и портал надо уничтожить.
 
Ну вот и давись багами под 1.7.10, тебе уже дали все возможные варианты. Кстати можно попробовать тупо убивать айтем яйца дракона когда он выпадает
Спасибо, но я просил решение проблемы на 1.7.10, а не совет поставить другую версию MC. Мне нужен именно фикс этой проблемы.
 
Могу предложить такой костыль:
Слушаем EntityDamageEvent, проверяем новое здоровье. При смерти отменяем эвент и удаляем дракона. Таким образом, дракон просто будет пропадать (удаляться, а не умирать). Но в этом случае нужно будет самостоятельно дропать опыт и отсылать игрокам в мире пакет анимации смерти зверя.
Хотя если даже EntityCreatePortalEvent не отменяется, то, возможно, мой способ тоже не прокатит. Что взять с кривого ядра?..
 
Могу предложить такой костыль:
Слушаем EntityDamageEvent, проверяем новое здоровье. При смерти отменяем эвент и удаляем дракона. Таким образом, дракон просто будет пропадать (удаляться, а не умирать). Но в этом случае нужно будет самостоятельно дропать опыт и отсылать игрокам в мире пакет анимации смерти зверя.
Хотя если даже EntityCreatePortalEvent не отменяется, то, возможно, мой способ тоже не прокатит. Что взять с кривого ядра?..
Я смотрел класс дракоши, все там отменяется.
 
Зачем вы присосались к этому 1.7.10 с кривым, мусорным bukkit api? SpongeForge и в путь!
 
Аутчлибу никто не отменял и в SpongeForge. Так что такая отмазка тут вообще не в тему.
А ещё я такой капризный, хочу 1.7.10.
На самом деле просто уже сборки готовы для 1.7.10, постройки, плагины настроены. Впадлу это всё переносить)
 
А ещё я такой капризный, хочу 1.7.10.
На самом деле просто уже сборки готовы для 1.7.10, постройки, плагины настроены. Впадлу это всё переносить)
Ты и не перенесешь, когда узнаешь как все печально с плагинами под спонж.
 
Назад
Верх Низ