From fd630ae091b581d3a6d0e50a1ffc1fa5fabe04d8 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Tue, 10 Jan 2023 17:01:03 +0100 Subject: [PATCH] fix: tesselator crash closes #1 --- src/main/java/mffs/block/BlockForceField.java | 3 +-- .../java/mffs/render/RenderForceField.java | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/mffs/block/BlockForceField.java b/src/main/java/mffs/block/BlockForceField.java index d3f8483..d7f3641 100644 --- a/src/main/java/mffs/block/BlockForceField.java +++ b/src/main/java/mffs/block/BlockForceField.java @@ -19,7 +19,6 @@ import mffs.tileentity.TileEntityForceField; import micdoodle8.mods.galacticraft.api.block.IPartialSealableBlock; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -46,7 +45,7 @@ public class BlockForceField super("forceField", Material.glass); this.setBlockUnbreakable(); this.setResistance(999.0f); - this.setCreativeTab((CreativeTabs) null); + this.setCreativeTab(null); } @Override diff --git a/src/main/java/mffs/render/RenderForceField.java b/src/main/java/mffs/render/RenderForceField.java index e4459c8..07695b4 100644 --- a/src/main/java/mffs/render/RenderForceField.java +++ b/src/main/java/mffs/render/RenderForceField.java @@ -5,13 +5,13 @@ import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import mffs.ModularForceFieldSystem; import mffs.tileentity.TileEntityForceField; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; @SideOnly(Side.CLIENT) public class RenderForceField implements ISimpleBlockRenderingHandler { @@ -37,6 +37,23 @@ public class RenderForceField implements ISimpleBlockRenderingHandler { final int modelId, final RenderBlocks renderer ) { + boolean shouldRender = false; + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if (block.shouldSideBeRendered( + iBlockAccess, + x + dir.offsetX, + y + dir.offsetY, + z + dir.offsetZ, + iBlockAccess.getBlockMetadata(x, y, z) + )) { + shouldRender = true; + break; + } + } + + if (!shouldRender) + return false; + int renderType = 0; final TileEntity tileEntity = iBlockAccess.getTileEntity(x, y, z); if (tileEntity instanceof TileEntityForceField) { @@ -48,9 +65,7 @@ public class RenderForceField implements ISimpleBlockRenderingHandler { } } } - ModularForceFieldSystem.LOGGER.fine( - "Render block: " + block.getUnlocalizedName() - ); + if (renderType >= 0) { switch (renderType) { case 4: {