Jump to content

MC 1.10+ Glass slabs and silk touch [SOLVED]


winnetrie

Recommended Posts

So i made glass slabs wich are working fine except for the drops.

I know (think) i can set the quantitydropped to 0, so there will be no drops at all.

So i use the cansilkharvest() to be able to get the slab with silktouch.

At this point everything works fine.

But if i mine the double slab nothing drops.

Ofcourse i have to define it somewhere somehow, but i don't know it.

 

In 1.7.10 i used this method:

    @Override
    protected ItemStack createStackedBlock(int par1)
    {
    	int drops=0;
    	if (this.isdouble==true){
    		drops=2;
    		
    	}
    	if (this.isdouble==false){
    		drops=1 ;
    	}
    return new ItemStack(slab, drops, par1 & 7);
    }

Alot has changed since 1.7.10 and don't know an alternative for 1.10.2

 

This is my BlockGlassBlockSlab.class:

 

public abstract class BlockGlassBlockSlab1 extends BlockSlab implements IMetaBlockName{

public static final PropertyEnum TYPE = PropertyEnum.create("type", BlockGlassBlockSlab1.EnumType.class);

public BlockGlassBlockSlab1(String unlocalname, String registryname) {
	super(Material.GLASS);
	setUnlocalizedName(unlocalname);
	setRegistryName(registryname);
	useNeighborBrightness = true;
	setHardness(0.3F);
        //setResistance(10.0F);
        setSoundType(SoundType.GLASS);
        setCreativeTab(Tem.blockstab);
	IBlockState state = this.blockState.getBaseState();
	state.withProperty(TYPE, EnumType.WHITE);
	if(!this.isDouble()){
		state.withProperty(HALF, EnumBlockHalf.BOTTOM);
	}
	setDefaultState(state);
}
@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
protected boolean canSilkHarvest()
    {
        return true;
    }
@Override
public boolean isFullCube(IBlockState state)
    {
        return false;
    }
@Override
@SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer()
    {
        return BlockRenderLayer.TRANSLUCENT;
    }
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return Item.getItemFromBlock(ModBlocks.glassslab1);
    }
@Override
public int quantityDropped(Random random)
    {

        return 0;//this.isDouble() ? 2 : 1;
    }


@Override
public int damageDropped (IBlockState state){
	return ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();

}
@Override
public String getUnlocalizedName(int meta){
	return this.getUnlocalizedName() + "_" + EnumType.values()[meta];
}
@Override
public Comparable<?> getTypeForItem(ItemStack stack) {
	// TODO Auto-generated method stub
	return BlockGlassBlockSlab1.EnumType.byMetadata(stack.getMetadata() & 7);
}
@Override
public IProperty<?> getVariantProperty(){
	return TYPE;
}


@Override
public final IBlockState getStateFromMeta (int meta){
	IBlockState blockstate = this.getDefaultState();
	blockstate = blockstate.withProperty(TYPE,BlockGlassBlockSlab1.EnumType.byMetadata(meta & 7));
	if(!this.isDouble()){
		blockstate = blockstate.withProperty(HALF, (meta & 8 ) == 8 ? EnumBlockHalf.BOTTOM : EnumBlockHalf.TOP);
		}
	return blockstate;
}

@Override
public final int getMetaFromState(IBlockState state){
	int meta = ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();
	if (!this.isDouble() && state.getValue(HALF) == EnumBlockHalf.TOP){
		meta |=8;
	}
	return meta;
}
@Override
protected final BlockStateContainer createBlockState(){
	if (this.isDouble()){
		return new BlockStateContainer(this, getVariantProperty());
	}
	else {
		return new BlockStateContainer(this, getVariantProperty(), HALF);
	}
}

@Override
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
	for (EnumType t : EnumType.values())
    list.add(new ItemStack(itemIn, 1, t.ordinal()));  
}

@Override
public String getSpecialName(ItemStack stack) {
	return EnumType.values()[stack.getItemDamage()].name().toLowerCase();
}
@Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
    {
        return getItem(world, pos, state);
}

public enum EnumType implements IStringSerializable{

	WHITE(0, "white"), ORANGE(1, "orange"), MAGENTA(2, "magenta"), LIGHTBLUE(3, "light_blue"), YELLOW(4, "yellow"), LIME(5, "lime"), PINK(6, "pink"), GRAY(7, "gray"); 
	//SILVER(8, "silver"), CYAN(9, "cyan"), PURPLE(10, "purple"), BLUE(11, "blue"), BROWN(12, "brown"), GREEN(13, "green"), RED(14, "red"), BLACK(15, "black");
	private static final BlockGlassBlockSlab1.EnumType[] META_LOOKUP = new BlockGlassBlockSlab1.EnumType[values().length];

    private int ID;
    private String name;
   
    private EnumType(int ID, String name) {
        this.ID = ID;
        this.name = name;
            
    }
    @Override
    public String getName() {
        return name;
    }
    public int getID() {
        return ID;
    }
    @Override
    public String toString() {
        return getName();
    }
    public static BlockGlassBlockSlab1.EnumType byMetadata(int meta)
        {
            if (meta < 0 || meta >= META_LOOKUP.length)
            {
                meta = 0;
            }

            return META_LOOKUP[meta];
        }
    static
        {
            for (BlockGlassBlockSlab1.EnumType types : values())
            {
                META_LOOKUP[types.getID()] = types;
            }
        }
}

}

 

 

