SlashBlade

SlashBlade

4M Downloads

PokecubeとSlashBladeは両立しない Pokecube and SlashBlade Incompatibility

schindlershadow opened this issue · 2 comments

commented

Pokecubeのモンスターボールを投げる時、空中にSlashBladeの刀で切ってモンスターボールが消える。

Pokecubeのモンスターボールは矢と似てる。

「これはSlashBladeの問題」ってpokecubeの作家が言った。

一つの解決は実体のブラックリスト。ブラックリストしたら他のモードがSlashBladeで両立できる。

https://github.com/Thutmose/Pokecube

ここからは僕とpokecubeの作家の会話:

Musicology - Yesterday at 7:30 PM
hey thut can pokeballs be destroyed midflight?

Thutmose - Yesterday at 7:34 PM
pokeball entities shouldn't get damaged? 

Schindler - Yesterday at 7:35 PM
slashblades has a thing where you can remove arrows in the air when you attack them, 
we are wondering if that removes pokeballs in mid flight

Thutmose - Yesterday at 7:39 PM
ahha, it very well might have
it is supposed to never allow attacking it except for when it falls out of world
    @Override
    public boolean attackEntityFrom(DamageSource source, float damage)
    {
        if (source == DamageSource.outOfWorld)
        {
            if (PokecubeManager.isFilled(getEntityItem()))
            {
                IPokemob mob = this.sendOut();
                if (mob != null) mob.returnToPokecube();
            }
            this.setDead();
        }
        return false;
    }
but if some other mod is force killing it in the air, that would remove it

Schindler - Yesterday at 7:41 PM
is there a way to make it immune?

Thutmose - Yesterday at 7:41 PM
not unless I know how it is being removed
^ that code makes it immune to all damage

Thutmose - Yesterday at 7:48 PM
it seems it might just directly call setDead() to the target and remove it from the world.
setDead() is what minecraft uses to signal that the entity is to be removed from the world
nothing to do with health at all
if you call setDead() on any entity, no matter the health, or anything, 
will make it be removed from the world next tick

もし訳すは必要なら僕が訳す。

commented

SlashBladeにも破壊可能対象かどうかのブラックリストがあるため、IThrowableEntityを登録できるように変更いたします。

commented

ありがとう!本当に助かった!