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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • my arrow wont move at all it would stay mid air and show no collision   my Entity class: package net.jeezedboi.epicraft.entity.custom; import net.jeezedboi.epicraft.init.ModItems; import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.projectile.AbstractArrowEntity; import net.minecraft.item.ItemStack; import net.minecraft.network.IPacket; import net.minecraft.util.math.EntityRayTraceResult; import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.fml.network.NetworkHooks; public class ExplosiveArrowEntity extends AbstractArrowEntity { // default constructor, required to register the entity public ExplosiveArrowEntity(EntityType<ExplosiveArrowEntity> entityType, World world) { super(entityType, world); } public ExplosiveArrowEntity(EntityType<ExplosiveArrowEntity> entityType, double x, double y, double z, World world) { super(entityType, x, y, z, world); } // the constructor used by the ArrowItem public ExplosiveArrowEntity(EntityType<ExplosiveArrowEntity> entityType, LivingEntity shooter, World world) { super(entityType, shooter, world); } // the item stack to give the player when they walk over your arrow stuck in the ground @Override protected ItemStack getArrowStack() { return new ItemStack(ModItems.EXPLOSIVE_ARROW.get()); } @Override protected void onEntityHit(EntityRayTraceResult result) { super.onEntityHit(result); // this, x, y, z, explosionStrength, setsFires, breakMode (NONE, BREAK, DESTROY) this.world.createExplosion(this, this.getPosX(), this.getPosY(), this.getPosZ(), 4.0f, true, Explosion.Mode.BREAK); } // called each tick while in the ground @Override public void tick() { if (this.timeInGround > 60){ this.world.createExplosion(this, this.getPosX(), this.getPosY(), this.getPosZ(), 4.0f, true, Explosion.Mode.BREAK); this.remove(); } } // syncs to the client @Override public IPacket<?> createSpawnPacket() { return NetworkHooks.getEntitySpawningPacket(this); } } my item class :   package net.jeezedboi.epicraft.item.custom; import net.jeezedboi.epicraft.entity.custom.ExplosiveArrowEntity; import net.jeezedboi.epicraft.init.ModEntityTypes; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.projectile.AbstractArrowEntity; import net.minecraft.item.ArrowItem; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ExplosiveArrowItem extends ArrowItem { public ExplosiveArrowItem(Properties props) { super(props); } @Override public AbstractArrowEntity createArrow(World world, ItemStack ammoStack, LivingEntity shooter) { ExplosiveArrowEntity explosiveArrowEntity = new ExplosiveArrowEntity(ModEntityTypes.EXPLOSIVE_ARROW.get(), shooter, world); return explosiveArrowEntity; } } other stuffs: public static final RegistryObject<Item> EXPLOSIVE_ARROW = ITEMS.register("explosive_arrow", () -> new ExplosiveArrowItem(new Item.Properties().group(ModItemGroup.Epic_Items))); public static final RegistryObject<EntityType<ExplosiveArrowEntity>> EXPLOSIVE_ARROW = ENTITY_TYPES.register("explosive_arrow", () -> EntityType.Builder.create((EntityType.IFactory<ExplosiveArrowEntity>) ExplosiveArrowEntity::new, EntityClassification.MISC) .size(0.5F, 0.5F).build("explosive_arrow")); mappings channel: 'snapshot', version: '20210309-1.16.5'
    • may i ask what it was that fixed it, I'm having the same problem and its frustrating because I'm making an origin.
    • I need to accesses byPath field of net.minecraft.client.renderer.texture.TextureManager. As I found out I need to use accesstransformer.cfg file and make the field public via it. In this file field names look like f_<numbers>. And I was unable to figure out, how to get those. It seems like it is connected to something called mappings (thing left after Minecraft decompile process). How can I get such a name for a class field?
    • The game crashed whilst rendering overlay Error: java.lang.OutOfMemoryError: Java heap space Exit Code: -1   Crash Report:                                              Log: https://pastebin.com/9NMLr5bD       https://pastebin.com/av6Q2jCf Password: gpTq3Gvkc5                     qdF0BeJGYN   Any suggestions what should i do here?
  • Topics

×
×
  • Create New...

Important Information

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