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