Here is my current slab class:

 

public abstract class BlockGlassBlockSlab1 extends BlockSlab implements IMetaBlockName{

public static final PropertyEnum TYPE = PropertyEnum.create("type", BlockGlassBlockSlab1.EnumType.class);

public BlockGlassBlockSlab1(String unlocalname, String registryname) {
	super(Material.GLASS);
	setUnlocalizedName(unlocalname);
	setRegistryName(registryname);
	useNeighborBrightness = true;
	setHardness(0.3F);
        //setResistance(10.0F);
        setSoundType(SoundType.GLASS);
        setCreativeTab(Tem.blockstab);
	IBlockState state = this.blockState.getBaseState();
	state.withProperty(TYPE, EnumType.WHITE);
	if(!this.isDouble()){
		state.withProperty(HALF, EnumBlockHalf.BOTTOM);
	}
	setDefaultState(state);
}
@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
protected boolean canSilkHarvest()
    {
        return true;
    }

@Override
public boolean isOpaqueCube(IBlockState state)
    {
        return false;
    }
@Override
public boolean isFullCube(IBlockState state)
    {
        return false;
    }
@Override
@SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer()
    {
        return BlockRenderLayer.TRANSLUCENT;
    }
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return Item.getItemFromBlock(ModBlocks.glassslab1);
    }
@Override
protected ItemStack createStackedBlock(IBlockState state){
	int type = ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();
	int drops =0;
	if(this.isDouble()){drops=2;}
	else {drops=1;}

	return new ItemStack(ModBlocks.glassslab1,drops,type);

}
@Override
public int quantityDropped(Random random)
    {

        return 0;//this.isDouble() ? 2 : 1;
    }


@Override
public int damageDropped (IBlockState state){
	return ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();

}
@Override
public String getUnlocalizedName(int meta){
	return this.getUnlocalizedName() + "_" + EnumType.values()[meta];
}
@Override
public Comparable<?> getTypeForItem(ItemStack stack) {
	// TODO Auto-generated method stub
	return BlockGlassBlockSlab1.EnumType.byMetadata(stack.getMetadata() & 7);
}
@Override
public IProperty<?> getVariantProperty(){
	return TYPE;
}


@Override
public final IBlockState getStateFromMeta (int meta){
	IBlockState blockstate = this.getDefaultState();
	blockstate = blockstate.withProperty(TYPE,BlockGlassBlockSlab1.EnumType.byMetadata(meta & 7));
	if(!this.isDouble()){
		blockstate = blockstate.withProperty(HALF, (meta & 8 ) == 8 ? EnumBlockHalf.BOTTOM : EnumBlockHalf.TOP);
		}
	return blockstate;
}

@Override
public final int getMetaFromState(IBlockState state){
	int meta = ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();
	if (!this.isDouble() && state.getValue(HALF) == EnumBlockHalf.TOP){
		meta |=8;
	}
	return meta;
}
@Override
protected final BlockStateContainer createBlockState(){
	if (this.isDouble()){
		return new BlockStateContainer(this, getVariantProperty());
	}
	else {
		return new BlockStateContainer(this, getVariantProperty(), HALF);
	}
}

@Override
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
	for (EnumType t : EnumType.values())
    list.add(new ItemStack(itemIn, 1, t.ordinal()));  
}

@Override
public String getSpecialName(ItemStack stack) {
	return EnumType.values()[stack.getItemDamage()].name().toLowerCase();
}
@Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
    {
        return getItem(world, pos, state);
}

public enum EnumType implements IStringSerializable{

	WHITE(0, "white"), ORANGE(1, "orange"), MAGENTA(2, "magenta"), LIGHTBLUE(3, "light_blue"), YELLOW(4, "yellow"), LIME(5, "lime"), PINK(6, "pink"), GRAY(7, "gray"); 
	//SILVER(8, "silver"), CYAN(9, "cyan"), PURPLE(10, "purple"), BLUE(11, "blue"), BROWN(12, "brown"), GREEN(13, "green"), RED(14, "red"), BLACK(15, "black");
	private static final BlockGlassBlockSlab1.EnumType[] META_LOOKUP = new BlockGlassBlockSlab1.EnumType[values().length];

    private int ID;
    private String name;
   
    private EnumType(int ID, String name) {
        this.ID = ID;
        this.name = name;
            
    }
    @Override
    public String getName() {
        return name;
    }
    public int getID() {
        return ID;
    }
    @Override
    public String toString() {
        return getName();
    }
    public static BlockGlassBlockSlab1.EnumType byMetadata(int meta)
        {
            if (meta < 0 || meta >= META_LOOKUP.length)
            {
                meta = 0;
            }

            return META_LOOKUP[meta];
        }
    static
        {
            for (BlockGlassBlockSlab1.EnumType types : values())
            {
                META_LOOKUP[types.getID()] = types;
            }
        }
}

}

 

Link to comment
Share on other sites

Override

protected ItemStack createStackedBlock(IBlockState state)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Ok thank you that fixed it.

 

How do i prevent that you look thrue the world?

 

Do i need to override this method: public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)

 

I think i do, because it only checks for

this == Blocks.GLASS || this == Blocks.STAINED_GLASS

this is how it looks like:

 

