Beispiel #1
0
  private static void registerSubTileWithMini(String key, Class<? extends SubTileEntity> clazz) {
    BotaniaAPI.registerSubTile(key, clazz);

    for (Class innerClazz : clazz.getDeclaredClasses())
      if (innerClazz.getSimpleName().equals("Mini"))
        BotaniaAPI.registerMiniSubTile(key + "Chibi", innerClazz, key);
  }
Beispiel #2
0
  public void postInit(FMLPostInitializationEvent event) {
    if (Botania.thaumcraftLoaded) {
      ModBrews.initTC();
      ModBrewRecipes.initTC();
    }

    ModBlocks.addDispenserBehaviours();
    ModBlocks.registerMultiparts();
    ConfigHandler.loadPostInit();
    LexiconData.postInit();

    registerNEIStuff();

    int words = 0;
    for (LexiconEntry entry : BotaniaAPI.getAllEntries())
      for (LexiconPage page : entry.pages) {
        words += countWords(page.getUnlocalizedName());
        if (page instanceof ITwoNamedPage)
          words += countWords(((ITwoNamedPage) page).getSecondUnlocalizedName());
      }
    FMLLog.log(Level.INFO, "[Botania] The Lexica Botania has %d words.", words);
  }
  public static void init() {
    manasteelRecipes = new ArrayList<>();
    manasteelRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 0), "ingotIron", 3000));
    manasteelRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModBlocks.storage, 1, 0), new ItemStack(Blocks.IRON_BLOCK), 27000));

    manaPearlRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 1), new ItemStack(Items.ENDER_PEARL), 6000);

    manaDiamondRecipes = new ArrayList<>();
    manaDiamondRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 2), "gemDiamond", 10000));
    manaDiamondRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModBlocks.storage, 1, 3), new ItemStack(Blocks.DIAMOND_BLOCK), 90000));

    manaPowderRecipes = new ArrayList<>();
    manaPowderRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 23), new ItemStack(Items.GUNPOWDER), 500));
    manaPowderRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 23), new ItemStack(Items.REDSTONE), 500));
    manaPowderRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 23), new ItemStack(Items.GLOWSTONE_DUST), 500));
    manaPowderRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 23), new ItemStack(Items.SUGAR), 500));
    for (int i = 0; i < 16; i++)
      manaPowderRecipes.add(
          BotaniaAPI.registerManaInfusionRecipe(
              new ItemStack(ModItems.manaResource, 1, 23), new ItemStack(ModItems.dye, 1, i), 400));

    pistonRelayRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModBlocks.pistonRelay), new ItemStack(Blocks.PISTON), 15000);
    manaCookieRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaCookie), new ItemStack(Items.COOKIE), 20000);
    grassSeedsRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.grassSeeds), new ItemStack(Blocks.TALLGRASS, 1, 1), 2500);
    podzolSeedsRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.grassSeeds, 1, 1), new ItemStack(Blocks.DEADBUSH), 2500);

    mycelSeedsRecipes = new ArrayList<>();
    mycelSeedsRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.grassSeeds, 1, 2), new ItemStack(Blocks.RED_MUSHROOM), 6500));
    mycelSeedsRecipes.add(
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.grassSeeds, 1, 2), new ItemStack(Blocks.BROWN_MUSHROOM), 6500));

    manaQuartzRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.quartz, 1, 1), new ItemStack(Items.QUARTZ), 250);
    tinyPotatoRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModBlocks.tinyPotato), new ItemStack(Items.POTATO), 1337);

    if (Botania.thaumcraftLoaded) {
      Item inkwell = Item.REGISTRY.getObject(new ResourceLocation("thaumcraft", "scribing_tools"));
      manaInkwellRecipe =
          BotaniaAPI.registerManaInfusionRecipe(
              new ItemStack(ModItems.manaInkwell, 1, ModItems.manaInkwell.getMaxDamage()),
              new ItemStack(inkwell),
              35000);
    }

    managlassRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModBlocks.manaGlass), new ItemStack(Blocks.GLASS), 150);
    manaStringRecipe =
        BotaniaAPI.registerManaInfusionRecipe(
            new ItemStack(ModItems.manaResource, 1, 16), new ItemStack(Items.STRING), 5000);

    if (Botania.gardenOfGlassLoaded)
      sugarCaneRecipe =
          BotaniaAPI.registerManaInfusionRecipe(
              new ItemStack(Items.REEDS), new ItemStack(Blocks.HAY_BLOCK), 2000);

    BotaniaAPI.registerManaInfusionRecipe(
        new ItemStack(ModItems.manaBottle), new ItemStack(Items.GLASS_BOTTLE), 5000);
  }
