1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-12-13 11:40:29 +00:00

Lazily load models in data generators

Fixes #701 (well, hopefully). Our BlockModelProvider is created when
running other mods' data generators (thought not run), which causes
issues as none of the models are considered as "existing files".
This commit is contained in:
Jonathan Coates 2021-02-13 13:02:24 +00:00
parent 975a994581
commit 1825f67eee

View File

@ -21,14 +21,12 @@ import javax.annotation.Nonnull;
public class BlockModelProvider extends BlockStateProvider public class BlockModelProvider extends BlockStateProvider
{ {
private final ModelFile monitorBase; private ModelFile monitorBase;
private final ModelFile orientable; private ModelFile orientable;
public BlockModelProvider( DataGenerator generator, ExistingFileHelper existingFileHelper ) public BlockModelProvider( DataGenerator generator, ExistingFileHelper existingFileHelper )
{ {
super( generator, ComputerCraft.MOD_ID, existingFileHelper ); super( generator, ComputerCraft.MOD_ID, existingFileHelper );
monitorBase = models().getExistingFile( new ResourceLocation( ComputerCraft.MOD_ID, "block/monitor_base" ) );
orientable = models().getExistingFile( new ResourceLocation( "block/orientable" ) );
} }
@Nonnull @Nonnull
@ -41,6 +39,9 @@ public class BlockModelProvider extends BlockStateProvider
@Override @Override
protected void registerStatesAndModels() protected void registerStatesAndModels()
{ {
monitorBase = models().getExistingFile( new ResourceLocation( ComputerCraft.MOD_ID, "block/monitor_base" ) );
orientable = models().getExistingFile( new ResourceLocation( "block/orientable" ) );
registerMonitors( Registry.ModBlocks.MONITOR_NORMAL.get() ); registerMonitors( Registry.ModBlocks.MONITOR_NORMAL.get() );
registerMonitors( Registry.ModBlocks.MONITOR_ADVANCED.get() ); registerMonitors( Registry.ModBlocks.MONITOR_ADVANCED.get() );