Moving stuff around.

Adding new produce items for bees.
This commit is contained in:
MysteriousAges committed 2012-12-27 00:27:23 -08:00
1 parent 9249986aef
commit e86c95cdc2
21 files changed
+464 -137

No files matched your search

-49
View File
@@ -1,49 +0,0 @@
package thaumicbees.main;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemMagicalComb extends Item
{
private String name;
private int colour[];
public ItemMagicalComb(String combName, int itemID, int colour1, int colour2)
{
super(itemID);
this.name = combName;
this.colour = new int[2];
this.colour[0] = colour1;
this.colour[1] = colour2;
}
@Override
public int getRenderPasses(int metadata)
{
return 2;
}
@Override
public String getTextureFile()
{
return ThaumicBees.FORESTRY_GFX_ITEMS;
}
@Override
public int getIconIndex(ItemStack stack, int pass)
{
return 12 * 16 + 6 + pass;
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack par1ItemStack, int pass)
{
return (pass < 2) ? this.colour[pass] : 0xFFFFFF;
}
}
-60
View File
@@ -1,60 +0,0 @@
package thaumicbees.main;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.*;
import forestry.api.apiculture.EnumBeeType;
import java.io.PrintStream;
import java.lang.reflect.Field;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.EventBus;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.world.WorldEvent;
import thaumcraft.api.*;
import thaumicbees.main.bees.BeeSpecies;
import thaumicbees.main.bees.ThaumicBeesPlugin;
@Mod(modid="ThaumicBees", name="Thaumic Bees", version="0.0", dependencies="required-after:Forestry;required-after:Thaumcraft")
public class ThaumicBees
{
@Mod.Instance(value="ThaumicBees")
public static ThaumicBees object;
private boolean ThaumcraftRecipesAdded;
public static String FORESTRY_GFX_ITEMS;
public ThaumicBees()
{
ThaumcraftRecipesAdded = false;
}
@Mod.PreInit
public void preInit(FMLPreInitializationEvent fmlpreinitializationevent)
{
}
@Mod.Init
public void init(FMLInitializationEvent fmlinitializationevent)
{
}
@Mod.PostInit
public void postInit(FMLPostInitializationEvent e)
{
MinecraftForge.EVENT_BUS.register(this);
}
@ForgeSubscribe
public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load e)
{
if (!ThaumcraftRecipesAdded)
{
ThaumicBeesPlugin.setupBeeInfusions(e.world);
ThaumcraftRecipesAdded = true;
}
}
}
@@ -1,13 +0,0 @@
package thaumicbees.main.research;
public class ThaumcraftPlugin
{
public static void setupResearch()
{
}
public static void setupCrafting()
{
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<research>
<name>Test Bees</name>
<popupText>Magical Bees</popupText>
<longText></longText>
<page type="text">Test, test test.
Lorem Ipsom something something.</page>
</research>
@@ -1,6 +1,6 @@
package forestry.plugins;
import thaumicbees.main.bees.ThaumicBeesPlugin;
import thaumicbees.bees.ThaumicBeesPlugin;
public class PluginThaumicBees extends ThaumicBeesPlugin
{
@@ -1,4 +1,4 @@
package thaumicbees.main.bees;
package thaumicbees.bees;
import forestry.api.apiculture.IBeeBranch;
import forestry.api.genetics.IAlleleSpecies;
@@ -1,4 +1,4 @@
package thaumicbees.main.bees;
package thaumicbees.bees;
import forestry.api.apiculture.*;
import forestry.api.genetics.IAllele;
@@ -20,10 +20,12 @@ public class BeeMutation implements IBeeMutation
public static BeeMutation Pupil;
public static BeeMutation Scholarly;
public static BeeMutation Savant;
private IAllele parent1;
private IAllele parent2;
private IAllele mutationTemplate[];
private int chance;
private int baseChance;
private boolean isSecret;
public BeeMutation(IAlleleBeeSpecies species0, IAlleleBeeSpecies species1, IAllele producesGenome[], int percentChance, boolean hide)
@@ -31,14 +33,23 @@ public class BeeMutation implements IBeeMutation
parent1 = species0;
parent2 = species1;
mutationTemplate = producesGenome;
chance = percentChance;
baseChance = percentChance;
isSecret = hide;
BeeManager.beeMutations.add(this);
}
public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1)
{
return Math.round((float) chance * BeeManager.breedingManager.getBeekeepingMode(housing.getWorld()).getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1));
int chance = 0;
if ((this.parent1.getUID().equals(allele0.getUID())) && this.parent2.getUID().equals(allele1.getUID()) ||
this.parent1.getUID().equals(allele1.getUID()) && this.parent2.getUID().equals(allele0.getUID()))
{
// This mutation applies. Continue calculation.
chance = Math.round((float) this.baseChance * BeeManager.breedingManager.getBeekeepingMode(housing.getWorld()).getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1));
}
return chance;
}
public IAllele getAllele0()
@@ -58,7 +69,7 @@ public class BeeMutation implements IBeeMutation
public int getBaseChance()
{
return chance;
return baseChance;
}
public boolean isPartner(IAllele allele)
@@ -1,4 +1,4 @@
package thaumicbees.main.bees;
package thaumicbees.bees;
import forestry.api.apiculture.*;
import forestry.api.core.EnumHumidity;
@@ -200,7 +200,7 @@ public class BeeSpecies implements IAlleleBeeSpecies
public boolean isJubilant(World world, int biomeid, int x, int i, int j)
{
return false;
return true;
}
/**
@@ -1,4 +1,4 @@
package thaumicbees.main.bees;
package thaumicbees.bees;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -1,4 +1,4 @@
package thaumicbees.main.bees;
package thaumicbees.bees;
import cpw.mods.fml.common.network.IGuiHandler;
import forestry.api.apiculture.*;
@@ -9,6 +9,7 @@ import java.util.Random;
import thaumcraft.api.EnumTag;
import thaumcraft.api.ObjectTags;
import thaumcraft.api.ThaumcraftApi;
import thaumicbees.item.ItemManager;
import net.minecraft.command.ICommand;
import net.minecraft.item.Item;
@@ -52,6 +53,7 @@ public class ThaumicBeesPlugin implements IPlugin
BeeSpecies.Esoteric = new BeeSpecies("Esoteric", "", "secretiore", BeeBranch.Arcane, 0,
0x001099, 0xcc763c, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
false, hideSpecies, true, true);
BeeSpecies.Esoteric.addProduct(new ItemStack(ItemManager.magicalComb), 5);
BeeSpecies.Esoteric.setGene(EnumBeeChromosome.TEMPERATURE_TOLERANCE, AlleleManager.getAllele("toleranceBoth2"));
breedingMgr.registerBeeTemplate(BeeSpecies.Esoteric.getGenome());
@@ -166,15 +168,15 @@ public class ThaumicBeesPlugin implements IPlugin
private void setupBeeMutations()
{
BeeMutation.Esoteric = new BeeMutation(BeeSpecies.getBaseSpecies("Modest"), BeeSpecies.getBaseSpecies("Wintry"), BeeSpecies.Esoteric.getGenome(), 10, false);
BeeMutation.Esoteric1 = new BeeMutation(BeeSpecies.getBaseSpecies("Marshy"), BeeSpecies.getBaseSpecies("Cultivated"), BeeSpecies.Esoteric.getGenome(), 20, false);
BeeMutation.Esoteric = new BeeMutation(BeeSpecies.getBaseSpecies("Imperial"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 10, false);
BeeMutation.Esoteric1 = new BeeMutation(BeeSpecies.getBaseSpecies("Heroic"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 20, false);
BeeMutation.Mysterious = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.getBaseSpecies("Ended"), BeeSpecies.Mysterious.getGenome(), 10, false);
BeeMutation.Arcane = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.Mysterious, BeeSpecies.Arcane.getGenome(), 8, false);
BeeMutation.Charmed = new BeeMutation(BeeSpecies.getBaseSpecies("Cultivated"), BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Charmed.getGenome(), 20, false);
BeeMutation.Enchanted = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Enchanted.getGenome(), 8, false);
BeeMutation.Supernatural = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.Enchanted, BeeSpecies.Supernatural.getGenome(), 8, false);
BeeMutation.Pupil = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Enchanted, BeeSpecies.Pupil.getGenome(), 100, false);
BeeMutation.Scholarly = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Arcane, BeeSpecies.Scholarly.getGenome(), 10, false);
BeeMutation.Pupil = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Enchanted, BeeSpecies.Pupil.getGenome(), 10, false);
BeeMutation.Scholarly = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Arcane, BeeSpecies.Scholarly.getGenome(), 8, false);
BeeMutation.Savant = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Scholarly, BeeSpecies.Savant.getGenome(), 6, false);
BeeMutation.Stark = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Supernatural, BeeSpecies.Stark.getGenome(), 8, false);
}
@@ -0,0 +1,17 @@
package thaumicbees.block;
public class BlockManager
{
public BlockManager() { }
public static void registerBlocks()
{
}
public static void setupCrafting()
{
}
}
@@ -0,0 +1,93 @@
package thaumicbees.item;
import thaumicbees.main.CommonProxy;
import thaumicbees.main.ThaumicBees;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemComb extends Item
{
public enum CombType
{
MAGICAL("Magical Comb", 0x6e1c6d, 0xff8fff),
PAPERY("Papery Comb", 0xfff, 0xfff),
STARK("Stark Comb", 0x505759, 0xaaaebd),
;
private CombType(String pName, int colourA, int colourB)
{
this.name = pName;
this.combColour[0] = colourA;
this.combColour[1] = colourB;
}
public final String name;
public int[] combColour = new int[2];
}
public ItemComb(int itemID)
{
super(itemID);
this.setTextureFile(CommonProxy.FORESTRY_GFX_ITEMS);
this.setCreativeTab(CreativeTabs.tabMaterials);
}
public ItemStack getStackForType(CombType type)
{
return new ItemStack(this, 1, type.ordinal());
}
public ItemStack getStackForType(CombType type, int count)
{
return new ItemStack(this, count, type.ordinal());
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
@Override
public int getRenderPasses(int metadata)
{
return 2;
}
@Override
public int getIconIndex(ItemStack stack, int pass)
{
// 107, 108 are the base forestry honeycomb textures.
return 107 + pass;
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass)
{
int colour = 0xffffff;
int meta = stack.getItemDamage();
if (meta >= 0 && meta < CombType.values().length)
{
colour = CombType.values()[meta].combColour[pass % 2];
}
return colour;
}
@Override
public String getItemDisplayName(ItemStack stack)
{
String result = "";
int meta = stack.getItemDamage();
if (meta >= 0 && meta < CombType.values().length)
{
result = CombType.values()[meta].name;
}
return result;
}
}
@@ -0,0 +1,18 @@
package thaumicbees.item;
import extrabiomes.utility.CreativeTab;
import thaumicbees.main.CommonProxy;
import net.minecraft.item.Item;
public class ItemKnowledgeFragment extends Item
{
public ItemKnowledgeFragment(int ID)
{
super(ID);
this.iconIndex = 3;
this.setTextureFile(CommonProxy.TCBEES_ITEMS);
this.setCreativeTab(CreativeTab.tabMaterials);
}
}
@@ -0,0 +1,39 @@
package thaumicbees.item;
import thaumicbees.main.CommonProxy;
import thaumicbees.main.ThaumicBees;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemMagicalWax extends Item
{
private boolean sparkly;
private int colour;
public ItemMagicalWax(int itemID, int overlayColour, boolean hasSparklyIcon)
{
super(itemID);
this.sparkly = hasSparklyIcon;
this.colour = overlayColour;
this.setTextureFile(CommonProxy.TCBEES_ITEMS);
this.setCreativeTab(CreativeTabs.tabMisc);
}
@Override
public int getIconIndex(ItemStack stack, int pass)
{
return this.sparkly ? 0 : 1;
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack par1ItemStack, int pass)
{
return this.colour;
}
}
@@ -0,0 +1,30 @@
package thaumicbees.item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
import forestry.api.recipes.*;
public class ItemManager
{
public static ItemComb magicalComb;
public static ItemMagicalWax magicalWax;
public ItemManager() { }
public static void setupItems(Configuration configFile)
{
int itemIDBase = 26090;
Property p = configFile.getItem("combs", itemIDBase++);
ItemManager.magicalComb= new ItemComb(p.getInt());
ItemManager.magicalWax = new ItemMagicalWax(configFile.getItem("wax", itemIDBase++).getInt(), 0xffff00, false);
}
public static void setupCrafting()
{
// 20 is the 'average' time to centrifuge a comb.
RecipeManagers.centrifugeManager.addRecipe(25, new ItemStack(ItemManager.magicalComb), new ItemStack(ItemManager.magicalWax));
}
}
@@ -0,0 +1,39 @@
package thaumicbees.item;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemPropolis extends Item
{
public enum PropolisType
{
;
private PropolisType(String pName, int overlayColour)
{
this.name = pName;
this.colour = overlayColour;
}
public String name;
public int colour;
}
public ItemPropolis(int id)
{
super(id);
}
@Override
public int getColorFromItemStack(ItemStack stack, int pass)
{
int colour = 0xffffff;
int meta = stack.getItemDamage();
if (meta >= 0 && meta < PropolisType.values().length)
{
colour = PropolisType.values()[meta].colour;
}
return colour;
}
}
@@ -0,0 +1,20 @@
package thaumicbees.main;
import net.minecraftforge.client.MinecraftForgeClient;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
public ClientProxy() { }
@Override
public void preloadTextures()
{
// Preload the TCBees items file
MinecraftForgeClient.preloadTexture(TCBEES_ITEMS);
}
}
@@ -0,0 +1,19 @@
package thaumicbees.main;
public class CommonProxy
{
public static String TCBEES_GFX = "./gfx/thaumicbees";
public static String TCBEES_RESEARCH = "./research/thaumicbees";
public static String FORESTRY_GFX_ITEMS;
public static String TCBEES_ITEMS = TCBEES_GFX + "/items.png";
public CommonProxy() { }
public void preloadTextures()
{
// Does nothing here.
}
}
@@ -0,0 +1,64 @@
package thaumicbees.main;
import java.io.File;
import thaumcraft.api.ThaumcraftApi;
import thaumicbees.item.ItemManager;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Property;
import net.minecraftforge.common.Configuration;
public class ThaumcraftCompat
{
public static int itemResourceID;
public static final int itemResourceQuicksilverMeta = 3;
public static final int itemResourceAmberMeta = 6;
public static final int itemResourceFragmentMeta = 9;
public static int itemShardID;
public static final int itemShardAirMeta = 0;
public static final int itemShardFireMeta = 1;
public static final int itemShardWaterMeta = 2;
public static final int itemShardEarthMeta = 3;
public static final int itemShardMagicMeta = 4;
public static final int itemShardDullMeta = 5;
public static int itemEssentiaBottle;
public static void init()
{
Configuration tcConfig = new Configuration(new File("./config/Thaumcraft.cfg"));
Property p;
tcConfig.load();
// Load items out of the Thaumcraft config to get their IDs.
p = tcConfig.getItem("ItemEssence", 25005);
itemEssentiaBottle = p.getInt() + 256;
p = tcConfig.getItem("ItemResource", 25007);
itemResourceID = p.getInt() + 256;
p = tcConfig.getItem("ItemShard", 25008);
itemShardID = p.getInt() + 256;
}
public static void setupResearch()
{
//ThaumcraftApi.registerResearchXML(CommonProxy.TCBEES_RESEARCH + "/research.xml");
}
public static void setupCrafting()
{
GameRegistry.addRecipe(new ItemStack(itemEssentiaBottle, 8, 0), new Object[]
{
" C ", "G G", " G ",
Character.valueOf('G'), ItemManager.magicalWax,
Character.valueOf('C'), Item.clay
});
}
}
@@ -0,0 +1,88 @@
package thaumicbees.main;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.*;
import forestry.api.apiculture.EnumBeeType;
import forestry.api.core.ItemInterface;
import java.io.PrintStream;
import java.lang.reflect.Field;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.Property;
import net.minecraftforge.event.EventBus;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.world.WorldEvent;
import thaumcraft.api.*;
import thaumicbees.bees.BeeSpecies;
import thaumicbees.bees.ThaumicBeesPlugin;
import thaumicbees.item.ItemComb;
import thaumicbees.item.ItemMagicalWax;
import thaumicbees.item.ItemManager;
@Mod(modid="ThaumicBees", name="Thaumic Bees", version="0.0", dependencies="required-after:Forestry;required-after:Thaumcraft")
public class ThaumicBees
{
@Mod.Instance(value="ThaumicBees")
public static ThaumicBees object;
@SidedProxy(serverSide="thaumicbees.main.CommonProxy", clientSide="thaumicbees.main.ClientProxy")
public static CommonProxy proxy;
private boolean ThaumcraftRecipesAdded;
private Configuration config;
public ThaumicBees()
{
ThaumcraftRecipesAdded = false;
}
@Mod.PreInit
public void preInit(FMLPreInitializationEvent event)
{
this.config = new Configuration(event.getSuggestedConfigurationFile());
this.proxy.preloadTextures();
}
@Mod.Init
public void init(FMLInitializationEvent event)
{
// Give ThaumcraftCompat a chance to set itself up.
ThaumcraftCompat.init();
// Grab Forestry graphics file path
proxy.FORESTRY_GFX_ITEMS = ItemInterface.getItem("beeComb").getItem().getTextureFile();
this.config.load();
ItemManager.setupItems(this.config);
this.config.save();
ItemManager.setupCrafting();
ThaumcraftCompat.setupCrafting();
ThaumcraftCompat.setupResearch();
}
@Mod.PostInit
public void postInit(FMLPostInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(this);
}
@ForgeSubscribe
public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load event)
{
if (!ThaumcraftRecipesAdded)
{
ThaumicBeesPlugin.setupBeeInfusions(event.world);
ThaumcraftRecipesAdded = true;
}
}
}