Beispiel #4
0
  public static void baka() throws Compat.ItemNotFoundException {
    Item resource = Compat.getItem("Botania", "manaResource");
    Block storage = Compat.getBlock("Botania", "storage");
    ItemStack terra = new ItemStack(storage, 1, 1);
    ItemStack gaia = new ItemStack(resource, 1, 5);

    Grinder.catalyst.getInput().add(terra);
    Grinder.catalyst.getInput().add(gaia);

    Alfheim.vacationTime();

    BotaniaAPI.registerSubTile("asgardandelion", SubTileCheaty.class);
    BotaniaAPI.registerSubTileSignature(SubTileCheaty.class, new Signature("asgardandelion"));
    BotaniaAPI.addSubTileToCreativeMenu("asgardandelion");

    ItemStack cheaty = getFlower("asgardandelion");

    SubTileCheaty.lexicon =
        new LudicrousLexicon("asgardandelion", BotaniaAPI.categoryGenerationFlowers);
    SubTileCheaty.lexicon.addPage(
        BotaniaAPI.internalHandler.textPage("avaritia.lexicon.asgardandelion.0"));
    SubTileCheaty.lexicon.setIcon(cheaty);

    ExtremeCraftingManager.getInstance()
        .addRecipe(
            cheaty,
            new Object[] {
              "   III   ",
              "  IIIII  ",
              "  IIXII  ",
              "  IIIII  ",
              "   III   ",
              " nn N nn ",
              "nnnnNnnnn",
              " nn N nn ",
              "    N    ",
              'I',
              new ItemStack(LudicrousItems.resource, 1, 6),
              'X',
              new ItemStack(LudicrousItems.resource, 1, 5),
              'N',
              new ItemStack(LudicrousItems.resource, 1, 4),
              'n',
              new ItemStack(LudicrousItems.resource, 1, 3),
            });

    LudicrousBlocks.infinitato = GameRegistry.registerBlock(new BlockInfinitato(), "infinitato");
    GameRegistry.registerTileEntity(TileInfinitato.class, "Avaritia_Infinitato");
    costumes = new ItemInfinitatoCostume();
    GameRegistry.registerItem(costumes, "costumes");
    if (Compat.nei) {
      try {
        NotEnough.hide(new ItemStack(costumes, 1, OreDictionary.WILDCARD_VALUE));
      } catch (Throwable e) {
      }
    }

    Block potato = Compat.getBlock("Botania", "tinyPotato");

    ExtremeShapedRecipe tatorecipe =
        ExtremeCraftingManager.getInstance()
            .addRecipe(
                new ItemStack(LudicrousBlocks.infinitato),
                new Object[] {
                  "IIIIIIIII",
                  "IIIIIIIII",
                  "IIISISIII",
                  "IIIIIIIII",
                  "IISIXISII",
                  "IIISSSIII",
                  "IIIIIIIII",
                  "IIIIIIIII",
                  "IIIIIIIII",
                  'I',
                  new ItemStack(potato),
                  'X',
                  new ItemStack(LudicrousItems.resource, 1, 5),
                  'S',
                  new ItemStack(Items.diamond)
                });

    BlockInfinitato.lexiconEntry = new LudicrousLexicon("infinitato", BotaniaAPI.categoryMisc);
    BlockInfinitato.lexiconEntry
        .setLexiconPages(
            BotaniaAPI.internalHandler.textPage("avaritia.lexicon.infinitato.0"),
            new PageLudicrousRecipe("avaritia.lexicon.infinitato.1", tatorecipe))
        .setIcon(new ItemStack(LudicrousBlocks.infinitato));
  }
