mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-13 16:54:08 +00:00
Adding Botania lexicon entries & crafting recipes for Beegonia & Hiveacynth.
This commit is contained in:
1 parent
a65c593c9a
commit
6f6823b6d2
6 files changed
+109
-27
No files matched your search
@@ -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() {
|
||||
|
||||
Reference in new issue
Block a user