@SideOnly(Side.CLIENT)
    public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
    {
        IBlockState iblockstate = blockAccess.getBlockState(pos.offset(side));
        Block block = iblockstate.getBlock();

        if (this == Blocks.GLASS || this == Blocks.STAINED_GLASS)
        {
            if (blockState != iblockstate)
            {
                return true;
            }

            if (block == this)
            {
                return false;
            }
        }

        return !this.ignoreSimilarity && block == this ? false : super.shouldSideBeRendered(blockState, blockAccess, pos, side);
    }

 

and this line looks like this:

return !this.ignoreSimilarity && block == this ? false : super.shouldSideBeRendered(blockState, blockAccess, pos, side);

 

Link to comment
Share on other sites

    @Override

@SideOnly(Side.CLIENT)

public BlockRenderLayer getBlockLayer() {

return BlockRenderLayer.CUTOUT;

}

 

Use CUTOUT or TRANSLUCENT as appropriate.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

    @Override

@SideOnly(Side.CLIENT)

public BlockRenderLayer getBlockLayer() {

return BlockRenderLayer.CUTOUT;

}

 

Use CUTOUT or TRANSLUCENT as appropriate.

 

I already implemented that but this do something else.

I Need something that prevents seeing thru the blocks.

The block beneath the glassslab has no texture.

Link to comment
Share on other sites


@Override
public boolean isOpaqueCube(IBlockState state) {
	return false;
}

@Override
public boolean isFullCube(IBlockState state) {
	return false;
}

@Override
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer() {
	return BlockRenderLayer.CUTOUT;
}

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Yeah i already tried this before but it gave me a crash, so i thought  i did it wrong.

So here is the crash:

 

[22:11:38] [Client thread/FATAL]: Reported exception thrown!

net.minecraft.util.ReportedException: Tesselating block model

at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:96) ~[blockRendererDispatcher.class:?]

at net.minecraft.client.renderer.chunk.RenderChunk.rebuildChunk(RenderChunk.java:199) ~[RenderChunk.class:?]

at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:122) ~[ChunkRenderWorker.class:?]

at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:171) ~[ChunkRenderDispatcher.class:?]

at net.minecraft.client.renderer.RenderGlobal.setupTerrain(RenderGlobal.java:977) ~[RenderGlobal.class:?]

at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1339) ~[EntityRenderer.class:?]

at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1282) ~[EntityRenderer.class:?]

at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) ~[EntityRenderer.class:?]

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1139) ~[Minecraft.class:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:406) [Minecraft.class:?]

at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_73]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_73]

at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_73]

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]

at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_73]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_73]

at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_73]

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]

at GradleStart.main(GradleStart.java:26) [start/:?]

Caused by: java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=tem:glassdoubleslab1, properties=[type]}

at net.minecraft.block.state.BlockStateContainer$StateImplementation.getValue(BlockStateContainer.java:196) ~[blockStateContainer$StateImplementation.class:?]

at net.minecraft.block.BlockSlab.doesSideBlockRendering(BlockSlab.java:68) ~[blockSlab.class:?]

at net.minecraft.block.state.BlockStateContainer$StateImplementation.doesSideBlockRendering(BlockStateContainer.java:513) ~[blockStateContainer$StateImplementation.class:?]

at net.minecraft.block.Block.shouldSideBeRendered(Block.java:543) ~[block.class:?]

at net.minecraft.block.state.BlockStateContainer$StateImplementation.shouldSideBeRendered(BlockStateContainer.java:428) ~[blockStateContainer$StateImplementation.class:?]

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:132) ~[ForgeBlockModelRenderer.class:?]

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:103) ~[ForgeBlockModelRenderer.class:?]

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:46) ~[blockModelRenderer.class:?]

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:37) ~[blockModelRenderer.class:?]

at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:81) ~[blockRendererDispatcher.class:?]

... 22 more

[22:11:38] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: ---- Minecraft Crash Report ----

// I'm sorry, Dave.

 

Time: 13-10-16 22:11

Description: Tesselating block model

 

java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=tem:glassdoubleslab1, properties=[type]}

at net.minecraft.block.state.BlockStateContainer$StateImplementation.getValue(BlockStateContainer.java:196)

at net.minecraft.block.BlockSlab.doesSideBlockRendering(BlockSlab.java:68)

at net.minecraft.block.state.BlockStateContainer$StateImplementation.doesSideBlockRendering(BlockStateContainer.java:513)

at net.minecraft.block.Block.shouldSideBeRendered(Block.java:543)

at net.minecraft.block.state.BlockStateContainer$StateImplementation.shouldSideBeRendered(BlockStateContainer.java:428)

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:132)

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:103)

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:46)

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:37)

at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:81)

at net.minecraft.client.renderer.chunk.RenderChunk.rebuildChunk(RenderChunk.java:199)

at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:122)

at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:171)

at net.minecraft.client.renderer.RenderGlobal.setupTerrain(RenderGlobal.java:977)

at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1339)

at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1282)

at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091)

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1139)

at net.minecraft.client.Minecraft.run(Minecraft.java:406)

at net.minecraft.client.main.Main.main(Main.java:118)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)

at GradleStart.main(GradleStart.java:26)

 

 

A detailed walkthrough of the error, its code path and all known details is as follows:

---------------------------------------------------------------------------------------

 

-- Head --

Thread: Client thread

Stacktrace:

at net.minecraft.block.state.BlockStateContainer$StateImplementation.getValue(BlockStateContainer.java:196)

at net.minecraft.block.BlockSlab.doesSideBlockRendering(BlockSlab.java:68)

