Move some client registration to ClientSetupEvent

This commit is contained in:
covers1624
2020-06-02 12:06:26 +09:30
parent d32dbfd3c8
commit 404ef5624b
3 changed files with 13 additions and 14 deletions
@@ -1,6 +1,7 @@
package appeng.bootstrap; package appeng.bootstrap;
import appeng.block.AEBaseTileBlock; import appeng.block.AEBaseTileBlock;
import appeng.bootstrap.components.IClientSetupComponent;
import appeng.bootstrap.components.ITileEntityRegistrationComponent; import appeng.bootstrap.components.ITileEntityRegistrationComponent;
import appeng.bootstrap.definitions.TileEntityDefinition; import appeng.bootstrap.definitions.TileEntityDefinition;
import appeng.core.AppEng; import appeng.core.AppEng;
@@ -8,10 +9,9 @@ import appeng.core.features.AEFeature;
import appeng.core.features.ActivityState; import appeng.core.features.ActivityState;
import appeng.core.features.BlockStackSrc; import appeng.core.features.BlockStackSrc;
import appeng.tile.AEBaseTile; import appeng.tile.AEBaseTile;
import appeng.util.Platform;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
@@ -90,8 +89,6 @@ public class TileEntityBuilder<T extends AEBaseTile> {
type.setRegistryName(AppEng.MOD_ID, registryName); type.setRegistryName(AppEng.MOD_ID, registryName);
registry.register(type); registry.register(type);
DistExecutor.runWhenOn(Dist.CLIENT, () -> this::registerClient);
AEBaseTile.registerTileItem( AEBaseTile.registerTileItem(
tileClass, tileClass,
new BlockStackSrc(blocks.get(0), ActivityState.Enabled)); new BlockStackSrc(blocks.get(0), ActivityState.Enabled));
@@ -104,18 +101,19 @@ public class TileEntityBuilder<T extends AEBaseTile> {
} }
}); });
DistExecutor.runWhenOn( Dist.CLIENT, () -> this::buildClient );
return new TileEntityDefinition(this::addBlock); return new TileEntityDefinition(this::addBlock);
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private void registerClient() { private void buildClient() {
this.factory.addBootstrapComponent( (IClientSetupComponent) ()-> {
if (tileEntityRendering.tileEntityRenderer != null) { if (tileEntityRendering.tileEntityRenderer != null) {
ClientRegistry.bindTileEntityRenderer(type, tileEntityRendering.tileEntityRenderer); ClientRegistry.bindTileEntityRenderer(type, tileEntityRendering.tileEntityRenderer);
} }
});
} }
private void addBlock(Block block) { private void addBlock(Block block) {
+4 -1
View File
@@ -24,6 +24,7 @@ import java.io.File;
import appeng.bootstrap.components.IBlockRegistrationComponent; import appeng.bootstrap.components.IBlockRegistrationComponent;
import appeng.bootstrap.components.IClientSetupComponent; import appeng.bootstrap.components.IClientSetupComponent;
import appeng.client.ClientHelper; import appeng.client.ClientHelper;
import appeng.client.render.model.GlassModelLoader;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.server.ServerHelper; import appeng.server.ServerHelper;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@@ -33,8 +34,10 @@ import net.minecraft.item.Item;
import net.minecraft.particles.ParticleType; import net.minecraft.particles.ParticleType;
import net.minecraft.stats.StatType; import net.minecraft.stats.StatType;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.eventbus.api.Event;
@@ -122,7 +125,7 @@ public final class AppEng
private void clientSetup(FMLClientSetupEvent event) { private void clientSetup(FMLClientSetupEvent event) {
final ApiDefinitions definitions = Api.INSTANCE.definitions(); final ApiDefinitions definitions = Api.INSTANCE.definitions();
definitions.getRegistry().getBootstrapComponents( IClientSetupComponent.class ).forEachRemaining(IClientSetupComponent::setup); definitions.getRegistry().getBootstrapComponents( IClientSetupComponent.class ).forEachRemaining(IClientSetupComponent::setup);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "glass"), GlassModelLoader.INSTANCE);
} }
@@ -51,8 +51,6 @@ final class Registration
{ {
public Registration() { public Registration() {
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "glass"), GlassModelLoader.INSTANCE);
AeStats.register(); AeStats.register();
} }