mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-12 08:17:29 +00:00
210 lines
3.8 KiB
Java
210 lines
3.8 KiB
Java
package magicbees.tileentity;
|
|
|
|
import magicbees.bees.Allele;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
import forestry.api.apiculture.BeeManager;
|
|
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;
|
|
|
|
/**
|
|
*
|
|
* Singleton object to simulate enough of a bee house to fire the bee effects. =D
|
|
*
|
|
* @author MysteriousAges
|
|
*
|
|
*/
|
|
public class EffectJarHousing implements IBeeHousing
|
|
{
|
|
private static EffectJarHousing instance = new EffectJarHousing();
|
|
|
|
TileEntityEffectJar jarEntity;
|
|
|
|
public static EffectJarHousing getFor(TileEntityEffectJar entity)
|
|
{
|
|
instance.jarEntity = entity;
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
public float getTerritoryModifier(IBeeGenome genome, float currentModifier)
|
|
{
|
|
return 0.9f;
|
|
}
|
|
|
|
@Override
|
|
public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
|
|
{
|
|
return 0f;
|
|
}
|
|
|
|
@Override
|
|
public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier)
|
|
{
|
|
return 0f;
|
|
}
|
|
|
|
@Override
|
|
public float getProductionModifier(IBeeGenome genome, float currentModifier)
|
|
{
|
|
return 0f;
|
|
}
|
|
|
|
@Override
|
|
public float getFloweringModifier(IBeeGenome genome, float currentModifier)
|
|
{
|
|
return 0f;
|
|
}
|
|
|
|
@Override
|
|
public int getXCoord()
|
|
{
|
|
return this.jarEntity.xCoord;
|
|
}
|
|
|
|
@Override
|
|
public int getYCoord()
|
|
{
|
|
return this.jarEntity.yCoord;
|
|
}
|
|
|
|
@Override
|
|
public int getZCoord()
|
|
{
|
|
return this.jarEntity.zCoord;
|
|
}
|
|
|
|
@Override
|
|
public boolean isSealed()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isSelfLighted()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isSunlightSimulated()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isHellish()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void onQueenChange(ItemStack queen) { }
|
|
|
|
@Override
|
|
public void wearOutEquipment(int amount) { }
|
|
|
|
@Override
|
|
public void onQueenDeath(IBee queen) { }
|
|
|
|
@Override
|
|
public void onPostQueenDeath(IBee queen) { }
|
|
|
|
@Override
|
|
public ItemStack getQueen()
|
|
{
|
|
return this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
|
|
}
|
|
|
|
@Override
|
|
public ItemStack getDrone()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void setQueen(ItemStack itemStack)
|
|
{
|
|
this.jarEntity.setInventorySlotContents(TileEntityEffectJar.QUEEN_SLOT, itemStack);
|
|
}
|
|
|
|
@Override
|
|
public void setDrone(ItemStack itemstack) { }
|
|
|
|
@Override
|
|
public int getBiomeId()
|
|
{
|
|
return this.jarEntity.worldObj.getBiomeGenForCoords(getXCoord(), getYCoord()).biomeID;
|
|
}
|
|
|
|
@Override
|
|
public EnumTemperature getTemperature()
|
|
{
|
|
EnumTemperature temp = EnumTemperature.NORMAL;
|
|
ItemStack stack = this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
|
|
if (stack != null)
|
|
{
|
|
IBee queen = Allele.beeRoot.getMember(stack);
|
|
temp = queen.getGenome().getPrimary().getTemperature();
|
|
}
|
|
return temp;
|
|
}
|
|
|
|
@Override
|
|
public EnumHumidity getHumidity()
|
|
{
|
|
EnumHumidity humid = EnumHumidity.NORMAL;
|
|
ItemStack stack = this.jarEntity.getStackInSlot(TileEntityEffectJar.QUEEN_SLOT);
|
|
if (stack != null)
|
|
{
|
|
IBee queen = Allele.beeRoot.getMember(stack);
|
|
humid = queen.getGenome().getPrimary().getHumidity();
|
|
}
|
|
return humid;
|
|
}
|
|
|
|
@Override
|
|
public World getWorld()
|
|
{
|
|
return this.jarEntity.worldObj;
|
|
}
|
|
|
|
@Override
|
|
public String getOwnerName()
|
|
{
|
|
return this.jarEntity.getOwner();
|
|
}
|
|
|
|
@Override
|
|
public void setErrorState(int state) { }
|
|
|
|
@Override
|
|
public int getErrorOrdinal()
|
|
{
|
|
return 1; // EnumErrorCode.OK.ordinal() value.
|
|
}
|
|
|
|
@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;
|
|
}
|
|
|
|
}
|