Restored more initialization code.

This commit is contained in:
Sebastian Hartte
2020-06-06 22:21:23 +02:00
parent 70418b0bb2
commit 97f04922b9
5 changed files with 199 additions and 198 deletions
@@ -27,6 +27,7 @@ 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;
import appeng.bootstrap.components.IInitComponent;
import net.minecraft.block.DispenserBlock; import net.minecraft.block.DispenserBlock;
import net.minecraft.dispenser.IDispenseItemBehavior; import net.minecraft.dispenser.IDispenseItemBehavior;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@@ -152,7 +153,7 @@ class ItemDefinitionBuilder implements IItemBuilder
// Register custom dispenser behavior if requested // Register custom dispenser behavior if requested
if( this.dispenserBehaviorSupplier != null ) if( this.dispenserBehaviorSupplier != null )
{ {
this.factory.addBootstrapComponent( (IPostInitComponent) side -> this.factory.addBootstrapComponent( (IInitComponent) () ->
{ {
IDispenseItemBehavior behavior = this.dispenserBehaviorSupplier.get(); IDispenseItemBehavior behavior = this.dispenserBehaviorSupplier.get();
DispenserBlock.registerDispenseBehavior( item, behavior ); DispenserBlock.registerDispenseBehavior( item, behavior );
@@ -19,13 +19,11 @@
package appeng.bootstrap.components; package appeng.bootstrap.components;
import net.minecraftforge.api.distmarker.Dist;
import appeng.bootstrap.IBootstrapComponent; import appeng.bootstrap.IBootstrapComponent;
@FunctionalInterface @FunctionalInterface
public interface IPostInitComponent extends IBootstrapComponent public interface IPostInitComponent extends IBootstrapComponent
{ {
void postInitialize( Dist dist ); void postInitialize();
} }
+3
View File
@@ -26,6 +26,7 @@ import appeng.block.paint.PaintSplotchesModel;
import appeng.block.qnb.QnbFormedModel; import appeng.block.qnb.QnbFormedModel;
import appeng.bootstrap.components.IClientSetupComponent; import appeng.bootstrap.components.IClientSetupComponent;
import appeng.bootstrap.components.IInitComponent; import appeng.bootstrap.components.IInitComponent;
import appeng.bootstrap.components.IPostInitComponent;
import appeng.client.ClientHelper; import appeng.client.ClientHelper;
import appeng.client.render.DummyFluidItemModel; import appeng.client.render.DummyFluidItemModel;
import appeng.client.render.SimpleModelLoader; import appeng.client.render.SimpleModelLoader;
@@ -150,8 +151,10 @@ public final class AppEng
ApiDefinitions definitions = Api.INSTANCE.definitions(); ApiDefinitions definitions = Api.INSTANCE.definitions();
definitions.getRegistry().getBootstrapComponents( IInitComponent.class ).forEachRemaining(IInitComponent::initialize); definitions.getRegistry().getBootstrapComponents( IInitComponent.class ).forEachRemaining(IInitComponent::initialize);
definitions.getRegistry().getBootstrapComponents( IPostInitComponent.class ).forEachRemaining(IPostInitComponent::postInitialize);
Registration.setupInternalRegistries(); Registration.setupInternalRegistries();
Registration.postInit();
if( versionCheckerConfig.isVersionCheckingEnabled() ) if( versionCheckerConfig.isVersionCheckingEnabled() )
{ {
+188 -189
View File
@@ -19,7 +19,13 @@
package appeng.core; package appeng.core;
import appeng.api.config.Upgrades;
import appeng.api.definitions.IBlocks;
import appeng.api.definitions.IItems;
import appeng.api.definitions.IParts;
import appeng.api.features.IRegistryContainer; import appeng.api.features.IRegistryContainer;
import appeng.api.features.IWirelessTermHandler;
import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry; import appeng.api.networking.IGridCacheRegistry;
import appeng.api.networking.crafting.ICraftingGrid; import appeng.api.networking.crafting.ICraftingGrid;
import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.energy.IEnergyGrid;
@@ -41,7 +47,6 @@ import appeng.client.gui.implementations.GuiCraftingTerm;
import appeng.client.gui.implementations.GuiDrive; import appeng.client.gui.implementations.GuiDrive;
import appeng.client.gui.implementations.GuiFormationPlane; import appeng.client.gui.implementations.GuiFormationPlane;
import appeng.client.gui.implementations.GuiGrinder; import appeng.client.gui.implementations.GuiGrinder;
import appeng.client.gui.implementations.GuiGrinder;
import appeng.client.gui.implementations.GuiIOPort; import appeng.client.gui.implementations.GuiIOPort;
import appeng.client.gui.implementations.GuiInscriber; import appeng.client.gui.implementations.GuiInscriber;
import appeng.client.gui.implementations.GuiInterface; import appeng.client.gui.implementations.GuiInterface;
@@ -55,11 +60,9 @@ import appeng.client.gui.implementations.GuiNetworkTool;
import appeng.client.gui.implementations.GuiPatternTerm; import appeng.client.gui.implementations.GuiPatternTerm;
import appeng.client.gui.implementations.GuiPriority; import appeng.client.gui.implementations.GuiPriority;
import appeng.client.gui.implementations.GuiQNB; import appeng.client.gui.implementations.GuiQNB;
import appeng.client.gui.implementations.GuiQNB;
import appeng.client.gui.implementations.GuiQuartzKnife; import appeng.client.gui.implementations.GuiQuartzKnife;
import appeng.client.gui.implementations.GuiSecurityStation; import appeng.client.gui.implementations.GuiSecurityStation;
import appeng.client.gui.implementations.GuiSkyChest; import appeng.client.gui.implementations.GuiSkyChest;
import appeng.client.gui.implementations.GuiSkyChest;
import appeng.client.gui.implementations.GuiSpatialIOPort; import appeng.client.gui.implementations.GuiSpatialIOPort;
import appeng.client.gui.implementations.GuiStorageBus; import appeng.client.gui.implementations.GuiStorageBus;
import appeng.client.gui.implementations.GuiUpgradeable; import appeng.client.gui.implementations.GuiUpgradeable;
@@ -72,6 +75,7 @@ import appeng.client.render.tesr.SkyChestTESR;
import appeng.container.AEBaseContainer; import appeng.container.AEBaseContainer;
import appeng.container.ContainerOpener; import appeng.container.ContainerOpener;
import appeng.container.implementations.*; import appeng.container.implementations.*;
import appeng.core.features.registries.P2PTunnelRegistry;
import appeng.core.features.registries.cell.BasicCellHandler; import appeng.core.features.registries.cell.BasicCellHandler;
import appeng.core.features.registries.cell.BasicItemCellGuiHandler; import appeng.core.features.registries.cell.BasicItemCellGuiHandler;
import appeng.core.features.registries.cell.CreativeCellHandler; import appeng.core.features.registries.cell.CreativeCellHandler;
@@ -85,13 +89,13 @@ import appeng.recipes.conditions.FeaturesEnabled;
import appeng.recipes.game.DisassembleRecipe; import appeng.recipes.game.DisassembleRecipe;
import appeng.recipes.ingredients.PartIngredientSerializer; import appeng.recipes.ingredients.PartIngredientSerializer;
import appeng.server.AECommand; import appeng.server.AECommand;
import appeng.tile.AEBaseTile;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScreenManager; import net.minecraft.client.gui.ScreenManager;
import net.minecraft.client.renderer.ItemModelMesher; import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.model.ModelResourceLocation; import net.minecraft.client.renderer.model.ModelResourceLocation;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType; import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.item.crafting.IRecipeSerializer;
@@ -635,191 +639,186 @@ final class Registration
// event.addCapability( new ResourceLocation( "appliedenergistics2:spatial_dimension_manager" ), new SpatialDimensionManager( event.getObject() ) ); // event.addCapability( new ResourceLocation( "appliedenergistics2:spatial_dimension_manager" ), new SpatialDimensionManager( event.getObject() ) );
// } // }
// } // }
//
// void postInit( final FMLPostInitializationEvent event ) // FIXME LATER
// { public static void postInit()
// final IRegistryContainer registries = Api.INSTANCE.registries(); {
// ApiDefinitions definitions = Api.INSTANCE.definitions(); final IRegistryContainer registries = Api.INSTANCE.registries();
// final IParts parts = definitions.parts(); ApiDefinitions definitions = Api.INSTANCE.definitions();
// final IBlocks blocks = definitions.blocks(); final IParts parts = definitions.parts();
// final IItems items = definitions.items(); final IBlocks blocks = definitions.blocks();
// final IItems items = definitions.items();
// this.registerSpatialDimension();
// // FIXME this.registerSpatialDimension();
// // default settings..
// ( (P2PTunnelRegistry) registries.p2pTunnel() ).configure(); // default settings..
// ( (P2PTunnelRegistry) registries.p2pTunnel() ).configure();
// // add to localization..
// PlayerMessages.values(); // Interface
// GuiText.values(); Upgrades.CRAFTING.registerItem( parts.iface(), 1 );
// Upgrades.CRAFTING.registerItem( blocks.iface(), 1 );
// definitions.getRegistry().getBootstrapComponents( IPostInitComponent.class ).forEachRemaining( b -> b.postInitialize( event.getSide() ) );
// // IO Port!
// // Interface Upgrades.SPEED.registerItem( blocks.iOPort(), 3 );
// Upgrades.CRAFTING.registerItem( parts.iface(), 1 ); Upgrades.REDSTONE.registerItem( blocks.iOPort(), 1 );
// Upgrades.CRAFTING.registerItem( blocks.iface(), 1 );
// // Level Emitter!
// // IO Port! Upgrades.FUZZY.registerItem( parts.levelEmitter(), 1 );
// Upgrades.SPEED.registerItem( blocks.iOPort(), 3 ); Upgrades.CRAFTING.registerItem( parts.levelEmitter(), 1 );
// Upgrades.REDSTONE.registerItem( blocks.iOPort(), 1 );
// // Import Bus
// // Level Emitter! Upgrades.FUZZY.registerItem( parts.importBus(), 1 );
// Upgrades.FUZZY.registerItem( parts.levelEmitter(), 1 ); Upgrades.REDSTONE.registerItem( parts.importBus(), 1 );
// Upgrades.CRAFTING.registerItem( parts.levelEmitter(), 1 ); Upgrades.CAPACITY.registerItem( parts.importBus(), 2 );
// Upgrades.SPEED.registerItem( parts.importBus(), 4 );
// // Import Bus
// Upgrades.FUZZY.registerItem( parts.importBus(), 1 ); // Fluid Import Bus
// Upgrades.REDSTONE.registerItem( parts.importBus(), 1 ); Upgrades.CAPACITY.registerItem( parts.fluidImportBus(), 2 );
// Upgrades.CAPACITY.registerItem( parts.importBus(), 2 ); Upgrades.REDSTONE.registerItem( parts.fluidImportBus(), 1 );
// Upgrades.SPEED.registerItem( parts.importBus(), 4 ); Upgrades.SPEED.registerItem( parts.fluidImportBus(), 4 );
//
// // Fluid Import Bus // Export Bus
// Upgrades.CAPACITY.registerItem( parts.fluidImportBus(), 2 ); Upgrades.FUZZY.registerItem( parts.exportBus(), 1 );
// Upgrades.REDSTONE.registerItem( parts.fluidImportBus(), 1 ); Upgrades.REDSTONE.registerItem( parts.exportBus(), 1 );
// Upgrades.SPEED.registerItem( parts.fluidImportBus(), 4 ); Upgrades.CAPACITY.registerItem( parts.exportBus(), 2 );
// Upgrades.SPEED.registerItem( parts.exportBus(), 4 );
// // Export Bus Upgrades.CRAFTING.registerItem( parts.exportBus(), 1 );
// Upgrades.FUZZY.registerItem( parts.exportBus(), 1 );
// Upgrades.REDSTONE.registerItem( parts.exportBus(), 1 ); // Fluid Export Bus
// Upgrades.CAPACITY.registerItem( parts.exportBus(), 2 ); Upgrades.CAPACITY.registerItem( parts.fluidExportBus(), 2 );
// Upgrades.SPEED.registerItem( parts.exportBus(), 4 ); Upgrades.REDSTONE.registerItem( parts.fluidExportBus(), 1 );
// Upgrades.CRAFTING.registerItem( parts.exportBus(), 1 ); Upgrades.SPEED.registerItem( parts.fluidExportBus(), 4 );
//
// // Fluid Export Bus // Storage Cells
// Upgrades.CAPACITY.registerItem( parts.fluidExportBus(), 2 ); Upgrades.FUZZY.registerItem( items.cell1k(), 1 );
// Upgrades.REDSTONE.registerItem( parts.fluidExportBus(), 1 ); Upgrades.INVERTER.registerItem( items.cell1k(), 1 );
// Upgrades.SPEED.registerItem( parts.fluidExportBus(), 4 );
// Upgrades.FUZZY.registerItem( items.cell4k(), 1 );
// // Storage Cells Upgrades.INVERTER.registerItem( items.cell4k(), 1 );
// Upgrades.FUZZY.registerItem( items.cell1k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell1k(), 1 ); Upgrades.FUZZY.registerItem( items.cell16k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell16k(), 1 );
// Upgrades.FUZZY.registerItem( items.cell4k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell4k(), 1 ); Upgrades.FUZZY.registerItem( items.cell64k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell64k(), 1 );
// Upgrades.FUZZY.registerItem( items.cell16k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell16k(), 1 ); Upgrades.FUZZY.registerItem( items.portableCell(), 1 );
// Upgrades.INVERTER.registerItem( items.portableCell(), 1 );
// Upgrades.FUZZY.registerItem( items.cell64k(), 1 );
// Upgrades.INVERTER.registerItem( items.cell64k(), 1 ); Upgrades.FUZZY.registerItem( items.viewCell(), 1 );
// Upgrades.INVERTER.registerItem( items.viewCell(), 1 );
// Upgrades.FUZZY.registerItem( items.portableCell(), 1 );
// Upgrades.INVERTER.registerItem( items.portableCell(), 1 ); // Storage Bus
// Upgrades.FUZZY.registerItem( parts.storageBus(), 1 );
// Upgrades.FUZZY.registerItem( items.viewCell(), 1 ); Upgrades.INVERTER.registerItem( parts.storageBus(), 1 );
// Upgrades.INVERTER.registerItem( items.viewCell(), 1 ); Upgrades.CAPACITY.registerItem( parts.storageBus(), 5 );
//
// // Storage Bus // Storage Bus Fluids
// Upgrades.FUZZY.registerItem( parts.storageBus(), 1 ); Upgrades.INVERTER.registerItem( parts.fluidStorageBus(), 1 );
// Upgrades.INVERTER.registerItem( parts.storageBus(), 1 ); Upgrades.CAPACITY.registerItem( parts.fluidStorageBus(), 5 );
// Upgrades.CAPACITY.registerItem( parts.storageBus(), 5 );
// // Formation Plane
// // Storage Bus Fluids Upgrades.FUZZY.registerItem( parts.formationPlane(), 1 );
// Upgrades.INVERTER.registerItem( parts.fluidStorageBus(), 1 ); Upgrades.INVERTER.registerItem( parts.formationPlane(), 1 );
// Upgrades.CAPACITY.registerItem( parts.fluidStorageBus(), 5 ); Upgrades.CAPACITY.registerItem( parts.formationPlane(), 5 );
//
// // Formation Plane // Matter Cannon
// Upgrades.FUZZY.registerItem( parts.formationPlane(), 1 ); Upgrades.FUZZY.registerItem( items.massCannon(), 1 );
// Upgrades.INVERTER.registerItem( parts.formationPlane(), 1 ); Upgrades.INVERTER.registerItem( items.massCannon(), 1 );
// Upgrades.CAPACITY.registerItem( parts.formationPlane(), 5 ); Upgrades.SPEED.registerItem( items.massCannon(), 4 );
//
// // Matter Cannon // Molecular Assembler
// Upgrades.FUZZY.registerItem( items.massCannon(), 1 ); Upgrades.SPEED.registerItem( blocks.molecularAssembler(), 5 );
// Upgrades.INVERTER.registerItem( items.massCannon(), 1 );
// Upgrades.SPEED.registerItem( items.massCannon(), 4 ); // Inscriber
// Upgrades.SPEED.registerItem( blocks.inscriber(), 3 );
// // Molecular Assembler
// Upgrades.SPEED.registerItem( blocks.molecularAssembler(), 5 ); // Wireless Terminal Handler
// items.wirelessTerminal().maybeItem().ifPresent( terminal -> registries.wireless().registerWirelessHandler( (IWirelessTermHandler) terminal ) );
// // Inscriber
// Upgrades.SPEED.registerItem( blocks.inscriber(), 3 ); // Charge Rates
// items.chargedStaff().maybeItem().ifPresent( chargedStaff -> registries.charger().addChargeRate( chargedStaff, 320d ) );
// // Wireless Terminal Handler items.portableCell().maybeItem().ifPresent( chargedStaff -> registries.charger().addChargeRate( chargedStaff, 800d ) );
// items.wirelessTerminal().maybeItem().ifPresent( terminal -> registries.wireless().registerWirelessHandler( (IWirelessTermHandler) terminal ) ); items.colorApplicator().maybeItem().ifPresent( colorApplicator -> registries.charger().addChargeRate( colorApplicator, 800d ) );
// items.wirelessTerminal().maybeItem().ifPresent( terminal -> registries.charger().addChargeRate( terminal, 8000d ) );
// // Charge Rates items.entropyManipulator().maybeItem().ifPresent( entropyManipulator -> registries.charger().addChargeRate( entropyManipulator, 8000d ) );
// items.chargedStaff().maybeItem().ifPresent( chargedStaff -> registries.charger().addChargeRate( chargedStaff, 320d ) ); items.massCannon().maybeItem().ifPresent( massCannon -> registries.charger().addChargeRate( massCannon, 8000d ) );
// items.portableCell().maybeItem().ifPresent( chargedStaff -> registries.charger().addChargeRate( chargedStaff, 800d ) ); blocks.energyCell().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 8000d ) );
// items.colorApplicator().maybeItem().ifPresent( colorApplicator -> registries.charger().addChargeRate( colorApplicator, 800d ) ); blocks.energyCellDense().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 16000d ) );
// items.wirelessTerminal().maybeItem().ifPresent( terminal -> registries.charger().addChargeRate( terminal, 8000d ) );
// items.entropyManipulator().maybeItem().ifPresent( entropyManipulator -> registries.charger().addChargeRate( entropyManipulator, 8000d ) ); // FIXME // add villager trading to black smiths for a few basic materials
// items.massCannon().maybeItem().ifPresent( massCannon -> registries.charger().addChargeRate( massCannon, 8000d ) ); // FIXME if( AEConfig.instance().isFeatureEnabled( AEFeature.VILLAGER_TRADING ) )
// blocks.energyCell().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 8000d ) ); // FIXME {
// blocks.energyCellDense().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 16000d ) ); // FIXME // TODO: VILLAGER TRADING
// // FIXME // VillagerRegistry.instance().getRegisteredVillagers().registerVillageTradeHandler( 3, new AETrading() );
// // add villager trading to black smiths for a few basic materials // FIXME }
// if( AEConfig.instance().isFeatureEnabled( AEFeature.VILLAGER_TRADING ) )
// { // FIXME if( AEConfig.instance().isFeatureEnabled( AEFeature.CERTUS_QUARTZ_WORLD_GEN ) )
// // TODO: VILLAGER TRADING // FIXME {
// // VillagerRegistry.instance().getRegisteredVillagers().registerVillageTradeHandler( 3, new AETrading() ); // FIXME GameRegistry.registerWorldGenerator( new QuartzWorldGen(), 0 );
// } // FIXME }
// // FIXME
// if( AEConfig.instance().isFeatureEnabled( AEFeature.CERTUS_QUARTZ_WORLD_GEN ) ) // FIXME if( AEConfig.instance().isFeatureEnabled( AEFeature.METEORITE_WORLD_GEN ) )
// { // FIXME {
// GameRegistry.registerWorldGenerator( new QuartzWorldGen(), 0 ); // FIXME GameRegistry.registerWorldGenerator( new MeteoriteWorldGen(), 0 );
// } // FIXME }
//
// if( AEConfig.instance().isFeatureEnabled( AEFeature.METEORITE_WORLD_GEN ) ) final IMovableRegistry mr = registries.movable();
// {
// GameRegistry.registerWorldGenerator( new MeteoriteWorldGen(), 0 ); /*
// } * You can't move bed rock.
// */
// final IMovableRegistry mr = registries.movable(); mr.blacklistBlock( net.minecraft.block.Blocks.BEDROCK );
//
// /* /*
// * You can't move bed rock. * White List Vanilla...
// */ */
// mr.blacklistBlock( net.minecraft.block.Blocks.BEDROCK ); mr.whiteListTileEntity( net.minecraft.tileentity.BannerTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.BeaconTileEntity.class );
// /* mr.whiteListTileEntity( net.minecraft.tileentity.BrewingStandTileEntity.class );
// * White List Vanilla... mr.whiteListTileEntity( net.minecraft.tileentity.ChestTileEntity.class );
// */ mr.whiteListTileEntity( net.minecraft.tileentity.CommandBlockTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.BannerTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.ComparatorTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.BeaconTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.DaylightDetectorTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.BrewingStandTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.DispenserTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.ChestTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.DropperTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.CommandBlockTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.EnchantingTableTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.ComparatorTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.EnderChestTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.DaylightDetectorTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.EndPortalTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.DispenserTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.FurnaceTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.DropperTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.HopperTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.EnchantingTableTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.MobSpawnerTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.EnderChestTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.PistonTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.EndPortalTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.ShulkerBoxTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.FurnaceTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.SignTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.HopperTileEntity.class ); mr.whiteListTileEntity( net.minecraft.tileentity.SkullTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.MobSpawnerTileEntity.class );
// mr.whiteListTileEntity( net.minecraft.tileentity.PistonTileEntity.class ); /*
// mr.whiteListTileEntity( net.minecraft.tileentity.ShulkerBoxTileEntity.class ); * Whitelist AE2
// mr.whiteListTileEntity( net.minecraft.tileentity.SignTileEntity.class ); */
// mr.whiteListTileEntity( net.minecraft.tileentity.SkullTileEntity.class ); mr.whiteListTileEntity( AEBaseTile.class );
//
// /* // FIXME /*
// * Whitelist AE2 // FIXME * world gen
// */ // FIXME */
// mr.whiteListTileEntity( AEBaseTile.class ); // FIXME for( final WorldGenType type : WorldGenType.values() )
// // FIXME {
// /* // FIXME registries.worldgen().disableWorldGenForProviderID( type, StorageWorldProvider.class );
// * world gen // FIXME
// */ // FIXME // nether
// for( final WorldGenType type : WorldGenType.values() ) // FIXME registries.worldgen().disableWorldGenForDimension( type, -1 );
// { // FIXME
// registries.worldgen().disableWorldGenForProviderID( type, StorageWorldProvider.class ); // FIXME // end
// // FIXME registries.worldgen().disableWorldGenForDimension( type, 1 );
// // nether // FIXME }
// registries.worldgen().disableWorldGenForDimension( type, -1 ); // FIXME
// // FIXME // whitelist from config
// // end // FIXME for( final int dimension : AEConfig.instance().getMeteoriteDimensionWhitelist() )
// registries.worldgen().disableWorldGenForDimension( type, 1 ); // FIXME {
// } // FIXME registries.worldgen().enableWorldGenForDimension( WorldGenType.METEORITES, dimension );
// // FIXME }
// // whitelist from config }
// for( final int dimension : AEConfig.instance().getMeteoriteDimensionWhitelist() )
// {
// registries.worldgen().enableWorldGenForDimension( WorldGenType.METEORITES, dimension );
// }
// }
//
// private static class ModelLoaderWrapper implements IModelRegistry // private static class ModelLoaderWrapper implements IModelRegistry
// { // {
// //
@@ -22,6 +22,7 @@ package appeng.core.api.definitions;
import appeng.api.definitions.IBlockDefinition; import appeng.api.definitions.IBlockDefinition;
import appeng.api.definitions.IBlocks; import appeng.api.definitions.IBlocks;
import appeng.api.definitions.ITileDefinition; import appeng.api.definitions.ITileDefinition;
import appeng.api.features.AEFeature;
import appeng.block.AEBaseBlockItemChargeable; import appeng.block.AEBaseBlockItemChargeable;
import appeng.block.crafting.*; import appeng.block.crafting.*;
import appeng.block.grindstone.BlockCrank; import appeng.block.grindstone.BlockCrank;
@@ -38,14 +39,12 @@ import appeng.block.spatial.BlockSpatialPylon;
import appeng.block.storage.*; import appeng.block.storage.*;
import appeng.bootstrap.*; import appeng.bootstrap.*;
import appeng.bootstrap.components.IEntityRegistrationComponent; import appeng.bootstrap.components.IEntityRegistrationComponent;
import appeng.bootstrap.components.IPostInitComponent; import appeng.bootstrap.components.IInitComponent;
import appeng.bootstrap.components.IPreInitComponent;
import appeng.bootstrap.definitions.TileEntityDefinition; import appeng.bootstrap.definitions.TileEntityDefinition;
import appeng.client.render.crafting.CraftingCubeRendering; import appeng.client.render.crafting.CraftingCubeRendering;
import appeng.client.render.spatial.SpatialPylonRendering; import appeng.client.render.spatial.SpatialPylonRendering;
import appeng.client.render.tesr.CrankTESR; import appeng.client.render.tesr.CrankTESR;
import appeng.client.render.tesr.SkyChestTESR; import appeng.client.render.tesr.SkyChestTESR;
import appeng.api.features.AEFeature;
import appeng.core.AppEng; import appeng.core.AppEng;
import appeng.core.features.registries.PartModels; import appeng.core.features.registries.PartModels;
import appeng.debug.*; import appeng.debug.*;
@@ -79,6 +78,7 @@ 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.common.ToolType; import net.minecraftforge.common.ToolType;
import static appeng.block.crafting.AbstractCraftingUnitBlock.CraftingUnitType; import static appeng.block.crafting.AbstractCraftingUnitBlock.CraftingUnitType;
import static appeng.decorative.solid.BlockSkyStone.SkystoneType; import static appeng.decorative.solid.BlockSkyStone.SkystoneType;
@@ -309,7 +309,7 @@ public final class ApiBlocks implements IBlocks
.build(); .build();
this.tinyTNT = registry.block( "tiny_tnt", BlockTinyTNT::new ) this.tinyTNT = registry.block( "tiny_tnt", BlockTinyTNT::new )
.features( AEFeature.TINY_TNT ) .features( AEFeature.TINY_TNT )
.bootstrap( ( block, item ) -> (IPreInitComponent) side -> DispenserBlock.registerDispenseBehavior( item, .bootstrap( ( block, item ) -> (IInitComponent) () -> DispenserBlock.registerDispenseBehavior( item,
new DispenserBehaviorTinyTNT() ) ) new DispenserBehaviorTinyTNT() ) )
.bootstrap( ( block, item ) -> (IEntityRegistrationComponent) r -> .bootstrap( ( block, item ) -> (IEntityRegistrationComponent) r ->
{ {
@@ -528,7 +528,7 @@ public final class ApiBlocks implements IBlocks
// (handled in BlockCableBus.java and its setupTile()) // (handled in BlockCableBus.java and its setupTile())
// .tileEntity( TileCableBus.class ) // .tileEntity( TileCableBus.class )
// TODO: why the custom registration? // TODO: why the custom registration?
.bootstrap( ( block, item ) -> (IPostInitComponent) side -> ( (BlockCableBus) block ).setupTile() ) .bootstrap( ( block, item ) -> (IInitComponent) ((BlockCableBus) block)::setupTile)
.build(); .build();
this.skyStoneSlab = deco.block( "sky_stone_slab", () -> new SlabBlock( SKYSTONE_PROPERTIES ) ) this.skyStoneSlab = deco.block( "sky_stone_slab", () -> new SlabBlock( SKYSTONE_PROPERTIES ) )