Adding Botania lexicon entries & crafting recipes for Beegonia & Hiveacynth.

This commit is contained in:
MysteriousAges committed 2015-04-20 21:37:49 -07:00
1 parent a65c593c9a
commit 6f6823b6d2
6 files changed
+109 -27

No files matched your search

-9
View File
@@ -2,8 +2,6 @@ package magicbees.main;
import java.io.File;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import magicbees.block.BlockEffectJar;
import magicbees.block.BlockHive;
@@ -34,7 +32,6 @@ import magicbees.item.types.ResourceType;
import magicbees.item.types.WaxType;
import magicbees.main.utils.LocalizationManager;
import magicbees.main.utils.LogHelper;
import magicbees.main.utils.Tuple;
import magicbees.main.utils.VersionInfo;
import magicbees.main.utils.compat.BotaniaHelper;
import magicbees.main.utils.compat.ThaumcraftHelper;
@@ -58,7 +55,6 @@ import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.IAlleleBeeSpecies;
import forestry.api.storage.BackpackManager;
import forestry.api.storage.EnumBackpackType;
@@ -221,11 +217,6 @@ public class Config
public static ItemStack bmAquasalus;
public static ItemStack bmTennebrae;
public static Block botLivingRock;
public static Block botLivingWood;
public static Item botManaResource;
//----- Config State info ----------------------------------
public static Configuration configuration;
@@ -4,13 +4,21 @@ import magicbees.bees.BeeManager;
import magicbees.main.Config;
import magicbees.main.utils.BlockInterface;
import magicbees.main.utils.ItemInterface;
import magicbees.main.utils.compat.botania.BotaniaLexiconEntry;
import magicbees.main.utils.compat.botania.BotaniaSignature;
import magicbees.main.utils.compat.botania.LexiconEntries;
import magicbees.main.utils.compat.botania.SubTileBeegonia;
import magicbees.main.utils.compat.botania.SubTileHiveacynth;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.api.lexicon.LexiconPage;
import vazkii.botania.api.recipe.RecipePetals;
import vazkii.botania.api.subtile.SubTileEntity;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -40,6 +48,13 @@ public class BotaniaHelper {
MANA_STRING,
;
}
public static Block blockLivingRock;
public static Block blockLivingWood;
public static Item itemPetal;
public static Item itemManaPetal;
public static Item itemManaResource;
private static boolean isBotaniaActive = false;
public static final String Name = "Botania";
@@ -64,35 +79,57 @@ public class BotaniaHelper {
getBlocks();
getItems();
registerSubtiles();
registerSubtile(SubTileBeegonia.NAME, SubTileBeegonia.class);
registerSubtile(SubTileHiveacynth.NAME, SubTileHiveacynth.class);
}
}
public static void postInit() {
if (isActive()) {
BotaniaAPI.registerSubTile(SubTileBeegonia.NAME, SubTileBeegonia.class);
BotaniaAPI.registerSubTileSignature(SubTileBeegonia.class, new BotaniaSignature(SubTileBeegonia.NAME));
BotaniaAPI.addSubTileToCreativeMenu(SubTileBeegonia.NAME);
// Hiveacynth would appreciate it if this list existed.
BeeManager.populateSpeciesListRarity();
BotaniaAPI.registerSubTile(SubTileHiveacynth.NAME, SubTileHiveacynth.class);
BotaniaAPI.registerSubTileSignature(SubTileHiveacynth.class, new BotaniaSignature(SubTileHiveacynth.NAME));
BotaniaAPI.addSubTileToCreativeMenu(SubTileHiveacynth.NAME);
RecipePetals beegoniaRecipe = BotaniaAPI.registerPetalRecipe(BotaniaAPI.internalHandler.getSubTileAsStack(SubTileBeegonia.NAME), new Object[] {
new ItemStack(itemPetal), new ItemStack(itemManaPetal), new ItemStack(itemPetal, 1, 4), new ItemStack(itemPetal, 1, 4),
new ItemStack(itemPetal, 1, 4), new ItemStack(itemManaPetal, 1, 4), new ItemStack(itemManaPetal, 1, 15)
});
LexiconEntries.entryBeegonia = new BotaniaLexiconEntry(SubTileBeegonia.NAME, BotaniaAPI.categoryGenerationFlowers);
LexiconEntries.entryBeegonia.setLexiconPages(new LexiconPage[] {
BotaniaAPI.internalHandler.textPage("magicbees.botania.lexicon.beegonia.0"),
BotaniaAPI.internalHandler.textPage("magicbees.botania.lexicon.beegonia.1"),
BotaniaAPI.internalHandler.petalRecipePage("magicbees.botania.lexicon.beegonia.crafting", beegoniaRecipe),
BotaniaAPI.internalHandler.textPage("magicbees.botania.lexicon.beegonia.2")
});
RecipePetals hiveacynthRecipe = BotaniaAPI.registerPetalRecipe(BotaniaAPI.internalHandler.getSubTileAsStack(SubTileHiveacynth.NAME), new Object[] {
new ItemStack(itemPetal, 1, 3), new ItemStack(itemPetal, 1, 9), new ItemStack(itemPetal, 1, 9), new ItemStack(itemPetal, 1, 11),
new ItemStack(itemManaPetal, 1, 3), new ItemStack(itemManaPetal, 1, 9), new ItemStack(itemManaPetal, 1, 11),
new ItemStack(itemManaPetal, 1, 11), new ItemStack(itemManaResource, 1, ManaResource.REDSTONE_ROOT.ordinal())
});
LexiconEntries.entryHiveacynth = new BotaniaLexiconEntry(SubTileHiveacynth.NAME, BotaniaAPI.categoryFunctionalFlowers);
LexiconEntries.entryHiveacynth.setLexiconPages(new LexiconPage[] {
BotaniaAPI.internalHandler.textPage("magicbees.botania.lexicon.hiveacynth.0"),
BotaniaAPI.internalHandler.textPage("magicbees.botania.lexicon.hiveacynth.1"),
BotaniaAPI.internalHandler.petalRecipePage("magicbees.botania.lexicon.hiveacynth.crafting", hiveacynthRecipe)
});
}
}
private static void registerSubtile(String subtileName, Class<? extends SubTileEntity> tileClass) {
BotaniaAPI.registerSubTile(subtileName, tileClass);
BotaniaAPI.registerSubTileSignature(tileClass, new BotaniaSignature(subtileName));
BotaniaAPI.addSubTileToCreativeMenu(subtileName);
}
public static void getBlocks() {
Config.botLivingRock = BlockInterface.getBlock(Name, "livingrock");
Config.botLivingWood = BlockInterface.getBlock(Name, "livingwood");
blockLivingRock = BlockInterface.getBlock(Name, "livingrock");
blockLivingWood = BlockInterface.getBlock(Name, "livingwood");
}
public static void getItems() {
Config.botManaResource = ItemInterface.getItem(Name, "manaResource");
}
private static void registerSubtiles() {
BotaniaAPI.registerSubTile(SubTileBeegonia.NAME, SubTileBeegonia.class);
itemPetal = ItemInterface.getItem(Name, "petal");
itemManaPetal = ItemInterface.getItem(Name, "manaPetal");
itemManaResource = ItemInterface.getItem(Name, "manaResource");
}
public static void doBotaniaModuleConfigs(Configuration configuration) {
@@ -0,0 +1,26 @@
package magicbees.main.utils.compat.botania;
import magicbees.main.utils.LocalizationManager;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.api.lexicon.IAddonEntry;
import vazkii.botania.api.lexicon.LexiconCategory;
import vazkii.botania.api.lexicon.LexiconEntry;
public class BotaniaLexiconEntry extends LexiconEntry implements IAddonEntry {
public BotaniaLexiconEntry(String unlocalizedName, LexiconCategory category) {
super(unlocalizedName, category);
BotaniaAPI.addEntry(this, category);
}
@Override
public String getSubtitle() {
return LocalizationManager.getLocalizedString("magicbees.botania.lexicon.subtitle");
}
@Override
public String getUnlocalizedName() {
return "tile.botania:flower." + unlocalizedName + ".name";
}
}
@@ -0,0 +1,9 @@
package magicbees.main.utils.compat.botania;
import vazkii.botania.api.lexicon.LexiconEntry;
public class LexiconEntries {
public static LexiconEntry entryBeegonia;
public static LexiconEntry entryHiveacynth;
}
@@ -6,6 +6,7 @@ import magicbees.main.utils.compat.BotaniaHelper;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import java.util.Random;
import vazkii.botania.api.BotaniaAPI;
import vazkii.botania.api.subtile.SubTileFunctional;
import cpw.mods.fml.relauncher.Side;
@@ -19,6 +20,7 @@ import forestry.api.genetics.IAllele;
public class SubTileHiveacynth extends SubTileFunctional {
public static final String NAME = "hiveacynth";
private static final int RANGE = 3;
private static final int COST = 15000;
@@ -39,7 +41,12 @@ public class SubTileHiveacynth extends SubTileFunctional {
ItemStack stack = BeeManager.beeRoot.getMemberStack(getRandomBee(), beeType.ordinal());
EntityItem entity = new EntityItem(supertile.getWorldObj(), supertile.xCoord, supertile.yCoord, supertile.zCoord, stack);
Random r = supertile.getWorldObj().rand;
EntityItem entity = new EntityItem(supertile.getWorldObj(),
supertile.xCoord - RANGE + r.nextInt(RANGE * 2 + 1), supertile.yCoord + 1, supertile.zCoord - RANGE + r.nextInt(RANGE * 2 + 1), stack);
entity.motionX = 0;
entity.motionY = 0;
entity.motionZ = 0;
supertile.getWorldObj().spawnEntityInWorld(entity);
}
}
@@ -57,7 +64,7 @@ public class SubTileHiveacynth extends SubTileFunctional {
}
private boolean readyToProduceProduct() {
return redstoneSignal == 0 && ticksExisted % 20==0;//0 == 0 && mana >= getFinalCost();
return redstoneSignal == 0 && ticksExisted % 200 == 0 && mana >= getFinalCost();
}
private int getFinalCost() {