at net.minecraft.block.state.BlockStateContainer$StateImplementation.doesSideBlockRendering(BlockStateContainer.java:513)

at net.minecraft.block.Block.shouldSideBeRendered(Block.java:543)

at net.minecraft.block.state.BlockStateContainer$StateImplementation.shouldSideBeRendered(BlockStateContainer.java:428)

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.render(ForgeBlockModelRenderer.java:132)

at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:103)

 

-- Block model being tesselated --

Details:

Block: minecraft:grass[snowy=false]

Block location: World: (-226,71,216), Chunk: (at 14,4,8 in -15,13; contains blocks -240,0,208 to -225,255,223), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)

Using AO: true

Stacktrace:

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:46)

at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:37)

 

-- Block being tesselated --

Details:

Block type: ID #2 (tile.grass // net.minecraft.block.BlockGrass)

Block data value: 0 / 0x0 / 0b0000

Block location: World: (-226,71,216), Chunk: (at 14,4,8 in -15,13; contains blocks -240,0,208 to -225,255,223), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)

Stacktrace:

at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:81)

at net.minecraft.client.renderer.chunk.RenderChunk.rebuildChunk(RenderChunk.java:199)

at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:122)

at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.updateChunkNow(ChunkRenderDispatcher.java:171)

at net.minecraft.client.renderer.RenderGlobal.setupTerrain(RenderGlobal.java:977)

at net.minecraft.client.renderer.EntityRenderer.renderWorldPass(EntityRenderer.java:1339)

at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1282)

 

-- Affected level --

Details:

Level name: MpServer

All players: 1 total; [EntityPlayerSP['Player387'/408, l='MpServer', x=-224,53, y=72,00, z=214,76]]

Chunk stats: MultiplayerChunkCache: 596, 596

Level seed: 0

Level generator: ID 00 - default, ver 1. Features enabled: false

Level generator options:

Level spawn location: World: (-188,64,256), Chunk: (at 4,4,0 in -12,16; contains blocks -192,0,256 to -177,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)

Level time: 70693 game time, 11486 day time

Level dimension: 0

Level storage version: 0x00000 - Unknown?

Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)

Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false

