下面列出了怎么用net.minecraftforge.common.ForgeModContainer的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void onEnabled() {
previousForgeLightPipelineEnabled = ForgeModContainer.forgeLightPipelineEnabled;
ForgeModContainer.forgeLightPipelineEnabled = false;
ForgeHaxHooks.COLOR_MULTIPLIER_ALPHA = (this.opacity.getAsFloat() / 255.f);
ForgeHaxHooks.SHOULD_UPDATE_ALPHA = true;
reloadChunks();
ForgeHaxHooks.SHOULD_DISABLE_CAVE_CULLING.enable("Xray");
}
@Override
public void onDisabled() {
ForgeModContainer.forgeLightPipelineEnabled = previousForgeLightPipelineEnabled;
ForgeHaxHooks.SHOULD_UPDATE_ALPHA = false;
reloadChunks();
ForgeHaxHooks.SHOULD_DISABLE_CAVE_CULLING.disable("Xray");
}
/**
* @reason Don't set up the ModelLoader. Instead, set up the caching DynamicModelProvider
* and DynamicBakedModelProviders, which will act as the model registry.
*/
@Overwrite
public void onResourceManagerReload(IResourceManager resourceManager) {
// Generate information about model locations, such as the blockstate location to block map
// and the item variant to model location map.
ModelLocationInformation.init(modelProvider.getBlockStateMapper());
// Get custom loaders
Set<ICustomModelLoader> loaders;
try {
Field loadersField = ModelLoaderRegistry.class.getDeclaredField("loaders");
loadersField.setAccessible(true);
// noinspection unchecked
loaders = (Set<ICustomModelLoader>) loadersField.get(null);
} catch (ReflectiveOperationException e) {
throw new RuntimeException(e);
}
// Create the dynamic model and bake model providers
DynamicModelProvider dynamicModelProvider = new DynamicModelProvider(loaders);
DynamicModelProvider.instance = dynamicModelProvider;
DynamicBakedModelProvider dynamicBakedModelProvider = new DynamicBakedModelProvider(dynamicModelProvider);
DynamicBakedModelProvider.instance = dynamicBakedModelProvider;
modelRegistry = dynamicBakedModelProvider;
// Create the texture map
((DynamicTextureMap) texMap).init();
// Get the default model, returned by getModel when the model provider returns null
defaultModel = modelRegistry.getObject(new ModelResourceLocation("builtin/missing", "missing"));
// Register the universal bucket item
if (FluidRegistry.isUniversalBucketEnabled()) {
ModelLoader.setBucketModelDefinition(ForgeModContainer.getInstance().universalBucket);
}
// Post the event, but just log an error if a listener throws an exception. The ModelLoader is
// null, but very few mods use it. Custom support will be needed for those that do.
EventUtil.postEventAllowingErrors(new ModelBakeEvent((ModelManager) (Object) this, modelRegistry, null));
// Make the model provider load blockstate to model information. See MixinBlockModelShapes
modelProvider.reloadModels();
}
public static ItemStack getBucketStack(Fluid fluid)
{
return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid);
}
public static boolean isAllowedToCheck(final String scope) {
return ForgeModContainer.getConfig().get(ForgeModContainer.VERSION_CHECK_CAT, scope, true).getBoolean();
}