Scrap attempt at ninja TE disguise

This commit is contained in:
Sarinsa 2022-07-01 02:52:03 +02:00 committed by Sarinsa
parent 7ba1594978
commit 1e618439dc
4 changed files with 6 additions and 52 deletions

View file

@ -54,29 +54,14 @@ public class NinjaSkeletonRenderer extends SpecialSkeletonRenderer {
}
else {
shadowRadius = 0.0F;
renderBlockDisguise( ninja, disguiseBlock, entity.blockPosition(), partialTicks, entity.level, matrixStack, buffer, entity.getRandom() );
renderBlockDisguise( disguiseBlock, entity.blockPosition(), entity.level, matrixStack, buffer, entity.getRandom() );
}
}
private void renderBlockDisguise( INinja ninja, BlockState block, BlockPos pos, float partialTicks, IBlockDisplayReader displayReader, MatrixStack matrixStack, IRenderTypeBuffer buffer, Random random ) {
if (block.hasTileEntity()) {
TileEntity cachedTile = ninja.getOrCreateCachedTile();
if (cachedTile != null) {
renderTileEntityDisguise(cachedTile, partialTicks, matrixStack);
}
}
else {
matrixStack.pushPose();
matrixStack.translate( -0.5, 0.0, -0.5 );
blockRenderer.renderModel(block, pos, displayReader, matrixStack, buffer.getBuffer(RenderType.cutout()), false, random, EmptyModelData.INSTANCE);
matrixStack.popPose();
}
}
// TODO - Investigate or scrap? Currently does not work
private void renderTileEntityDisguise( TileEntity tileEntity, float partialTicks, MatrixStack matrixStack ) {
IRenderTypeBuffer renderTypeBuffer = Minecraft.getInstance().levelRenderer.renderBuffers.bufferSource();
TileEntityRendererDispatcher.instance.render(tileEntity, partialTicks, matrixStack, renderTypeBuffer);
private void renderBlockDisguise( BlockState block, BlockPos pos, IBlockDisplayReader displayReader, MatrixStack matrixStack, IRenderTypeBuffer buffer, Random random ) {
matrixStack.pushPose();
matrixStack.translate( -0.5, 0.0, -0.5 );
blockRenderer.renderModel(block, pos, displayReader, matrixStack, buffer.getBuffer(RenderType.cutout()), false, random, EmptyModelData.INSTANCE);
matrixStack.popPose();
}
}

View file

@ -26,7 +26,4 @@ public interface INinja {
/** Sets the block being hidden (rendered) as, set to null to cancel hiding. */
void setHiddenDragon( @Nullable BlockState block );
@Nullable
TileEntity getOrCreateCachedTile();
}

View file

@ -257,18 +257,4 @@ public class NinjaSkeletonEntity extends _SpecialSkeletonEntity implements INinj
spawnAnim();
}
}
@Nullable
@Override
public TileEntity getOrCreateCachedTile () {
if (cachedTileEntity == null) {
BlockState disguise = getHiddenDragon();
if (disguise != null && disguise.hasTileEntity()) {
cachedTileEntity = disguise.createTileEntity(level);
cachedTileEntity.setLevelAndPosition(null, BlockPos.ZERO);
}
}
return cachedTileEntity;
}
}

View file

@ -6,7 +6,6 @@ import fathertoast.specialmobs.common.bestiary.SpecialMob;
import fathertoast.specialmobs.common.entity.MobHelper;
import fathertoast.specialmobs.common.entity.ai.INinja;
import fathertoast.specialmobs.common.entity.ai.NinjaGoal;
import fathertoast.specialmobs.common.network.NetworkHelper;
import fathertoast.specialmobs.common.util.AttributeHelper;
import fathertoast.specialmobs.common.util.References;
import fathertoast.specialmobs.datagen.loot.LootTableBuilder;
@ -29,7 +28,6 @@ import net.minecraft.util.ActionResultType;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.World;
@ -250,16 +248,4 @@ public class NinjaWitherSkeletonEntity extends _SpecialWitherSkeletonEntity impl
spawnAnim();
}
}
@Nullable
@Override
public TileEntity getOrCreateCachedTile () {
if (cachedTileEntity == null) {
if (getHiddenDragon().hasTileEntity()) {
cachedTileEntity = getHiddenDragon().createTileEntity(level);
cachedTileEntity.setLevelAndPosition(null, BlockPos.ZERO);
}
}
return cachedTileEntity;
}
}