Forced entities: 141 total; [EntityItem['item.item.egg'/256, l='MpServer', x=-168,35, y=90,00, z=266,66], EntityZombie['Zombie'/257, l='MpServer', x=-163,81, y=42,00, z=277,57], EntityChicken['Chicken'/258, l='MpServer', x=-166,12, y=87,00, z=286,51], EntityChicken['Chicken'/261, l='MpServer', x=-160,59, y=87,00, z=289,17], EntityPig['Pig'/270, l='MpServer', x=-159,24, y=72,00, z=150,56], EntityPig['Pig'/271, l='MpServer', x=-157,17, y=71,00, z=164,33], EntityEnderman['Enderman'/272, l='MpServer', x=-149,50, y=33,00, z=177,50], EntityEnderman['Enderman'/273, l='MpServer', x=-149,50, y=33,00, z=177,50], EntityBat['Bat'/274, l='MpServer', x=-148,70, y=51,10, z=248,70], EntityBat['Bat'/275, l='MpServer', x=-154,76, y=45,10, z=272,25], EntityChicken['Chicken'/276, l='MpServer', x=-153,49, y=90,00, z=292,15], EntityPig['Pig'/55, l='MpServer', x=-301,52, y=68,00, z=135,72], EntityPig['Pig'/68, l='MpServer', x=-303,53, y=67,00, z=151,29], EntityPig['Pig'/69, l='MpServer', x=-300,86, y=65,00, z=167,49], EntityChicken['Chicken'/71, l='MpServer', x=-303,19, y=65,00, z=174,59], EntityPig['Pig'/74, l='MpServer', x=-302,50, y=65,00, z=168,75], EntityChicken['Chicken'/75, l='MpServer', x=-288,10, y=71,00, z=166,37], EntityChicken['Chicken'/76, l='MpServer', x=-290,74, y=65,00, z=191,23], EntityChicken['Chicken'/78, l='MpServer', x=-289,44, y=68,00, z=196,10], EntityCreeper['Creeper'/79, l='MpServer', x=-299,50, y=23,00, z=238,50], EntitySkeleton['Skeleton'/80, l='MpServer', x=-290,50, y=47,00, z=276,50], EntitySkeleton['Skeleton'/81, l='MpServer', x=-291,50, y=47,00, z=280,50], EntityZombie['Zombie'/82, l='MpServer', x=-291,51, y=49,00, z=272,77], EntitySkeleton['Skeleton'/89, l='MpServer', x=-277,50, y=28,00, z=147,50], EntitySkeleton['Skeleton'/90, l='MpServer', x=-277,50, y=28,00, z=147,50], EntityItem['item.item.egg'/91, l='MpServer', x=-284,53, y=67,00, z=163,60], EntityChicken['Chicken'/92, l='MpServer', x=-283,80, y=70,00, z=173,50], EntityChicken['Chicken'/94, l='MpServer', x=-274,52, y=71,00, z=177,19], EntityChicken['Chicken'/95, l='MpServer', x=-279,75, y=65,00, z=199,49], EntityItem['item.item.egg'/96, l='MpServer', x=-282,90, y=64,00, z=197,78], EntityChicken['Chicken'/97, l='MpServer', x=-284,50, y=67,00, z=192,43], EntityCreeper['Creeper'/98, l='MpServer', x=-286,50, y=49,00, z=273,50], EntityZombie['entity.Zombie.name'/99, l='MpServer', x=-273,77, y=62,00, z=282,50], EntityZombie['Zombie'/100, l='MpServer', x=-279,70, y=63,00, z=282,30], EntityPig['Pig'/102, l='MpServer', x=-277,48, y=72,00, z=292,73], EntityChicken['Chicken'/109, l='MpServer', x=-267,20, y=69,00, z=163,52], EntityChicken['Chicken'/110, l='MpServer', x=-262,79, y=70,00, z=171,50], EntityItem['item.item.egg'/111, l='MpServer', x=-266,13, y=68,00, z=168,74], EntityItem['item.item.egg'/112, l='MpServer', x=-267,45, y=68,00, z=164,44], EntityChicken['Chicken'/113, l='MpServer', x=-268,79, y=69,00, z=161,44], EntityCreeper['Creeper'/114, l='MpServer', x=-261,82, y=48,00, z=183,58], EntityWitch['Witch'/115, l='MpServer', x=-258,28, y=48,00, z=231,98], EntitySkeleton['Skeleton'/116, l='MpServer', x=-268,21, y=61,00, z=234,50], EntityItem['item.item.egg'/117, l='MpServer', x=-259,59, y=74,00, z=237,88], EntityZombie['Zombie'/118, l='MpServer', x=-264,50, y=21,00, z=255,81], EntityChicken['Chicken'/119, l='MpServer', x=-258,50, y=81,00, z=244,13], EntityCreeper['Creeper'/120, l='MpServer', x=-261,81, y=18,00, z=266,69], EntityCreeper['Creeper'/122, l='MpServer', x=-264,54, y=18,00, z=284,34], EntityCreeper['Creeper'/123, l='MpServer', x=-271,17, y=32,00, z=277,32], EntityCreeper['Creeper'/124, l='MpServer', x=-266,50, y=37,00, z=289,50], EntityCreeper['Creeper'/125, l='MpServer', x=-266,50, y=37,00, z=290,50], EntityCreeper['Creeper'/126, l='MpServer', x=-271,46, y=60,00, z=292,20], EntityCreeper['Creeper'/136, l='MpServer', x=-253,50, y=49,00, z=141,50], EntityCreeper['Creeper'/138, l='MpServer', x=-253,50, y=20,00, z=191,50], EntityBat['Bat'/139, l='MpServer', x=-249,51, y=49,10, z=183,61], EntityPig['Pig'/140, l='MpServer', x=-245,50, y=71,00, z=183,04], EntitySkeleton['Skeleton'/141, l='MpServer', x=-248,50, y=15,00, z=213,50], EntityBat['Bat'/142, l='MpServer', x=-246,75, y=40,10, z=219,25], EntityCreeper['Creeper'/143, l='MpServer', x=-253,50, y=27,00, z=278,22], EntityBat['Bat'/144, l='MpServer', x=-253,47, y=21,10, z=285,27], EntitySkeleton['Skeleton'/145, l='MpServer', x=-249,50, y=28,00, z=274,27], EntityZombie['Zombie'/146, l='MpServer', x=-253,77, y=58,00, z=275,51], EntityZombie['Zombie'/147, l='MpServer', x=-251,73, y=57,00, z=274,50], EntityPig['Pig'/159, l='MpServer', x=-225,32, y=71,00, z=142,55], EntityPig['Pig'/160, l='MpServer', x=-232,71, y=71,00, z=154,20], EntityPig['Pig'/161, l='MpServer', x=-229,56, y=61,00, z=167,43], EntityPig['Pig'/162, l='MpServer', x=-233,21, y=61,00, z=169,51], EntityPig['Pig'/163, l='MpServer', x=-237,26, y=70,00, z=173,50], EntityItem['item.item.egg'/164, l='MpServer', x=-229,83, y=70,00, z=168,93], EntityChicken['Chicken'/165, l='MpServer', x=-230,61, y=70,00, z=172,85], EntitySkeleton['Skeleton'/166, l='MpServer', x=-232,95, y=14,00, z=247,57], EntitySpider['Spider'/167, l='MpServer', x=-230,24, y=16,00, z=248,30], EntityZombie['Zombie'/168, l='MpServer', x=-224,49, y=14,00, z=258,81], EntityBat['Bat'/169, l='MpServer', x=-229,20, y=32,07, z=262,03], EntityBat['Bat'/180, l='MpServer', x=-209,40, y=44,10, z=190,75], EntityWolf['Wolf'/181, l='MpServer', x=-213,63, y=70,00, z=178,50], EntityVillager['Villager'/182, l='MpServer', x=-220,54, y=72,94, z=207,74], EntityItem['item.item.egg'/183, l='MpServer', x=-214,48, y=73,50, z=203,13], EntityChicken['Chicken'/184, l='MpServer', x=-223,90, y=72,00, z=214,15], EntityCreeper['Creeper'/185, l='MpServer', x=-210,28, y=63,00, z=234,53], EntityCreeper['Creeper'/186, l='MpServer', x=-219,30, y=68,00, z=239,30], EntityBat['Bat'/187, l='MpServer', x=-211,25, y=19,10, z=272,68], EntityBat['Bat'/188, l='MpServer', x=-222,75, y=33,10, z=257,75], EntityPig['Pig'/192, l='MpServer', x=-201,30, y=70,00, z=137,50], EntityZombie['Zombie'/193, l='MpServer', x=-197,77, y=16,18, z=146,28], EntityPig['Pig'/194, l='MpServer', x=-190,79, y=70,00, z=145,72], EntitySkeleton['Skeleton'/195, l='MpServer', x=-195,50, y=48,00, z=162,50], EntityChicken['Chicken'/196, l='MpServer', x=-194,77, y=74,00, z=169,52], EntityChicken['Chicken'/197, l='MpServer', x=-199,57, y=73,00, z=166,81], EntityItem['item.item.egg'/198, l='MpServer', x=-192,58, y=73,00, z=162,13], EntityItem['item.item.egg'/199, l='MpServer', x=-197,79, y=73,00, z=161,37], EntityBat['Bat'/200, l='MpServer', x=-198,92, y=44,12, z=183,56], EntityBat['Bat'/201, l='MpServer', x=-204,25, y=43,10, z=194,25], EntitySkeleton['Skeleton'/202, l='MpServer', x=-207,70, y=72,00, z=198,70], EntityVillager['Villager'/203, l='MpServer', x=-194,45, y=74,00, z=201,74], EntityWolf['Wolf'/204, l='MpServer', x=-207,58, y=72,00, z=203,44], EntityChicken['Chicken'/205, l='MpServer', x=-203,72, y=71,94, z=206,64], EntityCreeper['Creeper'/206, l='MpServer', x=-207,31, y=60,00, z=212,73], EntitySquid['Squid'/207, l='MpServer', x=-202,40, y=60,00, z=212,40], EntitySquid['Squid'/208, l='MpServer', x=-203,04, y=61,79, z=212,96], EntitySquid['Squid'/209, l='MpServer', x=-203,84, y=65,67, z=214,12], EntityVillager['Villager'/210, l='MpServer', x=-192,08, y=72,50, z=217,70], EntityPlayerSP['Player387'/408, l='MpServer', x=-224,53, y=72,00, z=214,76], EntitySquid['Squid'/212, l='MpServer', x=-202,83, y=65,69, z=211,70], EntityVillager['Villager'/213, l='MpServer', x=-199,19, y=71,94, z=211,97], EntityVillager['Villager'/214, l='MpServer', x=-200,65, y=71,00, z=210,50], EntityVillager['Villager'/215, l='MpServer', x=-198,31, y=71,94, z=211,86], EntitySquid['Squid'/216, l='MpServer', x=-203,98, y=65,61, z=213,14], EntitySquid['Squid'/217, l='MpServer', x=-202,40, y=64,82, z=212,04], EntityVillager['Villager'/218, l='MpServer', x=-192,53, y=72,00, z=217,07], EntityCreeper['Creeper'/219, l='MpServer', x=-203,50, y=27,00, z=231,50], EntityPig['Pig'/224, l='MpServer', x=-176,76, y=68,00, z=135,19], EntityZombie['Zombie'/226, l='MpServer', x=-180,76, y=15,00, z=138,50], EntitySkeleton['Skeleton'/227, l='MpServer', x=-177,50, y=21,00, z=156,50], EntityCreeper['Creeper'/228, l='MpServer', x=-178,50, y=21,00, z=153,50], EntitySkeleton['Skeleton'/229, l='MpServer', x=-176,24, y=21,00, z=158,47], EntityBat['Bat'/230, l='MpServer', x=-177,50, y=22,10, z=157,54], EntityWolf['Wolf'/231, l='MpServer', x=-188,43, y=73,00, z=158,52], EntityZombie['Zombie'/232, l='MpServer', x=-191,62, y=15,00, z=161,95], EntityEnderman['Enderman'/233, l='MpServer', x=-186,62, y=18,00, z=167,51], EntityChicken['Chicken'/234, l='MpServer', x=-181,16, y=73,00, z=161,38], EntityVillager['Villager'/235, l='MpServer', x=-185,29, y=77,00, z=194,33], EntitySkeleton['Skeleton'/236, l='MpServer', x=-184,50, y=17,00, z=216,50], EntitySkeleton['Skeleton'/237, l='MpServer', x=-180,50, y=17,00, z=218,50], EntitySkeleton['Skeleton'/238, l='MpServer', x=-179,50, y=17,00, z=218,50], EntityPig['Pig'/239, l='MpServer', x=-177,24, y=76,00, z=212,08], EntityVillager['Villager'/240, l='MpServer', x=-188,49, y=72,00, z=219,41], EntityVillager['Villager'/241, l='MpServer', x=-189,50, y=72,00, z=219,29], EntityPig['Pig'/242, l='MpServer', x=-177,28, y=75,00, z=214,48], EntityVillager['Villager'/243, l='MpServer', x=-179,48, y=73,94, z=217,45], EntityZombie['Zombie'/244, l='MpServer', x=-179,23, y=16,21, z=227,50], EntityZombie['Zombie'/245, l='MpServer', x=-187,56, y=46,00, z=253,76], EntityItem['item.item.egg'/246, l='MpServer', x=-182,89, y=72,00, z=244,93], EntityWolf['Wolf'/248, l='MpServer', x=-168,72, y=70,00, z=140,55], EntityWolf['Wolf'/249, l='MpServer', x=-169,70, y=68,00, z=136,70], EntityCreeper['Creeper'/250, l='MpServer', x=-175,91, y=21,00, z=157,45], EntityWolf['Wolf'/251, l='MpServer', x=-175,58, y=73,00, z=157,53], EntityWolf['Wolf'/252, l='MpServer', x=-166,54, y=78,00, z=192,56], EntityCreeper['Creeper'/253, l='MpServer', x=-175,50, y=16,00, z=227,50], EntityChicken['Chicken'/254, l='MpServer', x=-173,83, y=70,00, z=237,51], EntityChicken['Chicken'/255, l='MpServer', x=-169,22, y=90,00, z=266,49]]

