Search in sources :

Example 1 with RealBlueprintDeployer

use of buildcraft.builders.blueprints.RealBlueprintDeployer in project BuildCraft by BuildCraft.

the class BuildCraftBuilders method init.

@Mod.EventHandler
public void init(FMLInitializationEvent evt) {
    NetworkRegistry.INSTANCE.registerGuiHandler(instance, new BuildersGuiHandler());
    MinecraftForge.EVENT_BUS.register(new BuilderTooltipHandler());
    EntityRegistry.registerModEntity(EntityMechanicalArm.class, "bcMechArm", EntityIds.MECHANICAL_ARM, instance, 50, 1, true);
    // Standard blocks
    ISchematicRegistry schemes = BuilderAPI.schematicRegistry;
    schemes.registerSchematicBlock(Blocks.air, SchematicAir.class);
    schemes.registerSchematicBlock(Blocks.snow, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.tallgrass, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.double_plant, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.ice, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.piston_head, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.dirt, SchematicDirt.class);
    schemes.registerSchematicBlock(Blocks.grass, SchematicDirt.class);
    schemes.registerSchematicBlock(Blocks.cactus, SchematicCactus.class);
    schemes.registerSchematicBlock(Blocks.farmland, SchematicFarmland.class);
    schemes.registerSchematicBlock(Blocks.wheat, SchematicSeeds.class, Items.wheat_seeds);
    schemes.registerSchematicBlock(Blocks.pumpkin_stem, SchematicSeeds.class, Items.pumpkin_seeds);
    schemes.registerSchematicBlock(Blocks.melon_stem, SchematicSeeds.class, Items.melon_seeds);
    schemes.registerSchematicBlock(Blocks.nether_wart, SchematicSeeds.class, Items.nether_wart);
    schemes.registerSchematicBlock(Blocks.torch, SchematicBlock.class);
    schemes.registerSchematicBlock(Blocks.REDSTONE_TORCH, SchematicBlock.class);
    schemes.registerSchematicBlock(Blocks.unlit_redstone_torch, SchematicBlock.class);
    schemes.registerSchematicBlock(Blocks.tripwire_hook, SchematicBlock.class);
    schemes.registerSchematicBlock(Blocks.tripwire, SchematicTripwire.class);
    schemes.registerSchematicBlock(Blocks.skull, SchematicSkull.class);
    schemes.registerSchematicBlock(Blocks.log, SchematicLog.class);
    schemes.registerSchematicBlock(Blocks.log2, SchematicLog.class);
    schemes.registerSchematicBlock(Blocks.hay_block, SchematicRotatedPillar.class);
    schemes.registerSchematicBlock(Blocks.quartz_block, SchematicQuartz.class);
    schemes.registerSchematicBlock(Blocks.hopper, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.anvil, SchematicCustomStack.class, new ItemStack(Blocks.anvil));
    schemes.registerSchematicBlock(Blocks.vine, SchematicVine.class);
    schemes.registerSchematicBlock(Blocks.furnace, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.lit_furnace, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.CHEST, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.dispenser, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.dropper, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.ender_chest, SchematicEnderChest.class);
    schemes.registerSchematicBlock(Blocks.lever, SchematicLever.class);
    schemes.registerSchematicBlock(Blocks.gold_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.iron_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.coal_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.lapis_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.diamond_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.redstone_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.lit_redstone_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.emerald_ore, SchematicTreatAsOther.class, Blocks.stone.getDefaultState());
    schemes.registerSchematicBlock(Blocks.gravel, SchematicGravel.class);
    schemes.registerSchematicBlock(Blocks.redstone_wire, SchematicRedstoneWire.class, new ItemStack(Items.REDSTONE));
    schemes.registerSchematicBlock(Blocks.cake, SchematicCustomStack.class, new ItemStack(Items.cake));
    schemes.registerSchematicBlock(Blocks.glowstone, SchematicCustomStack.class, new ItemStack(Blocks.glowstone));
    schemes.registerSchematicBlock(Blocks.powered_repeater, SchematicCustomStackFloored.class, new ItemStack(Items.repeater));
    schemes.registerSchematicBlock(Blocks.unpowered_repeater, SchematicCustomStackFloored.class, new ItemStack(Items.repeater));
    schemes.registerSchematicBlock(Blocks.powered_comparator, SchematicCustomStackFloored.class, new ItemStack(Items.comparator));
    schemes.registerSchematicBlock(Blocks.unpowered_comparator, SchematicCustomStackFloored.class, new ItemStack(Items.comparator));
    schemes.registerSchematicBlock(Blocks.daylight_detector, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.daylight_detector_inverted, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.jukebox, SchematicJukebox.class);
    schemes.registerSchematicBlock(Blocks.noteblock, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.redstone_lamp, SchematicRedstoneLamp.class);
    schemes.registerSchematicBlock(Blocks.lit_redstone_lamp, SchematicRedstoneLamp.class);
    schemes.registerSchematicBlock(Blocks.glass_pane, SchematicGlassPane.class);
    schemes.registerSchematicBlock(Blocks.stained_glass_pane, SchematicGlassPane.class);
    schemes.registerSchematicBlock(Blocks.piston, SchematicPiston.class);
    schemes.registerSchematicBlock(Blocks.piston_extension, SchematicIgnore.class);
    schemes.registerSchematicBlock(Blocks.sticky_piston, SchematicPiston.class);
    schemes.registerSchematicBlock(Blocks.oak_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.stone_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.brick_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.stone_brick_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.nether_brick_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.sandstone_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.spruce_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.birch_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.jungle_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.quartz_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.acacia_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.dark_oak_stairs, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.ACACIA_DOOR, SchematicDoor.class, new ItemStack(Items.ACACIA_DOOR));
    schemes.registerSchematicBlock(Blocks.BIRCH_DOOR, SchematicDoor.class, new ItemStack(Items.BIRCH_DOOR));
    schemes.registerSchematicBlock(Blocks.DARK_OAK_DOOR, SchematicDoor.class, new ItemStack(Items.DARK_OAK_DOOR));
    schemes.registerSchematicBlock(Blocks.JUNGLE_DOOR, SchematicDoor.class, new ItemStack(Items.JUNGLE_DOOR));
    schemes.registerSchematicBlock(Blocks.OAK_DOOR, SchematicDoor.class, new ItemStack(Items.OAK_DOOR));
    schemes.registerSchematicBlock(Blocks.SPRUCE_DOOR, SchematicDoor.class, new ItemStack(Items.SPRUCE_DOOR));
    schemes.registerSchematicBlock(Blocks.IRON_DOOR, SchematicDoor.class, new ItemStack(Items.IRON_DOOR));
    schemes.registerSchematicBlock(Blocks.bed, SchematicBed.class);
    schemes.registerSchematicBlock(Blocks.wall_sign, SchematicSignLike.class, true);
    schemes.registerSchematicBlock(Blocks.standing_sign, SchematicSignLike.class, false);
    schemes.registerSchematicBlock(Blocks.wall_banner, SchematicBanner.class, true);
    schemes.registerSchematicBlock(Blocks.standing_banner, SchematicBanner.class, false);
    schemes.registerSchematicBlock(Blocks.portal, SchematicPortal.class);
    schemes.registerSchematicBlock(Blocks.rail, SchematicRail.class);
    schemes.registerSchematicBlock(Blocks.activator_rail, SchematicRail.class);
    schemes.registerSchematicBlock(Blocks.detector_rail, SchematicRail.class);
    schemes.registerSchematicBlock(Blocks.golden_rail, SchematicRail.class);
    schemes.registerSchematicBlock(Blocks.beacon, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.brewing_stand, SchematicBrewingStand.class);
    schemes.registerSchematicBlock(Blocks.enchanting_table, SchematicTile.class);
    schemes.registerSchematicBlock(Blocks.fire, SchematicFire.class);
    schemes.registerSchematicBlock(Blocks.bedrock, SchematicBlockCreative.class);
    schemes.registerSchematicBlock(Blocks.command_block, SchematicTileCreative.class);
    schemes.registerSchematicBlock(Blocks.mob_spawner, SchematicTileCreative.class);
    schemes.registerSchematicBlock(Blocks.glass, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.stone_slab, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.double_stone_slab, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.wooden_slab, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.double_wooden_slab, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.stained_glass, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.acacia_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.birch_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.dark_oak_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.jungle_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.oak_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.spruce_fence, SchematicStandalone.class);
    schemes.registerSchematicBlock(Blocks.iron_bars, SchematicStandalone.class);
    // Standard entities
    schemes.registerSchematicEntity(EntityArmorStand.class, SchematicArmorStand.class);
    schemes.registerSchematicEntity(EntityMinecartEmpty.class, SchematicMinecart.class, Items.minecart);
    schemes.registerSchematicEntity(EntityMinecartFurnace.class, SchematicMinecart.class, Items.furnace_minecart);
    schemes.registerSchematicEntity(EntityMinecartTNT.class, SchematicMinecart.class, Items.tnt_minecart);
    schemes.registerSchematicEntity(EntityMinecartChest.class, SchematicMinecart.class, Items.chest_minecart);
    schemes.registerSchematicEntity(EntityMinecartHopper.class, SchematicMinecart.class, Items.hopper_minecart);
    schemes.registerSchematicEntity(EntityPainting.class, SchematicHanging.class, Items.painting);
    schemes.registerSchematicEntity(EntityItemFrame.class, SchematicHanging.class, Items.item_frame);
    // BuildCraft blocks
    schemes.registerSchematicBlock(architectBlock, SchematicTile.class);
    schemes.registerSchematicBlock(builderBlock, SchematicBuilderLike.class);
    schemes.registerSchematicBlock(fillerBlock, SchematicBuilderLike.class);
    schemes.registerSchematicBlock(libraryBlock, SchematicTile.class);
    schemes.registerSchematicBlock(quarryBlock, SchematicBuilderLike.class);
    // schemes.registerSchematicBlock(markerBlock, SchematicWallSide.class);
    // schemes.registerSchematicBlock(pathMarkerBlock, SchematicWallSide.class);
    // schemes.registerSchematicBlock(constructionMarkerBlock, SchematicWallSide.class);
    // Factories required to save entities in world
    SchematicFactory.registerSchematicFactory(SchematicBlock.class, new SchematicFactoryBlock());
    SchematicFactory.registerSchematicFactory(SchematicMask.class, new SchematicFactoryMask());
    SchematicFactory.registerSchematicFactory(SchematicEntity.class, new SchematicFactoryEntity());
    // Template
    LibraryAPI.registerHandler(new LibraryBlueprintTypeHandler(false));
    // Blueprint
    LibraryAPI.registerHandler(new LibraryBlueprintTypeHandler(true));
    LibraryAPI.registerHandler(new LibraryBookTypeHandler());
    BlueprintDeployer.instance = new RealBlueprintDeployer();
    architectAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.architect", "architectAchievement", 11, 2, BuildCraftBuilders.architectBlock, BuildCraftCore.goldGearAchievement));
    builderAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.builder", "builderAchievement", 13, 2, BuildCraftBuilders.builderBlock, architectAchievement));
    blueprintAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.blueprint", "blueprintAchievement", 11, 4, BuildCraftBuilders.blueprintItem, architectAchievement));
    templateAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.template", "templateAchievement", 13, 4, BuildCraftBuilders.templateItem, blueprintAchievement));
    libraryAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.blueprintLibrary", "blueprintLibraryAchievement", 15, 2, BuildCraftBuilders.libraryBlock, builderAchievement));
    chunkDestroyerAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("buildcraft|builders:achievement.chunkDestroyer", "chunkDestroyerAchievement", 9, 2, quarryBlock, BuildCraftCore.diamondGearAchievement));
    if (BuildCraftCore.loadDefaultRecipes) {
        loadRecipes();
    }
    BuilderProxy.proxy.registerBlockRenderers();
}
Also used : Achievement(net.minecraft.stats.Achievement) ItemStack(net.minecraft.item.ItemStack) RealBlueprintDeployer(buildcraft.builders.blueprints.RealBlueprintDeployer)

Aggregations

RealBlueprintDeployer (buildcraft.builders.blueprints.RealBlueprintDeployer)1 ItemStack (net.minecraft.item.ItemStack)1 Achievement (net.minecraft.stats.Achievement)1