26 Commits
Author SHA1 Message Date
Martin Robertz 62b24c7852 Merge pull request #7 from EnderProyects/feature/advanced_botany_infu
Feature/advanced botany infu
2023-05-30 16:49:30 +02:00
EnderProyects 6e3518f7d7 Upgrading Lang... for now 2023-05-30 16:48:50 +02:00
EnderProyects f7027afb39 remove research builder since is not used 2023-05-10 19:18:28 +02:00
EnderProyects d996b0ee50 restructure patterns crate code 2023-05-10 18:03:29 +02:00
EnderProyects 10fd18c233 fix code, make it cleaner2 2023-05-09 20:57:22 +02:00
EnderProyects 06978ce586 fix code, make it cleaner 2023-05-09 20:53:03 +02:00
EnderProyects c3b0c37e9c storage ore dicts 2023-05-07 18:42:19 +02:00
EnderProyects 34262482b8 delete unused code, and add botania constants file 2023-05-06 22:43:34 +02:00
EnderProyects 84ca83600b wildcard import removed 2023-05-05 16:11:10 +02:00
EnderProyects a8ccbf56db fix dep 2023-05-04 17:19:38 +02:00
EnderProyects d186229c8d Add catalyst to NEI 2023-05-04 16:56:31 +02:00
EnderProyects 57e1e24281 All recipes upgraded 2023-05-04 02:39:42 +02:00
EnderProyects 538b0b5ec3 All recipes upgraded 2023-05-04 02:38:29 +02:00
EnderProyects 4357871cb6 Fix errors7 2023-05-04 00:54:56 +02:00
EnderProyects ca84372c9b Fix errors5 2023-05-03 23:44:25 +02:00
EnderProyects 3bc02a6883 Fix errors4 2023-05-03 23:15:52 +02:00
EnderProyects dc4dba0e1f Fix errors3 2023-05-03 23:01:39 +02:00
EnderProyects 7cf416560f Fix errors2 2023-05-03 22:42:23 +02:00
EnderProyects 2598057424 Merge branch 'feature/advanced_botany_infu' of https://github.com/EnderProyects/Advanced-Botany into feature/advanced_botany_infu 2023-05-03 15:49:09 +02:00
EnderProyects bfd5ecfcdf Fix errors 2023-05-03 15:48:59 +02:00
EnderProyects 24762702a6 Fix errors 2023-05-03 15:37:24 +02:00
EnderProyects c6b3d48a77 Merge branch 'master' into feature/advanced_botany_infu 2023-05-02 23:18:07 +02:00
EnderProyects 3cc0e3cc6f Recipes updated and changed ingots to plates2 2023-05-02 23:10:50 +02:00
EnderProyects f652668065 Recipes updated and changed ingots to plates 2023-05-02 23:04:10 +02:00
EnderProyects a322d3ac77 Update dependencies.gradle 2023-05-02 17:06:45 +02:00
Martin Robertz acdc7113e1 Update dependencies.gradle 2023-04-23 11:44:02 +02:00
8 changed files with 682 additions and 348 deletions

No files matched your search