Retry entities: 0 total; []

Server brand: fml,forge

Server type: Integrated singleplayer server

Stacktrace:

at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:451)

at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2779)

at net.minecraft.client.Minecraft.run(Minecraft.java:427)

at net.minecraft.client.main.Main.main(Main.java:118)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)

at GradleStart.main(GradleStart.java:26)

 

 

Why do i get this btw:

Caused by: java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=half, clazz=class net.minecraft.block.BlockSlab$EnumBlockHalf, values=[top, bottom]} as it does not exist in BlockStateContainer{block=tem:glassdoubleslab1, properties=[type]}

 

I know this does not exist, there is no need of it either, but why is it looking for it?

Link to comment
Share on other sites

I think the main cause is this error:

Reported exception thrown!

net.minecraft.util.ReportedException: Tesselating block model

 

Can anyone help me?

 

here my class:

 

public abstract class BlockGlassBlockSlab1 extends BlockSlab implements IMetaBlockName{

public static final PropertyEnum TYPE = PropertyEnum.create("type", BlockGlassBlockSlab1.EnumType.class);

public BlockGlassBlockSlab1(String unlocalname, String registryname) {
	super(Material.GLASS);
	setUnlocalizedName(unlocalname);
	setRegistryName(registryname);
	useNeighborBrightness = true;
	setHardness(0.3F);
        //setResistance(10.0F);
        setSoundType(SoundType.GLASS);
        setCreativeTab(Tem.blockstab);
	IBlockState state = this.blockState.getBaseState();
	state.withProperty(TYPE, EnumType.WHITE);
	if(!this.isDouble()){
		state.withProperty(HALF, EnumBlockHalf.BOTTOM);
	}
	setDefaultState(state);
}
@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
    public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
    {
        if (!worldIn.isRemote)
        {
            BlockBeacon.updateColorAsync(worldIn, pos);
        }
    }
@Override
protected boolean canSilkHarvest()
    {
        return true;
    }

@Override
public boolean isOpaqueCube(IBlockState state)
    {
        return false;
    }
@Override
public boolean isFullCube(IBlockState state)
    {
        return this.isDouble();
    }
@Override
@SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer()
    {
        return BlockRenderLayer.TRANSLUCENT;
    }
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return Item.getItemFromBlock(ModBlocks.glassslab1);
    }
