Adds the ability to force a block to use a custom item model.
This commit is contained in:
@@ -10,9 +10,11 @@ import java.util.function.Function;
|
|||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
@@ -119,6 +121,22 @@ class BlockDefinitionBuilder implements IBlockBuilder
|
|||||||
return this;
|
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
|
@Override
|
||||||
public IBlockBuilder item( Function<Block, ItemBlock> factory )
|
public IBlockBuilder item( Function<Block, ItemBlock> factory )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,8 +27,13 @@ public interface IBlockBuilder
|
|||||||
|
|
||||||
IBlockBuilder rendering( BlockRenderingCustomizer callback );
|
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 );
|
IBlockBuilder item( Function<Block, ItemBlock> factory );
|
||||||
|
|
||||||
<T extends IBlockDefinition> T build();
|
<T extends IBlockDefinition> T build();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user