6f2bbfab4c
- Refactored boostrap code: * Completely reworked item/block/tile registration. * Fixed server side startup. * Fixed server side startup. * More documentation. * More heavy cleanup * More cleanups. * Major refactoring of state mapping and fixes a lot of other issue related to item rendering. * Fixes sky chest item models (no item TESR). * Only use CachingRotatingBakedModel for tile entities automatically. Fix default rotation of quartz pillar for item model. * Used method reference instead of lambda for ItemMeshDefinition for multiparts. * Removed unnecessary IHasSpecialItemModel * Removed unused IconReg class. * Updated resource pack version.
39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
package appeng.bootstrap.components;
|
|
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.renderer.block.statemap.IStateMapper;
|
|
import net.minecraft.client.resources.IReloadableResourceManager;
|
|
import net.minecraft.client.resources.IResourceManagerReloadListener;
|
|
import net.minecraftforge.client.model.ModelLoader;
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
|
|
|
|
/**
|
|
* Registers a custom state mapper for a given block.
|
|
*/
|
|
public class StateMapperComponent implements InitComponent
|
|
{
|
|
|
|
private final Block block;
|
|
|
|
private final IStateMapper stateMapper;
|
|
|
|
public StateMapperComponent( Block block, IStateMapper stateMapper )
|
|
{
|
|
this.block = block;
|
|
this.stateMapper = stateMapper;
|
|
}
|
|
|
|
@Override
|
|
public void initialize( Side side )
|
|
{
|
|
ModelLoader.setCustomStateMapper( block, stateMapper );
|
|
if( stateMapper instanceof IResourceManagerReloadListener )
|
|
{
|
|
( (IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager() ).registerReloadListener( (IResourceManagerReloadListener) stateMapper );
|
|
}
|
|
}
|
|
}
|