API compiles

This commit is contained in:
Sebastian Hartte
2020-06-27 18:09:44 +02:00
parent ba71a82288
commit 80fbb58d4f
572 changed files with 2995 additions and 3037 deletions
@@ -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);