Beispiel #5
0
  private static void initTileEntities() {
    registerTile(TileAltar.class, LibBlockNames.ALTAR);
    registerTile(TileSpecialFlower.class, LibBlockNames.SPECIAL_FLOWER);
    registerTile(TileSpreader.class, LibBlockNames.SPREADER);
    registerTile(TilePool.class, LibBlockNames.POOL);
    registerTile(TileRuneAltar.class, LibBlockNames.RUNE_ALTAR);
    registerTile(TilePylon.class, LibBlockNames.PYLON);
    registerTile(TileDistributor.class, LibBlockNames.DISTRIBUTOR);
    registerTile(TileManaBeacon.class, LibBlockNames.MANA_BEACON);
    registerTile(TileManaVoid.class, LibBlockNames.MANA_VOID);
    registerTile(TileManaDetector.class, LibBlockNames.MANA_DETECTOR);
    registerTile(TileEnchanter.class, LibBlockNames.ENCHANTER);
    registerTile(TileTurntable.class, LibBlockNames.TURNTABLE);
    registerTile(TileTinyPlanet.class, LibBlockNames.TINY_PLANET);
    registerTile(TileOpenCrate.class, LibBlockNames.OPEN_CRATE);
    registerTile(TileCraftCrate.class, LibBlockNames.CRAFT_CRATE);
    registerTile(TileForestEye.class, LibBlockNames.FOREST_EYE);
    registerTile(TilePlatform.class, LibBlockNames.PLATFORM);
    registerTile(TileAlfPortal.class, LibBlockNames.ALF_PORTAL);
    registerTile(TileBifrost.class, LibBlockNames.BIFROST);
    registerTile(TileFloatingFlower.class, LibBlockNames.MINI_ISLAND);
    registerTile(TileTinyPotato.class, LibBlockNames.TINY_POTATO);
    registerTile(TileSpawnerClaw.class, LibBlockNames.SPAWNER_CLAW);
    registerTile(TileEnderEye.class, LibBlockNames.ENDER_EYE_BLOCK);
    registerTile(TileStarfield.class, LibBlockNames.STARFIELD);
    registerTile(TileRFGenerator.class, LibBlockNames.RF_GENERATOR);
    registerTile(TileBrewery.class, LibBlockNames.BREWERY);
    registerTile(TileTerraPlate.class, LibBlockNames.TERRA_PLATE);
    registerTile(TileRedStringContainer.class, LibBlockNames.RED_STRING_CONTAINER);
    registerTile(TileRedStringDispenser.class, LibBlockNames.RED_STRING_DISPENSER);
    registerTile(TileRedStringFertilizer.class, LibBlockNames.RED_STRING_FERTILIZER);
    registerTile(TileRedStringComparator.class, LibBlockNames.RED_STRING_COMPARATOR);
    registerTile(TileRedStringRelay.class, LibBlockNames.RED_STRING_RELAY);
    registerTile(TileFloatingSpecialFlower.class, LibBlockNames.FLOATING_SPECIAL_FLOWER);
    registerTile(TileManaFlame.class, LibBlockNames.MANA_FLAME);
    registerTile(TilePrism.class, LibBlockNames.PRISM);
    registerTile(TileCorporeaIndex.class, LibBlockNames.CORPOREA_INDEX);
    registerTile(TileCorporeaFunnel.class, LibBlockNames.CORPOREA_FUNNEL);
    registerTile(TilePump.class, LibBlockNames.PUMP);
    registerTile(TileFakeAir.class, LibBlockNames.FAKE_AIR);
    registerTile(TileCorporeaInterceptor.class, LibBlockNames.CORPOREA_INTERCEPTOR);
    registerTile(TileCorporeaCrystalCube.class, LibBlockNames.CORPOREA_CRYSTAL_CUBE);
    registerTile(TileIncensePlate.class, LibBlockNames.INCENSE_PLATE);
    registerTile(TileHourglass.class, LibBlockNames.HOURGLASS);
    registerTile(TileSparkChanger.class, LibBlockNames.SPARK_CHANGER);
    registerTile(TileCocoon.class, LibBlockNames.COCOON);
    registerTile(TileLightRelay.class, LibBlockNames.LIGHT_RELAY);
    registerTile(TileCacophonium.class, LibBlockNames.CACOPHONIUM);
    registerTile(TileBellows.class, LibBlockNames.BELLOWS);
    registerTile(TileCell.class, LibBlockNames.CELL_BLOCK);
    registerTile(TileRedStringInterceptor.class, LibBlockNames.RED_STRING_INTERCEPTOR);
    registerTile(TileGaiaHead.class, LibBlockNames.GAIA_HEAD);

    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_PUREDAISY, SubTilePureDaisy.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MANASTAR, SubTileManastar.class);

    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DAYBLOOM, SubTileDaybloom.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ENDOFLAME, SubTileEndoflame.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HYDROANGEAS, SubTileHydroangeas.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_THERMALILY, SubTileThermalily.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_NIGHTSHADE, SubTileNightshade.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ARCANE_ROSE, SubTileArcaneRose.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MUNCHDEW, SubTileMunchdew.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ENTROPINNYUM, SubTileEntropinnyum.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_KEKIMURUS, SubTileKekimurus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_GOURMARYLLIS, SubTileGourmaryllis.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_NARSLIMMUS, SubTileNarslimmus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_SPECTROLUS, SubTileSpectrolus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DANDELIFEON, SubTileDandelifeon.class);

    registerSubTileWithMini(LibBlockNames.SUBTILE_BELLETHORN, SubTileBellethorn.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DREADTHORN, SubTileDreadthorn.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HEISEI_DREAM, SubTileHeiseiDream.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_TIGERSEYE, SubTileTigerseye.class);
    BotaniaAPI.registerSubTile(
        LibBlockNames.SUBTILE_JADED_AMARANTHUS, SubTileJadedAmaranthus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ORECHID, SubTileOrechid.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_ORECHID_IGNEM, SubTileOrechidIgnem.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_FALLEN_KANADE, SubTileFallenKanade.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_EXOFLAME, SubTileExoflame.class);
    registerSubTileWithMini(LibBlockNames.SUBTILE_AGRICARNATION, SubTileAgricarnation.class);
    registerSubTileWithMini(LibBlockNames.SUBTILE_HOPPERHOCK, SubTileHopperhock.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_TANGLEBERRIE, SubTileTangleberrie.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_JIYUULIA, SubTileJiyuulia.class);
    registerSubTileWithMini(LibBlockNames.SUBTILE_RANNUNCARPUS, SubTileRannuncarpus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_HYACIDUS, SubTileHyacidus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_POLLIDISIAC, SubTilePollidisiac.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_CLAYCONIA, SubTileClayconia.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_LOONIUM, SubTileLoonuim.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_DAFFOMILL, SubTileDaffomill.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_VINCULOTUS, SubTileVinculotus.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_SPECTRANTHEMUM, SubTileSpectranthemum.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MEDUMONE, SubTileMedumone.class);
    registerSubTileWithMini(LibBlockNames.SUBTILE_MARIMORPHOSIS, SubTileMarimorphosis.class);
    registerSubTileWithMini(LibBlockNames.SUBTILE_BUBBELL, SubTileBubbell.class);
    BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_SOLEGNOLIA, SubTileSolegnolia.class);
  }