@Override
protected ItemStack createStackedBlock(IBlockState state){
	int type = ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();
	int drops =0;
	if(this.isDouble()){drops=2;}
	else {drops=1;}

	return new ItemStack(ModBlocks.glassslab1,drops,type);

}
@Override
public int quantityDropped(Random random)
    {

        return 0;//this.isDouble() ? 2 : 1;
    }


@Override
public int damageDropped (IBlockState state){
	return ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();

}
@Override
public String getUnlocalizedName(int meta){
	return this.getUnlocalizedName() + "_" + EnumType.values()[meta];
}
@Override
public Comparable<?> getTypeForItem(ItemStack stack) {
	// TODO Auto-generated method stub
	return BlockGlassBlockSlab1.EnumType.byMetadata(stack.getMetadata() & 7);
}
@Override
public IProperty<?> getVariantProperty(){
	return TYPE;
}


@Override
public final IBlockState getStateFromMeta (int meta){
	IBlockState blockstate = this.getDefaultState();
	blockstate = blockstate.withProperty(TYPE,BlockGlassBlockSlab1.EnumType.byMetadata(meta & 7));
	if(!this.isDouble()){
		blockstate = blockstate.withProperty(HALF, (meta & 8 ) == 8 ? EnumBlockHalf.BOTTOM : EnumBlockHalf.TOP);
		}
	return blockstate;
}

@Override
public final int getMetaFromState(IBlockState state){
	int meta = ((BlockGlassBlockSlab1.EnumType) state.getValue(TYPE)).getID();
	if (!this.isDouble() && state.getValue(HALF) == EnumBlockHalf.TOP){
		meta |=8;
	}
	return meta;
}
@Override
protected final BlockStateContainer createBlockState(){
	if (this.isDouble()){
		return new BlockStateContainer(this, getVariantProperty());
	}
	else {
		return new BlockStateContainer(this, getVariantProperty(), HALF);
	}
}

@Override
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
	for (EnumType t : EnumType.values())
    list.add(new ItemStack(itemIn, 1, t.ordinal()));  
}

@Override
public String getSpecialName(ItemStack stack) {
	return EnumType.values()[stack.getItemDamage()].name().toLowerCase();
}
@Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
    {
        return getItem(world, pos, state);
}

public enum EnumType implements IStringSerializable{

