Фикс Ивенты для модов [Механизмы работают от имени владельца]

Проблема осталась: https://yadi.sk/d/3Bb9yhaHribZ8
Мне кажется что оно просто слишком часто долбит проверками.
Каждый тик долбит по 100-254 блоков проверки, только от 1 буровой.
ахахах, мне кажется там вечно будет выполняться.
Зациклено намертво.
Код:
        while (!S_checkTarget(depth))
        {
            // TODO gamerforEA code start
            if (FakePlayerUtils.callBlockBreakEvent(this.xCoord, depth, this.zCoord, this.getFakePlayer()).isCancelled()) continue;
            // TODO gamerforEA code end
            if (this.working) this.worldObj.setBlock(this.xCoord, depth, this.zCoord, QuarryPlusI.blockPlainPipe);
            depth--;
        }
 
Последнее редактирование:
Проблема осталась: https://yadi.sk/d/3Bb9yhaHribZ8
Мне кажется что оно просто слишком часто долбит проверками.
Каждый тик долбит по 100-254 блоков проверки, только от 1 буровой.
ахахах, мне кажется там вечно будет выполняться.
Зациклено намертво.
Код:
        while (!S_checkTarget(depth))
        {
            // TODO gamerforEA code start
            if (FakePlayerUtils.callBlockBreakEvent(this.xCoord, depth, this.zCoord, this.getFakePlayer()).isCancelled()) continue;
            // TODO gamerforEA code end
            if (this.working) this.worldObj.setBlock(this.xCoord, depth, this.zCoord, QuarryPlusI.blockPlainPipe);
            depth--;
        }
Я думал у тебя проблемы из-за карьера, попутал с буровой)
В буровой установки если даже прерывать цикл, внизу будет выполняться строка и ломать блок.
if (this.working) S_breakBlock(this.xCoord, depth, this.zCoord);
И в нижем методе зачем-то сделана проверка. Вообщем надо либо прерывать цикл и делать вторую проверку, либо сделать одну проверку ломания блока, но тогда труба будет появляться в привате, выбирай.
 
Я думал у тебя проблемы из-за карьера, попутал с буровой)
В буровой установки если даже прерывать цикл, внизу будет выполняться строка и ломать блок.
if (this.working) S_breakBlock(this.xCoord, depth, this.zCoord);
И в нижем методе зачем-то сделана проверка. Вообщем надо либо прерывать цикл и делать вторую проверку, либо сделать одну проверку ломания блока, но тогда труба будет появляться в привате, выбирай.
Поставил прерывание цикла, проблема решена.
Код:
    public void updateEntity()
    {
        super.updateEntity();
        if (this.worldObj.isRemote) return;
        int depth = this.yCoord - 1;
        while (!S_checkTarget(depth))
        {
            // TODO gamerforEA code start
            if (FakePlayerUtils.callBlockBreakEvent(this.xCoord, depth, this.zCoord, this.getFakePlayer()).isCancelled() == true) break;
            // TODO gamerforEA code end
            if (this.working) this.worldObj.setBlock(this.xCoord, depth, this.zCoord, QuarryPlusI.blockPlainPipe);
            depth--;
        }
        if (this.working) S_breakBlock(this.xCoord, depth, this.zCoord);
        S_pollItems();
    }
gamerforEA исправляй косяк.
 
Поставил прерывание цикла, проблема решена.
Код:
    public void updateEntity()
    {
        super.updateEntity();
        if (this.worldObj.isRemote) return;
        int depth = this.yCoord - 1;
        while (!S_checkTarget(depth))
        {
            // TODO gamerforEA code start
            if (FakePlayerUtils.callBlockBreakEvent(this.xCoord, depth, this.zCoord, this.getFakePlayer()).isCancelled() == true) break;
            // TODO gamerforEA code end
            if (this.working) this.worldObj.setBlock(this.xCoord, depth, this.zCoord, QuarryPlusI.blockPlainPipe);
            depth--;
        }
        if (this.working) S_breakBlock(this.xCoord, depth, this.zCoord);
        S_pollItems();
    }
gamerforEA исправляй косяк.
А когда ты прервешь цикл - выполнится нижняя строка, которая сломает блок :3
Да и надо бы было тогда переезжать на EventHelper.
 
А когда ты прервешь цикл - выполнится нижняя строка, которая сломает блок :3
Да и надо бы было тогда переезжать на EventHelper.
На ломание блока отдельный ивент висит!
Проверка на ломание в TileBasic.java
 
Возможно косяк KCauldron
Работает даже в lan сервере или vanila + forge.
и интересно как проверял аффтар, если он один )

там ж надо двое

обязательно

если один то не пашет

а если двое то пашет
Если использовать автономный активатор из Termal Expension, то можно и в одиночке в одного дюпать.
 
Зашёл с ещё одного аккаунта. Ты бы в жизни до такого не додумался.

школьник-аналитик. ну если он не смог проверить дюп который ему слили значит он ракал, рв2 и рв3 точно работает дюп.
 
Прошу прощения, билд 6
 
Назад
Верх Низ