[ci skip] spotlessApply with the new settings

This commit is contained in:
Jason Mitchell committed 2023-01-29 12:03:50 -08:00
1 parent 4711be8028
commit 94aa9346b1
1282 files changed
+15755 -16296

No files matched your search

+12 -13
View File
@@ -1,15 +1,19 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
* Copyright (c) 2011-2014 SirSengir. All rights reserved. This program and the accompanying materials are made
* available under the terms of the GNU Lesser Public License v3 which accompanies this distribution, and is available
* at http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
* Various Contributors including, but not limited to: SirSengir (original work), CovertJaguar, Player, Binnie,
* MysteriousAges
******************************************************************************/
package forestry;
import java.io.File;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
@@ -41,10 +45,6 @@ import forestry.core.utils.Log;
import forestry.core.utils.StringUtil;
import forestry.core.worldgen.WorldGenerator;
import forestry.plugins.PluginManager;
import java.io.File;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
/**
* Forestry Minecraft Mod
@@ -56,8 +56,7 @@ import net.minecraftforge.common.MinecraftForge;
name = Constants.MOD,
version = Constants.VERSION,
guiFactory = "forestry.core.config.ForestryGuiConfigFactory",
dependencies = "required-after:Forge@[10.13.4.1566,);"
+ "after:Buildcraft|Core@[6.1.7,);"
dependencies = "required-after:Forge@[10.13.4.1566,);" + "after:Buildcraft|Core@[6.1.7,);"
+ "after:ExtrabiomesXL;"
+ "after:BiomesOPlenty;"
+ "after:IC2@[2.0.140,);"
@@ -7,6 +7,7 @@ package forestry.api.apiculture;
import java.util.ArrayList;
import java.util.HashMap;
import net.minecraft.item.ItemStack;
/**
@@ -8,11 +8,11 @@ package forestry.api.apiculture;
import forestry.api.genetics.IIndividual;
/**
* Easily extendable default IBeeListener.
* By itself, this IBeeListener does nothing.
* BeeListeners should inherit from this class unless they need to listen for everything.
* Easily extendable default IBeeListener. By itself, this IBeeListener does nothing. BeeListeners should inherit from
* this class unless they need to listen for everything.
*/
public class DefaultBeeListener implements IBeeListener {
@Override
public void wearOutEquipment(int amount) {}
@@ -6,9 +6,8 @@
package forestry.api.apiculture;
/**
* Easily extendable default IBeeModifier.
* By itself, this IBeeModifier does nothing.
* BeeModifiers should inherit from this class unless they modify everything.
* Easily extendable default IBeeModifier. By itself, this IBeeModifier does nothing. BeeModifiers should inherit from
* this class unless they modify everything.
*/
public class DefaultBeeModifier implements IBeeModifier {
@@ -5,6 +5,8 @@
******************************************************************************/
package forestry.api.apiculture;
import java.util.Locale;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IAlleleArea;
import forestry.api.genetics.IAlleleBoolean;
@@ -14,7 +16,6 @@ import forestry.api.genetics.IAlleleInteger;
import forestry.api.genetics.IAlleleTolerance;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.ISpeciesRoot;
import java.util.Locale;
/**
* Enum representing the order of chromosomes in a bee's genome and what they control.
@@ -22,6 +23,7 @@ import java.util.Locale;
* @author SirSengir
*/
public enum EnumBeeChromosome implements IChromosomeType {
/**
* Species of the bee. Alleles here must implement {@link IAlleleBeeSpecies}.
*/
@@ -43,11 +45,13 @@ public enum EnumBeeChromosome implements IChromosomeType {
*/
TEMPERATURE_TOLERANCE(IAlleleTolerance.class),
/**
* Slightly incorrectly named. If true, a naturally dirunal bee can work during the night. If true, a naturally nocturnal bee can work during the day.
* Slightly incorrectly named. If true, a naturally dirunal bee can work during the night. If true, a naturally
* nocturnal bee can work during the day.
*/
NOCTURNAL(IAlleleBoolean.class),
/**
* Not used / superseded by fixed values for the species. Probably going to be replaced with a boolean for FIRE_RESIST.
* Not used / superseded by fixed values for the species. Probably going to be replaced with a boolean for
* FIRE_RESIST.
*/
@Deprecated
HUMIDITY(IAllele.class),
@@ -5,10 +5,12 @@
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.ISpeciesType;
import java.util.Locale;
import forestry.api.genetics.ISpeciesType;
public enum EnumBeeType implements ISpeciesType {
DRONE,
PRINCESS,
QUEEN,
@@ -5,13 +5,26 @@
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IFlowerRegistry;
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IFlowerRegistry;
public class FlowerManager {
/**
* <blockquote><pre>e.g. FlowerManager.flowerRegister.registerPlantableFlower(new ItemStack(Blocks.red_flower), 1.0, FlowerManager.FlowerTypeVanilla, FlowerManager.FlowerTypeSnow);</pre></blockquote>
* <blockquote>
*
* <pre>
* e.g.FlowerManager.flowerRegister.registerPlantableFlower(
* new ItemStack(Blocks.red_flower),
* 1.0,
* FlowerManager.FlowerTypeVanilla,
* FlowerManager.FlowerTypeSnow);
* </pre>
*
* </blockquote>
*/
public static IFlowerRegistry flowerRegistry;
@@ -26,8 +39,8 @@ public class FlowerManager {
public static final String FlowerTypeGourd = "flowersGourd";
/**
* @deprecated since Forestry 3.4. Use IFlowerRegistry.registerPlantableFlower instead.
* Completely unused since Forestry 4.0, kept for backward compatibility with older mods.
* @deprecated since Forestry 3.4. Use IFlowerRegistry.registerPlantableFlower instead. Completely unused since
* Forestry 4.0, kept for backward compatibility with older mods.
*/
@Deprecated
public static ArrayList<ItemStack> plainFlowers = new ArrayList<ItemStack>();
@@ -4,5 +4,6 @@ import forestry.api.genetics.IEffectData;
@SuppressWarnings("unused")
public interface IAlleleBeeAcceleratableEffect {
IEffectData doEffectAccelerated(IBeeGenome genome, IEffectData storedData, IBeeHousing housing, float did);
}
@@ -13,11 +13,9 @@ public interface IAlleleBeeEffect extends IAlleleEffect {
/**
* Called by apiaries to cause an effect in the world.
*
* @param genome
* Genome of the bee queen causing this effect
* @param storedData
* Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @param genome Genome of the bee queen causing this effect
* @param storedData Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @return storedData, may have been manipulated.
*/
IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
@@ -26,9 +24,8 @@ public interface IAlleleBeeEffect extends IAlleleEffect {
* Is called to produce bee effects.
*
* @param genome
* @param storedData
* Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @param storedData Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @return storedData, may have been manipulated.
*/
IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
@@ -5,12 +5,14 @@
******************************************************************************/
package forestry.api.apiculture;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IAlleleSpecies;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
public interface IAlleleBeeSpecies extends IAlleleSpecies {
@@ -36,6 +38,7 @@ public interface IAlleleBeeSpecies extends IAlleleSpecies {
/**
* Only jubilant bees produce specialities.
*
* @return true if the bee is jubilant, false otherwise.
*/
boolean isJubilant(IBeeGenome genome, IBeeHousing housing);
@@ -5,27 +5,26 @@
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IAlleleSpeciesCustom;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IAlleleSpeciesCustom;
public interface IAlleleBeeSpeciesCustom extends IAlleleBeeSpecies, IAlleleSpeciesCustom {
/**
* Add a product for this bee species.
* Chance is between 0 and 1.
* Add a product for this bee species. Chance is between 0 and 1.
*/
IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance);
/**
* Add a specialty product for this bee species.
* Bees only produce their specialty when they are Jubilant (see IJubilanceProvider)
* Chance is between 0 and 1.
* Add a specialty product for this bee species. Bees only produce their specialty when they are Jubilant (see
* IJubilanceProvider) Chance is between 0 and 1.
*/
IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance);
/**
* Set the Jubilance Provider for this bee species.
* Bees only produce their specialty when they are Jubilant (see IJubilanceProvider)
* Set the Jubilance Provider for this bee species. Bees only produce their specialty when they are Jubilant (see
* IJubilanceProvider)
*/
IAlleleBeeSpeciesCustom setJubilanceProvider(IJubilanceProvider provider);
@@ -44,6 +43,8 @@ public interface IAlleleBeeSpeciesCustom extends IAlleleBeeSpecies, IAlleleSpeci
/** Use this if you have custom icons for bees. */
IAlleleBeeSpeciesCustom setCustomBeeIconProvider(IBeeIconProvider beeIconProvider);
/** Use this if you have custom icon colours for bees (other than the default static primary + secondary colours). */
/**
* Use this if you have custom icon colours for bees (other than the default static primary + secondary colours).
*/
IAlleleBeeSpeciesCustom setCustomBeeIconColourProvider(IBeeIconColourProvider beeIconColourProvider);
}
@@ -9,7 +9,8 @@ import forestry.api.genetics.IBreedingTracker;
import forestry.api.genetics.IIndividual;
/**
* Can be used to garner information on bee breeding. See {@link forestry.api.genetics.ISpeciesRoot} for retrieval functions.
* Can be used to garner information on bee breeding. See {@link forestry.api.genetics.ISpeciesRoot} for retrieval
* functions.
*
* @author SirSengir
*/
@@ -18,8 +19,7 @@ public interface IApiaristTracker extends IBreedingTracker {
/**
* Register the birth of a queen. Will mark species as discovered.
*
* @param queen
* Created queen.
* @param queen Created queen.
*/
void registerQueen(IIndividual queen);
@@ -31,8 +31,7 @@ public interface IApiaristTracker extends IBreedingTracker {
/**
* Register the birth of a princess. Will mark species as discovered.
*
* @param princess
* Created princess.
* @param princess Created princess.
*/
void registerPrincess(IIndividual princess);
@@ -44,8 +43,7 @@ public interface IApiaristTracker extends IBreedingTracker {
/**
* Register the birth of a drone. Will mark species as discovered.
*
* @param drone
* Created drone.
* @param drone Created drone.
*/
void registerDrone(IIndividual drone);
@@ -13,12 +13,13 @@ import net.minecraft.item.ItemStack;
* When implemented by armor piece items, allows them to act as apiarist's armor.
*/
public interface IArmorApiarist {
/**
* Called when the apiarist's armor acts as protection against an attack.
*
* @param entity Entity being attacked
* @param armor Armor item
* @param cause Optional cause of attack, such as a bee effect identifier
* @param entity Entity being attacked
* @param armor Armor item
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return Whether or not the armor should protect the player from that attack
*/
@@ -27,9 +28,9 @@ public interface IArmorApiarist {
/**
* Called when the apiarist's armor acts as protection against an attack.
*
* @param player Player being attacked
* @param armor Armor item
* @param cause Optional cause of attack, such as a bee effect identifier
* @param player Player being attacked
* @param armor Armor item
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return Whether or not the armor should protect the player from that attack
* @deprecated since Forestry 4.2. Use protectEntity
@@ -18,9 +18,10 @@ public interface IArmorApiaristHelper {
/**
* Called when the apiarist's armor acts as protection against an attack.
* @param stack ItemStack to check
* @param entity Entity being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
*
* @param stack ItemStack to check
* @param entity Entity being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return Whether or not the item is valid Apiarist Armor and should protect the player from that attack
* @since Forestry 4.2
@@ -29,8 +30,9 @@ public interface IArmorApiaristHelper {
/**
* Called when the apiarist's armor acts as protection against an attack.
* @param entity Entity being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
*
* @param entity Entity being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return The number of valid Apiarist Armor pieces the player is wearing that are actually protecting
* @since Forestry 4.2
@@ -39,9 +41,10 @@ public interface IArmorApiaristHelper {
/**
* Called when the apiarist's armor acts as protection against an attack.
* @param stack ItemStack to check
* @param player Player being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
*
* @param stack ItemStack to check
* @param player Player being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return Whether or not the item is valid Apiarist Armor and should protect the player from that attack
* @deprecated since Forestry 4.2. use the EntityLivingBase version
@@ -51,8 +54,9 @@ public interface IArmorApiaristHelper {
/**
* Called when the apiarist's armor acts as protection against an attack.
* @param player Player being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
*
* @param player Player being attacked
* @param cause Optional cause of attack, such as a bee effect identifier
* @param doProtect Whether or not to actually do the side effects of protection
* @return The number of valid Apiarist Armor pieces the player is wearing that are actually protecting
* @deprecated since Forestry 4.2. use the EntityLivingBase version
@@ -5,14 +5,16 @@
******************************************************************************/
package forestry.api.apiculture;
import java.util.List;
import java.util.Set;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import forestry.api.core.IErrorState;
import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IIndividual;
import forestry.api.genetics.IIndividualLiving;
import java.util.List;
import java.util.Set;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
/**
* Other implementations than Forestry's default one are not supported.
@@ -43,6 +45,7 @@ public interface IBee extends IIndividualLiving {
/**
* Set the natural flag on this bee.
*
* @param flag
*/
void setIsNatural(boolean flag);
@@ -58,6 +61,7 @@ public interface IBee extends IIndividualLiving {
/**
* Determines whether the queen can work.
*
* @param housing the {@link IBeeHousing} the bee currently resides in.
* @return an empty set if the queen can work, a set of error states if the queen can not work
*/
@@ -10,37 +10,30 @@ import forestry.api.genetics.IClassification;
public interface IBeeFactory {
/**
* Creates a new bee species.
* Automatically registered with AlleleManager.alleleRegistry.registerAllele()
* See IAlleleBeeSpeciesCustom and IAlleleSpeciesCustom for adding additional properties to the returned species.
* Creates a new bee species. Automatically registered with AlleleManager.alleleRegistry.registerAllele() See
* IAlleleBeeSpeciesCustom and IAlleleSpeciesCustom for adding additional properties to the returned species.
*
* @param uid Unique Identifier for this species
* @param dominant Whether this species is genetically dominant (false means it is recessive)
* @param authority Authority for the binomial name, e.g. "Sengir" on species of base Forestry.
* @param unlocalizedName Unlocalized name for this species
* @param uid Unique Identifier for this species
* @param dominant Whether this species is genetically dominant (false means it is recessive)
* @param authority Authority for the binomial name, e.g. "Sengir" on species of base Forestry.
* @param unlocalizedName Unlocalized name for this species
* @param unlocalizedDescription Unlocalized description for this species
* @param branch Classification of this species
* @param binomial Binomial name of the species sans genus ("Apis"). "humboldti" will have the bee species flavour name be "Apis humboldti". Feel free to use fun names or null.
* @param primaryColor The outline color of this species
* @param secondaryColor The body color of this species
* @param branch Classification of this species
* @param binomial Binomial name of the species sans genus ("Apis"). "humboldti" will have the bee
* species flavour name be "Apis humboldti". Feel free to use fun names or null.
* @param primaryColor The outline color of this species
* @param secondaryColor The body color of this species
* @return a new bee species allele.
*/
IAlleleBeeSpeciesCustom createSpecies(
String uid,
boolean dominant,
String authority,
String unlocalizedName,
String unlocalizedDescription,
IClassification branch,
String binomial,
int primaryColor,
IAlleleBeeSpeciesCustom createSpecies(String uid, boolean dominant, String authority, String unlocalizedName,
String unlocalizedDescription, IClassification branch, String binomial, int primaryColor,
int secondaryColor);
/**
* Creates a new bee branch.
* Must be registered with AlleleManager.alleleRegistry.getClassification("family.apidae").addMemberGroup();
* Creates a new bee branch. Must be registered with
* AlleleManager.alleleRegistry.getClassification("family.apidae").addMemberGroup();
*
* @param uid Unique Identifier for this branch
* @param uid Unique Identifier for this branch
* @param scientific approximates a "genus" in real life. Real life examples: "Micrapis", "Megapis"
* @return a new bee branch
*/
@@ -5,25 +5,29 @@
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import forestry.api.core.IClimateProvider;
import forestry.api.core.IErrorLogicSource;
import forestry.api.genetics.IHousing;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public interface IBeeHousing extends IHousing, IClimateProvider, IErrorLogicSource {
/**
* Used by BeeManager.beeRoot.createBeeHousingModifier(IBeeHousing housing)
* to combine bee modifiers from several sources that can change over time.
* Used by BeeManager.beeRoot.createBeeHousingModifier(IBeeHousing housing) to combine bee modifiers from several
* sources that can change over time.
*
* @return IBeeModifiers from the housing, frames, etc.
*/
Iterable<IBeeModifier> getBeeModifiers();
/**
* Used by BeeManager.beeRoot.createBeeHousingListener(IBeeHousing housing)
* to combine bee listeners from several sources that can change over time.
* Used by BeeManager.beeRoot.createBeeHousingListener(IBeeHousing housing) to combine bee listeners from several
* sources that can change over time.
*
* @return IBeeListeners from the housing, multiblock parts, etc.
*/
Iterable<IBeeListener> getBeeListeners();
@@ -21,7 +21,7 @@ public interface IBeeHousingInventory {
* Adds products to the housing's inventory.
*
* @param product ItemStack with the product to add.
* @param all if true, success requires that all products are added
* @param all if true, success requires that all products are added
* @return boolean indicating success or failure.
*/
boolean addProduct(ItemStack product, boolean all);
@@ -9,5 +9,6 @@ package forestry.api.apiculture;
* Custom colour provider for bees with complicated colors.
*/
public interface IBeeIconColourProvider {
int getIconColour(int renderPass);
}
@@ -9,6 +9,7 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
public interface IBeeIconProvider {
void registerIcons(IIconRegister register);
IIcon getIcon(EnumBeeType type, int renderPass);
@@ -11,6 +11,7 @@ public interface IBeeListener {
/**
* Called when the bees wear out the housing's equipment.
*
* @param amount Integer indicating the amount worn out.
*/
void wearOutEquipment(int amount);
@@ -22,6 +23,7 @@ public interface IBeeListener {
/**
* Called when the bees have retrieved some pollen.
*
* @return true if this bee listener handled the pollen.
*/
boolean onPollenRetrieved(IIndividual pollen);
@@ -6,30 +6,31 @@
package forestry.api.apiculture;
public interface IBeeModifier {
/**
* @param genome Genome of the bee this modifier is called for.
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float used to modify the base territory.
*/
float getTerritoryModifier(IBeeGenome genome, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param mate Genome of the bee mate this modifier is called for.
* @param genome Genome of the bee this modifier is called for.
* @param mate Genome of the bee mate this modifier is called for.
* @param currentModifier Current modifier.
* @return Float used to modify the base mutation chance.
*/
float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float used to modify the life span of queens.
*/
float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float modifying the production speed of queens.
*/
@@ -12,12 +12,9 @@ public interface IBeeMutation extends IMutation {
IBeeRoot getRoot();
/**
* @return float representing the chance for mutation to occur. note that this is 0 - 100 based, since it was an integer previously!
* @return float representing the chance for mutation to occur. note that this is 0 - 100 based, since it was an
* integer previously!
*/
float getChance(
IBeeHousing housing,
IAlleleBeeSpecies allele0,
IAlleleBeeSpecies allele1,
IBeeGenome genome0,
float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0,
IBeeGenome genome1);
}
@@ -7,4 +7,5 @@ package forestry.api.apiculture;
import forestry.api.genetics.IMutationCustom;
public interface IBeeMutationCustom extends IBeeMutation, IMutationCustom {}
public interface IBeeMutationCustom extends IBeeMutation, IMutationCustom {
}
@@ -8,17 +8,17 @@ package forestry.api.apiculture;
import forestry.api.genetics.IAllele;
public interface IBeeMutationFactory {
/**
* Creates a new bee mutation.
* Automatically registered with BeeManager.beeRoot.registerMutation()
* See IBeeMutationCustom and IMutationCustom for adding additional properties to the returned mutation.
* Creates a new bee mutation. Automatically registered with BeeManager.beeRoot.registerMutation() See
* IBeeMutationCustom and IMutationCustom for adding additional properties to the returned mutation.
*
* @param parentBee0 A parent bee for this mutation
* @param parentBee1 A parent bee for this mutation
* @param result The resulting alleles for this mutation
* @param chance The chance that breeding the two parent bees will result in this mutation
* @param result The resulting alleles for this mutation
* @param chance The chance that breeding the two parent bees will result in this mutation
* @return a new bee mutation.
*/
IBeeMutationCustom createMutation(
IAlleleBeeSpecies parentBee0, IAlleleBeeSpecies parentBee1, IAllele[] result, int chance);
IBeeMutationCustom createMutation(IAlleleBeeSpecies parentBee0, IAlleleBeeSpecies parentBee1, IAllele[] result,
int chance);
}
@@ -5,15 +5,18 @@
******************************************************************************/
package forestry.api.apiculture;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.ISpeciesRoot;
import java.util.ArrayList;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.ISpeciesRoot;
public interface IBeeRoot extends ISpeciesRoot {
/**
@@ -69,8 +72,7 @@ public interface IBeeRoot extends ISpeciesRoot {
boolean isMated(ItemStack stack);
/**
* @param genome
* Valid {@link IBeeGenome}
* @param genome Valid {@link IBeeGenome}
* @return {@link IBee} from the passed genome
*/
IBee getBee(World world, IBeeGenome genome);
@@ -78,10 +80,8 @@ public interface IBeeRoot extends ISpeciesRoot {
/**
* Creates an IBee suitable for a queen containing the necessary second genome for the mate.
*
* @param genome
* Valid {@link IBeeGenome}
* @param mate
* Valid {@link IBee} representing the mate.
* @param genome Valid {@link IBeeGenome}
* @param mate Valid {@link IBee} representing the mate.
* @return Mated {@link IBee} from the passed genomes.
*/
IBee getBee(World world, IBeeGenome genome, IBee mate);
@@ -109,20 +109,19 @@ public interface IBeeRoot extends ISpeciesRoot {
/* MISC */
/**
* Creates beekeepingLogic for a housing.
* Should be used when the housing is created, see IBeekeepingLogic
* Creates beekeepingLogic for a housing. Should be used when the housing is created, see IBeekeepingLogic
*/
IBeekeepingLogic createBeekeepingLogic(IBeeHousing housing);
/**
* Combines multiple modifiers from an IBeeHousing into one.
* Stays up to date with changes to the housing's modifiers.
* Combines multiple modifiers from an IBeeHousing into one. Stays up to date with changes to the housing's
* modifiers.
*/
IBeeModifier createBeeHousingModifier(IBeeHousing housing);
/**
* Combines multiple listeners from an IBeeHousing into one.
* Stays up to date with changes to the housing's listeners.
* Combines multiple listeners from an IBeeHousing into one. Stays up to date with changes to the housing's
* listeners.
*/
IBeeListener createBeeHousingListener(IBeeHousing housing);
}
@@ -5,12 +5,12 @@
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.core.INBTTagable;
import net.minecraft.entity.player.EntityPlayerMP;
import forestry.api.core.INBTTagable;
/**
* Stores beekeeping logic for bee housings.
* Get one with BeeManager.beeRoot.createBeekeepingLogic(IBeeHousing housing)
* Stores beekeeping logic for bee housings. Get one with BeeManager.beeRoot.createBeekeepingLogic(IBeeHousing housing)
* Save and load it to NBT using the INBTTagable methods.
*/
public interface IBeekeepingLogic extends INBTTagable {
@@ -19,6 +19,7 @@ public interface IBeekeepingLogic extends INBTTagable {
/**
* Checks that the bees can work, setting error conditions on the housing where needed
*
* @return true if no errors are present and doWork should be called
*/
boolean canWork();
@@ -31,29 +32,26 @@ public interface IBeekeepingLogic extends INBTTagable {
/* CLIENT */
/**
* Call this when the housing comes into view of the client.
* (i.e. when tile.getDescriptionPacket() is called)
* Call this when the housing comes into view of the client. (i.e. when tile.getDescriptionPacket() is called)
*/
void syncToClient();
void syncToClient(EntityPlayerMP player);
/**
* Get the progress bar for breeding and production.
* To avoid network spam, this is only available server-side,
* and must be synced manually to the client when a GUI is open.
* Get the progress bar for breeding and production. To avoid network spam, this is only available server-side, and
* must be synced manually to the client when a GUI is open.
*/
int getBeeProgressPercent();
/**
* Whether bee fx should be active.
* Internally, this is automatically synced to the client.
* Whether bee fx should be active. Internally, this is automatically synced to the client.
*/
boolean canDoBeeFX();
/**
* Display bee fx. Calls IBee.doFX(IEffectData[] storedData, IBeeHousing housing) on the queen.
* Internally, the queen is automatically synced to the client for the fx.
* Display bee fx. Calls IBee.doFX(IEffectData[] storedData, IBeeHousing housing) on the queen. Internally, the
* queen is automatically synced to the client for the fx.
*/
void doBeeFX();
}
@@ -6,6 +6,7 @@
package forestry.api.apiculture;
import java.util.ArrayList;
import net.minecraft.world.World;
public interface IBeekeepingMode {
@@ -49,7 +50,8 @@ public interface IBeekeepingMode {
* @param queen
* @param offspring
* @param housing
* @return true if the genetic structure of the queen is breaking down during spawning of the offspring (with chance). will trigger a negative effect.
* @return true if the genetic structure of the queen is breaking down during spawning of the offspring (with
* chance). will trigger a negative effect.
*/
boolean isDegenerating(IBee queen, IBee offspring, IBeeHousing housing);
@@ -6,6 +6,7 @@
package forestry.api.apiculture;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -28,9 +29,9 @@ public interface IHiveDrop {
* Chance to drop. Default drops have 80 (= 80 %).
*
* @param world Minecraft world this is called for.
* @param x x-Coordinate of the broken hive.
* @param y y-Coordinate of the broken hive.
* @param z z-Coordinate of the broken hive.
* @param x x-Coordinate of the broken hive.
* @param y y-Coordinate of the broken hive.
* @param z z-Coordinate of the broken hive.
* @return Chance for drop as an integer of 0 - 100.
*/
int getChance(World world, int x, int y, int z);
@@ -13,9 +13,10 @@ public interface IHiveFrame {
* Wears out a frame.
*
* @param housing IBeeHousing the frame is contained in.
* @param frame ItemStack containing the actual frame.
* @param queen Current queen in the caller.
* @param wear Integer denoting the amount worn out. The wear modifier of the current beekeeping mode has already been taken into account.
* @param frame ItemStack containing the actual frame.
* @param queen Current queen in the caller.
* @param wear Integer denoting the amount worn out. The wear modifier of the current beekeeping mode has already
* been taken into account.
* @return ItemStack containing the actual frame with adjusted damage, or null if it has been broken.
*/
ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear);
@@ -8,6 +8,7 @@ package forestry.api.apiculture;
import net.minecraft.block.Block;
public interface IJubilanceFactory {
/** The default Jubilance Provider is satisfied when the humidity and temperature are ideal for the bee. */
IJubilanceProvider getDefault();
@@ -8,8 +8,8 @@ package forestry.api.apiculture;
public interface IJubilanceProvider {
/**
* Returns true when conditions are right to make this species Jubilant.
* Jubilant bees can produce their Specialty products.
* Returns true when conditions are right to make this species Jubilant. Jubilant bees can produce their Specialty
* products.
*/
boolean isJubilant(IAlleleBeeSpecies species, IBeeGenome genome, IBeeHousing housing);
@@ -5,12 +5,13 @@
******************************************************************************/
package forestry.api.apiculture.hives;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
public interface IHiveDescription {
/**
@@ -26,8 +27,8 @@ public interface IHiveDescription {
int getMeta();
/**
* returns true if the hive can be generated in these conditions.
* Used as a fast early-elimination check for hives that have no hope of spawning in the area.
* returns true if the hive can be generated in these conditions. Used as a fast early-elimination check for hives
* that have no hope of spawning in the area.
*/
boolean isGoodBiome(BiomeGenBase biome);
@@ -36,15 +37,14 @@ public interface IHiveDescription {
boolean isGoodTemperature(EnumTemperature temperature);
/**
* float representing the relative chance a hive will generate in a chunk.
* Default is 1.0, higher numbers result in more hives, smaller will result in fewer.
* Tree hives want around 3.0 to 4.0 since there are less locations to generate on.
* float representing the relative chance a hive will generate in a chunk. Default is 1.0, higher numbers result in
* more hives, smaller will result in fewer. Tree hives want around 3.0 to 4.0 since there are less locations to
* generate on.
*/
float getGenChance();
/**
* Called after successful hive generation.
* world, x, y, z give the location of the new hive.
* Called after successful hive generation. world, x, y, z give the location of the new hive.
**/
void postGen(World world, int x, int y, int z);
}
@@ -10,14 +10,13 @@ import net.minecraft.world.World;
public interface IHiveGen {
/**
* return a Y value that the hive should try to generate at.
* returns negative if the hive can't be placed anywhere.
* return a Y value that the hive should try to generate at. returns negative if the hive can't be placed anywhere.
*/
int getYForHive(World world, int x, int z);
/**
* returns true if the hive can be generated at this location.
* Used for advanced conditions, like checking that the ground below the hive is a certain type.
* returns true if the hive can be generated at this location. Used for advanced conditions, like checking that the
* ground below the hive is a certain type.
*/
boolean isValidLocation(World world, int x, int y, int z);
@@ -10,8 +10,8 @@ import net.minecraft.block.Block;
public interface IHiveGenHelper {
/**
* Returns a hiveGen for a hive that spawns on the ground.
* validGroundBlocks specifies which block materials it can spawn on.
* Returns a hiveGen for a hive that spawns on the ground. validGroundBlocks specifies which block materials it can
* spawn on.
*/
IHiveGen ground(Block... validGroundBlocks);
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.apiculture.hives;
import forestry.api.apiculture.IHiveDrop;
import java.util.List;
import forestry.api.apiculture.IHiveDrop;
public interface IHiveRegistry {
/* Forestry Hive Names */
@@ -5,11 +5,13 @@
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IFruitFamily;
import net.minecraft.util.StatCollector;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IFruitFamily;
public enum EnumFruitFamily implements IFruitFamily {
PRUNES("prunes", "Prunus domestica"),
POMES("pomes", "Pomum"),
JUNGLE("jungle", "Tropicus"),
@@ -8,6 +8,7 @@ package forestry.api.arboriculture;
import forestry.api.genetics.ISpeciesType;
public enum EnumGermlingType implements ISpeciesType {
SAPLING("sapling"),
BLOSSOM("blossom"),
POLLEN("pollen"),
@@ -5,6 +5,10 @@
******************************************************************************/
package forestry.api.arboriculture;
import java.util.Locale;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IAlleleArea;
import forestry.api.genetics.IAlleleBoolean;
@@ -14,14 +18,13 @@ import forestry.api.genetics.IAllelePlantType;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.IFruitFamily;
import forestry.api.genetics.ISpeciesRoot;
import java.util.Locale;
import net.minecraftforge.common.EnumPlantType;
public enum EnumTreeChromosome implements IChromosomeType {
/**
* Determines the following: - WorldGen, including the used wood blocks - {@link IFruitFamily}s supported. Limits which {@link IFruitProvider}
* will actually yield fruit with this species. - Native {@link EnumPlantType} for this tree. Combines with the PLANT chromosome.
* Determines the following: - WorldGen, including the used wood blocks - {@link IFruitFamily}s supported. Limits
* which {@link IFruitProvider} will actually yield fruit with this species. - Native {@link EnumPlantType} for this
* tree. Combines with the PLANT chromosome.
*/
SPECIES(IAlleleTreeSpecies.class),
/**
@@ -37,7 +40,8 @@ public enum EnumTreeChromosome implements IChromosomeType {
*/
FERTILITY(IAlleleFloat.class),
/**
* {@link IFruitProvider}, determines if and what fruits are grown on the tree. Limited by the {@link IFruitFamily}s the species supports.
* {@link IFruitProvider}, determines if and what fruits are grown on the tree. Limited by the {@link IFruitFamily}s
* the species supports.
*/
FRUITS(IAlleleFruit.class),
/**
@@ -69,8 +73,7 @@ public enum EnumTreeChromosome implements IChromosomeType {
/**
* Determines if the tree can burn.
*/
FIREPROOF(IAlleleBoolean.class),
;
FIREPROOF(IAlleleBoolean.class),;
Class<? extends IAllele> clss;
@@ -7,9 +7,11 @@ package forestry.api.arboriculture;
import java.util.Locale;
import java.util.Random;
import net.minecraft.nbt.NBTTagCompound;
public enum EnumWoodType {
LARCH,
TEAK,
ACACIA,
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
import forestry.api.genetics.IAlleleEffect;
import forestry.api.genetics.IEffectData;
import net.minecraft.world.World;
/**
* Simple allele encapsulating a leaf effect. (Not implemented)
@@ -5,13 +5,15 @@
******************************************************************************/
package forestry.api.arboriculture;
import java.util.Collection;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.EnumPlantType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IFruitFamily;
import java.util.Collection;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.EnumPlantType;
public interface IAlleleTreeSpecies extends IAlleleSpecies {
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IAlleleSpeciesCustom;
import forestry.api.genetics.IFruitFamily;
import net.minecraftforge.common.EnumPlantType;
public interface IAlleleTreeSpeciesCustom extends IAlleleSpeciesCustom, IAlleleTreeSpecies {
@@ -7,4 +7,5 @@ package forestry.api.arboriculture;
import forestry.api.genetics.IBreedingTracker;
public interface IArboristTracker extends IBreedingTracker {}
public interface IArboristTracker extends IBreedingTracker {
}
@@ -5,14 +5,15 @@
******************************************************************************/
package forestry.api.arboriculture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IFruitFamily;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IFruitFamily;
public interface IFruitProvider {
IFruitFamily getFamily();
@@ -43,8 +44,7 @@ public interface IFruitProvider {
* @param x
* @param y
* @param z
* @param ripeningTime
* Elapsed ripening time for the fruit.
* @param ripeningTime Elapsed ripening time for the fruit.
* @param fancy
* @return IIcon index of the texture to overlay on the leaf block.
*/
@@ -9,11 +9,11 @@ import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
/**
* Provides icons for saplings, pollen, etc.
* You must implement this yourself to use TreeManager.treeFactory.createSpecies()
* There is no default implementation because every sapling has a unique icon.
* Provides icons for saplings, pollen, etc. You must implement this yourself to use
* TreeManager.treeFactory.createSpecies() There is no default implementation because every sapling has a unique icon.
*/
public interface IGermlingIconProvider {
void registerIcons(IIconRegister register);
IIcon getIcon(EnumGermlingType type, int renderPass);
@@ -12,17 +12,17 @@ public interface IGrowthProvider {
/**
* Check to see whether a sapling at the given location with the given genome can grow into a tree.
*
* @param genome Genome of the tree this is called for.
* @param world Minecraft world the tree will inhabit.
* @param xPos x-Coordinate to attempt growth at.
* @param yPos y-Coordinate to attempt growth at.
* @param zPos z-Coordinate to attempt growth at.
* @param expectedGirth Trunk size of the tree to generate.
* @param genome Genome of the tree this is called for.
* @param world Minecraft world the tree will inhabit.
* @param xPos x-Coordinate to attempt growth at.
* @param yPos y-Coordinate to attempt growth at.
* @param zPos z-Coordinate to attempt growth at.
* @param expectedGirth Trunk size of the tree to generate.
* @param expectedHeight Height of the tree to generate.
* @return true if the tree can grow at the given coordinates, false otherwise.
*/
boolean canGrow(
ITreeGenome genome, World world, int xPos, int yPos, int zPos, int expectedGirth, int expectedHeight);
boolean canGrow(ITreeGenome genome, World world, int xPos, int yPos, int zPos, int expectedGirth,
int expectedHeight);
EnumGrowthConditions getGrowthConditions(ITreeGenome genome, World world, int xPos, int yPos, int zPos);
@@ -8,13 +8,14 @@ package forestry.api.arboriculture;
import net.minecraft.util.IIcon;
/**
* Provides icons for leaves. Used by TreeManager.treeFactory.createSpecies()
* Get a default Forestry implementation from TreeManager.treeFactory.getLeafIconProvider() or implement your own.
* Provides icons for leaves. Used by TreeManager.treeFactory.createSpecies() Get a default Forestry implementation from
* TreeManager.treeFactory.getLeafIconProvider() or implement your own.
*
* If you implement your own, be sure to register the icons.
* Icon registration is not done here because these icons are heavily reused.
* If you implement your own, be sure to register the icons. Icon registration is not done here because these icons are
* heavily reused.
*/
public interface ILeafIconProvider {
IIcon getIcon(boolean pollinated, boolean fancy);
int getColor(boolean pollinated);
@@ -8,5 +8,6 @@ package forestry.api.arboriculture;
import net.minecraft.world.World;
public interface ILeafTickHandler {
boolean onRandomLeafTick(ITree tree, World world, int x, int y, int z, boolean isDestroyed);
}
@@ -10,14 +10,15 @@ import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public interface IToolGrafter {
/**
* Called by leaves to determine the increase in sapling droprate.
*
* @param stack ItemStack containing the grafter.
* @param world Minecraft world the player and the target block inhabit.
* @param x x-Coordinate of the broken leaf block.
* @param y y-Coordinate of the broken leaf block.
* @param z z-Coordinate of the broken leaf block.
* @param x x-Coordinate of the broken leaf block.
* @param y y-Coordinate of the broken leaf block.
* @param z z-Coordinate of the broken leaf block.
* @return Float representing the factor the usual drop chance is to be multiplied by.
*/
float getSaplingModifier(ItemStack stack, World world, EntityPlayer player, int x, int y, int z);
@@ -5,16 +5,19 @@
******************************************************************************/
package forestry.api.arboriculture;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IIndividual;
import forestry.api.world.ITreeGenData;
import java.util.EnumSet;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.common.EnumPlantType;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IIndividual;
import forestry.api.world.ITreeGenData;
public interface ITree extends IIndividual, ITreeGenData {
void mate(ITree other);
@@ -5,38 +5,32 @@
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.IClassification;
import java.awt.Color;
import forestry.api.genetics.IClassification;
public interface ITreeFactory {
/**
* Creates a new tree species.
* Automatically registered with AlleleManager.alleleRegistry.registerAllele()
* See IAlleleTreeSpeciesCustom and IAlleleSpeciesCustom for adding additional properties to the returned species.
* Creates a new tree species. Automatically registered with AlleleManager.alleleRegistry.registerAllele() See
* IAlleleTreeSpeciesCustom and IAlleleSpeciesCustom for adding additional properties to the returned species.
*
* @param uid Unique Identifier for this species
* @param unlocalizedName Unlocalized name for this species
* @param authority Authority for the binomial name, e.g. "Sengir" on species of base Forestry.
* @param uid Unique Identifier for this species
* @param unlocalizedName Unlocalized name for this species
* @param authority Authority for the binomial name, e.g. "Sengir" on species of base Forestry.
* @param unlocalizedDescription Unlocalized description for this species
* @param dominant Whether this species is genetically dominant (false means it is recessive)
* @param branch Classification of this species
* @param binomial Binomial name of the species sans genus. "humboldti" will have the bee species flavour name be "Apis humboldti". Feel free to use fun names or null.
* @param leafIconProvider The leaf icon provider for this species
* @param germlingIconProvider The germling icon provider for this species
* @param generator The tree generator
* @param dominant Whether this species is genetically dominant (false means it is recessive)
* @param branch Classification of this species
* @param binomial Binomial name of the species sans genus. "humboldti" will have the bee species
* flavour name be "Apis humboldti". Feel free to use fun names or null.
* @param leafIconProvider The leaf icon provider for this species
* @param germlingIconProvider The germling icon provider for this species
* @param generator The tree generator
* @return a new tree species allele.
*/
IAlleleTreeSpeciesCustom createSpecies(
String uid,
String unlocalizedName,
String authority,
String unlocalizedDescription,
boolean dominant,
IClassification branch,
String binomial,
ILeafIconProvider leafIconProvider,
IGermlingIconProvider germlingIconProvider,
ITreeGenerator generator);
IAlleleTreeSpeciesCustom createSpecies(String uid, String unlocalizedName, String authority,
String unlocalizedDescription, boolean dominant, IClassification branch, String binomial,
ILeafIconProvider leafIconProvider, IGermlingIconProvider germlingIconProvider, ITreeGenerator generator);
/** Get one of the built-in Forestry leaf types. Default type is deciduous. */
ILeafIconProvider getLeafIconProvider(EnumLeafType enumLeafType, Color color, Color colorPollinated);
@@ -5,16 +5,18 @@
******************************************************************************/
package forestry.api.arboriculture;
import com.mojang.authlib.GameProfile;
import forestry.api.world.ITreeGenData;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.common.util.ForgeDirection;
import com.mojang.authlib.GameProfile;
import forestry.api.world.ITreeGenData;
/**
* Implements the tree generation for a tree species.
*/
public interface ITreeGenerator {
WorldGenerator getWorldGenerator(ITreeGenData tree);
void setLogBlock(ITreeGenome genome, World world, int x, int y, int z, ForgeDirection facing);
@@ -5,10 +5,12 @@
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.IGenome;
import java.util.EnumSet;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IGenome;
public interface ITreeGenome extends IGenome {
IAlleleTreeSpecies getPrimary();
@@ -24,8 +26,8 @@ public interface ITreeGenome extends IGenome {
float getFertility();
/**
* @return Determines either a) how many fruit leaves there are or b) the chance for any fruit leave to drop a sapling. Exact usage determined by the
* IFruitProvider
* @return Determines either a) how many fruit leaves there are or b) the chance for any fruit leave to drop a
* sapling. Exact usage determined by the IFruitProvider
*/
float getYield();
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
import forestry.api.genetics.IMutation;
import forestry.api.genetics.ISpeciesRoot;
import net.minecraft.world.World;
public interface ITreeMutation extends IMutation {
@@ -20,13 +21,6 @@ public interface ITreeMutation extends IMutation {
* @return float representing the percent chance for mutation to occur, from 0.0 to 100.0.
* @since Forestry 4.0
*/
float getChance(
World world,
int x,
int y,
int z,
IAlleleTreeSpecies allele0,
IAlleleTreeSpecies allele1,
ITreeGenome genome0,
ITreeGenome genome1);
float getChance(World world, int x, int y, int z, IAlleleTreeSpecies allele0, IAlleleTreeSpecies allele1,
ITreeGenome genome0, ITreeGenome genome1);
}
@@ -7,4 +7,5 @@ package forestry.api.arboriculture;
import forestry.api.genetics.IMutationCustom;
public interface ITreeMutationCustom extends ITreeMutation, IMutationCustom {}
public interface ITreeMutationCustom extends ITreeMutation, IMutationCustom {
}
@@ -8,17 +8,17 @@ package forestry.api.arboriculture;
import forestry.api.genetics.IAllele;
public interface ITreeMutationFactory {
/**
* Creates a new tree mutation.
* Automatically registered with TreeManager.treeRoot.registerMutation()
* See ITreeMutationCustom and IMutationCustom for adding additional properties to the returned mutation.
* Creates a new tree mutation. Automatically registered with TreeManager.treeRoot.registerMutation() See
* ITreeMutationCustom and IMutationCustom for adding additional properties to the returned mutation.
*
* @param parentTree0 A parent tree for this mutation
* @param parentTree1 A parent tree for this mutation
* @param result The resulting alleles for this mutation
* @param chance The chance that breeding the two parent trees will result in this mutation
* @param result The resulting alleles for this mutation
* @param chance The chance that breeding the two parent trees will result in this mutation
* @return a new tree mutation.
*/
ITreeMutationCustom createMutation(
IAlleleTreeSpecies parentTree0, IAlleleTreeSpecies parentTree1, IAllele[] result, int chance);
ITreeMutationCustom createMutation(IAlleleTreeSpecies parentTree0, IAlleleTreeSpecies parentTree1, IAllele[] result,
int chance);
}
@@ -5,16 +5,19 @@
******************************************************************************/
package forestry.api.arboriculture;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosome;
import forestry.api.genetics.ISpeciesRoot;
import java.util.ArrayList;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosome;
import forestry.api.genetics.ISpeciesRoot;
public interface ITreeRoot extends ISpeciesRoot {
@Override
@@ -48,6 +51,7 @@ public interface ITreeRoot extends ISpeciesRoot {
/* TREE SPECIFIC */
/**
* Register a leaf tick handler.
*
* @param handler the {@link ILeafTickHandler} to register.
*/
void registerLeafTickHandler(ILeafTickHandler handler);
@@ -8,6 +8,7 @@ package forestry.api.arboriculture;
import net.minecraft.item.ItemStack;
public interface IWoodItemAccess {
ItemStack getLog(EnumWoodType woodType, boolean fireproof);
ItemStack getPlanks(EnumWoodType woodType, boolean fireproof);
@@ -6,6 +6,7 @@
package forestry.api.circuits;
public enum CircuitSocketType implements ICircuitSocketType {
NONE("none"),
FARM("forestry.farm"),
ELECTRIC_ENGINE("forestry.electric.engine"),
@@ -8,6 +8,7 @@ package forestry.api.circuits;
import java.util.List;
public interface ICircuit {
String getUID();
boolean requiresDiscovery();
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.circuits;
import forestry.api.core.INBTTagable;
import java.util.List;
import forestry.api.core.INBTTagable;
public interface ICircuitBoard extends INBTTagable {
int getPrimaryColor();
@@ -28,6 +29,7 @@ public interface ICircuitBoard extends INBTTagable {
/**
* Specifies where a circuit can be used.
*
* @since Forestry 4.0
*/
ICircuitSocketType getSocketType();
@@ -18,6 +18,7 @@ public interface ICircuitLayout {
/**
* Specifies where a circuit layout is used.
*
* @since Forestry 4.0
*/
ICircuitSocketType getSocketType();
@@ -5,4 +5,5 @@
******************************************************************************/
package forestry.api.circuits;
public interface ICircuitLibrary {}
public interface ICircuitLibrary {
}
@@ -6,6 +6,7 @@
package forestry.api.circuits;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -6,10 +6,11 @@
package forestry.api.circuits;
/**
* Specifies where a circuit layout can be used. (i.e. farm, machine, engine, etc)
* See CircuitSocketType for Forestry's uses.
* Specifies where a circuit layout can be used. (i.e. farm, machine, engine, etc) See CircuitSocketType for Forestry's
* uses.
*/
public interface ICircuitSocketType {
/** unique identifier for this socket type */
String getUid();
@@ -2,6 +2,7 @@ package forestry.api.core;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.BiomeDictionary;
@@ -17,8 +18,9 @@ public class BiomeHelper {
}
/**
* Determines if a given BiomeGenBase is of HELLISH temperature, since it is treated separately from actual temperature values.
* Uses the BiomeDictionary.
* Determines if a given BiomeGenBase is of HELLISH temperature, since it is treated separately from actual
* temperature values. Uses the BiomeDictionary.
*
* @param biomeGen BiomeGenBase of the biome in question
* @return true, if the BiomeGenBase is a Nether-type biome; false otherwise.
*/
@@ -6,11 +6,13 @@
package forestry.api.core;
/**
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or spawn at a given location.
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or
* spawn at a given location.
*
* This enum concerns humidity.
* This enum concerns humidity.
*/
public enum EnumHumidity {
ARID("Arid"),
NORMAL("Normal"),
DAMP("Damp");
@@ -26,8 +28,9 @@ public enum EnumHumidity {
}
/**
* Determines the EnumHumidity given a floating point representation of Minecraft Rainfall.
* To check if rainfall is possible in a biome, use BiomeHelper.canRainOrSnow().
* Determines the EnumHumidity given a floating point representation of Minecraft Rainfall. To check if rainfall is
* possible in a biome, use BiomeHelper.canRainOrSnow().
*
* @param rawHumidity raw rainfall value
* @return EnumHumidity corresponding to rainfall value
*/
@@ -5,17 +5,20 @@
******************************************************************************/
package forestry.api.core;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.IIcon;
import net.minecraft.world.biome.BiomeGenBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or spawn at a given location.
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or
* spawn at a given location.
*
* This enum concerns temperature.
* This enum concerns temperature.
*/
public enum EnumTemperature {
NONE("None", "habitats/ocean"),
ICY("Icy", "habitats/snow"),
COLD("Cold", "habitats/taiga"),
@@ -42,9 +45,9 @@ public enum EnumTemperature {
}
/**
* Determines the EnumTemperature given a floating point representation of
* Minecraft temperature. Hellish biomes are handled based on their biome
* type - check BiomeHelper.isBiomeHellish.
* Determines the EnumTemperature given a floating point representation of Minecraft temperature. Hellish biomes are
* handled based on their biome type - check BiomeHelper.isBiomeHellish.
*
* @param rawTemp raw temperature value
* @return EnumTemperature corresponding to value of rawTemp
*/
@@ -5,27 +5,25 @@
******************************************************************************/
package forestry.api.core;
import java.util.Set;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Set;
/**
* Forestry's API is divided into several subcategories to make it easier to understand.
*
* If you need to distribute API files, try to only include the parts you are actually
* using to minimize conflicts due to API changes.
* If you need to distribute API files, try to only include the parts you are actually using to minimize conflicts due
* to API changes.
*
* .core - Miscallenous base classes and interfaces as well as some basics for tools, armor, game modes and stuff needed by biome mods.
* .fuels - Managers and classes to facilitate adding fuels to various engines and machines.
* .recipes - Managers and helpers to facilitate adding new recipes to various machines.
* .storage - Managers, events and interfaces for defining new backpacks and handling backpack behaviour.
* .mail - Anything related to handling letters and adding new mail carrier systems.
* .genetics - Shared code for all genetic subclasses.
* \ .apiculture - Bees.
* \ .arboriculture - Trees.
* \ .lepidopterology - Butterflies.
* .core - Miscallenous base classes and interfaces as well as some basics for tools, armor, game modes and stuff needed
* by biome mods. .fuels - Managers and classes to facilitate adding fuels to various engines and machines. .recipes -
* Managers and helpers to facilitate adding new recipes to various machines. .storage - Managers, events and interfaces
* for defining new backpacks and handling backpack behaviour. .mail - Anything related to handling letters and adding
* new mail carrier systems. .genetics - Shared code for all genetic subclasses. \ .apiculture - Bees. \ .arboriculture
* - Trees. \ .lepidopterology - Butterflies.
*
* Note that if Forestry is not present, all these references will be null.
* Note that if Forestry is not present, all these references will be null.
*/
public class ForestryAPI {
@@ -53,15 +51,13 @@ public class ForestryAPI {
public static IForestryConstants forestryConstants;
/**
* The currently enabled Forestry plugins.
* Can be used to check if certain features are available, for example:
* The currently enabled Forestry plugins. Can be used to check if certain features are available, for example:
* ForestryAPI.enabledPlugins.contains("APICULTURE")
*/
public static Set<String> enabledPlugins;
/**
* Instance of the errorStateRegistry for registering errors.
* Also creates new instances of IErrorLogic.
* Instance of the errorStateRegistry for registering errors. Also creates new instances of IErrorLogic.
*/
public static IErrorStateRegistry errorStateRegistry;
}
@@ -5,17 +5,20 @@
******************************************************************************/
package forestry.api.core;
import net.minecraft.entity.player.EntityPlayer;
import com.mojang.authlib.GameProfile;
import cpw.mods.fml.common.eventhandler.Event;
import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IBreedingTracker;
import forestry.api.genetics.IMutation;
import forestry.api.genetics.ISpeciesRoot;
import net.minecraft.entity.player.EntityPlayer;
public abstract class ForestryEvent extends Event {
private abstract static class BreedingEvent extends ForestryEvent {
public final ISpeciesRoot root;
public final IBreedingTracker tracker;
public final GameProfile username;
@@ -29,16 +32,18 @@ public abstract class ForestryEvent extends Event {
}
public static class SpeciesDiscovered extends BreedingEvent {
public final IAlleleSpecies species;
public SpeciesDiscovered(
ISpeciesRoot root, GameProfile username, IAlleleSpecies species, IBreedingTracker tracker) {
public SpeciesDiscovered(ISpeciesRoot root, GameProfile username, IAlleleSpecies species,
IBreedingTracker tracker) {
super(root, username, tracker);
this.species = species;
}
}
public static class MutationDiscovered extends BreedingEvent {
public final IMutation allele;
public MutationDiscovered(ISpeciesRoot root, GameProfile username, IMutation allele, IBreedingTracker tracker) {
@@ -48,6 +53,7 @@ public abstract class ForestryEvent extends Event {
}
public static class SyncedBreedingTracker extends ForestryEvent {
public final IBreedingTracker tracker;
public final EntityPlayer player;
@@ -13,12 +13,9 @@ public interface IArmorNaturalist {
/**
* Called when the naturalist's armor acts as spectacles for seeing pollinated tree leaves/flowers.
*
* @param player
* Player doing the viewing
* @param armor
* Armor item
* @param doSee
* Whether or not to actually do the side effects of viewing
* @param player Player doing the viewing
* @param armor Armor item
* @param doSee Whether or not to actually do the side effects of viewing
* @return true if the armor actually allows the player to see pollination.
*/
public boolean canSeePollination(EntityPlayer player, ItemStack armor, boolean doSee);
@@ -1,16 +1,15 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
* Copyright (c) 2011-2014 SirSengir. All rights reserved. This program and the accompanying materials are made
* available under the terms of the GNU Lesser Public License v3 which accompanies this distribution, and is available
* at http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
* Various Contributors including, but not limited to: SirSengir (original work), CovertJaguar, Player, Binnie,
* MysteriousAges
******************************************************************************/
package forestry.api.core;
public interface IClimateControlled {
/**
* Change the temperature, but not lower than boundaryDown or higher than boundaryUp.
*/
@@ -3,6 +3,7 @@ package forestry.api.core;
import net.minecraft.world.biome.BiomeGenBase;
public interface IClimateProvider {
BiomeGenBase getBiome();
EnumTemperature getTemperature();
@@ -10,13 +10,14 @@ import java.io.DataOutputStream;
import java.io.IOException;
/**
* Keeps track of all the IErrorStates for an object.
* Create a new IErrorLogic instance for your object with ForestryAPI.errorStateRegistry.createErrorLogic().
* Keeps track of all the IErrorStates for an object. Create a new IErrorLogic instance for your object with
* ForestryAPI.errorStateRegistry.createErrorLogic().
*/
public interface IErrorLogic extends IErrorSource {
/**
* Sets the errorState when condition is true, and unsets it when condition is false.
*
* @return condition
*/
boolean setCondition(boolean condition, IErrorState errorState);
@@ -9,5 +9,6 @@ package forestry.api.core;
* An IErrorLogicSource uses an instance of IErrorLogic to deal with its errors.
*/
public interface IErrorLogicSource {
IErrorLogic getErrorLogic();
}
@@ -8,6 +8,7 @@ package forestry.api.core;
import com.google.common.collect.ImmutableSet;
public interface IErrorSource {
/**
* @return the active error states. An empty Set indicates no errors.
*/
@@ -5,11 +5,12 @@
******************************************************************************/
package forestry.api.core;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
@@ -8,6 +8,7 @@ package forestry.api.core;
import java.util.Set;
public interface IErrorStateRegistry {
void registerErrorState(IErrorState state);
void addAlias(IErrorState state, String name);
@@ -5,11 +5,12 @@
******************************************************************************/
package forestry.api.core;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Provides icons, needed in some interfaces, most notably for bees and trees.
*/
@@ -8,6 +8,7 @@ package forestry.api.core;
import net.minecraft.nbt.NBTTagCompound;
public interface INBTTagable {
void readFromNBT(NBTTagCompound nbttagcompound);
void writeToNBT(NBTTagCompound nbttagcompound);
@@ -5,9 +5,10 @@
******************************************************************************/
package forestry.api.core;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.IIcon;
@SideOnly(Side.CLIENT)
public interface ITextureManager {
@@ -1,12 +1,10 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
* Copyright (c) 2011-2014 SirSengir. All rights reserved. This program and the accompanying materials are made
* available under the terms of the GNU Lesser Public License v3 which accompanies this distribution, and is available
* at http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
* Various Contributors including, but not limited to: SirSengir (original work), CovertJaguar, Player, Binnie,
* MysteriousAges
******************************************************************************/
package forestry.api.core;
@@ -19,8 +17,7 @@ import net.minecraftforge.fluids.FluidStack;
public interface IToolPipette {
/**
* @param pipette
* ItemStack of the pipette.
* @param pipette ItemStack of the pipette.
* @return Capacity of the pipette.
*/
int getCapacity(ItemStack pipette);
@@ -8,4 +8,5 @@ package forestry.api.core;
/**
* Marks a tool as a scoop.
*/
public interface IToolScoop {}
public interface IToolScoop {
}
+1 -1
View File
@@ -8,7 +8,7 @@ package forestry.api.core;
import net.minecraft.creativetab.CreativeTabs;
/**
* References to the specialised tabs added by Forestry to creative inventory.
* References to the specialised tabs added by Forestry to creative inventory.
*/
public class Tabs {
@@ -6,14 +6,15 @@
package forestry.api.farming;
import java.util.Collection;
import net.minecraft.item.ItemStack;
/**
* Easily extendable default farmListener.
* By itself, this farmListener does nothing.
* FarmListeners should inherit from this class unless they need to listen for everything.
* Easily extendable default farmListener. By itself, this farmListener does nothing. FarmListeners should inherit from
* this class unless they need to listen for everything.
*/
public class DefaultFarmListener implements IFarmListener {
@Override
public boolean beforeCropHarvest(ICrop crop) {
return false;
@@ -29,8 +30,8 @@ public class DefaultFarmListener implements IFarmListener {
public void hasCultivated(IFarmLogic logic, int x, int y, int z, FarmDirection direction, int extent) {}
@Override
public void hasScheduledHarvest(
Collection<ICrop> harvested, IFarmLogic logic, int x, int y, int z, FarmDirection direction, int extent) {}
public void hasScheduledHarvest(Collection<ICrop> harvested, IFarmLogic logic, int x, int y, int z,
FarmDirection direction, int extent) {}
@Override
public boolean cancelTask(IFarmLogic logic, FarmDirection direction) {
@@ -8,6 +8,7 @@ package forestry.api.farming;
import net.minecraftforge.common.util.ForgeDirection;
public enum FarmDirection {
NORTH(ForgeDirection.NORTH),
EAST(ForgeDirection.EAST),
SOUTH(ForgeDirection.SOUTH),
@@ -9,6 +9,7 @@ import java.util.Collection;
import java.util.HashMap;
public class Farmables {
/**
* Can be used to add IFarmables to some of the vanilla farm logics.
*
@@ -6,6 +6,7 @@
package forestry.api.farming;
import java.util.Collection;
import net.minecraft.item.ItemStack;
public interface ICrop {
@@ -5,10 +5,11 @@
******************************************************************************/
package forestry.api.farming;
import forestry.api.core.IErrorLogicSource;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
import forestry.api.core.IErrorLogicSource;
public interface IFarmHousing extends IErrorLogicSource {
int[] getCoords();
@@ -29,9 +30,8 @@ public interface IFarmHousing extends IErrorLogicSource {
void removeLiquid(FluidStack liquid);
/**
* Callback for {@link IFarmLogic}s to plant a sapling, seed, germling, stem.
* Will remove the appropriate germling from the farm's inventory.
* It's up to the logic to only call this on a valid location.
* Callback for {@link IFarmLogic}s to plant a sapling, seed, germling, stem. Will remove the appropriate germling
* from the farm's inventory. It's up to the logic to only call this on a valid location.
*
* @return true if planting was successful, false otherwise.
*/
@@ -9,6 +9,7 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
public interface IFarmInventory {
boolean hasResources(ItemStack[] resources);
void removeResources(ItemStack[] resources);
@@ -6,6 +6,7 @@
package forestry.api.farming;
import java.util.Collection;
import net.minecraft.item.ItemStack;
public interface IFarmListener {
@@ -21,15 +22,18 @@ public interface IFarmListener {
/**
* Called after a crop has been harvested, but before harvested items are stowed in the farms inventory.
*
* @param harvested Collection of harvested stacks. May be manipulated. Ensure removal of stacks with 0 or less items!
* @param crop Harvested {@link ICrop}
* @param harvested Collection of harvested stacks. May be manipulated. Ensure removal of stacks with 0 or less
* items!
* @param crop Harvested {@link ICrop}
*/
void afterCropHarvest(Collection<ItemStack> harvested, ICrop crop);
/**
* Called after the stack of collected items has been returned by the farm logic, but before it is added to the farm's pending queue.
* Called after the stack of collected items has been returned by the farm logic, but before it is added to the
* farm's pending queue.
*
* @param collected Collection of collected stacks. May be manipulated. Ensure removal of stacks with 0 or less items!
* @param collected Collection of collected stacks. May be manipulated. Ensure removal of stacks with 0 or less
* items!
*/
void hasCollected(Collection<ItemStack> collected, IFarmLogic logic);
@@ -39,10 +43,11 @@ public interface IFarmListener {
void hasCultivated(IFarmLogic logic, int x, int y, int z, FarmDirection direction, int extent);
/**
* Called after the stack of harvested crops has been returned by the farm logic, but before it is added to the farm's pending queue.
* Called after the stack of harvested crops has been returned by the farm logic, but before it is added to the
* farm's pending queue.
*/
void hasScheduledHarvest(
Collection<ICrop> harvested, IFarmLogic logic, int x, int y, int z, FarmDirection direction, int extent);
void hasScheduledHarvest(Collection<ICrop> harvested, IFarmLogic logic, int x, int y, int z,
FarmDirection direction, int extent);
/**
* Can be used to cancel farm task on a per side/{@link IFarmLogic} basis.
@@ -5,13 +5,15 @@
******************************************************************************/
package forestry.api.farming;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public interface IFarmLogic {
int getFertilizerConsumption();
@@ -15,7 +15,8 @@ import net.minecraft.world.World;
public interface IFarmable {
/**
* @return true if the block at the given location is a "sapling" for this type, i.e. a non-harvestable immature version of the crop.
* @return true if the block at the given location is a "sapling" for this type, i.e. a non-harvestable immature
* version of the crop.
*/
boolean isSaplingAt(World world, int x, int y, int z);
@@ -30,13 +31,14 @@ public interface IFarmable {
boolean isGermling(ItemStack itemstack);
/**
* @return true if the item is something that can drop from this type without actually being harvested as a crop. (Apples or sapling from decaying leaves.)
* @return true if the item is something that can drop from this type without actually being harvested as a crop.
* (Apples or sapling from decaying leaves.)
*/
boolean isWindfall(ItemStack itemstack);
/**
* Plants a sapling by manipulating the world. The {@link IFarmLogic} should have verified the given location as valid. Called by the {@link IFarmHousing}
* which handles resources.
* Plants a sapling by manipulating the world. The {@link IFarmLogic} should have verified the given location as
* valid. Called by the {@link IFarmHousing} which handles resources.
*
* @return true on success, false otherwise.
*/
@@ -9,12 +9,14 @@ import net.minecraft.block.Block;
import net.minecraft.world.World;
/**
* A basic form of {@link IFarmable}. It adds one more variant of isSapling, allowing much better runtime performance than otherwise.
* A basic form of {@link IFarmable}. It adds one more variant of isSapling, allowing much better runtime performance
* than otherwise.
*/
public interface IFarmableBasic extends IFarmable {
/**
* @return true if the block at the given location is a "sapling" for this type, i.e. a non-harvestable immature version of the crop.
* @return true if the block at the given location is a "sapling" for this type, i.e. a non-harvestable immature
* version of the crop.
*/
default boolean isSaplingAt(World world, int x, int y, int z) {
return world.blockExists(x, y, z)
@@ -22,7 +24,8 @@ public interface IFarmableBasic extends IFarmable {
}
/**
* @return true if given block at the given location is a "sapling" for this type, i.e. a non-harvestable immature version of the crop.
* @return true if given block at the given location is a "sapling" for this type, i.e. a non-harvestable immature
* version of the crop.
*/
boolean isSapling(Block block, int meta);
@@ -6,6 +6,7 @@
package forestry.api.food;
public class BeverageManager {
public static IBeverageEffect[] effectList = new IBeverageEffect[128];
public static IInfuserManager infuserManager;
@@ -9,6 +9,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
public interface IBeverageEffect {
int getId();
void doEffect(World world, EntityPlayer player);
@@ -8,6 +8,7 @@ package forestry.api.fuels;
import net.minecraftforge.fluids.Fluid;
public class EngineBronzeFuel {
/**
* Item that is valid fuel for a biogas engine.
*/
@@ -8,6 +8,7 @@ package forestry.api.fuels;
import net.minecraft.item.ItemStack;
public class FermenterFuel {
/**
* Item that is a valid fuel for the fermenter (i.e. fertilizer).
*/
@@ -6,10 +6,12 @@
package forestry.api.fuels;
import java.util.HashMap;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
public class FuelManager {
/**
* Add new fuels for the fermenter here (i.e. fertilizer).
*/
Loaded 100 of 1282 files, more files were not shown because too many files have changed in this diff. Show more