Adds the ability to force a block to use a custom item model.
This commit is contained in:
parent
dbaa0a9310
commit
0df62abebd
|
@ -10,9 +10,11 @@ import java.util.function.Function;
|
|||
import java.util.function.Supplier;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
@ -119,6 +121,22 @@ class BlockDefinitionBuilder implements IBlockBuilder
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockBuilder useCustomItemModel()
|
||||
{
|
||||
rendering( new BlockRenderingCustomizer()
|
||||
{
|
||||
@Override
|
||||
@SideOnly( Side.CLIENT )
|
||||
public void customize( IBlockRendering rendering, IItemRendering itemRendering )
|
||||
{
|
||||
itemRendering.model( new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, registryName ), "inventory" ) );
|
||||
}
|
||||
} );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockBuilder item( Function<Block, ItemBlock> factory )
|
||||
{
|
||||
|
|
|
@ -27,8 +27,13 @@ public interface IBlockBuilder
|
|||
|
||||
IBlockBuilder rendering( BlockRenderingCustomizer callback );
|
||||
|
||||
/**
|
||||
* Forces this block's item to uses a custom model, instead of using the default block state as the item model.
|
||||
* The model has the same name as the registry name.
|
||||
*/
|
||||
IBlockBuilder useCustomItemModel();
|
||||
|
||||
IBlockBuilder item( Function<Block, ItemBlock> factory );
|
||||
|
||||
<T extends IBlockDefinition> T build();
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue