Files
MagicBees/src/main/java/magicbees/tileentity/EffectJarHousing.java
T

220 lines
4.0 KiB
Java
Raw Normal View History

2013-05-23 21:07:28 -07:00
package magicbees.tileentity;
2013-04-02 20:02:09 -07:00
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
2013-04-22 16:03:27 -07:00
import forestry.api.apiculture.BeeManager;
2013-04-02 20:02:09 -07:00
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
import forestry.api.genetics.IIndividual;
2013-04-02 20:02:09 -07:00
/**
*
* Singleton object to simulate enough of a bee house to fire the bee effects. =D
*
* @author MysteriousAges
*
*/
2013-04-02 20:02:09 -07:00
public class EffectJarHousing implements IBeeHousing
{
private static EffectJarHousing instance = new EffectJarHousing();
2013-04-02 20:02:09 -07:00
TileEntityEffectJar jarEntity;
public static EffectJarHousing getFor(TileEntityEffectJar entity)
2013-04-02 20:02:09 -07:00
{
instance.jarEntity = entity;
return instance;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public float getTerritoryModifier(IBeeGenome genome, float currentModifier)
2013-04-02 20:02:09 -07:00
{
return 0.9f;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return 0f;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
2013-04-02 20:02:09 -07:00
{
return 0f;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public float getProductionModifier(IBeeGenome genome, float currentModifier)
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return 0f;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public float getFloweringModifier(IBeeGenome genome, float currentModifier)
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return 0f;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public int getXCoord()
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return this.jarEntity.xCoord;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public int getYCoord()
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return this.jarEntity.yCoord;
2013-04-02 20:02:09 -07:00
}
@Override
2013-04-15 00:17:50 -07:00
public int getZCoord()
2013-04-02 20:02:09 -07:00
{
2013-04-15 00:17:50 -07:00
return this.jarEntity.zCoord;
2013-04-02 20:02:09 -07:00
}
@Override
public boolean isSealed()
{
return true;
2013-04-02 20:02:09 -07:00
}
@Override
public boolean isSelfLighted()
{
return true;
2013-04-02 20:02:09 -07:00
}
@Override
public boolean isSunlightSimulated()
{
return true;
2013-04-02 20:02:09 -07:00
}
@Override
public boolean isHellish()
{
return false;
}
@Override
public void onQueenChange(ItemStack queen) { }
2013-04-02 20:02:09 -07:00
@Override
public void wearOutEquipment(int amount) { }
@Override
public void onQueenDeath(IBee queen) { }
2013-04-02 20:02:09 -07:00
@Override
public void onPostQueenDeath(IBee queen) { }
@Override
public ItemStack getQueen()
{
return this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
2013-04-02 20:02:09 -07:00
}
@Override
public ItemStack getDrone()
{
return null;
}
@Override
2013-04-22 16:03:27 -07:00
public void setQueen(ItemStack itemStack)
{
this.jarEntity.setInventorySlotContents(TileEntityEffectJar.QUEEN_SLOT, itemStack);
2013-04-22 16:03:27 -07:00
}
2013-04-02 20:02:09 -07:00
@Override
public void setDrone(ItemStack itemstack) { }
@Override
public int getBiomeId()
{
return this.jarEntity.getWorldObj().getBiomeGenForCoords(getXCoord(), getYCoord()).biomeID;
2013-04-02 20:02:09 -07:00
}
@Override
public EnumTemperature getTemperature()
{
2013-04-22 16:03:27 -07:00
EnumTemperature temp = EnumTemperature.NORMAL;
ItemStack stack = this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
2013-04-22 16:03:27 -07:00
if (stack != null)
{
2013-06-06 15:39:36 -07:00
IBee queen = magicbees.bees.BeeManager.beeRoot.getMember(stack);
2013-04-22 16:03:27 -07:00
temp = queen.getGenome().getPrimary().getTemperature();
}
return temp;
2013-04-02 20:02:09 -07:00
}
@Override
public EnumHumidity getHumidity()
{
2013-04-22 16:03:27 -07:00
EnumHumidity humid = EnumHumidity.NORMAL;
ItemStack stack = this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
2013-04-22 16:03:27 -07:00
if (stack != null)
{
2013-06-06 15:39:36 -07:00
IBee queen = magicbees.bees.BeeManager.beeRoot.getMember(stack);
2013-04-22 16:03:27 -07:00
humid = queen.getGenome().getPrimary().getHumidity();
}
return humid;
2013-04-02 20:02:09 -07:00
}
@Override
public World getWorld()
{
return this.jarEntity.getWorldObj();
2013-04-02 20:02:09 -07:00
}
@Override
public String getOwnerName()
{
return this.jarEntity.getOwner();
}
@Override
public void setErrorState(int state) { }
@Override
public int getErrorOrdinal()
{
return 1; // EnumErrorCode.OK.ordinal() value.
2013-04-02 20:02:09 -07:00
}
@Override
public boolean canBreed()
{
return false;
}
@Override
public boolean addProduct(ItemStack product, boolean all)
{
return true;
}
@Override
public boolean onPollenRetrieved(IBee queen, IIndividual pollen, boolean isHandled)
{
return false;
}
2013-06-14 13:30:00 -07:00
@Override
public boolean onEggLaid(IBee queen)
{
return false;
}
2013-08-25 19:56:55 -07:00
@Override
public float getGeneticDecay(IBeeGenome genome, float currentModifier)
{
return 0f;
}
2013-04-02 20:02:09 -07:00
}