	WHITE(0, "white"), ORANGE(1, "orange"), MAGENTA(2, "magenta"), LIGHTBLUE(3, "light_blue"), YELLOW(4, "yellow"), LIME(5, "lime"), PINK(6, "pink"), GRAY(7, "gray"); 
	//SILVER(8, "silver"), CYAN(9, "cyan"), PURPLE(10, "purple"), BLUE(11, "blue"), BROWN(12, "brown"), GREEN(13, "green"), RED(14, "red"), BLACK(15, "black");
	private static final BlockGlassBlockSlab1.EnumType[] META_LOOKUP = new BlockGlassBlockSlab1.EnumType[values().length];

    private int ID;
    private String name;
   
    private EnumType(int ID, String name) {
        this.ID = ID;
        this.name = name;
            
    }
    @Override
    public String getName() {
        return name;
    }
    public int getID() {
        return ID;
    }
    @Override
    public String toString() {
        return getName();
    }
    public static BlockGlassBlockSlab1.EnumType byMetadata(int meta)
        {
            if (meta < 0 || meta >= META_LOOKUP.length)
            {
                meta = 0;
            }

            return META_LOOKUP[meta];
        }
    static
        {
            for (BlockGlassBlockSlab1.EnumType types : values())
            {
                META_LOOKUP[types.getID()] = types;
            }
        }
}

}

 

 

I also keep having this problem:

0vkzypc

 

Link to comment
Share on other sites

I found a solution for this crash.

I have been searching the web and found the solution in this post: http://www.minecraftforge.net/forum/index.php?topic=39109.0

 

Here is what i added for 1.10.2 in my glassslabblock class:

 

@Override
    public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face)
    {
        if(this.blockState.getBaseState().getMaterial().equals(Material.GLASS))
        	return Blocks.GLASS.doesSideBlockRendering(state, world, pos, face);
        else
        	return super.doesSideBlockRendering(state, world, pos, face);
    }

I didn't knew it had to be implented because in the class BlockBreakable it isn't there.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • DAFTAR SCATTER HITAM MAHJONG DISINI DAFTAR SCATTER HITAM MAHJONG DISINI DAFTAR SCATTER HITAM MAHJONG DISINI Terbaru dari PG Soft Scatter Hitam slot mahjong ways telah menjadi sorotan dalam dunia slot online di Indonesia. Fitur scatter hitam mahjong ways menjadi daya tarik bagi para pemain karena hadiah bonus yang sangat luar bisa besar sehingga para pemain ingin mendapatkan dan merasakan jackpot scatter hitam. TAG : Scatter Hitam Scatter Hitam Scatter Hitam Scatter Hitam Scatter Hitam Scatter Hitam Scatter Hitam Scatter Hitam
    • DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI Link resmi jp slot online gacor terbaik 2024 selalu memberikan perlayanan yang sangat baik online 24 jam non stop, situs slot jp selalu memberikan permainan slot online paling gacor dan mudah maxwin. JP Slot Maxwin hari ini adalah akun Slot online gacor terbaik nomor 1 di Indonesia  mempunyai RTP live slot gacor serta slot online terpercaya dengan winrate mencapai 98%. TAG : Jp Slot Jp Slot Jp Slot Jp Slot Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin
    • DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI JP Slot adalah daftar akun link slot gacor maxwin hari ini gampang menang jp 2023, link terbaru slot jp maxwin terpercaya mudah jackpot perkalian x500. Kelebihan bermain di situs JP Slot Maxwin adalah link aksesnya gampang tanpa harus menggunakan vpn, menyediakan game slot paling lengkap dan slot paling gacor gampang menang. TAG : Jp Slot Jp Slot Jp Slot Jp Slot Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin
    • DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI DAFTAR SLOT GACOR DISINI Jp Slot menawarkan permainan slot pragmatic play zeus gampang jackpot yang memiliki RTP tinggi dan sering memberikan kemenangan besar kepada pemain. JP Slot Maxwin merupakan server terbaru game slot gacor online yang sudah berlisensi resmi terbesar dan terpercaya tahun 2024 yang menyediakan berbagai macam jenis permainan slot yang tentunya paling banyak diminati oleh para pemburu jackpot maxwin di Indonesia. TAG : Jp Slot Jp Slot Jp Slot Jp Slot Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin Jp Slot Maxwin
    • Recently, I faced major financial difficulties, prompting me to explore online investments to improve our situation. However, I made the mistake of trusting strangers. Although I received some payouts initially, it became evident that these scammers had gained full access to my funds, despite never sharing my password, Because I was told initially that I am the only one that has access to my funds and can withdraw my earnings whenever I feel like. Starting with a $500 investment, I grew my account and made two withdrawals of $2000 and $4100. Upon successfully withdrawing funds, I learned about a referral bonus, which enticed me to convince my friends to join the platform as well. Unfortunately, this decision backfired as I couldn't retrieve any money this time. They made excuses, demanding charges for the withdrawal. Realizing the illegitimacy of the situation and regretting involving my friends, I discovered that my friend had invested $32,000, while I had $65,000 trapped. My friend had to look for an alternate solution to recover his funds and informed me of his progress. After 48 hours, he ecstatically confirmed retrieving his money. Shocked but yet hopeful, I contacted the recovery team, Wizard Web Recovery, who assisted my friend. They helped me regain my funds, bringing joy back into my life. If you're in a similar situation, there's a chance to recover your funds too. You can reach out to Wizard Web Recovery. Don't hesitate to contact Wizard Web Recovery and restore your assets.    You can easily reach them via the following.   Email - ( w i z a r d w e b r e c o v e r y @ p r o g r a m m e r . net )
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.