Jump to content

[1.12.2] Block material not working?


onVoid

Recommended Posts

Alright, I have a block that I am trying to mimic glowstone with. The problem is, the block always has the sound of stone when it breaks and not the glass sound that I want (and I assume this is due to the material of the block not being set).

 

Here is my block's class:

public class BlockElementalLight extends BlockBase
{

    public BlockElementalLight() {
		super("light_elemental", Material.GLASS);
		setHardness(0.3F);
		setResistance(1.5F);
		setLightLevel(1.0F);
	}

	public int quantityDroppedWithBonus(int fortune, Random random)
    {
        return MathHelper.clamp(this.quantityDropped(random) + random.nextInt(fortune + 1), 1, 4);
    }

    public int quantityDropped(Random random)
    {
        return 2 + random.nextInt(3);
    }

    public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return ItemsAdjunct.dustElementalMixture;
    }

    public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos)
    {
        return MapColor.ORANGE_STAINED_HARDENED_CLAY;
    }
}

Here is the BlockBase class:

public class BlockBase extends Block implements IHasModel {
	
	public BlockBase(String name, Material material) {
		super(material);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabsAdjunct.tabAdjunct);
	}
	
    @SideOnly(Side.CLIENT)
    public void initModel() {
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
    }

}

And here's my blocks class where this is registered

public class BlocksAdjunct {
	
	@GameRegistry.ObjectHolder("adjunct:light_elemental")
	public static BlockElementalLight lightElemental;
	
    @SideOnly(Side.CLIENT)
    public static void initModels() {
        lightElemental.initModel();
    }
	
}

Thanks.

Link to comment
Share on other sites

Nonononono BlockBase Bad.

Do not abuse inheritance just to write less code.

 

IHasModel is also unnecessary.

Please read the common problems and suggestion for more info.

Edited by DavidM
  • Like 1

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

28 minutes ago, winnetrie said:

You can set the blocksound with 


setSoundType(SoundType.GLASS);

Inside the constructor. Where you have your other setters

Thank you. Does it not come with the material anymore?

Link to comment
Share on other sites

2 hours ago, DavidM said:

Nonononono BlockBase Bad.

Do not abuse inheritance just to write less code.

 

IHasModel is also unnecessary.

Please read the common problems and suggestion for more info.

This is true. Just make your class extend Block. You also should not use this IHasModel thing. I bet you are also using a common proxy wich is also bad!

Edited by winnetrie
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


×
×
  • Create New...

Important Information

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