+9 -10
View File
@@ -1,12 +1,11 @@
dependencies {
api('com.github.GTNewHorizons:Botania:1.9.2-GTNH:dev')
api('com.github.GTNewHorizons:Botanic-horizons:1.0.14-GTNH:dev')
api('com.github.GTNewHorizons:Botania:1.9.16-GTNH:dev')
api('com.github.GTNewHorizons:Botanic-horizons:1.0.15-GTNH:dev')
api('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
api('com.github.GTNewHorizons:GT5-Unofficial:5.09.42.36:dev')
api('com.github.GTNewHorizons:Baubles:1.0.1.14:dev')
compileOnly("com.github.GTNewHorizons:CodeChickenLib:1.1.5.3:dev")
compileOnly("com.github.GTNewHorizons:CodeChickenCore:1.1.5:dev")
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.2.8-GTNH:dev")
compileOnly("com.github.GTNewHorizons:CraftTweaker:3.2.6:dev")
//compileOnly("com.github.stanhebben:MineTweaker3:1.7.10-3.0.10B:dev")
}
api('com.github.GTNewHorizons:Baubles:1.0.1.16:dev')
compileOnly("com.github.GTNewHorizons:CodeChickenLib:1.1.8:dev")
compileOnly("com.github.GTNewHorizons:CodeChickenCore:1.1.11:dev")
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.3.46-GTNH:dev")
compileOnly("com.github.GTNewHorizons:CraftTweaker:3.2.11:dev")
}
@@ -10,6 +10,7 @@ import ab.common.lib.register.EntityListAB;
import ab.common.lib.register.FlowerRegister;
import ab.common.lib.register.ItemListAB;
import ab.common.minetweaker.MineTweakerConfig;
import ab.nei.IMCForNEI;
import ab.utils.CraftingManager;
import ab.utils.ModHelperManager;
import cpw.mods.fml.common.Loader;
@@ -34,6 +35,7 @@ public class CommonProxy {
public void init(FMLInitializationEvent event) {
NetworkRegistry.INSTANCE.registerGuiHandler(AdvancedBotany.instance, new GuiHandler());
NetworkHandler.registerPackets();
IMCForNEI.IMCSender();
ModHelperManager.init();
}
@@ -15,18 +15,15 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import thaumcraft.*;
import thaumcraft.api.ThaumcraftApi;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.api.crafting.InfusionRecipe;
import thaumcraft.api.research.*;
import thaumcraft.api.research.ResearchCategories;
import thaumcraft.api.research.ResearchItem;
import thaumcraft.api.research.ResearchPage;
import thaumcraft.common.config.ConfigBlocks;
import thaumcraft.common.config.ConfigItems;
import vazkii.*;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.api.lexicon.KnowledgeType;
import vazkii.botania.api.lexicon.LexiconCategory;
@@ -52,7 +49,7 @@ import ab.api.recipe.lexicon.AlphirineCraftPage;
import ab.common.block.tile.TileLebethronCore;
import ab.common.core.handler.ConfigABHandler;
import ab.common.item.ItemCraftingPattern;
import ab.utils.*;
import ab.utils.IModHelper;
import ab.utils.LocalizationManager;
import ab.utils.OreDict;
import cpw.mods.fml.common.registry.GameRegistry;
@@ -126,6 +123,7 @@ public class RecipeListAB implements IModHelper {
public static ResearchPage AquaSwordPages;
public static ResearchPage ForgePages;
public static ResearchPage ManaChargerPages;
public static ResearchPage NebulaPages;
public static KnowledgeType forgotten;
@@ -147,6 +145,11 @@ public class RecipeListAB implements IModHelper {
public static InfusionRecipe MithrillSword;
public static InfusionRecipe Forge;
public static InfusionRecipe Destroyer;
public static InfusionRecipe Nebula;
public static InfusionRecipe NebulaHelm;
public static InfusionRecipe NebulaChest;
public static InfusionRecipe NebulaLegs;
public static InfusionRecipe NebulaBoots;
public static void setupCrafting() {
@@ -189,8 +192,8 @@ public class RecipeListAB implements IModHelper {
mithrillRecipe = AdvancedBotanyAPI.registerAdvancedPlateRecipe(
new ItemStack(ItemListAB.itemABResource, 1, 0),
new ItemStack(ModItems.manaResource, 1, 14),
new ItemStack(ModBlocks.storage, 1, 0),
new ItemStack(ModBlocks.storage, 1, 1),
OreDictionary.getOres("blockManasteel").get(0),
OreDictionary.getOres("blockTerrasteel").get(0),
2500000,
0x25d6b7);
terrasteelRecipe = AdvancedBotanyAPI.registerAdvancedPlateRecipe(
@@ -210,15 +213,15 @@ public class RecipeListAB implements IModHelper {
nebulaRecipe = AdvancedBotanyAPI.registerAdvancedPlateRecipe(
new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ModItems.rainbowRod),
new ItemStack(ModBlocks.storage, 1, 4),
OreDictionary.getOres("blockBotaniaDragonstone").get(0),
new ItemStack(BlockListAB.blockABStorage, 1, 0),
25000000,
0x8d16e0);
terrasteelBlockRecipe = AdvancedBotanyAPI.registerAdvancedPlateRecipe(
new ItemStack(ModBlocks.storage, 1, 1),
OreDictionary.getOres("blockTerrasteel").get(0),
new ItemStack(ModItems.rune, 1, 8),
new ItemStack(ModBlocks.storage, 1, 0),
new ItemStack(ModBlocks.storage, 1, 3),
OreDictionary.getOres("blockManasteel").get(0),
OreDictionary.getOres("blockManaDiamond").get(0),
4500000,
0x29de21);
FlawlessManaDiamondRecipe = AdvancedBotanyAPI.registerAdvancedPlateRecipe(
@@ -308,12 +311,22 @@ public class RecipeListAB implements IModHelper {
.setIcon(new ItemStack(BlockListAB.blockABPlate));
// Natural mana spreader recipe
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockABSpreader),
new Object[] { "WMW", "PSP", "WMW", Character.valueOf('M'),
new ItemStack(ItemListAB.itemABResource, 1, 2), Character.valueOf('P'),
new ItemStack(ModBlocks.pylon), Character.valueOf('S'), new ItemStack(ModBlocks.spreader, 1, 3),
Character.valueOf('W'), new ItemStack(BlockListAB.blockLebethron, 1, 4) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockABSpreader),
"WMW",
"PSP",
"WMW",
'W',
new ItemStack(BlockListAB.blockLebethron, 1, 4),
'M',
new ItemStack(ItemListAB.itemABResource, 1, 2),
'P',
new ItemStack(ModBlocks.pylon),
'S',
new ItemStack(ModBlocks.spreader, 1, 3)));
lebethronSpreader = new BLexiconEntry("lebethronSpreader", categoryForgotten);
lebethronSpreader.setKnowledgeType(forgotten)
.setLexiconPages(
@@ -330,21 +343,41 @@ public class RecipeListAB implements IModHelper {
new ItemStack(BlockListAB.blockLebethron, 1, 2),
new Object[] { new ItemStack(BlockListAB.blockLebethron, 1, 1), new ItemStack(Items.wheat_seeds) });
IRecipe leb2 = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockLebethron, 4, 3),
new Object[] { "SLS", "LEL", "SLS", Character.valueOf('S'),
OreDictionary.getOres("ingotSteeleaf").get(0), Character.valueOf('E'),
new ItemStack(ModBlocks.pylon), Character.valueOf('L'),
new ItemStack(BlockListAB.blockLebethron, 1, 0) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockLebethron, 4, 3),
"SLS",
"LEL",
"SLS",
'S',
"ingotSteeleaf",
'L',
new ItemStack(BlockListAB.blockLebethron, 1, 0),
'E',
new ItemStack(ModBlocks.pylon)));
IRecipe leb3 = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockLebethron, 1, 4),
// Natural core recipe
new Object[] { "4W5", "WPW", "6W7", Character.valueOf('P'), new ItemStack(ModBlocks.pylon, 1, 1),
Character.valueOf('W'), new ItemStack(BlockListAB.blockLebethron, 1, 3), Character.valueOf('4'),
new ItemStack(ModItems.rune, 1, 4), Character.valueOf('5'), new ItemStack(ModItems.rune, 1, 5),
Character.valueOf('6'), new ItemStack(ModItems.rune, 1, 6), Character.valueOf('7'),
new ItemStack(ModItems.rune, 1, 7) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockLebethron, 1, 4),
"4W5",
"WPW",
"6W7",
'W',
new ItemStack(BlockListAB.blockLebethron, 1, 3),
'P',
new ItemStack(ModBlocks.pylon, 1, 1),
'4',
new ItemStack(ModItems.rune, 1, 4),
'5',
new ItemStack(ModItems.rune, 1, 5),
'6',
new ItemStack(ModItems.rune, 1, 6),
'7',
new ItemStack(ModItems.rune, 1, 7)));
IRecipe leb4 = getLastRecipe();
lebethronWood = new BLexiconEntry("lebethronWood", categoryForgotten);
lebethronWood.setKnowledgeType(forgotten)
@@ -370,27 +403,63 @@ public class RecipeListAB implements IModHelper {
.setIcon(new ItemStack(ItemListAB.itemMihrillMultiTool));
// Advanced mana containers recipe
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockManaContainer),
new Object[] { "MGM", "LPL", "M3M", Character.valueOf('M'), new ItemStack(ItemListAB.itemABResource),
Character.valueOf('L'), new ItemStack(ModBlocks.pool), Character.valueOf('P'),
new ItemStack(ModBlocks.pylon), Character.valueOf('3'), new ItemStack(ModItems.rune, 1, 3),
Character.valueOf('G'), new ItemStack(ModItems.rune, 1, 15) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockManaContainer),
"MGM",
"LPL",
"M3M",
'M',
new ItemStack(ItemListAB.itemABResource),
'G',
new ItemStack(ModItems.rune, 1, 15),
'L',
new ItemStack(ModBlocks.pool),
'P',
new ItemStack(ModBlocks.pylon),
'3',
new ItemStack(ModItems.rune, 1, 3)
));
IRecipe cont1 = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockManaContainer, 1, 1),
new Object[] { "MGM", "LPL", "M3M", Character.valueOf('M'),
new ItemStack(ItemListAB.itemABResource, 1, 1), Character.valueOf('L'),
new ItemStack(ModBlocks.pool, 1, 2), Character.valueOf('P'), new ItemStack(ModBlocks.pylon),
Character.valueOf('3'), new ItemStack(ModItems.rune, 1, 3), Character.valueOf('G'),
new ItemStack(ModItems.rune, 1, 15) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockManaContainer, 1, 1),
"MGM",
"LPL",
"M3M",
'M',
new ItemStack(ItemListAB.itemABResource, 1, 1),
'G',
new ItemStack(ModItems.rune, 1, 15),
'L',
new ItemStack(ModBlocks.pool, 1, 2),
'P',
new ItemStack(ModBlocks.pylon),
'3',
new ItemStack(ModItems.rune, 1, 3)));
IRecipe cont2 = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockManaContainer, 1, 2),
new Object[] { "MGM", "LPL", "M3M", Character.valueOf('M'), new ItemStack(ItemListAB.itemABResource),
Character.valueOf('L'), new ItemStack(ModBlocks.pool, 1, 3), Character.valueOf('P'),
new ItemStack(ModBlocks.pylon), Character.valueOf('3'), new ItemStack(ModItems.rune, 1, 3),
Character.valueOf('G'), new ItemStack(ModItems.rune, 1, 15) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockManaContainer, 1, 2),
"MGM",
"LPL",
"M3M",
'M',
new ItemStack(ItemListAB.itemABResource),
'G',
new ItemStack(ModItems.rune, 1, 15),
'L',
new ItemStack(ModBlocks.pool, 1, 3),
'P',
new ItemStack(ModBlocks.pylon),
'3',
new ItemStack(ModItems.rune, 1, 3)));
IRecipe cont3 = getLastRecipe();
manaContainer = new BLexiconEntry("manaContainer", categoryForgotten);
manaContainer.setKnowledgeType(forgotten).setLexiconPages(
@@ -401,14 +470,28 @@ public class RecipeListAB implements IModHelper {
.setIcon(new ItemStack(BlockListAB.blockManaContainer));
// Mana crystal cube recipe
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockManaCrystalCube),
new Object[] { "TST", "GWG", "DMD", Character.valueOf('D'), new ItemStack(ModBlocks.dreamwood),
Character.valueOf('W'), new ItemStack(ModItems.twigWand, 1, 32767), Character.valueOf('G'),
new ItemStack(ModBlocks.manaGlass), Character.valueOf('M'),
new ItemStack(ModItems.manaResource), Character.valueOf('T'),
new ItemStack(ModItems.manaResource, 1, 18), Character.valueOf('S'),
new ItemStack(ModItems.spark) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockManaCrystalCube),
"TST",
"GWG",
"DMD",
'T',
new ItemStack(ModItems.manaResource, 1, 18),
'S',
new ItemStack(ModItems.spark),
'G',
new ItemStack(ModBlocks.manaGlass),
'W',
new ItemStack(ModItems.twigWand, 1, 32767),
'D',
new ItemStack(ModBlocks.dreamwood),
'M',
"blockManasteel"
));
manaCrystalCube = new BLexiconEntry("manaCrystalCube", BotaniaAPI.categoryMana);
manaCrystalCube.setKnowledgeType(BotaniaAPI.elvenKnowledge)
.setLexiconPages(
@@ -422,21 +505,42 @@ public class RecipeListAB implements IModHelper {
terraHoe.setLexiconPages(new LexiconPage[] { new PageText("0"), })
.setIcon(new ItemStack(ItemListAB.itemTerraHoe));
// Mithrill recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemMithrillRing),
new Object[] { "LML", "MRM", "LML", Character.valueOf('M'), new ItemStack(ItemListAB.itemABResource),
Character.valueOf('L'), new ItemStack(ItemListAB.itemABResource, 1, 1), Character.valueOf('R'),
new ItemStack(ModItems.manaRingGreater) });
// Mithrill ring recipe
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemMithrillRing),
"LML",
"MRM",
"LML",
'L',
new ItemStack(ItemListAB.itemABResource, 1, 1),
'M',
new ItemStack(ItemListAB.itemABResource),
'R',
new ItemStack(ModItems.manaRingGreater)
));
IRecipe ring1 = getLastRecipe();
// Nebula ring recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaRing),
new Object[] { "LML", "MRM", "LML", Character.valueOf('M'),
new ItemStack(ItemListAB.itemABResource, 1, 6), Character.valueOf('L'),
new ItemStack(ModItems.manaResource, 1, 5), Character.valueOf('R'),
new ItemStack(ItemListAB.itemMithrillRing) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemNebulaRing),
"LML",
"MRM",
"LML",
'L',
new ItemStack(ModItems.manaResource, 1, 5),
'M',
new ItemStack(ItemListAB.itemABResource, 1, 6),
'R',
new ItemStack(ItemListAB.itemMithrillRing)
));
IRecipe ring2 = getLastRecipe();
manaRings = new BLexiconEntry("manaRings", categoryForgotten);
manaRings.setKnowledgeType(forgotten).setLexiconPages(
@@ -473,23 +577,46 @@ public class RecipeListAB implements IModHelper {
new AdvancedPlateCraftPage(nebula, nebulaRecipe.getOutput(), ".abCraft") });
// Black hole box recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemBlackHalo),
new Object[] { " E ", "DHD", " E ", Character.valueOf('E'), new ItemStack(ModItems.manaResource, 1, 7),
Character.valueOf('H'), new ItemStack(ModItems.autocraftingHalo), Character.valueOf('D'),
new ItemStack(ModItems.blackHoleTalisman) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemBlackHalo),
" E ",
"DHD",
" E ",
'E',
"plateElvenElementium",
'D',
new ItemStack(ModItems.blackHoleTalisman),
'H',
new ItemStack(ModItems.autocraftingHalo)
));
blackHalo = new BLexiconEntry("blackHalo", BotaniaAPI.categoryTools);
blackHalo.setKnowledgeType(BotaniaAPI.elvenKnowledge).setLexiconPages(
new LexiconPage[] { new PageText("0"),
BotaniaAPI.internalHandler.craftingRecipePage(".craft", getLastRecipe()) });
// Sphere of Attraction recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemAntigravityCharm),
new Object[] { " G ", "GDG", "ERE", Character.valueOf('E'), new ItemStack(ModItems.manaResource, 1, 7),
Character.valueOf('G'), new ItemStack(ModBlocks.elfGlass), Character.valueOf('D'),
new ItemStack(ModBlocks.floatingFlower, 1, 32767), Character.valueOf('R'),
new ItemStack(ModItems.rune, 1, 3) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemAntigravityCharm),
" G ",
"GDG",
"ERE",
'G',
new ItemStack(ModBlocks.elfGlass),
'D',
new ItemStack(ModBlocks.floatingFlower, 1, 32767),
'E',
"plateElvenElementium",
'R',
new ItemStack(ModItems.rune, 1, 3)
));
antigravityCharm = new BLexiconEntry("antigravityCharm", BotaniaAPI.categoryTools);
antigravityCharm.setKnowledgeType(BotaniaAPI.elvenKnowledge)
.setLexiconPages(
@@ -498,12 +625,22 @@ public class RecipeListAB implements IModHelper {
.setIcon(new ItemStack(ItemListAB.itemAntigravityCharm));
// Nebula blaze recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaBlaze),
new Object[] { " N ", "MMN", "AMN", Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 6), Character.valueOf('A'),
new ItemStack(ItemListAB.itemABResource, 1, 3), Character.valueOf('M'),
new ItemStack(ModBlocks.storage) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemNebulaBlaze),
" N ",
"MMN",
"AMN",
'N',
new ItemStack(ItemListAB.itemABResource, 1, 6),
'M',
"blockManasteel",
'A',
new ItemStack(ItemListAB.itemABResource, 1, 3)
));
nebulaBlaze = new BLexiconEntry("nebulaBlaze", categoryForgotten);
nebulaBlaze.setKnowledgeType(forgotten).setLexiconPages(
new LexiconPage[] { new PageText("0"),
@@ -518,48 +655,9 @@ public class RecipeListAB implements IModHelper {
///////////////////////////////////////////////////////////////////////////////////////// Nebula set recipes
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaHelm),
new Object[] { "RNR", "NHN", " E ", Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 5), Character.valueOf('R'),
new ItemStack(ModItems.manaResource, 1, 7), Character.valueOf('H'),
new ItemStack(ModItems.elementiumHelm), Character.valueOf('E'),
new ItemStack(ModItems.manaResource, 1, 8) });
IRecipe nHelm = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaChest),
new Object[] { "RTR", "NHN", "ENE", Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 5), Character.valueOf('R'),
new ItemStack(ModItems.manaResource, 1, 7), Character.valueOf('H'),
new ItemStack(ModItems.elementiumChest), Character.valueOf('E'),
new ItemStack(ModItems.manaResource, 1, 8), Character.valueOf('T'),
new ItemStack(ModItems.flightTiara, 1, 32767) });
IRecipe nChest = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaLegs),
new Object[] { "ENE", "RHR", "NAN", Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 5), Character.valueOf('R'),
new ItemStack(ModItems.manaResource, 1, 7), Character.valueOf('H'),
new ItemStack(ModItems.elementiumLegs), Character.valueOf('E'),
new ItemStack(ModItems.manaResource, 1, 8), Character.valueOf('A'),
new ItemStack(ItemListAB.itemABResource, 1, 3) });
IRecipe nLegs = getLastRecipe();
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaBoots),
new Object[] { "RBR", "NHN", " E ", Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 5), Character.valueOf('R'),
new ItemStack(ModItems.manaResource, 1, 7), Character.valueOf('H'),
new ItemStack(ModItems.elementiumBoots), Character.valueOf('E'),
new ItemStack(ModItems.manaResource, 1, 8), Character.valueOf('B'),
new ItemStack(ModItems.speedUpBelt) });
IRecipe nBoots = getLastRecipe();
nebulaArmor = new BLexiconEntry("nebulaArmor", categoryForgotten);
nebulaArmor.setKnowledgeType(forgotten).setLexiconPages(
new LexiconPage[] { new PageText("0"), new PageText("1"),
BotaniaAPI.internalHandler.craftingRecipePage(".craft0", nHelm),
BotaniaAPI.internalHandler.craftingRecipePage(".craft1", nChest),
BotaniaAPI.internalHandler.craftingRecipePage(".craft2", nLegs),
BotaniaAPI.internalHandler.craftingRecipePage(".craft3", nBoots) });
nebulaArmor.setKnowledgeType(forgotten)
.setLexiconPages(new LexiconPage[] { new PageText("0"), new PageText("1"), });
// Enginerr hopper recipe
engineerHopper = new BLexiconEntry("engineerHopper", categoryForgotten);
@@ -569,23 +667,50 @@ public class RecipeListAB implements IModHelper {
new AlphirineCraftPage(engineerHopper, hopperRecipe.getOutput(), ".alphirineCraft") });
// Rod of nebula recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemNebulaRod),
new Object[] { " WN", " RW", "W ", Character.valueOf('W'), new ItemStack(ModItems.manaResource, 1, 13),
Character.valueOf('R'), new ItemStack(ModItems.rune, 1, 8), Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 6) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemNebulaRod),
" WN",
" RW",
"E ",
'W',
new ItemStack(ModItems.manaResource, 1, 13),
'N',
new ItemStack(ItemListAB.itemABResource, 1, 6),
'R',
new ItemStack(ModItems.rune, 1, 8),
'E',
"itemEnderCrystal"
));
nebulaRod = new BLexiconEntry("nebulaRod", categoryForgotten);
nebulaRod.setKnowledgeType(forgotten).setLexiconPages(
new LexiconPage[] { new PageText("0"),
BotaniaAPI.internalHandler.craftingRecipePage(".craft", getLastRecipe()) });
// Playing board recipe
GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockBoardFate),
new Object[] { " ", "QDQ", "MPM", Character.valueOf('Q'), new ItemStack(ModFluffBlocks.manaQuartz),
Character.valueOf('D'), new ItemStack(ModItems.manaResource, 1, 2), Character.valueOf('M'),
new ItemStack(ModItems.manaResource), Character.valueOf('P'),
new ItemStack(ModItems.manaResource, 1, 23) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockBoardFate),
"G G",
"QDQ",
"MPM",
'G',
"gearGtSmallInfusedGold",
'Q',
new ItemStack(ModFluffBlocks.manaQuartz),
'D',
new ItemStack(ModItems.manaResource, 1, 2),
'M',
"plateTerrasteel",
'P',
new ItemStack(ModItems.manaResource, 1, 23)
));
gameBoard = new BLexiconEntry("gameBoard", BotaniaAPI.categoryMisc);
gameBoard.setLexiconPages(
new LexiconPage[] { new PageText("0"),
@@ -621,12 +746,22 @@ public class RecipeListAB implements IModHelper {
hornPlenty.setLexiconPages(new LexiconPage[] { new PageText("0") });
// Rod of sprawl recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemSprawlRod),
new Object[] { " SC", " WS", "W ", Character.valueOf('S'),
new ItemStack(ModItems.grassSeeds, 1, 32767), Character.valueOf('C'),
new ItemStack(BlockListAB.blockLebethron, 1, 4), Character.valueOf('W'),
new ItemStack(ModItems.manaResource, 1, 3) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemSprawlRod),
" SC",
" WS",
"W ",
'S',
new ItemStack(ModItems.grassSeeds, 1, 32767),
'C',
new ItemStack(BlockListAB.blockLebethron, 1, 4),
'W',
new ItemStack(ModItems.manaResource, 1, 3)
));
sprawlRod = new BLexiconEntry("sprawlRod", categoryForgotten);
sprawlRod.setKnowledgeType(forgotten).setLexiconPages(
new LexiconPage[] { new PageText("0"),
@@ -760,16 +895,16 @@ public class RecipeListAB implements IModHelper {
.add(Aspect.CRAFT, 32).add(Aspect.CRYSTAL, 20).add(Aspect.METAL, 20),
new ItemStack((Item) Item.itemRegistry.getObject("thaumicbases:voidAnvil")),
new ItemStack[] { new ItemStack(ModBlocks.terraPlate), new ItemStack(ModItems.rune, 1, 2),
new ItemStack(ModBlocks.storage, 1, 1),
OreDictionary.getOres("blockTerrasteel").get(0),
new ItemStack((Item) Item.itemRegistry.getObject("dreamcraft:item.DiamondCoreChip")),
new ItemStack(ModBlocks.terraPlate), new ItemStack(ModItems.rune, 1, 3),
new ItemStack(ModBlocks.storage, 1, 0),
OreDictionary.getOres("blockManasteel").get(0),
new ItemStack((Item) Item.itemRegistry.getObject("dreamcraft:item.EssentiaCircuit")),
new ItemStack(ModBlocks.terraPlate), new ItemStack(ModItems.rune, 1, 2),
new ItemStack(ModBlocks.storage, 1, 1),
OreDictionary.getOres("blockTerrasteel").get(0),
new ItemStack((Item) Item.itemRegistry.getObject("dreamcraft:item.DiamondCoreChip")),
new ItemStack(ModBlocks.terraPlate), new ItemStack(ModItems.rune, 1, 3),
new ItemStack(ModBlocks.storage, 1, 0),
OreDictionary.getOres("blockManasteel").get(0),
new ItemStack((Item) Item.itemRegistry.getObject("dreamcraft:item.EssentiaCircuit")), });
Destroyer = ThaumcraftApi.addInfusionCraftingRecipe(
@@ -791,6 +926,91 @@ public class RecipeListAB implements IModHelper {
OreDictionary.getOres("gemExquisiteManaDiamond").get(0),
new ItemStack(BlockListAB.blockABStorage, 1, 0) });
NebulaHelm = ThaumcraftApi.addInfusionCraftingRecipe(
"Nebula",
new ItemStack(ItemListAB.itemNebulaHelm),
12,
new AspectList().add(Aspect.EARTH, 128).add(Aspect.MAGIC, 64).add(Aspect.CRYSTAL, 20)
.add(Aspect.METAL, 20).add(Aspect.SENSES, 20).add(Aspect.ELDRITCH, 20),
new ItemStack(ModItems.gaiaHead),
new ItemStack[] { new ItemStack(ModItems.elementiumHelm), new ItemStack(ModItems.laputaShard, 1, 15),
OreDictionary.getOres("gemExquisiteBotaniaDragonstone").get(0),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(ItemListAB.itemNebulaRing),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(ItemListAB.itemABResource, 1, 3),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModItems.terrasteelHelm),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ItemListAB.itemABResource, 1, 3), new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ItemListAB.itemNebulaRing), new ItemStack(ItemListAB.itemABResource, 1, 5),
OreDictionary.getOres("gemExquisiteBotaniaDragonstone").get(0),
new ItemStack(ModItems.laputaShard, 1, 15), });
NebulaChest = ThaumcraftApi.addInfusionCraftingRecipe(
"Nebula",
new ItemStack(ItemListAB.itemNebulaChest),
12,
new AspectList().add(Aspect.EARTH, 128).add(Aspect.MAGIC, 64).add(Aspect.CRYSTAL, 20)
.add(Aspect.METAL, 20).add(Aspect.SENSES, 20).add(Aspect.FLIGHT, 20),
new ItemStack(ModItems.flightTiara),
new ItemStack[] { new ItemStack(ModItems.elementiumChest), new ItemStack(ModItems.laputaShard, 1, 15),
OreDictionary.getOres("blockElvenElementium").get(0),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(ItemListAB.itemNebulaRing),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(BlockListAB.blockABStorage, 1, 0),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModItems.terrasteelChest),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(BlockListAB.blockABStorage, 1, 0), new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ItemListAB.itemNebulaRing), new ItemStack(ItemListAB.itemABResource, 1, 5),
OreDictionary.getOres("blockElvenElementium").get(0),
new ItemStack(ModItems.laputaShard, 1, 15),
});
NebulaLegs = ThaumcraftApi.addInfusionCraftingRecipe(
"Nebula",
new ItemStack(ItemListAB.itemNebulaLegs),
12,
new AspectList().add(Aspect.EARTH, 128).add(Aspect.MAGIC, 64).add(Aspect.CRYSTAL, 20)
.add(Aspect.METAL, 20).add(Aspect.SENSES, 20).add(Aspect.BEAST, 20),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemGirdleRunic"), 1, 1),
new ItemStack[] { new ItemStack(ModItems.elementiumLegs), new ItemStack(ModItems.laputaShard, 1, 15),
OreDictionary.getOres("gemExquisiteBotaniaDragonstone").get(0),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(ItemListAB.itemNebulaRing),
new ItemStack(ItemListAB.itemABResource, 1, 5), new ItemStack(ModBlocks.manaBeacon, 1, 5),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModItems.terrasteelLegs),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModBlocks.manaBeacon, 1, 5), new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ItemListAB.itemNebulaRing), new ItemStack(ItemListAB.itemABResource, 1, 5),
OreDictionary.getOres("gemExquisiteBotaniaDragonstone").get(0),
new ItemStack(ModItems.laputaShard, 1, 15),
});
NebulaBoots = ThaumcraftApi.addInfusionCraftingRecipe(
"Nebula",
new ItemStack(ItemListAB.itemNebulaBoots),
12,
new AspectList().add(Aspect.EARTH, 128).add(Aspect.MAGIC, 64).add(Aspect.CRYSTAL, 20)
.add(Aspect.METAL, 20).add(Aspect.SENSES, 20).add(Aspect.SLIME, 20),
new ItemStack(ModItems.speedUpBelt),
new ItemStack[] { new ItemStack(ModItems.elementiumBoots), new ItemStack(ModItems.laputaShard, 1, 15),
new ItemStack(ItemListAB.itemABResource, 1, 2), new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ItemListAB.itemNebulaRing), new ItemStack(ItemListAB.itemABResource, 1, 3),
new ItemStack(ModBlocks.starfield),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModItems.terrasteelBoots),
new ItemStack((Item) Item.itemRegistry.getObject("Thaumcraft:ItemAmuletRunic"), 1, 1),
new ItemStack(ModBlocks.starfield), new ItemStack(ItemListAB.itemABResource, 1, 3),
new ItemStack(ItemListAB.itemNebulaRing), new ItemStack(ItemListAB.itemABResource, 1, 5),
new ItemStack(ItemListAB.itemABResource, 1, 2), new ItemStack(ModItems.laputaShard, 1, 15),
});
}
// Aspecolus recipe
@@ -803,7 +1023,7 @@ public class RecipeListAB implements IModHelper {
new ItemStack(ModItems.rune, 1, 1),
new ItemStack(ModItems.rune),
new ItemStack(ItemListAB.itemABResource, 1, 2),
new ItemStack(ModItems.petal, 1, 10),
new ItemStack(ItemListAB.itemManaFlower),
new ItemStack(ModItems.petal, 1, 13));
aspecolus.setKnowledgeType(forgotten)
.setLexiconPages(
@@ -824,24 +1044,38 @@ public class RecipeListAB implements IModHelper {
for (int k = 0; k < patterns[j].length; k++) str1 += patterns[j][k] ? "T" : "H";
str.add(str1);
}
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemCraftingPattern, 1, i),
new Object[] { str.get(0), str.get(1), str.get(2), Character.valueOf('T'),
new ItemStack(ItemListAB.itemCraftingPattern), Character.valueOf('H'),
new ItemStack(ConfigItems.itemNugget, 1, 6) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemCraftingPattern, 1, i),
str.get(0),
str.get(1),
str.get(2),
'T',
new ItemStack(ItemListAB.itemCraftingPattern),
'H',
new ItemStack(ConfigItems.itemNugget, 1, 6)));
recipes.add(getLastRecipe());
}
// Thaumic crafty crate recipe
IRecipe crate = GameRegistry.addShapedRecipe(
new ItemStack(BlockListAB.blockMagicCraftCrate),
new Object[] { "TST", "WCW", "W W", Character.valueOf('W'),
new ItemStack(ConfigBlocks.blockMagicalLog), Character.valueOf('S'),
new ItemStack(ConfigItems.itemResource, 1, 14), Character.valueOf('T'),
new ItemStack(ConfigItems.itemResource, 1, 7), Character.valueOf('C'),
new ItemStack(ModBlocks.openCrate, 1, 1)
// ,Character.valueOf('G'), (ToolDictNames.craftingToolScrewdriver.name())
});
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(BlockListAB.blockMagicCraftCrate),
"TST",
"WCW",
"WEW",
'T',
new ItemStack(ConfigItems.itemResource, 1, 7),
'S',
new ItemStack(ConfigItems.itemResource, 1, 14),
'W',
new ItemStack(ConfigBlocks.blockMagicalLog),
'C',
new ItemStack(ModBlocks.openCrate, 1, 1),
'E',
new ItemStack(ModBlocks.openCrate)));
addShapelessOreDictRecipe(
new ItemStack(ItemListAB.itemCraftingPattern, 48),
@@ -850,20 +1084,28 @@ public class RecipeListAB implements IModHelper {
thaumAutoCraft = new BLexiconEntry("thaumAutoCraft", BotaniaAPI.categoryDevices);
thaumAutoCraft.setKnowledgeType(BotaniaAPI.elvenKnowledge).setLexiconPages(
new LexiconPage[] { new PageText("0"),
BotaniaAPI.internalHandler.craftingRecipePage(".craft", crate),
BotaniaAPI.internalHandler.craftingRecipePage(".craft0", getLastRecipe()),
BotaniaAPI.internalHandler.craftingRecipesPage(".craft1", recipes) });
// Mana flower recipe
GameRegistry.addShapedRecipe(
new ItemStack(ItemListAB.itemManaFlower),
new Object[] { "NFN", "PMP", "NRN", Character.valueOf('T'),
new ItemStack(BlockListAB.blockABStorage, 1, 6), Character.valueOf('F'),
new ItemStack(ItemListAB.itemABResource, 1, 4), Character.valueOf('P'),
new ItemStack(ConfigItems.itemEldritchObject, 1, 3), Character.valueOf('M'),
new ItemStack(ModItems.manaBottle), Character.valueOf('R'),
new ItemStack(ModItems.rune, 1, 8), Character.valueOf('N'),
new ItemStack(ItemListAB.itemABResource, 1, 1) });
GameRegistry.addRecipe(
new ShapedOreRecipe(
new ItemStack(ItemListAB.itemManaFlower),
"NFN",
"PMP",
"NRN",
'N',
new ItemStack(ItemListAB.itemABResource, 1, 1),
'F',
new ItemStack(ItemListAB.itemABResource, 1, 4),
'P',
new ItemStack(ConfigItems.itemEldritchObject, 1, 3),
'M',
new ItemStack(ModItems.manaBottle),
'R',
new ItemStack(ModItems.rune, 1, 8)));
manaFlower = new BLexiconEntry("manaFlower", categoryForgotten);
manaFlower.setKnowledgeType(forgotten)
.setLexiconPages(
@@ -876,7 +1118,7 @@ public class RecipeListAB implements IModHelper {
// Pure Gladiolus recipe
pureGladRecipe = BotaniaAPI.registerPetalRecipe(
ItemBlockSpecialFlower.ofType("pureGladiolus"),
new ItemStack(ItemListAB.itemABResource, 1, 4),
new ItemStack(ItemListAB.itemManaFlower),
new ItemStack(ModItems.rune, 1, 8),
new ItemStack(ModItems.petal, 1, 8),
new ItemStack(ModItems.petal, 1, 4),
@@ -952,6 +1194,13 @@ public class RecipeListAB implements IModHelper {
ResearchPage DestroyerPages;
ResearchPage infDestroyerPages;
ResearchItem NebulaPage;
ResearchPage NebulaPages;
ResearchPage infNebulaHelm;
ResearchPage infNebulaChest;
ResearchPage infNebulaLegs;
ResearchPage infNebulaBoots;
TerraHoePage = new ResearchItem(
"TerraHoe",
category,
@@ -1030,19 +1279,39 @@ public class RecipeListAB implements IModHelper {
DestroyerPages = new ResearchPage("DestroyerPages");
infDestroyerPages = new ResearchPage(Destroyer);
NebulaPage = new ResearchItem(
"Nebula",
category,
new AspectList().add(Aspect.MAGIC, 18).add(Aspect.ELDRITCH, 10).add(Aspect.EARTH, 10)
.add(Aspect.CRYSTAL, 8).add(Aspect.SENSES, 4).add(Aspect.EXCHANGE, 2),
8,
8,
0,
new ItemStack(ItemListAB.itemABResource, 1, 5));
NebulaPages = new ResearchPage("NebulaPages");
infNebulaHelm = new ResearchPage(NebulaHelm);
infNebulaChest = new ResearchPage(NebulaChest);
infNebulaLegs = new ResearchPage(NebulaLegs);
infNebulaBoots = new ResearchPage(NebulaBoots);
TerraHoePage.setPages(TerraHoePages, infTerraHoePages);
AquaSwordPage.setPages(AquaSwordPages, infAquaSwordPages);
ManaChargerPage.setPages(ManaChargerPages, infManaChargerPages);
MithrillSwordPage.setPages(MithrillSwordPages, infMithrillSwordPages);
ForgePage.setPages(ForgePages, infForgePages);
DestroyerPage.setPages(DestroyerPages, infDestroyerPages);
NebulaPage.setPages(NebulaPages, infNebulaHelm, infNebulaChest, infNebulaLegs, infNebulaBoots);
TerraHoePage.setParents("ELEMENTALHOE");
AquaSwordPage.setParents("Forge");
AquaSwordPage.setParents("Nebula");
ManaChargerPage.setParents("MIRROR");
MithrillSwordPage.setParents("AquaSword", "Forge");
MithrillSwordPage.setParents("AquaSword");
ForgePage.setParents("ManaCharger");
DestroyerPage.setParents("TerraHoe", "Forge");
DestroyerPage.setParents("TerraHoe", "Nebula");
NebulaPage.setParents("Forge");
ThaumcraftApi.addWarpToResearch("Nebula", 8);
ResearchCategories.addResearch(TerraHoePage);
ResearchCategories.addResearch(AquaSwordPage);
@@ -1050,6 +1319,7 @@ public class RecipeListAB implements IModHelper {
ResearchCategories.addResearch(MithrillSwordPage);
ResearchCategories.addResearch(ForgePage);
ResearchCategories.addResearch(DestroyerPage);
ResearchCategories.addResearch(NebulaPage);
}
public static ResearchPage getResearchPage(String ident) {
+47
View File
@@ -0,0 +1,47 @@
package ab.nei;
import net.minecraft.nbt.NBTTagCompound;
import cpw.mods.fml.common.event.FMLInterModComms;
public class IMCForNEI {
public static void IMCSender() {
sendHandler("ab.client.nei.RecipeHandlerAlphirine", "Botania:lexicon");
sendCatalyst("ab.client.nei.RecipeHandlerAlphirine", "Botania:lexicon");
sendHandler("ab.client.nei.RecipeHandlerAdvancedPlate", "AdvancedBotany:blockABPlate");
sendCatalyst("ab.client.nei.RecipeHandlerAdvancedPlate", "AdvancedBotany:blockABPlate");
}
private static void sendHandler(String aName, String aBlock) {
sendHandler(aName, aBlock, 1);
}
private static void sendHandler(String aName, String aBlock, int maxRecipesPerPage) {
NBTTagCompound aNBT = new NBTTagCompound();
aNBT.setString("handler", aName);
aNBT.setString("modName", "Advanced Botany");
aNBT.setString("modId", "AdvancedBotany");
aNBT.setBoolean("modRequired", true);
aNBT.setString("itemName", aBlock);
aNBT.setInteger("handlerHeight", 135);
aNBT.setInteger("handlerWidth", 166);
aNBT.setInteger("maxRecipesPerPage", maxRecipesPerPage);
aNBT.setInteger("yShift", 6);
FMLInterModComms.sendMessage("NotEnoughItems", "registerHandlerInfo", aNBT);
}
private static void sendCatalyst(String aName, String aStack, int aPriority) {
NBTTagCompound aNBT = new NBTTagCompound();
aNBT.setString("handlerID", aName);
aNBT.setString("itemName", aStack);
aNBT.setInteger("priority", aPriority);
FMLInterModComms.sendMessage("NotEnoughItems", "registerCatalystInfo", aNBT);
}
private static void sendCatalyst(String aName, String aStack) {
sendCatalyst(aName, aStack, 0);
}
}
+38
View File
@@ -0,0 +1,38 @@
package ab.nei;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import ab.AdvancedBotany;
import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI;
public class NEI_Config implements IConfigureNEI {
public static boolean isAdded = true;
@Override
public void loadConfig() {
NEI_Config.isAdded = false;
NEI_Config.isAdded = true;
}
public static void hide(Block aBlock) {
API.hideItem(new ItemStack(aBlock, 1));
}
public static void hide(Item aItem) {
API.hideItem(new ItemStack(aItem, 1));
}
@Override
public String getName() {
return "Advanced Botany NEI Plugin";
}
@Override
public String getVersion() {
return AdvancedBotany.version;
}
}
+129
View File
@@ -0,0 +1,129 @@
package ab.utils;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
public final class Constants {
private Constants() {}
public static final int POOL_META_DILUTE = 2;
public static final int POOL_META_REGULAR = 0;
public static final int POOL_META_REGULAR_FABULOUS = 3;
public static final int POOL_META_CREATIVE = 1;
public static final int SPREADER_META_REGULAR = 0;
public static final int SPREADER_META_ALFHEIM = 2;
public static final int SPREADER_META_GAIA = 3;
public static final int SPREADER_META_PULSE = 1;
public static final int MANARESOURCE_META_MANASTEEL = 0;
public static final int MANARESOURCE_META_DIAMOND = 2;
public static final int MANARESOURCE_META_PEARL = 1;
public static final int MANARESOURCE_META_TWIG_WOOD = 3;
public static final int MANARESOURCE_META_TERRASTEEL = 4;
public static final int MANARESOURCE_META_GAIA_SPIRIT = 5;
public static final int MANARESOURCE_META_ROOT = 6;
public static final int MANARESOURCE_META_ELEMENTIUM = 7;
public static final int MANARESOURCE_META_PIXIE_DUST = 8;
public static final int MANARESOURCE_META_DRAGONSTONE = 9;
public static final int MANARESOURCE_META_PRISMARINE = 10;
public static final int MANARESOURCE_META_CRAFT = 11;
public static final int MANARESOURCE_META_TWIG_DREAM = 13;
public static final int MANARESOURCE_META_GAIA_INGOT = 14;
public static final int MANARESOURCE_META_STRING = 16;
public static final int MANARESOURCE_META_CLOTH = 22;
public static final int MANARESOURCE_META_MANAPOWDER = 23;
public static final int STORAGE_META_MANASTEELBLOCK = 0;
public static final int STORAGE_META_TERRASTEELBLOCK = 1;
public static final int STORAGE_META_ELEMENTIUMBLOCK = 2;
public static final int STORAGE_META_DIAMONDBLOCK = 3;
public static final int STORAGE_META_DRAGONSTONEBLOCK = 4;
public static final int STORAGE_META_MITHRILL = 0;
public static final int SEEDS_META_GRASS = 0;
public static final int SEEDS_META_PODZOL = 1;
public static final int SEEDS_META_MYCELIUM = 2;
public static final int SEEDS_META_DRY = 3;
public static final int SEEDS_META_GOLD = 4;
public static final int SEEDS_META_VIVID = 5;
public static final int SEEDS_META_SCORCHED = 6;
public static final int SEEDS_META_INFUSED = 7;
public static final int SEEDS_META_MUTATED = 8;
public static final int LIVINGWOOD_META_BLOCK = 0;
public static final int LIVINGWOOD_META_PLANK = 1;
public static final int LIVINGWOOD_META_MOSSY = 2;
public static final int LIVINGWOOD_META_FRAMED = 3;
public static final int LIVINGWOOD_META_PATTERNED = 4;
public static final int LIVINGWOOD_META_GLIMMERING = 5;
public static final int LIVINGSTONE_META_BLOCK = 0;
public static final int LIVINGSTONE_META_BRICK = 1;
public static final int LIVINGSTONE_META_MOSSY = 2;
public static final int LIVINGSTONE_META_CRACKED = 3;
public static final int LIVINGSTONE_META_CHISELED = 4;
public static final int PYLON_META_MANA = 0;
public static final int PYLON_META_NATURA = 1;
public static final int PYLON_META_GAIA = 2;
public static final int VIAL_META_MANAGLASS = 0;
public static final int VIAL_META_ALFGLASS = 1;
public static final int QUARTZ_META_DARK = 0;
public static final int QUARTZ_META_MANA = 1;
public static final int QUARTZ_META_BLAZE = 2;
public static final int QUARTZ_META_LAVENDER = 3;
public static final int QUARTZ_META_RED = 4;
public static final int QUARTZ_META_ELVEN = 5;
public static final int QUARTZ_META_SUNNY = 6;
public static final int VIRUS_METADATA_NECRO = 0;
public static final int VIRUS_METADATA_NULL = 1;
public static final int PRISMARINE_META_BLOCK = 0;
public static final int PRISMARINE_META_BRICK = 1;
public static final int PRISMARINE_META_DARK = 2;
public static final int BRICK_META_HELL = 0;
public static final int BRICK_META_SOUL = 1;
public static final int BRICK_META_FROST = 2;
public static final int BRICK_META_ROOF = 3;
public static final int ENDSTONE_META_BRICK_YELLOW = 0;
public static final int ENDSTONE_META_BRICK_PURPLE = 2;
public static final String THAUMCRAFT_METAL_DEVICE = "Thaumcraft:blockMetalDevice";
public static final String THAUMCRAFT_STONE_DEVICE = "Thaumcraft:blockStoneDevice";
public static final int THAUMCRAFT_METAL_META_CRUCIBLE = 0;
public static final int THAUMCRAFT_METAL_META_CONSTRUCT = 9;
public static final int THAUMCRAFT_STONE_META_PEDESTAL = 1;
public static final int THAUMCRAFT_STONE_META_RUNIC_MATRIX = 2;
public static final String GT_CASING_ID = "gregtech:gt.blockcasings4";
public static final int GT_CASING_META = 1;
public static final int POOL_MAX_MANA_DILUTED = 10000;
public static final int POOL_MAX_MANA_REGULAR = 1000000;
public static final int MANA_TABLET_MAGIC_META = 10000;
public static ItemStack thaumcraftCrucible() {
return new ItemStack(Block.getBlockFromName(THAUMCRAFT_METAL_DEVICE), 1, THAUMCRAFT_METAL_META_CRUCIBLE);
}
public static ItemStack thaumcraftMatrix() {
return new ItemStack(Block.getBlockFromName(THAUMCRAFT_STONE_DEVICE), 1, THAUMCRAFT_STONE_META_RUNIC_MATRIX);
}
public static ItemStack thaumcraftConstruct() {
return new ItemStack(Block.getBlockFromName(THAUMCRAFT_METAL_DEVICE), 1, THAUMCRAFT_METAL_META_CONSTRUCT);
}
public static ItemStack gtTradeCasing() {
return new ItemStack(Block.getBlockFromName(GT_CASING_ID), 1, GT_CASING_META);
}
}
-161
View File
@@ -1,161 +0,0 @@
package ab.utils;
import java.util.LinkedList;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import thaumcraft.api.ThaumcraftApi;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.api.crafting.CrucibleRecipe;
import thaumcraft.api.crafting.ShapedArcaneRecipe;
import thaumcraft.api.crafting.ShapelessArcaneRecipe;
import thaumcraft.api.research.ResearchCategories;
import thaumcraft.api.research.ResearchItem;
import thaumcraft.api.research.ResearchPage;
import ab.AdvancedBotany;
public class ResearchBuilder {
public static final String category = AdvancedBotany.modid;
public static final String prefix = "AB";
public final String key;
public int row = 0;
public int col = 0;
public int researchDifficulty = 1;
public int warp = 0;
public boolean mainline = false;
public String[] dependencies = new String[0];
public String[] hiddenDependencies = new String[0];
public AspectList researchAspects;
public LinkedList<ResearchPage> content = new LinkedList<>();
public ResourceLocation researchIcon = new ResourceLocation("botania", "textures/gui/categories/forgotten.png");
public ItemStack researchItemIcon = null;
public ResearchBuilder(String key) {
this.key = prefix + key;
}
public ResearchBuilder setResearchAspects(Aspect... aspects) {
AspectList list = new AspectList();
for (Aspect aspect : aspects) {
list.add(aspect, 1);
}
this.researchAspects = list;
return this;
}
// goes in units of whole tiles - have >= 2 difference to see lines
public ResearchBuilder setBookLocation(int x, int y) {
this.row = y;
this.col = x;
return this;
}
public ResearchBuilder setDifficulty(int difficulty) {
this.researchDifficulty = difficulty;
return this;
}
public ResearchBuilder setResearchIconItem(String mod, String filename) {
this.researchIcon = new ResourceLocation(mod, "textures/items/" + filename);
return this;
}
public ResearchBuilder setResearchIconBlock(String mod, String filename) {
this.researchIcon = new ResourceLocation(mod, "textures/blocks/" + filename);
return this;
}
public ResearchBuilder setResearchIconItemStack(ItemStack render) {
this.researchItemIcon = render;
return this;
}
public ResearchBuilder addSingleTextPage() {
content.add(new ResearchPage(this.key, category + "." + key + ".body"));
return this;
}
public ResearchBuilder addTextPages(int i18n_start, int count) {
for (int i = i18n_start; i < i18n_start + count; i++) {
content.add(new ResearchPage(this.key, category + "." + key + ".body_" + i));
}
return this;
}
public ResearchBuilder addCraftingRecipe(ItemStack out, AspectList aspects, Object... craftingRecipe) {
ShapedArcaneRecipe recipe = ThaumcraftApi.addArcaneCraftingRecipe(key, out, aspects, craftingRecipe);
content.add(new ResearchPage(recipe));
return this;
}
public ResearchBuilder addShapelessCraftingRecipe(ItemStack out, AspectList aspects, Object... craftingRecipe) {
ShapelessArcaneRecipe recipe = ThaumcraftApi
.addShapelessArcaneCraftingRecipe(key, out, aspects, craftingRecipe);
content.add(new ResearchPage(recipe));
return this;
}
public ResearchBuilder addCrucibleRecipe(AspectList aspects, ItemStack out, ItemStack in) {
CrucibleRecipe recipe = ThaumcraftApi.addCrucibleRecipe(key, out, in, aspects);
content.add(new ResearchPage(recipe));
return this;
}
public ResearchBuilder setWarp(int warp) {
this.warp = warp;
return this;
}
public ResearchBuilder setMainlineResearch() {
this.mainline = true;
return this;
}
public ResearchBuilder setDependencies(String... dependencies) {
this.dependencies = dependencies;
for (int i = 0; i < this.dependencies.length; i++) {
this.dependencies[i] = prefix + this.dependencies[i];
}
return this;
}
public ResearchBuilder setExternalDependencies(String... dependencies) {
this.hiddenDependencies = dependencies;
return this;
}
public ResearchBuilder apply(WithResearchBuilder lambda) {
lambda.apply(this);
return this;
}
public void commit() {
ResearchItem research;
if (researchItemIcon != null) {
research = new ResearchItem(key, category, researchAspects, col, row, researchDifficulty, researchItemIcon);
} else {
research = new ResearchItem(key, category, researchAspects, col, row, researchDifficulty, researchIcon);
}
research.setPages(content.toArray(new ResearchPage[0]));
research.parents = dependencies;
research.parentsHidden = hiddenDependencies;
research.setConcealed();
if (mainline) {
research.setSpecial();
}
ResearchCategories.addResearch(research);
if (warp > 0) {
ThaumcraftApi.addWarpToResearch(key, warp);
}
}
public interface WithResearchBuilder {
void apply(ResearchBuilder builder);
}
}
@@ -130,6 +130,16 @@ tc.research_name.ManaCharger=Mana Charger
tc.research_name.MithrillSword=Blade of Space
tc.research_name.Forge=Forge of Nidavellir
tc.research_name.Destroyer=Material Destroyer
tc.research_name.Nebula=Nebula Fragments
TerraHoePages=The standard way of harvesting is getting boring over time. Terrahoe, or rather its unique ability to transform the soil into a more fertile and automated soil, can help with this very problem.<BR>The harvest in the new soil gathers itself after a certain period of time!
DestroyerPages=A harsh tool based on a global catastrophe in the past. <BR>He is perfectly capable of breaking any block almost instantly. His speed is so high that it was necessary to create a *Fuse* in him - that is, to turn him off/on.
MithrillSwordPages=A melee weapon that uses mana to communicate with the cosmic forces, the more mana in the blade, the stronger the connection. <BR>The power of connection to cosmic forces is divided into Ranks, like Terra Shatterer. Each rank unlocks a new magical property for the Space Blade
AquaSwordPages=A mystical melee weapon imbued with the powers of the seas!<BR>An attack with Blade of the Sea is resisted by a water splash, and pushes everyone around in the direction the player is looking<BR>The block, on the other hand, is resisted by a water shield, which prevents enemies from approaching to you.
ForgePages=A really powerful Dwarf invention for fusing different materials into one whole, the main thing is to know the proportions!<BR>This forge was given to the Elves, that is, it came to our land at the time of "Destruction," but... Not for long - it was soon destroyed.
ManaChargerPages=The mana charger is a device that allows you to charge up to 4 portable mana sources at once, as well as to discharge one of them. <BR>To start the charger, you must bind a mana source to it, such as a Mana Pool or Mana Container
NebulaPages=A nebula fragment is a material filled with part of the power of space. It allows you to create instruments and weapons that are unearthly in power.