2013-05-23 21:07:28 -07:00
|
|
|
package magicbees.tileentity;
|
2013-04-02 20:02:09 -07:00
|
|
|
|
2014-08-01 04:05:49 +02:00
|
|
|
import com.mojang.authlib.GameProfile;
|
2013-04-02 20:02:09 -07:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
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;
|
2013-05-19 14:53:27 -07:00
|
|
|
import forestry.api.genetics.IIndividual;
|
2013-04-02 20:02:09 -07:00
|
|
|
|
2013-05-06 00:24:06 -07:00
|
|
|
/**
|
|
|
|
|
* Singleton object to simulate enough of a bee house to fire the bee effects. =D
|
|
|
|
|
*
|
2015-01-08 21:48:13 -08:00
|
|
|
* @author MysteriousAges
|
2013-05-06 00:24:06 -07:00
|
|
|
*/
|
2013-04-02 20:02:09 -07:00
|
|
|
public class EffectJarHousing implements IBeeHousing
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
private static EffectJarHousing instance = new EffectJarHousing();
|
2015-01-08 21:48:13 -08:00
|
|
|
|
2013-04-02 20:02:09 -07:00
|
|
|
TileEntityEffectJar jarEntity;
|
2015-01-08 21:48:13 -08:00
|
|
|
|
2013-05-06 00:24:06 -07:00
|
|
|
public static EffectJarHousing getFor(TileEntityEffectJar entity)
|
2013-04-02 20:02:09 -07:00
|
|
|
{
|
2013-05-06 00:24:06 -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
|
|
|
{
|
2013-05-06 00:24:06 -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
|
|
|
{
|
2013-05-06 00:24:06 -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()
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
return true;
|
2013-04-02 20:02:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isSelfLighted()
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
return true;
|
2013-04-02 20:02:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isSunlightSimulated()
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
return true;
|
2013-04-02 20:02:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isHellish()
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void onQueenChange(ItemStack queen)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void wearOutEquipment(int amount)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void onQueenDeath(IBee queen)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void onPostQueenDeath(IBee queen)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ItemStack getQueen()
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
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)
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
this.jarEntity.setInventorySlotContents(TileEntityEffectJar.QUEEN_SLOT, itemStack);
|
2013-04-22 16:03:27 -07:00
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void setDrone(ItemStack itemstack)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getBiomeId()
|
|
|
|
|
{
|
2014-04-08 12:39:01 -07:00
|
|
|
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;
|
2013-05-06 00:24:06 -07:00
|
|
|
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;
|
2013-05-06 00:24:06 -07:00
|
|
|
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()
|
|
|
|
|
{
|
2014-04-08 12:39:01 -07:00
|
|
|
return this.jarEntity.getWorldObj();
|
2013-04-02 20:02:09 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2014-08-01 04:05:49 +02:00
|
|
|
public GameProfile getOwnerName()
|
2013-04-02 20:02:09 -07:00
|
|
|
{
|
|
|
|
|
return this.jarEntity.getOwner();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2015-01-08 21:48:13 -08:00
|
|
|
public void setErrorState(int state)
|
|
|
|
|
{
|
|
|
|
|
}
|
2013-04-02 20:02:09 -07:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getErrorOrdinal()
|
|
|
|
|
{
|
2013-05-06 00:24:06 -07:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-19 14:53:27 -07:00
|
|
|
@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
|
|
|
}
|