API compiles
This commit is contained in:
@@ -27,12 +27,12 @@ import java.util.function.Supplier;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
|
||||
import appeng.api.definitions.IBlockDefinition;
|
||||
import appeng.api.features.AEFeature;
|
||||
@@ -69,10 +69,10 @@ class BlockDefinitionBuilder implements IBlockBuilder {
|
||||
|
||||
private BiFunction<Block, Item.Properties, BlockItem> itemFactory;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private BlockRendering blockRendering;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private ItemRendering itemRendering;
|
||||
|
||||
BlockDefinitionBuilder(FeatureFactory factory, String id, Supplier<? extends Block> blockSupplier) {
|
||||
@@ -132,7 +132,7 @@ class BlockDefinitionBuilder implements IBlockBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private void customizeForClient(BlockRenderingCustomizer callback) {
|
||||
callback.customize(this.blockRendering, this.itemRendering);
|
||||
}
|
||||
|
||||
@@ -21,13 +21,13 @@ package appeng.bootstrap;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraft.client.render.model.IBakedModel;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import appeng.block.AEBaseTileBlock;
|
||||
import appeng.bootstrap.components.BlockColorComponent;
|
||||
@@ -36,26 +36,26 @@ import appeng.client.render.model.AutoRotatingBakedModel;
|
||||
|
||||
class BlockRendering implements IBlockRendering {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private BiFunction<ResourceLocation, IBakedModel, IBakedModel> modelCustomizer;
|
||||
@Environment(EnvType.CLIENT)
|
||||
private BiFunction<Identifier, IBakedModel, IBakedModel> modelCustomizer;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private IBlockColor blockColor;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private RenderType renderType;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private Predicate<RenderType> renderTypes;
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public IBlockRendering modelCustomizer(BiFunction<ResourceLocation, IBakedModel, IBakedModel> customizer) {
|
||||
@Environment(EnvType.CLIENT)
|
||||
public IBlockRendering modelCustomizer(BiFunction<Identifier, IBakedModel, IBakedModel> customizer) {
|
||||
this.modelCustomizer = customizer;
|
||||
return this;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
@Override
|
||||
public IBlockRendering blockColor(IBlockColor blockColor) {
|
||||
this.blockColor = blockColor;
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
package appeng.bootstrap;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
/**
|
||||
* A callback that allows the rendering of a block to be customized. Sadly this
|
||||
@@ -28,7 +28,7 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
*/
|
||||
public abstract class BlockRenderingCustomizer {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public abstract void customize(IBlockRendering rendering, IItemRendering itemRendering);
|
||||
|
||||
}
|
||||
|
||||
@@ -29,16 +29,16 @@ import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.render.model.IBakedModel;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityClassification;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.fabricmc.api.EnvType;
|
||||
|
||||
import appeng.api.features.AEFeature;
|
||||
import appeng.bootstrap.components.ModelOverrideComponent;
|
||||
@@ -51,7 +51,7 @@ public class FeatureFactory {
|
||||
|
||||
private final Map<Class<? extends IBootstrapComponent>, List<IBootstrapComponent>> bootstrapComponents;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private ModelOverrideComponent modelOverrideComponent;
|
||||
|
||||
public FeatureFactory() {
|
||||
@@ -86,7 +86,7 @@ public class FeatureFactory {
|
||||
}
|
||||
|
||||
public <T extends AEBaseTileEntity> TileEntityBuilder<T> tileEntity(String id, Class<T> teClass,
|
||||
Function<TileEntityType<T>, T> factory) {
|
||||
Function<BlockEntityType<T>, T> factory) {
|
||||
return new TileEntityBuilder<>(this, id, teClass, factory).features(this.defaultFeatures);
|
||||
}
|
||||
|
||||
@@ -104,8 +104,8 @@ public class FeatureFactory {
|
||||
this.bootstrapComponents.computeIfAbsent(eventType, c -> new ArrayList<IBootstrapComponent>()).add(component);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
void addModelOverride(String resourcePath, BiFunction<ResourceLocation, IBakedModel, IBakedModel> customizer) {
|
||||
@Environment(EnvType.CLIENT)
|
||||
void addModelOverride(String resourcePath, BiFunction<Identifier, IBakedModel, IBakedModel> customizer) {
|
||||
this.modelOverrideComponent.addOverride(resourcePath, customizer);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,12 +21,12 @@ package appeng.bootstrap;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraft.client.render.model.IBakedModel;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
/**
|
||||
* Allows for client-side rendering to be customized in the context of
|
||||
@@ -34,16 +34,16 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
*/
|
||||
public interface IBlockRendering {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
IBlockRendering modelCustomizer(BiFunction<ResourceLocation, IBakedModel, IBakedModel> customizer);
|
||||
@Environment(EnvType.CLIENT)
|
||||
IBlockRendering modelCustomizer(BiFunction<Identifier, IBakedModel, IBakedModel> customizer);
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
IBlockRendering blockColor(IBlockColor blockColor);
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
IBlockRendering renderType(RenderType type);
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
IBlockRendering renderType(Predicate<RenderType> type);
|
||||
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
package appeng.bootstrap;
|
||||
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
/**
|
||||
* Allows the rendering of an item to be customized.
|
||||
@@ -31,7 +31,7 @@ public interface IItemRendering {
|
||||
* Registers a custom item color definition that inspects an item stack and tint
|
||||
* and returns a color multiplier.
|
||||
*/
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
IItemRendering color(IItemColor itemColor);
|
||||
|
||||
}
|
||||
|
||||
@@ -30,8 +30,8 @@ import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.dispenser.IDispenseItemBehavior;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
import appeng.api.features.AEFeature;
|
||||
import appeng.bootstrap.components.IInitComponent;
|
||||
@@ -58,7 +58,7 @@ class ItemDefinitionBuilder implements IItemBuilder {
|
||||
|
||||
private Supplier<IDispenseItemBehavior> dispenserBehaviorSupplier;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private ItemRendering itemRendering;
|
||||
|
||||
private ItemGroup itemGroup = CreativeTab.INSTANCE;
|
||||
@@ -118,7 +118,7 @@ class ItemDefinitionBuilder implements IItemBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private void customizeForClient(ItemRenderingCustomizer callback) {
|
||||
callback.customize(this.itemRendering);
|
||||
}
|
||||
|
||||
@@ -18,20 +18,20 @@
|
||||
|
||||
package appeng.bootstrap;
|
||||
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
|
||||
import appeng.bootstrap.components.ItemColorComponent;
|
||||
|
||||
class ItemRendering implements IItemRendering {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private IItemColor itemColor;
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public IItemRendering color(IItemColor itemColor) {
|
||||
this.itemColor = itemColor;
|
||||
return this;
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
package appeng.bootstrap;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.api.EnvType;
|
||||
|
||||
/**
|
||||
* A callback that allows the rendering of a item to be customized. Sadly this
|
||||
@@ -28,6 +28,6 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
*/
|
||||
public abstract class ItemRenderingCustomizer {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public abstract void customize(IItemRendering rendering);
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@ import java.util.function.Supplier;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
||||
|
||||
@@ -42,12 +42,12 @@ public class TileEntityBuilder<T extends AEBaseTileEntity> {
|
||||
// The tile entity class
|
||||
private final Class<T> tileClass;
|
||||
|
||||
private TileEntityType<T> type;
|
||||
private BlockEntityType<T> type;
|
||||
|
||||
// The factory for creating tile entity objects
|
||||
private final Function<TileEntityType<T>, T> supplier;
|
||||
private final Function<BlockEntityType<T>, T> supplier;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private TileEntityRendering<T> tileEntityRendering;
|
||||
|
||||
private final List<Block> blocks = new ArrayList<>();
|
||||
@@ -55,7 +55,7 @@ public class TileEntityBuilder<T extends AEBaseTileEntity> {
|
||||
private final EnumSet<AEFeature> features = EnumSet.noneOf(AEFeature.class);
|
||||
|
||||
public TileEntityBuilder(FeatureFactory factory, String registryName, Class<T> tileClass,
|
||||
Function<TileEntityType<T>, T> supplier) {
|
||||
Function<BlockEntityType<T>, T> supplier) {
|
||||
this.factory = factory;
|
||||
this.registryName = registryName;
|
||||
this.tileClass = tileClass;
|
||||
@@ -78,7 +78,7 @@ public class TileEntityBuilder<T extends AEBaseTileEntity> {
|
||||
}
|
||||
|
||||
public TileEntityBuilder<T> rendering(TileEntityRenderingCustomizer<T> customizer) {
|
||||
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> customizer.customize(tileEntityRendering));
|
||||
DistExecutor.runWhenOn(EnvType.CLIENT, () -> () -> customizer.customize(tileEntityRendering));
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ public class TileEntityBuilder<T extends AEBaseTileEntity> {
|
||||
}
|
||||
|
||||
Supplier<T> factory = () -> supplier.apply(type);
|
||||
type = TileEntityType.Builder.create(factory, blocks.toArray(new Block[0])).build(null);
|
||||
type = BlockEntityType.Builder.create(factory, blocks.toArray(new Block[0])).build(null);
|
||||
type.setRegistryName(AppEng.MOD_ID, registryName);
|
||||
registry.register(type);
|
||||
|
||||
@@ -105,13 +105,13 @@ public class TileEntityBuilder<T extends AEBaseTileEntity> {
|
||||
}
|
||||
|
||||
});
|
||||
DistExecutor.runWhenOn(Dist.CLIENT, () -> this::buildClient);
|
||||
DistExecutor.runWhenOn(EnvType.CLIENT, () -> this::buildClient);
|
||||
|
||||
return new TileEntityDefinition(this::addBlock);
|
||||
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
private void buildClient() {
|
||||
this.factory.addBootstrapComponent((IClientSetupComponent) () -> {
|
||||
if (tileEntityRendering.tileEntityRenderer != null) {
|
||||
|
||||
@@ -22,17 +22,17 @@ import java.util.function.Function;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
import appeng.tile.AEBaseTileEntity;
|
||||
|
||||
public class TileEntityRendering<T extends AEBaseTileEntity> {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
Function<TileEntityRendererDispatcher, TileEntityRenderer<T>> tileEntityRenderer;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public TileEntityRendering<T> tileEntityRenderer(
|
||||
Function<TileEntityRendererDispatcher, TileEntityRenderer<T>> tileEntityRenderer) {
|
||||
this.tileEntityRenderer = tileEntityRenderer;
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
package appeng.bootstrap;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
import appeng.tile.AEBaseTileEntity;
|
||||
|
||||
@@ -30,7 +30,7 @@ import appeng.tile.AEBaseTileEntity;
|
||||
*/
|
||||
public abstract class TileEntityRenderingCustomizer<T extends AEBaseTileEntity> {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Environment(EnvType.CLIENT)
|
||||
public abstract void customize(TileEntityRendering<T> rendering);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
package appeng.bootstrap.components;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import appeng.bootstrap.IBootstrapComponent;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface IBlockRegistrationComponent extends IBootstrapComponent {
|
||||
void blockRegistration(Dist dist, IForgeRegistry<Block> blockRegistry);
|
||||
void blockRegistration(EnvType dist, IForgeRegistry<Block> blockRegistry);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
package appeng.bootstrap.components;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import appeng.bootstrap.IBootstrapComponent;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface IItemRegistrationComponent extends IBootstrapComponent {
|
||||
void itemRegistration(Dist dist, IForgeRegistry<Item> itemRegistry);
|
||||
void itemRegistration(EnvType dist, IForgeRegistry<Item> itemRegistry);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
package appeng.bootstrap.components;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.minecraft.item.crafting.IRecipeSerializer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import appeng.bootstrap.IBootstrapComponent;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface IRecipeRegistrationComponent extends IBootstrapComponent {
|
||||
void recipeRegistration(Dist dist, IForgeRegistry<IRecipeSerializer<?>> recipeRegistry);
|
||||
void recipeRegistration(EnvType dist, IForgeRegistry<IRecipeSerializer<?>> recipeRegistry);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package appeng.bootstrap.components;
|
||||
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import appeng.bootstrap.IBootstrapComponent;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface ITileEntityRegistrationComponent extends IBootstrapComponent {
|
||||
void register(IForgeRegistry<TileEntityType<?>> registry);
|
||||
void register(IForgeRegistry<BlockEntityType<?>> registry);
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ import java.util.function.BiFunction;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.model.ModelBakery;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.client.render.model.IBakedModel;
|
||||
import net.minecraft.client.render.model.ModelBakery;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraftforge.client.event.ModelBakeEvent;
|
||||
|
||||
import appeng.core.AppEng;
|
||||
@@ -35,19 +35,19 @@ import appeng.core.AppEng;
|
||||
public class ModelOverrideComponent implements IModelBakeComponent {
|
||||
|
||||
// Maps from resource path to customizer
|
||||
private final Map<String, BiFunction<ResourceLocation, IBakedModel, IBakedModel>> customizer = new HashMap<>();
|
||||
private final Map<String, BiFunction<Identifier, IBakedModel, IBakedModel>> customizer = new HashMap<>();
|
||||
|
||||
public void addOverride(String resourcePath, BiFunction<ResourceLocation, IBakedModel, IBakedModel> customizer) {
|
||||
public void addOverride(String resourcePath, BiFunction<Identifier, IBakedModel, IBakedModel> customizer) {
|
||||
this.customizer.put(resourcePath, customizer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onModelBakeEvent(final ModelBakeEvent event) {
|
||||
Map<ResourceLocation, IBakedModel> modelRegistry = event.getModelRegistry();
|
||||
Set<ResourceLocation> keys = Sets.newHashSet(modelRegistry.keySet());
|
||||
Map<Identifier, IBakedModel> modelRegistry = event.getModelRegistry();
|
||||
Set<Identifier> keys = Sets.newHashSet(modelRegistry.keySet());
|
||||
IBakedModel missingModel = modelRegistry.get(ModelBakery.MODEL_MISSING);
|
||||
|
||||
for (ResourceLocation location : keys) {
|
||||
for (Identifier location : keys) {
|
||||
if (!location.getNamespace().equals(AppEng.MOD_ID)) {
|
||||
continue;
|
||||
}
|
||||
@@ -59,7 +59,7 @@ public class ModelOverrideComponent implements IModelBakeComponent {
|
||||
continue;
|
||||
}
|
||||
|
||||
BiFunction<ResourceLocation, IBakedModel, IBakedModel> customizer = this.customizer.get(location.getPath());
|
||||
BiFunction<Identifier, IBakedModel, IBakedModel> customizer = this.customizer.get(location.getPath());
|
||||
if (customizer != null) {
|
||||
IBakedModel newModel = customizer.apply(location, orgModel);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user