Compare commits

...
9 Commits
53 changed files with 477 additions and 543 deletions

No files matched your search

+10 -6
View File
@@ -1,6 +1,5 @@
package binnie.botany;
import binnie.genetics.api.analyst.IAnalystManager;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
@@ -17,11 +16,14 @@ import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.gui.IBinnieGUID;
import binnie.core.modules.BlankModuleContainer;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.ModuleManager;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.IProxyCore;
import binnie.genetics.api.GeneticsApi;
import binnie.genetics.api.acclimatiser.IAcclimatiserManager;
import binnie.genetics.api.analyst.IAnalystManager;
@Mod(
modid = Constants.BOTANY_MOD_ID,
@@ -50,11 +52,13 @@ public class Botany extends BlankModuleContainer {
analystManager.registerAnalystPagePlugin(new FlowerAnalystPagePlugin());
}
IAcclimatiserManager acclimatiserManager = GeneticsApi.acclimatiserManager;
if(acclimatiserManager != null) {
acclimatiserManager.addTolerance(EnumFlowerChromosome.HUMIDITY_TOLERANCE, acclimatiserManager.getHumidityToleranceType());
acclimatiserManager.addTolerance(EnumFlowerChromosome.TEMPERATURE_TOLERANCE, acclimatiserManager.getTemperatureToleranceType());
acclimatiserManager.addTolerance(EnumFlowerChromosome.PH_TOLERANCE, new TolerancePh());
if(ModuleManager.isModuleEnabled(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.FLOWERS)) {
IAcclimatiserManager acclimatiserManager = GeneticsApi.acclimatiserManager;
if (acclimatiserManager != null) {
acclimatiserManager.addTolerance(EnumFlowerChromosome.HUMIDITY_TOLERANCE, acclimatiserManager.getHumidityToleranceType());
acclimatiserManager.addTolerance(EnumFlowerChromosome.TEMPERATURE_TOLERANCE, acclimatiserManager.getTemperatureToleranceType());
acclimatiserManager.addTolerance(EnumFlowerChromosome.PH_TOLERANCE, new TolerancePh());
}
}
}
@@ -4,7 +4,6 @@ import javax.annotation.Nullable;
import java.util.HashMap;
import java.util.Map;
import binnie.design.Design;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
@@ -19,10 +18,10 @@ import binnie.botany.Botany;
import binnie.botany.api.genetics.EnumFlowerColor;
import binnie.botany.items.CeramicItems;
import binnie.botany.modules.ModuleCeramic;
import binnie.design.EnumPattern;
import binnie.design.api.IDesignMaterial;
import binnie.design.api.IDesignSystem;
import binnie.design.api.IPattern;
import binnie.design.EnumPattern;
public class CeramicDesignSystem implements IDesignSystem {
public static final CeramicDesignSystem instance = new CeramicDesignSystem();
@@ -32,7 +31,6 @@ public class CeramicDesignSystem implements IDesignSystem {
CeramicDesignSystem() {
primary = new HashMap<>();
secondary = new HashMap<>();
Design.getDesignManager().registerDesignSystem(this);
}
@Override
@@ -9,6 +9,8 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.registry.GameRegistry;
import forestry.api.modules.ForestryModule;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.api.genetics.EnumFlowerColor;
@@ -28,15 +30,14 @@ import binnie.botany.recipes.PigmentRecipe;
import binnie.core.Constants;
import binnie.core.block.TileEntityMetadata;
import binnie.core.item.ItemMisc;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.modules.ModuleManager;
import binnie.core.util.RecipeUtil;
import binnie.design.items.ItemDesign;
@BinnieModule(moduleID = BotanyModuleUIDs.CERAMIC, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Ceramic", unlocalizedDescription = "botany.module.ceramic")
public class ModuleCeramic implements Module {
@ForestryModule(moduleID = BotanyModuleUIDs.CERAMIC, containerID = Constants.BOTANY_MOD_ID, name = "Ceramic", unlocalizedDescription = "botany.module.ceramic")
public class ModuleCeramic extends BlankModule {
public static BlockCeramic ceramic;
public static BlockCeramicPatterned ceramicTile;
public static BlockStainedGlass stained;
@@ -46,6 +47,10 @@ public class ModuleCeramic implements Module {
public static ItemClay clay;
public static ItemMisc misc;
public ModuleCeramic() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
ceramic = new BlockCeramic();
@@ -70,7 +75,7 @@ public class ModuleCeramic implements Module {
}
@Override
public void init() {
public void registerRecipes() {
RecipeUtil recipeUtil = new RecipeUtil(Constants.BOTANY_MOD_ID);
ForgeRegistries.RECIPES.register(new CeramicTileRecipe());
@@ -1,12 +1,18 @@
package binnie.botany.modules;
import binnie.core.Constants;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import forestry.api.modules.ForestryModule;
import binnie.core.Constants;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
@ForestryModule(moduleID = BotanyModuleUIDs.CORE, containerID = Constants.BOTANY_MOD_ID, name = "Core", coreModule = true)
public class ModuleCore extends BlankModule {
public ModuleCore() {
super("forestry", "core");
}
@BinnieModule(moduleID = BotanyModuleUIDs.CORE, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Core", coreModule = true)
public class ModuleCore implements Module {
@Override
public boolean canBeDisabled() {
return false;
@@ -1,15 +1,12 @@
package binnie.botany.modules;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.RecipeManagers;
import binnie.botany.Botany;
@@ -17,14 +14,17 @@ import binnie.botany.items.ItemDatabaseBotany;
import binnie.core.Binnie;
import binnie.core.Constants;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
@BinnieModule(moduleID = BotanyModuleUIDs.DATABASE, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Database", unlocalizedDescription = "botany.module.database")
public class ModuleDatabase implements Module {
@ForestryModule(moduleID = BotanyModuleUIDs.DATABASE, containerID = Constants.BOTANY_MOD_ID, name = "Database", unlocalizedDescription = "botany.module.database")
public class ModuleDatabase extends BlankModule {
public static ItemDatabaseBotany database;
public ModuleDatabase() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.FLOWERS);
}
@Override
public void registerItemsAndBlocks() {
database = new ItemDatabaseBotany();
@@ -33,7 +33,7 @@ public class ModuleDatabase implements Module {
}
@Override
public void init() {
public void registerRecipes() {
RecipeManagers.carpenterManager.addRecipe(
100,
Binnie.LIQUID.getFluidStack(ManagerLiquid.WATER, 2000),
@@ -50,9 +50,4 @@ public class ModuleDatabase implements Module {
'E', Items.EMERALD
);
}
@Override
public Set<String> getDependencyUids() {
return ImmutableSet.of(BotanyModuleUIDs.FLOWERS);
}
}
@@ -1,12 +1,10 @@
package binnie.botany.modules;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import forestry.api.modules.ForestryModule;
import binnie.botany.Botany;
import binnie.botany.api.gardening.EnumAcidity;
import binnie.botany.api.gardening.EnumMoisture;
@@ -16,20 +14,17 @@ import binnie.botany.items.EnumTubeMaterial;
import binnie.botany.items.ItemInsulatedTube;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.util.RecipeUtil;
@BinnieModule(moduleID = BotanyModuleUIDs.FARMING, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Farming", unlocalizedDescription = "botany.module.farming")
public class ModuleFarming implements Module {
@ForestryModule(moduleID = BotanyModuleUIDs.FARMING, containerID = Constants.BOTANY_MOD_ID, name = "Farming", unlocalizedDescription = "botany.module.farming")
public class ModuleFarming extends BlankModule {
public ItemInsulatedTube insulatedTube;
@Override
public Set<String> getDependencyUids() {
return ImmutableSet.of(BotanyModuleUIDs.FLOWERS);
public ModuleFarming() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.FLOWERS);
}
@Override
public void registerItemsAndBlocks() {
insulatedTube = new ItemInsulatedTube();
@@ -37,7 +32,7 @@ public class ModuleFarming implements Module {
}
@Override
public void init() {
public void doInit() {
ItemStack yellow = new ItemStack(Blocks.YELLOW_FLOWER, 1);
ItemStack red = new ItemStack(Blocks.RED_FLOWER, 1);
ItemStack blue = new ItemStack(Blocks.RED_FLOWER, 1, 7);
@@ -1,10 +1,7 @@
package binnie.botany.modules;
import com.google.common.collect.ImmutableSet;
import javax.annotation.Nullable;
import java.awt.Color;
import java.util.Set;
import java.util.function.Predicate;
import net.minecraft.block.Block;
@@ -26,8 +23,8 @@ import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import forestry.api.apiculture.FlowerManager;
import forestry.api.core.ForestryAPI;
import forestry.api.genetics.AlleleManager;
import forestry.api.modules.ForestryModule;
import forestry.api.storage.BackpackManager;
import forestry.api.storage.IBackpackInterface;
import forestry.storage.BackpackDefinition;
@@ -52,14 +49,14 @@ import binnie.core.Binnie;
import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.api.genetics.IBreedingSystem;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.modules.ModuleManager;
import binnie.core.util.RecipeUtil;
import binnie.core.util.TileUtil;
@BinnieModule(moduleID = BotanyModuleUIDs.FLOWERS, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Flowers", unlocalizedDescription = "botany.module.flowers")
public class ModuleFlowers implements Module {
@ForestryModule(moduleID = BotanyModuleUIDs.FLOWERS, containerID = Constants.BOTANY_MOD_ID, name = "Flowers", unlocalizedDescription = "botany.module.flowers")
public class ModuleFlowers extends BlankModule {
public static final AlleleEffectNone alleleEffectNone = new AlleleEffectNone();
@Nullable
public static Item botanistBackpack;
@@ -70,6 +67,10 @@ public class ModuleFlowers implements Module {
public static ItemFlowerGE pollen;
public static IBreedingSystem flowerBreedingSystem;
public ModuleFlowers() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.GARDENING);
}
@Override
public void setupAPI() {
BotanyAPI.flowerFactory = new FlowerFactory();
@@ -83,7 +84,7 @@ public class ModuleFlowers implements Module {
FlowerDefinition.preInitFlowers();
IBackpackInterface backpackInterface = BackpackManager.backpackInterface;
if (ForestryAPI.enabledPlugins.contains("forestry.storage")) {
if (ModuleManager.isModuleEnabled("forestry", "backpacks")) {
Predicate<ItemStack> filter = BackpackManager.backpackInterface.createNaturalistBackpackFilter("rootFlowers");
BackpackDefinition definition = new BackpackDefinition(new Color(0xf6e83e), Color.WHITE, filter);
BackpackManager.backpackInterface.registerBackpackDefinition("botanist", definition);
@@ -116,7 +117,7 @@ public class ModuleFlowers implements Module {
}
@Override
public void init() {
public void doInit() {
FlowerColorMutations.registerFlowerColorAlleles();
FlowerDefinition.initFlowers();
@@ -223,9 +224,4 @@ public class ModuleFlowers implements Module {
event.setResult(Event.Result.ALLOW);
}
}
@Override
public Set<String> getDependencyUids() {
return ImmutableSet.of(BotanyModuleUIDs.GARDENING);
}
}
@@ -20,6 +20,8 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import forestry.api.modules.ForestryModule;
import binnie.botany.Botany;
import binnie.botany.CreativeTabBotany;
import binnie.botany.api.gardening.EnumAcidity;
@@ -42,14 +44,13 @@ import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.item.ItemMisc;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.util.OreDictionaryUtil;
import binnie.core.util.RecipeUtil;
@BinnieModule(moduleID = BotanyModuleUIDs.GARDENING, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Gardening", unlocalizedDescription = "botany.module.gardening")
public class ModuleGardening implements Module {
@ForestryModule(moduleID = BotanyModuleUIDs.GARDENING, containerID = Constants.BOTANY_MOD_ID, name = "Gardening", unlocalizedDescription = "botany.module.gardening")
public class ModuleGardening extends BlankModule {
public static BlockPlant plant;
public static ItemTrowel trowelWood;
public static ItemTrowel trowelStone;
@@ -65,6 +66,10 @@ public class ModuleGardening implements Module {
public static ItemSoilMeter soilMeter;
public static ItemMisc misc;
public ModuleGardening() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
plant = new BlockPlant();
@@ -118,7 +123,7 @@ public class ModuleGardening implements Module {
}
@Override
public void init() {
public void doInit() {
RecipeUtil recipeUtil = new RecipeUtil(Constants.BOTANY_MOD_ID);
IGardeningManager gardening = BotanyCore.getGardening();
@@ -1,27 +1,34 @@
package binnie.botany.modules;
import binnie.botany.Botany;
import binnie.botany.machines.BotanyMachine;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.machines.MachineGroup;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.util.RecipeUtil;
import forestry.api.core.Tabs;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
@BinnieModule(moduleID = BotanyModuleUIDs.MACHINES, moduleContainerID = Constants.BOTANY_MOD_ID, name = "Machines", unlocalizedDescription = "botany.module.machines")
public class ModuleMachine implements Module {
import forestry.api.core.Tabs;
import forestry.api.modules.ForestryModule;
import binnie.botany.Botany;
import binnie.botany.machines.BotanyMachine;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.machines.MachineGroup;
import binnie.core.modules.BlankModule;
import binnie.core.modules.BotanyModuleUIDs;
import binnie.core.util.RecipeUtil;
@ForestryModule(moduleID = BotanyModuleUIDs.MACHINES, containerID = Constants.BOTANY_MOD_ID, name = "Machines", unlocalizedDescription = "botany.module.machines")
public class ModuleMachine extends BlankModule {
public static Block blockMachine;
public ModuleMachine() {
super(Constants.BOTANY_MOD_ID, BotanyModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
final MachineGroup machineGroup = new MachineGroup(Botany.instance, "machine", "machine", BotanyMachine.values());
@@ -30,7 +37,7 @@ public class ModuleMachine implements Module {
}
@Override
public void init() {
public void doInit() {
RecipeUtil recipeUtil = new RecipeUtil(Constants.BOTANY_MOD_ID);
ItemStack tileworkerBase;
Item provenGear = ForgeRegistries.ITEMS.getValue(new ResourceLocation(Constants.EXTRA_TREES_MOD_ID, "proven_gear"));
+19 -15
View File
@@ -1,7 +1,5 @@
package binnie.core;
import binnie.core.machines.errors.CoreErrorCode;
import binnie.core.machines.errors.ErrorStateRegistry;
import com.google.common.base.Preconditions;
import javax.annotation.Nullable;
@@ -27,9 +25,12 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.plugins.PluginManager;
import forestry.api.core.ForestryAPI;
import forestry.api.modules.IModuleContainer;
import binnie.core.block.TileEntityMetadata;
import binnie.core.config.ConfigurationMain;
import binnie.core.config.ConfigurationMods;
import binnie.core.gui.BinnieCoreGUI;
import binnie.core.gui.BinnieGUIHandler;
import binnie.core.gui.IBinnieGUID;
@@ -41,17 +42,18 @@ import binnie.core.item.ModuleItems;
import binnie.core.liquid.FluidContainerType;
import binnie.core.liquid.ItemFluidContainer;
import binnie.core.machines.MachineGroup;
import binnie.core.machines.errors.CoreErrorCode;
import binnie.core.machines.errors.ErrorStateRegistry;
import binnie.core.machines.storage.ModuleStorage;
import binnie.core.config.ConfigurationMain;
import binnie.core.config.ConfigurationMods;
import binnie.core.models.ModelManager;
import binnie.core.modules.ModuleContainer;
import binnie.core.modules.ModuleManager;
import binnie.core.network.BinnieCorePacketID;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.BinnieProxy;
import binnie.core.proxy.IBinnieProxy;
import binnie.core.triggers.ModuleTrigger;
import binnie.core.modules.ModuleManager;
@Mod(
modid = Constants.CORE_MOD_ID,
@@ -59,7 +61,7 @@ import binnie.core.modules.ModuleManager;
version = "@VERSION@",
acceptedMinecraftVersions = Constants.ACCEPTED_MINECRAFT_VERSIONS,
dependencies = "required-after:forge@[14.23.0.2500,);" +
"required-after:forestry@[5.6.0.199,);" +
"required-after:forestry@[5.7.0.209,);" +
"after:jei@[4.7.8,);"
)
public final class BinnieCore extends AbstractMod {
@@ -80,6 +82,7 @@ public final class BinnieCore extends AbstractMod {
public BinnieCore() {
FluidRegistry.enableUniversalBucket();
MinecraftForge.EVENT_BUS.register(this);
}
public static MachineGroup getPackageCompartment() {
@@ -118,15 +121,11 @@ public final class BinnieCore extends AbstractMod {
}
public static boolean isLepidopteryActive() {
return PluginManager.configDisabledPlugins.stream().noneMatch(e -> e instanceof forestry.lepidopterology.PluginLepidopterology);
return ForestryAPI.moduleManager.isModuleEnabled("forestry", "lepidopterology");
}
public static boolean isApicultureActive() {
return PluginManager.configDisabledPlugins.stream().noneMatch(e -> e instanceof forestry.arboriculture.PluginArboriculture);
}
public static boolean isArboricultureActive() {
return PluginManager.configDisabledPlugins.stream().noneMatch(e -> e instanceof forestry.arboriculture.PluginArboriculture);
return ForestryAPI.moduleManager.isModuleEnabled("forestry", "apiculture");
}
public static boolean isBotanyActive() {
@@ -142,7 +141,7 @@ public final class BinnieCore extends AbstractMod {
}
public static boolean isExtraTreesActive() {
return ConfigurationMods.extraTrees && isArboricultureActive();
return ConfigurationMods.extraTrees;
}
static void registerMod(final AbstractMod mod) {
@@ -164,7 +163,12 @@ public final class BinnieCore extends AbstractMod {
MinecraftForge.EVENT_BUS.register(Binnie.LIQUID);
MinecraftForge.EVENT_BUS.register(ModuleManager.class);
Binnie.CONFIGURATION.registerConfiguration(ConfigurationMods.class, this);
ModuleManager.loadModules(evt);
for(IModuleContainer container : ForestryAPI.moduleManager.getContainers()){
if(!(container instanceof ModuleContainer)){
continue;
}
((ModuleContainer) container).setupAPI();
}
for (FluidContainerType container : FluidContainerType.getBinnieContainers()) {
Item item = new ItemFluidContainer(container);
getProxy().registerItem(item);
+6 -4
View File
@@ -1,15 +1,17 @@
package binnie.core;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.oredict.OreDictionary;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
public class Mods {
public static final ModNonnull Forestry = new ModNonnull("forestry");
@@ -6,22 +6,22 @@ import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import binnie.core.api.gui.IArea;
import binnie.core.api.gui.IPoint;
import binnie.core.api.gui.ITopLevelWidget;
import binnie.core.api.gui.IWidget;
import binnie.core.api.gui.IWidgetAttribute;
import binnie.core.api.gui.RenderStage;
import binnie.core.api.gui.events.Event;
import binnie.core.api.gui.events.EventHandlerOrigin;
import binnie.core.api.gui.events.OnEventHandler;
import binnie.core.gui.geometry.Point;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import binnie.core.api.gui.events.Event;
import binnie.core.gui.events.EventHandler;
import binnie.core.gui.events.EventWidget;
import binnie.core.gui.geometry.Area;
import binnie.core.gui.geometry.Point;
public class Widget implements IWidget {
@Nullable
@@ -458,7 +458,7 @@ public class Widget implements IWidget {
this.getTopParent().widgetDeleted(this);
}
//TODO: Why not use this ?
//TODO: Why not use "this" ?
public IWidget getWidget() {
return this;
}
@@ -6,9 +6,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import binnie.core.api.genetics.IBreedingSystem;
import binnie.core.api.gui.events.EventHandlerOrigin;
import binnie.core.gui.geometry.Point;
import net.minecraft.entity.player.EntityPlayer;
import com.mojang.authlib.GameProfile;
@@ -20,7 +17,10 @@ import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IBreedingTracker;
import forestry.api.genetics.IClassification;
import binnie.core.api.genetics.IBreedingSystem;
import binnie.core.api.gui.Alignment;
import binnie.core.api.gui.IWidget;
import binnie.core.api.gui.events.EventHandlerOrigin;
import binnie.core.gui.controls.ControlTextEdit;
import binnie.core.gui.controls.listbox.ControlListBox;
import binnie.core.gui.controls.listbox.ControlTextOption;
@@ -31,7 +31,7 @@ import binnie.core.gui.controls.tab.ControlTabBar;
import binnie.core.gui.events.EventTextEdit;
import binnie.core.gui.events.EventValueChanged;
import binnie.core.gui.geometry.CraftGUIUtil;
import binnie.core.api.gui.Alignment;
import binnie.core.gui.geometry.Point;
import binnie.core.gui.minecraft.MinecraftGUI;
import binnie.core.gui.minecraft.Window;
import binnie.core.gui.minecraft.control.ControlHelp;
@@ -13,12 +13,12 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import org.lwjgl.opengl.GL11;
import binnie.core.BinnieCore;
import binnie.core.api.gui.IWidget;
import binnie.core.api.gui.Alignment;
import binnie.core.api.gui.IArea;
import binnie.core.api.gui.IBorder;
import binnie.core.api.gui.IPoint;
import binnie.core.api.gui.ITexture;
import binnie.core.api.gui.IWidget;
import binnie.core.gui.geometry.Area;
import binnie.core.gui.resource.stylesheet.IStyleSheet;
import binnie.core.gui.resource.stylesheet.StyleSheetManager;
@@ -0,0 +1,23 @@
package binnie.core.modules;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraft.util.ResourceLocation;
import forestry.api.modules.IForestryModule;
public class BlankModule implements IForestryModule {
private final ResourceLocation parent;
public BlankModule(String container, String module) {
this.parent = new ResourceLocation(container, module);
}
@Override
public Set<ResourceLocation> getDependencyUids() {
return ImmutableSet.of(parent);
}
}
@@ -4,6 +4,8 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import forestry.api.core.ForestryAPI;
import binnie.core.AbstractMod;
public abstract class BlankModuleContainer extends AbstractMod {
@@ -12,7 +14,7 @@ public abstract class BlankModuleContainer extends AbstractMod {
public BlankModuleContainer() {
super();
this.container = new ModuleContainer(getModId(), this::isAvailable);
ModuleManager.register(container);
ForestryAPI.moduleManager.registerContainers(container);
}
@Override
@@ -1,11 +1,13 @@
package binnie.core.modules;
import java.io.File;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.Loader;
@@ -13,42 +15,57 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import forestry.api.modules.ForestryModule;
import forestry.api.modules.IForestryModule;
import forestry.modules.ForestryPluginUtil;
import binnie.core.Constants;
public class ModuleContainer implements IModuleContainer {
public class ModuleContainer implements forestry.api.modules.IModuleContainer {
protected final Set<Module> loadedModules;
protected final Set<Module> unloadedModules;
protected final Set<String> enabledModules;
private static final String CONFIG_CATEGORY = "modules";
protected final Set<IForestryModule> loadedModules;
protected final Set<IForestryModule> unloadedModules;
protected final File configFolder;
protected final Configuration configModules;
protected final String modId;
protected final String containerID;
protected final ContainerState state;
protected final Set<IConfigHandler> configHandlers;
public ModuleContainer(String modId, ContainerState state) {
this.modId = modId;
public ModuleContainer(String containerID, ContainerState state) {
this.containerID = containerID;
this.state = state;
loadedModules = new LinkedHashSet<>();
unloadedModules = new LinkedHashSet<>();
enabledModules = new LinkedHashSet<>();
configFolder = new File(Loader.instance().getConfigDir(), Constants.FORESTRY_CONFIG_FOLDER + modId);
configFolder = new File(Loader.instance().getConfigDir(), Constants.FORESTRY_CONFIG_FOLDER + containerID);
configModules = new Configuration(new File(configFolder, "modules.cfg"));
configHandlers = new HashSet<>();
}
public void setupAPI(){
for(IForestryModule module : loadedModules){
module.setupAPI();
}
for(IForestryModule module : unloadedModules){
module.disabledSetupAPI();
}
}
protected void runPreInit(FMLPreInitializationEvent event) {
for (Module module : loadedModules) {
for (IForestryModule module : loadedModules) {
module.registerItemsAndBlocks();
}
for (Module module : loadedModules) {
for (IForestryModule module : loadedModules) {
module.preInit();
}
}
public void runInit(FMLInitializationEvent event) {
for (Module module : loadedModules) {
module.init();
for (IForestryModule module : loadedModules) {
module.doInit();
module.registerRecipes();
}
for(IConfigHandler handler : configHandlers){
handler.loadConfig();
@@ -56,12 +73,11 @@ public class ModuleContainer implements IModuleContainer {
}
public void runPostInit(FMLPostInitializationEvent event) {
for (Module module : loadedModules) {
for (IForestryModule module : loadedModules) {
module.postInit();
}
}
@Override
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
for(IConfigHandler handler : configHandlers){
handler.loadConfig();
@@ -69,16 +85,25 @@ public class ModuleContainer implements IModuleContainer {
}
@Override
public final boolean isModuleEnabled(String moduleUID){
return enabledModules.contains(moduleUID);
public boolean isModuleEnabled(IForestryModule module) {
ForestryModule info = module.getClass().getAnnotation(ForestryModule.class);
String comment = ForestryPluginUtil.getComment(module);
Property prop = getModulesConfig().get(CONFIG_CATEGORY, info.moduleID(), true, comment);
return prop.getBoolean();
}
@Override
public void onConfiguredModules(Collection<IForestryModule> activeModules, Collection<IForestryModule> unloadedModules) {
this.loadedModules.addAll(activeModules);
this.unloadedModules.addAll(unloadedModules);
}
@Override
public String getID() {
return modId;
return containerID;
}
@Override
public File getConfigFolder() {
return configFolder;
}
@@ -88,22 +113,6 @@ public class ModuleContainer implements IModuleContainer {
return configModules;
}
@Override
public void enableModule(String uid) {
enabledModules.add(uid);
}
@Override
public Set<Module> getLoadedModules() {
return loadedModules;
}
@Override
public Set<Module> getUnloadedModules() {
return unloadedModules;
}
@Override
public void registerConfigHandler(IConfigHandler handler) {
configHandlers.add(handler);
}
@@ -6,9 +6,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import binnie.core.util.Log;
import net.minecraftforge.fml.common.discovery.ASMDataTable;
import binnie.core.util.Log;
public class ModuleHelper {
private ModuleHelper() {
@@ -1,191 +1,18 @@
package binnie.core.modules;
import com.google.common.collect.ImmutableList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import net.minecraft.util.text.translation.I18n;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
import net.minecraftforge.fml.common.discovery.ASMDataTable;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import binnie.core.util.Log;
import forestry.api.core.ForestryAPI;
public class ModuleManager {
private static final Map<String, IModuleContainer> containers = new LinkedHashMap<>();
private static final String CONFIG_CATEGORY = "modules";
private static boolean initialized;
public static boolean isModuleEnabled(String containerID, String moduleID) {
IModuleContainer container = containers.get(containerID);
return container != null && container.isModuleEnabled(moduleID);
}
public static void register(IModuleContainer container){
containers.put(container.getID(), container);
}
private static void configureModules(Map<String, List<Module>> modules) {
Locale locale = Locale.getDefault();
Locale.setDefault(Locale.ENGLISH);
Set<String> toLoad = new HashSet<>();
for(IModuleContainer container : containers.values()) {
String containerID = container.getID();
List<Module> containerModules = modules.get(containerID);
Configuration config = container.getModulesConfig();
config.load();
config.addCustomCategoryComment(CONFIG_CATEGORY, "Disabling these modules can greatly change how the mod functions.\n"
+ "Your mileage may vary, please report any issues.");
Module coreModule = getCoreModule(containerModules, containerID);
containerModules.remove(coreModule);
containerModules.add(0, coreModule);
Iterator<Module> iterator = containerModules.iterator();
while (iterator.hasNext()) {
Module module = iterator.next();
if(!container.isAvailable()){
iterator.remove();
Log.info("Module disabled: {}", module);
continue;
}
if (module.canBeDisabled()) {
if (!isModuleEnabled(config, module)) {
iterator.remove();
Log.info("Module disabled: {}", module);
continue;
}
if (!module.isAvailable()) {
iterator.remove();
Log.info("Module {} failed to load: {}", module, module.getFailMessage());
continue;
}
}
BinnieModule info = module.getClass().getAnnotation(BinnieModule.class);
toLoad.add(info.moduleID());
}
}
for(IModuleContainer container : containers.values()) {
String containerID = container.getID();
List<Module> containerModules = modules.get(containerID);
ImmutableList<Module> allModules = ImmutableList.copyOf(containerModules);
Iterator<Module> iterator;
boolean changed;
do {
changed = false;
iterator = containerModules.iterator();
while (iterator.hasNext()) {
Module module = iterator.next();
Set<String> dependencies = module.getDependencyUids();
if (!toLoad.containsAll(dependencies)) {
iterator.remove();
changed = true;
BinnieModule info = module.getClass().getAnnotation(BinnieModule.class);
String id = info.moduleID();
toLoad.remove(id);
Log.warning("Module {} is missing dependencies: {}", id, dependencies);
}
}
} while (changed);
Set<Module> loadedModules = container.getLoadedModules();
Set<Module> unloadedModules = container.getUnloadedModules();
loadedModules.addAll(containerModules);
unloadedModules.addAll(allModules);
unloadedModules.removeAll(loadedModules);
for(Module module : loadedModules){
BinnieModule info = module.getClass().getAnnotation(BinnieModule.class);
container.enableModule(info.moduleID());
}
Configuration config = container.getModulesConfig();
if (config.hasChanged()) {
config.save();
}
}
Locale.setDefault(locale);
}
private static Module getCoreModule(List<Module> modules, String containerID) {
for (Module module : modules) {
BinnieModule info = module.getClass().getAnnotation(BinnieModule.class);
if (info.coreModule()) {
return module;
}
}
throw new IllegalStateException("Could not find core module for the container " + containerID);
}
/**
* Loads module classes that have the annotation {@link BinnieModule}.
*/
public static void loadModules(FMLPreInitializationEvent event){
if(initialized){
return;
}
initialized = true;
ASMDataTable asmDataTable = event.getAsmData();
Map<String, List<Module>> modules = ModuleHelper.getModules(asmDataTable);
configureModules(modules);
for(IModuleContainer container : containers.values()) {
for (Module module : container.getLoadedModules()) {
Log.debug("Setup API Start: {}", module);
module.setupAPI();
Log.debug("Setup API Complete: {}", module);
}
}
for(IModuleContainer container : containers.values()) {
for (Module module : container.getUnloadedModules()) {
Log.debug("Disabled-Setup Start: {}", module);
module.disabledSetupAPI();
Log.debug("Disabled-Setup Complete: {}", module);
}
}
}
private static boolean isModuleEnabled(Configuration config, Module module) {
BinnieModule info = module.getClass().getAnnotation(BinnieModule.class);
String comment = I18n.translateToLocal(info.unlocalizedDescription());
Set<String> dependencies = module.getDependencyUids();
if(!dependencies.isEmpty()){
Iterator<String> iDependencies = dependencies.iterator();
StringBuilder builder = new StringBuilder(comment);
builder.append("\n");
builder.append("Dependencies: [ ");
builder.append(iDependencies.next());
while(iDependencies.hasNext()){
String uid = iDependencies.next();
builder.append(", ").append(uid);
}
builder.append(" ]");
comment = builder.toString();
}
Property prop = config.get(CONFIG_CATEGORY, info.moduleID(), true, comment);
return prop.getBoolean();
return ForestryAPI.moduleManager.isModuleEnabled(containerID, moduleID);
}
@@ -0,0 +1,14 @@
package binnie.core.util;
import forestry.api.core.ForestryAPI;
public class ModuleUtils {
public static boolean isModuleActive(String... moduleIDs){
for(String moduleID : moduleIDs){
if(!ForestryAPI.moduleManager.isModuleEnabled("forestry", moduleID)){
return false;
}
}
return true;
}
}
@@ -13,7 +13,8 @@ import forestry.api.apiculture.IBeeModifier;
import forestry.api.circuits.ChipsetManager;
import forestry.api.circuits.ICircuit;
import forestry.api.circuits.ICircuitLayout;
import forestry.core.PluginCore;
import binnie.core.Mods;
public class StimulatorCircuit implements ICircuit, IBeeModifier {
@@ -24,7 +25,7 @@ public class StimulatorCircuit implements ICircuit, IBeeModifier {
public StimulatorCircuit(final AlvearySimulatorCircuitType type, final ICircuitLayout layout) {
uid = "binnie.circuit.stimulator." + type.toString().toLowerCase();
this.type = type;
ItemStack stack = new ItemStack(PluginCore.getItems().tubes, 1, type.getRecipe());
ItemStack stack = new ItemStack(Mods.Forestry.item("thermionic_tubes"), 1, type.getRecipe());
ChipsetManager.circuitRegistry.registerCircuit(this);
ChipsetManager.solderManager.addRecipe(layout, stack, this);
tooltip = Lists.newArrayList();
@@ -1,6 +1,5 @@
package binnie.extrabees.genetics;
import binnie.core.Constants;
import com.google.common.base.Preconditions;
import java.awt.Color;
@@ -24,7 +23,6 @@ import forestry.api.apiculture.IBeeMutationBuilder;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
import forestry.api.genetics.IAllele;
import forestry.apiculture.PluginApiculture;
import forestry.apiculture.genetics.Bee;
import forestry.apiculture.genetics.BeeBranchDefinition;
import forestry.apiculture.genetics.BeeDefinition;
@@ -33,10 +31,12 @@ import forestry.apiculture.genetics.alleles.AlleleEffects;
import forestry.core.genetics.IBranchDefinition;
import forestry.core.genetics.alleles.EnumAllele;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.genetics.AlleleHelper;
import binnie.extrabees.genetics.effect.ExtraBeesEffect;
import binnie.extrabees.items.ItemHoneyComb;
import binnie.extrabees.items.types.EnumHoneyComb;
import binnie.core.genetics.AlleleHelper;
public enum ExtraBeeDefinition implements IBeeDefinition {
/* BARREN BRANCH */
@@ -1147,7 +1147,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
@Override
protected void setSpeciesProperties(IAlleleBeeSpeciesBuilder beeSpecies) {
beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f)
.addSpecialty(PluginApiculture.getItems().royalJelly.getItemStack(), 0.25f)
.addSpecialty(Mods.Forestry.stack("royal_jelly"), 0.25f)
.setHasEffect();
}
@@ -1759,7 +1759,7 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
protected void setSpeciesProperties(IAlleleBeeSpeciesBuilder beeSpecies) {
beeSpecies
.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f)
.addSpecialty(new ItemStack(PluginApiculture.getItems().pollenCluster), 0.20f)
.addSpecialty(Mods.Forestry.stack("pollen"), 0.20f)
.addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.15f)
.setIsNotCounted()
.setHasEffect();
@@ -3,8 +3,12 @@ package binnie.extrabees.genetics;
import java.util.Collections;
import java.util.List;
import com.google.common.collect.ImmutableList;
import forestry.api.genetics.IFlowerAcceptableRule;
import forestry.api.genetics.IFlowerRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -74,8 +78,13 @@ public enum ExtraBeesFlowers implements IFlowerProvider, IAlleleFlowers {
public void register() {
//AlleleManager.alleleRegistry.registerAllele(this);
IFlowerRegistry flowerRegistry = FlowerManager.flowerRegistry;
for (Block block : getAcceptableBlocks()) {
FlowerManager.flowerRegistry.registerAcceptableFlower(block, getUID());
flowerRegistry.registerAcceptableFlower(block, getUID());
}
if (this == ROCK) {
flowerRegistry.registerAcceptableFlowerRule((blockState, world, pos, flowerType) -> blockState.getMaterial() == Material.ROCK, getUID());
}
AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.FLOWER_PROVIDER);
@@ -90,7 +99,7 @@ public enum ExtraBeesFlowers implements IFlowerProvider, IAlleleFlowers {
return Collections.singletonList(Blocks.REEDS);
}
case ROCK: {
return Collections.singletonList(Blocks.COBBLESTONE);
return ImmutableList.of(Blocks.COBBLESTONE, Blocks.STONE);
}
case BOOK: {
return Collections.singletonList(Blocks.BOOKSHELF);
@@ -4,17 +4,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import binnie.core.api.gui.IArea;
import binnie.core.api.gui.ITitledWidget;
import binnie.core.gui.controls.ControlFluidDisplay;
import binnie.core.gui.controls.core.Control;
import binnie.core.util.FluidStackUtil;
import binnie.core.util.ForestryRecipeUtil;
import binnie.core.util.TimeUtil;
import binnie.extrabees.ExtraBees;
import binnie.genetics.api.analyst.AnalystConstants;
import binnie.genetics.api.analyst.IAnalystManager;
import forestry.api.apiculture.BeeManager;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -26,21 +15,32 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.apiculture.PluginApiculture;
import forestry.apiculture.ModuleApiculture;
import binnie.core.BinnieCore;
import binnie.core.api.gui.IArea;
import binnie.core.api.gui.ITitledWidget;
import binnie.core.api.gui.IWidget;
import binnie.core.gui.Tooltip;
import binnie.core.gui.controls.ControlFluidDisplay;
import binnie.core.gui.controls.ControlText;
import binnie.core.gui.controls.ControlTextCentered;
import binnie.core.gui.controls.core.Control;
import binnie.core.gui.geometry.CraftGUIUtil;
import binnie.core.gui.geometry.Point;
import binnie.core.gui.minecraft.control.ControlItemDisplay;
import binnie.core.util.FluidStackUtil;
import binnie.core.util.ForestryRecipeUtil;
import binnie.core.util.I18N;
import binnie.core.util.TimeUtil;
import binnie.core.util.UniqueItemStackSet;
import binnie.extrabees.ExtraBees;
import binnie.genetics.api.analyst.AnalystConstants;
import binnie.genetics.api.analyst.IAnalystManager;
public class AnalystPageBeeProducts extends Control implements ITitledWidget {
public AnalystPageBeeProducts(IWidget parent, IArea area, IBee ind, IAnalystManager analystManager) {
@@ -150,7 +150,7 @@ public class AnalystPageBeeProducts extends Control implements ITitledWidget {
textWidget.setColor(getColor());
CraftGUIUtil.moveWidget(textWidget, new Point(12, 0));
item.setItemStack(key);
int time = (int) (PluginApiculture.ticksPerBeeWorkCycle * 100.0 / (speed * value));
int time = (int) (ModuleApiculture.ticksPerBeeWorkCycle * 100.0 / (speed * value));
textWidget.setValue(I18N.localise(AnalystConstants.PRODUCTS_KEY + ".every") + " " + TimeUtil.getTimeString(time));
}
@@ -2,6 +2,21 @@ package binnie.extrabees.genetics.gui.analyst;
import java.util.List;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.apiculture.IAlleleBeeEffect;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.genetics.EnumTolerance;
import forestry.api.genetics.IAlleleTolerance;
import forestry.api.genetics.IIndividual;
import forestry.apiculture.ModuleApiculture;
import binnie.core.api.gui.IArea;
import binnie.core.api.gui.ITitledWidget;
import binnie.core.api.gui.IWidget;
@@ -20,18 +35,6 @@ import binnie.genetics.api.analyst.IAnalystPagePlugin;
import binnie.genetics.api.analyst.IBehaviourPlugin;
import binnie.genetics.api.analyst.IBiologyPlugin;
import binnie.genetics.api.analyst.IClimatePlugin;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.apiculture.IAlleleBeeEffect;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.genetics.EnumTolerance;
import forestry.api.genetics.IAlleleTolerance;
import forestry.api.genetics.IIndividual;
import forestry.apiculture.PluginApiculture;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class AnalystPagePlugin implements IAnalystPagePlugin<IBee> {
@Override
@@ -95,7 +98,7 @@ public class AnalystPagePlugin implements IAnalystPagePlugin<IBee> {
.setColor(parent.getColor());
y += 12;
int lifespan = bee.getGenome().getLifespan() * PluginApiculture.ticksPerBeeWorkCycle;
int lifespan = bee.getGenome().getLifespan() * ModuleApiculture.ticksPerBeeWorkCycle;
new ControlTextCentered(parent, y, TextFormatting.BOLD + TimeUtil.getMCDayString(lifespan * (bee.getGenome().getNeverSleeps() ? 1.0f : 2.0f)))
.setColor(parent.getColor());
y += 22;
@@ -113,7 +116,7 @@ public class AnalystPagePlugin implements IAnalystPagePlugin<IBee> {
.setColor(parent.getColor());
y += 20;
new ControlTextCentered(parent, y, I18N.localise(AnalystConstants.BEHAVIOUR_KEY + ".everyTime", TimeUtil.getTimeString(PluginApiculture.ticksPerBeeWorkCycle * 100 / fertility)))
new ControlTextCentered(parent, y, I18N.localise(AnalystConstants.BEHAVIOUR_KEY + ".everyTime", TimeUtil.getTimeString(ModuleApiculture.ticksPerBeeWorkCycle * 100 / fertility)))
.setColor(parent.getColor());
y += 22;
@@ -13,12 +13,10 @@ import net.minecraftforge.fml.common.registry.ForgeRegistries;
import forestry.api.circuits.ICircuitLayout;
import forestry.api.recipes.RecipeManagers;
import forestry.apiculture.PluginApiculture;
import forestry.apiculture.blocks.BlockAlvearyType;
import forestry.core.PluginCore;
import forestry.core.fluids.Fluids;
import binnie.core.Binnie;
import binnie.core.Mods;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.util.RecipeUtil;
import binnie.extrabees.ExtraBees;
@@ -37,7 +35,7 @@ public final class RecipeRegister {
public static void doInitRecipes() {
if (Loader.isModLoaded("ic2")) {
RECIPE_UTIL.addRecipe("honey_crystal", ExtraBees.honeyCrystal.getCharged(0), "#@#", "@#@", "#@#", '@', PluginApiculture.getItems().honeyDrop, '#', EnumHoneyDrop.ENERGY.get(1));
RECIPE_UTIL.addRecipe("honey_crystal", ExtraBees.honeyCrystal.getCharged(0), "#@#", "@#@", "#@#", '@', Mods.Forestry.item("honey_drop"), '#', EnumHoneyDrop.ENERGY.get(1));
}
for (final EnumHoneyComb info : EnumHoneyComb.values()) {
info.addRecipe();
@@ -55,9 +53,9 @@ public final class RecipeRegister {
}
private static void addAlvearyRecipes() {
ItemStack alveary = PluginApiculture.getBlocks().getAlvearyBlock(BlockAlvearyType.PLAIN);
Item thermionicTubes = PluginCore.getItems().tubes;
Item chipsets = PluginCore.getItems().circuitboards;
ItemStack alveary = Mods.Forestry.stack("alveary.plain");
Item thermionicTubes = Mods.Forestry.item("thermionic_tubes");
Item chipsets = Mods.Forestry.item("chipsets");
RECIPE_UTIL.addRecipe("alveary_mutator", getAlvearyPart(EnumAlvearyLogicType.MUTATOR), "g g", " a ", "t t", 'g', Items.GOLD_INGOT, 'a', alveary, 't', new ItemStack(thermionicTubes, 1, 5));
RECIPE_UTIL.addRecipe("alveary_frame", getAlvearyPart(EnumAlvearyLogicType.FRAME), "iii", "tat", " t ", 'i', Items.IRON_INGOT, 'a', alveary, 't', new ItemStack(thermionicTubes, 1, 4));
@@ -131,6 +129,6 @@ public final class RecipeRegister {
} else {
gear = new ItemStack(Blocks.PLANKS, 1);
}
RecipeManagers.carpenterManager.addRecipe(100, Fluids.FOR_HONEY.getFluid(500), ItemStack.EMPTY, ExtraBeeItems.SCENTED_GEAR.get(1), " j ", "bgb", " p ", 'j', PluginApiculture.getItems().royalJelly, 'b', PluginCore.getItems().beeswax, 'p', PluginApiculture.getItems().pollenCluster, 'g', gear);
RecipeManagers.carpenterManager.addRecipe(100, Fluids.FOR_HONEY.getFluid(500), ItemStack.EMPTY, ExtraBeeItems.SCENTED_GEAR.get(1), " j ", "bgb", " p ", 'j', Mods.Forestry.item("royal_jelly"), 'b', Mods.Forestry.item("beeswax"), 'p', Mods.Forestry.item("pollen"), 'g', gear);
}
}
@@ -6,9 +6,9 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.api.core.Tabs;
import forestry.apiculture.PluginApiculture;
import forestry.core.items.IColoredItem;
import binnie.core.Mods;
import binnie.extrabees.ExtraBees;
import binnie.extrabees.items.types.EnumHoneyComb;
@@ -59,7 +59,7 @@ public class ItemHoneyComb extends ItemProduct<EnumHoneyComb> implements IColore
QUARTZ;
public ItemStack get() {
return new ItemStack(PluginApiculture.getItems().beeComb, 1, this.ordinal());
return new ItemStack(Mods.Forestry.item("bee_combs"), 1, this.ordinal());
}
}
@@ -17,8 +17,8 @@ import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.apiculture.IBeeModifier;
import forestry.api.apiculture.IHiveFrame;
import forestry.apiculture.PluginApiculture;
import binnie.core.Mods;
import binnie.core.util.I18N;
import binnie.core.util.RecipeUtil;
import binnie.extrabees.items.ItemHiveFrame;
@@ -99,7 +99,7 @@ public enum EnumHiveFrame implements IHiveFrame, IBeeModifier {
}
public static void init(RecipeUtil recipeUtil) {
ItemStack impregnatedFrame = PluginApiculture.getItems().frameImpregnated.getItemStack();
ItemStack impregnatedFrame = Mods.Forestry.stack("frame_impregnated");
for(EnumHiveFrame frame : values()){
frame.init(recipeUtil, impregnatedFrame);
}
@@ -47,9 +47,11 @@ public enum EnumHoneyDrop implements IEBEnumItem {
private final int secondaryColor;
private final String liquidName;
private ItemStack remnant;
private boolean isActive = true;
EnumHoneyDrop() {
this(16777215, 16777215, "");
isActive = false;
}
EnumHoneyDrop(int primaryColor, int secondaryColor, String liquidName) {
@@ -80,7 +82,7 @@ public enum EnumHoneyDrop implements IEBEnumItem {
@Override
public boolean isActive() {
return !this.remnant.isEmpty() && FluidRegistry.isFluidRegistered(this.getLiquidName());
return FluidRegistry.isFluidRegistered(this.getLiquidName()) || isActive;
}
@Override
@@ -2,9 +2,11 @@ package binnie.extrabees.worldgen;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.state.pattern.BlockStateMatcher;
import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -19,14 +21,29 @@ public class WorldGenHiveRock extends WorldGenHive {
}
@Override
public boolean generate(final World world, final Random random, final BlockPos pos) {
final IBlockState block = world.getBlockState(pos);
if (block.getBlock().isAir(block, world, pos)) {
return false;
public boolean generate(final World world, final Random random, BlockPos pos) {
IBlockState blockState = world.getBlockState(pos);
Block block = blockState.getBlock();
while (block.isReplaceableOreGen(blockState, world, pos, BlockStateMatcher.forBlock(Blocks.STONE)))
{
if (hasAirOnOneSide(world, pos)) {
IBlockState hiveState = ExtraBees.hive.getDefaultState().withProperty(BlockExtraBeeHives.HIVE_TYPE, EnumHiveType.ROCK);
world.setBlockState(pos, hiveState);
return true;
}
pos = pos.down();
blockState = world.getBlockState(pos);
block = blockState.getBlock();
}
if (block.getBlock().isReplaceableOreGen(block, world, pos, BlockStateMatcher.forBlock(Blocks.STONE))) {
world.setBlockState(pos, ExtraBees.hive.getDefaultState().withProperty(BlockExtraBeeHives.HIVE_TYPE, EnumHiveType.ROCK));
return true;
return false;
}
public boolean hasAirOnOneSide(final World world, final BlockPos pos) {
for (EnumFacing facing : EnumFacing.HORIZONTALS) {
BlockPos sidePos = pos.offset(facing);
if (world.isBlockLoaded(sidePos) && world.isAirBlock(sidePos)) {
return true;
}
}
return false;
}
@@ -1,12 +1,5 @@
package binnie.extratrees;
import binnie.core.machines.errors.ErrorStateRegistry;
import binnie.extratrees.genetics.gui.analyst.ButterflyAnalystPagePlugin;
import binnie.extratrees.genetics.gui.analyst.TreeAnalystPagePlugin;
import binnie.extratrees.genetics.gui.analyst.TreeProducePlugin;
import binnie.extratrees.machines.ExtraTreesErrorCode;
import binnie.genetics.api.GeneticsApi;
import binnie.genetics.api.analyst.IAnalystManager;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
@@ -20,14 +13,21 @@ import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.api.genetics.IBreedingSystem;
import binnie.core.gui.IBinnieGUID;
import binnie.core.machines.errors.ErrorStateRegistry;
import binnie.core.modules.BlankModuleContainer;
import binnie.core.network.BinniePacketHandler;
import binnie.core.proxy.IProxyCore;
import binnie.extratrees.config.ConfigurationMain;
import binnie.extratrees.gui.ExtraTreesGUID;
import binnie.extratrees.genetics.MothBreedingSystem;
import binnie.extratrees.genetics.gui.analyst.ButterflyAnalystPagePlugin;
import binnie.extratrees.genetics.gui.analyst.TreeAnalystPagePlugin;
import binnie.extratrees.genetics.gui.analyst.TreeProducePlugin;
import binnie.extratrees.gui.ExtraTreesGUID;
import binnie.extratrees.machines.ExtraTreesErrorCode;
import binnie.extratrees.modules.ModuleWood;
import binnie.extratrees.proxy.Proxy;
import binnie.genetics.api.GeneticsApi;
import binnie.genetics.api.analyst.IAnalystManager;
@Mod(
modid = Constants.EXTRA_TREES_MOD_ID,
@@ -166,7 +166,7 @@ public abstract class BlockETDefaultLeaves extends BlockAbstractLeaves {
public void registerModel(Item item, IModelManager manager) {
for (IBlockState state : blockState.getValidStates()) {
int meta = getMetaFromState(state);
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation("forestry:leaves.default." + blockNumber, "inventory"));
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation("extratrees:leaves.default." + blockNumber, "inventory"));
}
}
@@ -25,7 +25,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.api.arboriculture.EnumLeafType;
import forestry.api.core.Tabs;
import forestry.arboriculture.PluginArboriculture;
import forestry.arboriculture.ModuleArboriculture;
import forestry.core.blocks.IColoredBlock;
public class BlockHedge extends Block implements IBlockFence, IColoredBlock {
@@ -139,7 +139,7 @@ public class BlockHedge extends Block implements IBlockFence, IColoredBlock {
private boolean canConnectTo(IBlockAccess worldIn, BlockPos pos) {
IBlockState state = worldIn.getBlockState(pos);
Block block = state.getBlock();
if (PluginArboriculture.validFences.contains(block)) {
if (ModuleArboriculture.validFences.contains(block)) {
return true;
}
@@ -5,7 +5,7 @@ import java.io.File;
import net.minecraftforge.common.config.Configuration;
import binnie.core.modules.IConfigHandler;
import binnie.core.modules.IModuleContainer;
import binnie.core.modules.ModuleContainer;
public class ConfigurationMain implements IConfigHandler {
public static boolean alterLemon = true;
@@ -13,7 +13,7 @@ public class ConfigurationMain implements IConfigHandler {
private final Configuration config;
public ConfigurationMain(IModuleContainer container) {
public ConfigurationMain(ModuleContainer container) {
this.config = new Configuration(new File(container.getConfigFolder(), "main.cfg"));
}
@@ -44,7 +44,7 @@ import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.IClassification;
import forestry.api.world.ITreeGenData;
import forestry.arboriculture.PluginArboriculture;
import forestry.arboriculture.ModuleArboriculture;
import forestry.arboriculture.genetics.ClimateGrowthProvider;
import forestry.arboriculture.genetics.ITreeDefinition;
import forestry.arboriculture.genetics.Tree;
@@ -2188,13 +2188,13 @@ public enum ETTreeDefinition implements IStringSerializable, ITreeDefinition, IT
@Override
public boolean setLeaves(ITreeGenome genome, World world, @Nullable GameProfile owner, BlockPos pos) {
boolean placed = world.setBlockState(pos, PluginArboriculture.getBlocks().leaves.getDefaultState());
boolean placed = world.setBlockState(pos, ModuleArboriculture.getBlocks().leaves.getDefaultState());
if (!placed) {
return false;
}
Block block = world.getBlockState(pos).getBlock();
if (PluginArboriculture.getBlocks().leaves != block) {
if (ModuleArboriculture.getBlocks().leaves != block) {
world.setBlockToAir(pos);
return false;
}
@@ -1,46 +0,0 @@
package binnie.extratrees.integration.crafttweaker;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Optional;
import binnie.core.Constants;
import binnie.extratrees.integration.crafttweaker.handlers.BreweryRecipeHandler;
import binnie.extratrees.integration.crafttweaker.handlers.DistilleryRecipeHandler;
import binnie.extratrees.integration.crafttweaker.handlers.FruitPressRecipeHandler;
import binnie.extratrees.integration.crafttweaker.handlers.LumbermillRecipeHandler;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.Module;
import crafttweaker.CraftTweakerAPI;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.CRAFT_TWEAKER, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Craft Tweaker", unlocalizedDescription = "extratrees.module.crafttweaker")
public class CraftTweakerModule implements Module {
public static final String MOD_ID = "crafttweaker";
@Override
public void init() {
initCT();
}
@Optional.Method(modid = "crafttweaker")
private void initCT(){
CraftTweakerAPI.registerClass(BreweryRecipeHandler.class);
CraftTweakerAPI.registerClass(DistilleryRecipeHandler.class);
CraftTweakerAPI.registerClass(FruitPressRecipeHandler.class);
CraftTweakerAPI.registerClass(LumbermillRecipeHandler.class);
}
@Override
public boolean isAvailable() {
return Loader.isModLoaded(MOD_ID);
}
@Override
public Set<String> getDependencyUids() {
return ImmutableSet.of(ExtraTreesModuleUIDs.MACHINES);
}
}
@@ -1,9 +1,5 @@
package binnie.extratrees.integration.crafttweaker.handlers;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import crafttweaker.api.liquid.ILiquidStack;
import crafttweaker.api.oredict.IOreDictEntry;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -13,10 +9,16 @@ import binnie.extratrees.integration.crafttweaker.CraftTweakerUtil;
import binnie.extratrees.items.ExtraTreeItems;
import binnie.extratrees.machines.brewery.recipes.BrewedGrainRecipe;
import binnie.extratrees.machines.brewery.recipes.BreweryRecipe;
import crafttweaker.annotations.ZenRegister;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import crafttweaker.api.liquid.ILiquidStack;
import crafttweaker.api.oredict.IOreDictEntry;
import stanhebben.zenscript.annotations.Optional;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ZenRegister
@ZenClass("mods.extratrees.Brewery")
public class BreweryRecipeHandler extends GenericRecipeHandler {
@@ -1,15 +1,17 @@
package binnie.extratrees.integration.crafttweaker.handlers;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.liquid.ILiquidStack;
import net.minecraftforge.fluids.FluidStack;
import binnie.extratrees.api.recipes.ExtraTreesRecipeManager;
import binnie.extratrees.integration.crafttweaker.CraftTweakerUtil;
import binnie.extratrees.machines.distillery.recipes.DistilleryRecipe;
import crafttweaker.annotations.ZenRegister;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.liquid.ILiquidStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ZenRegister
@ZenClass("mods.extratrees.Distillery")
public class DistilleryRecipeHandler extends GenericRecipeHandler {
@@ -1,8 +1,5 @@
package binnie.extratrees.integration.crafttweaker.handlers;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import crafttweaker.api.liquid.ILiquidStack;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -10,9 +7,14 @@ import net.minecraftforge.fluids.FluidStack;
import binnie.extratrees.api.recipes.ExtraTreesRecipeManager;
import binnie.extratrees.integration.crafttweaker.CraftTweakerUtil;
import binnie.extratrees.machines.fruitpress.recipes.FruitPressRecipe;
import crafttweaker.annotations.ZenRegister;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import crafttweaker.api.liquid.ILiquidStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ZenRegister
@ZenClass("mods.extratrees.FruitPress")
public class FruitPressRecipeHandler extends GenericRecipeHandler {
@@ -1,15 +1,17 @@
package binnie.extratrees.integration.crafttweaker.handlers;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import net.minecraft.item.ItemStack;
import binnie.extratrees.api.recipes.ExtraTreesRecipeManager;
import binnie.extratrees.integration.crafttweaker.CraftTweakerUtil;
import binnie.extratrees.machines.lumbermill.recipes.LumbermillRecipe;
import crafttweaker.annotations.ZenRegister;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ZenRegister
@ZenClass("mods.extratrees.Lumbermill")
public class LumbermillRecipeHandler extends GenericRecipeHandler {
@@ -7,7 +7,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.api.arboriculture.IFruitProvider;
import forestry.api.arboriculture.ITreeGenome;
import forestry.arboriculture.PluginArboriculture;
import forestry.arboriculture.ModuleArboriculture;
import forestry.arboriculture.items.ItemBlockLeaves;
import forestry.core.items.IColoredItem;
import forestry.core.items.ItemBlockForestry;
@@ -41,7 +41,7 @@ public class ItemBlockETDecorativeLeaves extends ItemBlockForestry<BlockETDecora
BlockETDecorativeLeaves block = getBlock();
ETTreeDefinition treeDefinition = block.getTreeType(meta);
if (treeDefinition == null) {
return PluginArboriculture.proxy.getFoliageColorBasic();
return ModuleArboriculture.proxy.getFoliageColorBasic();
}
ITreeGenome genome = treeDefinition.getGenome();
@@ -11,6 +11,7 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.ISqueezerRecipe;
import forestry.api.recipes.RecipeManagers;
import forestry.core.fluids.Fluids;
@@ -21,9 +22,8 @@ import binnie.core.Mods;
import binnie.core.liquid.DrinkManager;
import binnie.core.liquid.FluidType;
import binnie.core.liquid.IFluidDefinition;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.util.OreDictionaryUtil;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.alcohol.GlasswareType;
@@ -43,13 +43,17 @@ import binnie.extratrees.liquid.Liqueur;
import binnie.extratrees.liquid.Spirit;
import binnie.extratrees.machines.distillery.DistilleryLogic;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.ALCOHOL, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Alcohol", unlocalizedDescription = "extratrees.module.alcohol")
public class ModuleAlcohol implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.ALCOHOL, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Alcohol", unlocalizedDescription = "extratrees.module.alcohol")
public class ModuleAlcohol extends BlankModule {
@Nullable
public static ItemDrink drink;
@Nullable
public static Block blockDrink;
public ModuleAlcohol() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
drink = new ItemDrink();
@@ -68,7 +72,7 @@ public class ModuleAlcohol implements Module {
}
@Override
public void init() {
public void doInit() {
IBreweryManager breweryManager = ExtraTreesRecipeManager.breweryManager;
IFruitPressManager fruitPressManager = ExtraTreesRecipeManager.fruitPressManager;
@@ -1,28 +1,25 @@
package binnie.extratrees.modules;
import binnie.design.DesignHelper;
import binnie.design.items.ItemDesign;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraftforge.common.MinecraftForge;
import forestry.api.modules.ForestryModule;
import binnie.core.Constants;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.design.DesignHelper;
import binnie.design.api.IDesignSystem;
import binnie.design.blocks.DesignBlock;
import binnie.design.items.ItemDesign;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.api.CarpentryManager;
import binnie.design.api.IDesignSystem;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.Module;
import binnie.extratrees.blocks.BlockCarpentry;
import binnie.extratrees.blocks.BlockCarpentryPanel;
import binnie.extratrees.blocks.BlockStainedDesign;
import binnie.extratrees.carpentry.CarpentryInterface;
import binnie.design.blocks.DesignBlock;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.CARPENTRY, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Carpentry", unlocalizedDescription = "extratrees.module.carpentry")
public class ModuleCarpentry implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.CARPENTRY, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Carpentry", unlocalizedDescription = "extratrees.module.carpentry")
public class ModuleCarpentry extends BlankModule {
static {
CarpentryManager.carpentryInterface = new CarpentryInterface();
@@ -32,6 +29,10 @@ public class ModuleCarpentry implements Module {
public static BlockCarpentry blockPanel;
public static BlockStainedDesign blockStained;
public ModuleCarpentry() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.MACHINES);
}
public static DesignBlock getCarpentryPanel(final IDesignSystem system, final int meta) {
final DesignBlock block = DesignHelper.getDesignBlock(system, meta);
block.setPanel();
@@ -49,9 +50,4 @@ public class ModuleCarpentry implements Module {
MinecraftForge.EVENT_BUS.register(blockCarpentry);
}
@Override
public Set<String> getDependencyUids() {
return ImmutableSet.of(ExtraTreesModuleUIDs.MACHINES);
}
}
@@ -1,9 +1,14 @@
package binnie.extratrees.modules;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.FluidStack;
@@ -15,6 +20,7 @@ import net.minecraftforge.fml.common.registry.VillagerRegistry;
import forestry.api.core.Tabs;
import forestry.api.fuels.EngineBronzeFuel;
import forestry.api.fuels.FuelManager;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.ICarpenterManager;
import forestry.api.recipes.IStillManager;
import forestry.api.recipes.RecipeManagers;
@@ -24,9 +30,8 @@ import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.item.ItemMisc;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.util.RecipeUtil;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.blocks.BlockHops;
@@ -39,8 +44,8 @@ import binnie.extratrees.items.ItemHammer;
import binnie.extratrees.items.ItemHops;
import binnie.extratrees.village.VillageCreationExtraTrees;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.CORE, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, coreModule = true, name = "Core", unlocalizedDescription = "extratrees.module.core")
public class ModuleCore implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.CORE, containerID = Constants.EXTRA_TREES_MOD_ID, coreModule = true, name = "Core", unlocalizedDescription = "extratrees.module.core")
public class ModuleCore extends BlankModule {
public static ItemMisc itemMisc;
public static Item itemFood;
public static Item itemHammer;
@@ -49,6 +54,15 @@ public class ModuleCore implements Module {
public static BlockHops hops;
public ModuleCore() {
super("forestry", "core");
}
@Override
public Set<ResourceLocation> getDependencyUids() {
return ImmutableSet.of(new ResourceLocation("forestry", "arboriculture"));
}
@Override
public void registerItemsAndBlocks() {
itemMisc = new ItemMisc(Tabs.tabArboriculture, ExtraTreeItems.values());
@@ -91,7 +105,7 @@ public class ModuleCore implements Module {
}
@Override
public void init() {
public void doInit() {
if(ConfigurationMain.hopeField) {
VillageCreationExtraTrees villageHandler = new VillageCreationExtraTrees();
VillagerRegistry villagerRegistry = VillagerRegistry.instance();
@@ -3,16 +3,21 @@ package binnie.extratrees.modules;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import binnie.core.Constants;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.Module;
import forestry.api.modules.ForestryModule;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.KITCHEN, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Kitchen", unlocalizedDescription = "extratrees.module.kitchen")
public class ModuleKitchen implements Module {
import binnie.core.Constants;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
@ForestryModule(moduleID = ExtraTreesModuleUIDs.KITCHEN, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Kitchen", unlocalizedDescription = "extratrees.module.kitchen")
public class ModuleKitchen extends BlankModule {
public static Block blockKitchen = Blocks.AIR;
public ModuleKitchen() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
// TODO implement kitchen
@@ -5,11 +5,15 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import forestry.api.core.Tabs;
import forestry.api.modules.ForestryModule;
import binnie.core.Constants;
import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.Mods;
import binnie.core.machines.MachineGroup;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.ModuleManager;
import binnie.core.util.RecipeUtil;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.api.recipes.ExtraTreesRecipeManager;
@@ -20,16 +24,16 @@ import binnie.extratrees.machines.distillery.recipes.DistilleryRecipeManager;
import binnie.extratrees.machines.fruitpress.recipes.FruitPressRecipeManager;
import binnie.extratrees.machines.lumbermill.recipes.LumbermillRecipeManager;
import binnie.extratrees.machines.nursery.TileEntityNursery;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.Module;
import binnie.core.modules.ModuleManager;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.MACHINES, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Machines", unlocalizedDescription = "extratrees.module.machines")
public class ModuleMachine implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.MACHINES, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Machines", unlocalizedDescription = "extratrees.module.machines")
public class ModuleMachine extends BlankModule {
public static Block blockMachine;
public ModuleMachine() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
@Override
public void setupAPI() {
ExtraTreesRecipeManager.breweryManager = new BreweryRecipeManager();
@@ -49,7 +53,7 @@ public class ModuleMachine implements Module {
}
@Override
public void init() {
public void doInit() {
RecipeUtil recipeUtil = new RecipeUtil(Constants.EXTRA_TREES_MOD_ID);
recipeUtil.addRecipe("lumbermill", ExtraTreeMachine.Lumbermill.get(1), "gAg", "GsG", "gPg", 'G', Blocks.GLASS, 'g', ExtraTreeItems.PROVEN_GEAR.get(1), 'A', Items.IRON_AXE, 's', Mods.Forestry.stack("sturdy_machine"), 'P', "gearBronze");
recipeUtil.addRecipe("press", ExtraTreeMachine.Press.get(1), "iGi", "tSt", "tPt", 'i', "ingotIron", 'G', Blocks.GLASS, 't', "ingotTin", 'S', Mods.Forestry.stack("sturdy_machine"), 'P', "gearBronze");
@@ -1,30 +1,38 @@
package binnie.extratrees.modules;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.oredict.OreDictionary;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.ICarpenterManager;
import forestry.api.recipes.RecipeManagers;
import binnie.core.Binnie;
import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.Module;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.items.ItemMothDatabase;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.MOTH_DATABASE, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Database", unlocalizedDescription = "extratrees.module.database.moth")
public class ModuleMothDatabase implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.MOTH_DATABASE, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Database", unlocalizedDescription = "extratrees.module.database.moth")
public class ModuleMothDatabase extends BlankModule {
public static Item itemDictionaryLepi;
public ModuleMothDatabase() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
itemDictionaryLepi = new ItemMothDatabase();
@@ -33,14 +41,14 @@ public class ModuleMothDatabase implements Module {
}
@Override
public void init() {
public void doInit() {
ICarpenterManager carpenterManager = RecipeManagers.carpenterManager;
carpenterManager.addRecipe(100, Binnie.LIQUID.getFluidStack(ManagerLiquid.WATER, 2000), ItemStack.EMPTY, new ItemStack(itemDictionaryLepi), "X#X", "YEY", "RDR", '#', Blocks.GLASS_PANE, 'X', Items.GOLD_INGOT, 'Y', "ingotBronze", 'R', Items.REDSTONE, 'D', Items.DIAMOND, 'E', Items.EMERALD);
}
@Override
public boolean isAvailable() {
return BinnieCore.isLepidopteryActive();
public Set<ResourceLocation> getDependencyUids() {
return ImmutableSet.of(new ResourceLocation(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE), new ResourceLocation("forestry", "lepidopterology"));
}
}
@@ -7,22 +7,26 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.ICarpenterManager;
import forestry.api.recipes.RecipeManagers;
import binnie.core.Binnie;
import binnie.core.Constants;
import binnie.core.liquid.ManagerLiquid;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.Module;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.items.ItemArboristDatabase;
@BinnieModule(moduleID = ExtraTreesModuleUIDs.TREE_DATABASE, moduleContainerID = Constants.EXTRA_TREES_MOD_ID, name = "Database", unlocalizedDescription = "extratrees.module.database.tree")
public class ModuleTreeDatabase implements Module {
@ForestryModule(moduleID = ExtraTreesModuleUIDs.TREE_DATABASE, containerID = Constants.EXTRA_TREES_MOD_ID, name = "Database", unlocalizedDescription = "extratrees.module.database.tree")
public class ModuleTreeDatabase extends BlankModule {
public static Item itemDictionary;
public ModuleTreeDatabase() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
@Override
public void registerItemsAndBlocks() {
itemDictionary = new ItemArboristDatabase();
@@ -31,7 +35,7 @@ public class ModuleTreeDatabase implements Module {
}
@Override
public void init() {
public void doInit() {
ICarpenterManager carpenterManager = RecipeManagers.carpenterManager;
carpenterManager.addRecipe(100, Binnie.LIQUID.getFluidStack(ManagerLiquid.WATER, 2000), ItemStack.EMPTY, new ItemStack(ModuleTreeDatabase.itemDictionary), "X#X", "YEY", "RDR", '#', Blocks.GLASS_PANE, 'X', Items.GOLD_INGOT, 'Y', "ingotCopper", 'R', Items.REDSTONE, 'D', Items.DIAMOND, 'E', Items.EMERALD);
}
@@ -40,20 +40,20 @@ import forestry.api.arboriculture.IWoodAccess;
import forestry.api.arboriculture.IWoodType;
import forestry.api.arboriculture.TreeManager;
import forestry.api.arboriculture.WoodBlockKind;
import forestry.api.core.ForestryAPI;
import forestry.api.genetics.AlleleRegisterEvent;
import forestry.api.genetics.AlleleSpeciesRegisterEvent;
import forestry.api.lepidopterology.IButterflyRoot;
import forestry.api.modules.ForestryModule;
import forestry.api.recipes.RecipeManagers;
import forestry.arboriculture.IWoodTyped;
import forestry.arboriculture.PluginArboriculture;
import forestry.arboriculture.ModuleArboriculture;
import forestry.arboriculture.WoodAccess;
import forestry.arboriculture.blocks.BlockForestryFenceGate;
import forestry.arboriculture.blocks.BlockForestryStairs;
import forestry.arboriculture.items.ItemBlockLeaves;
import forestry.core.fluids.Fluids;
import forestry.core.utils.OreDictUtil;
import forestry.plugins.ForestryPluginUids;
import forestry.modules.ForestryModuleUids;
import binnie.core.BinnieCore;
import binnie.core.Constants;
@@ -61,9 +61,10 @@ import binnie.core.Mods;
import binnie.core.block.ItemMetadata;
import binnie.core.liquid.ILiquidDefinition;
import binnie.core.models.DoublePassBakedModel;
import binnie.core.modules.BinnieModule;
import binnie.core.modules.BlankModule;
import binnie.core.modules.ExtraTreesModuleUIDs;
import binnie.core.modules.Module;
import binnie.core.modules.ModuleManager;
import binnie.core.util.ModuleUtils;
import binnie.core.util.RecipeUtil;
import binnie.extratrees.ExtraTrees;
import binnie.extratrees.api.CarpentryManager;
@@ -98,13 +99,13 @@ import binnie.extratrees.wood.planks.ForestryPlanks;
import binnie.extratrees.wood.planks.IPlankType;
import binnie.extratrees.wood.planks.VanillaPlanks;
@BinnieModule(
@ForestryModule(
moduleID = ExtraTreesModuleUIDs.WOOD,
moduleContainerID = Constants.EXTRA_TREES_MOD_ID,
containerID = Constants.EXTRA_TREES_MOD_ID,
name = "Wood",
unlocalizedDescription = "extratrees.module.wood"
)
public class ModuleWood implements Module {
public class ModuleWood extends BlankModule {
public static List<BlockETLog> logs = new ArrayList<>();
public static List<BlockETLog> logsFireproof = new ArrayList<>();
public static List<BlockETPlank> planks = new ArrayList<>();
@@ -128,6 +129,10 @@ public class ModuleWood implements Module {
@Nullable
public static BlockShrubLog shrubLog;
public ModuleWood() {
super(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.CORE);
}
private static void registerOreDictWildcard(String oreDictName, Block block) {
OreDictionary.registerOre(oreDictName, new ItemStack(block, 1, OreDictionary.WILDCARD_VALUE));
}
@@ -291,7 +296,7 @@ public class ModuleWood implements Module {
ExtraTrees.proxy.registerBlock(blockMultiFence, new ItemMetadata(blockMultiFence));
leavesDefault = BlockETDefaultLeaves.create();
Map speciesToLeavesDefault = PluginArboriculture.getBlocks().speciesToLeavesDefault;
Map speciesToLeavesDefault = ModuleArboriculture.getBlocks().speciesToLeavesDefault;
for (BlockETDefaultLeaves leaves : leavesDefault) {
ExtraTrees.proxy.registerBlock(leaves, new ItemBlockLeaves(leaves));
registerOreDictWildcard(OreDictUtil.TREE_LEAVES, leaves);
@@ -352,13 +357,13 @@ public class ModuleWood implements Module {
IWoodType woodType = woodTyped.getWoodType(0);
ItemStack itemStack = new ItemStack(woodTyped);
if (!(woodType instanceof EnumVanillaWoodType)) {
PluginArboriculture.proxy.registerWoodModel(woodTyped, false);
ModuleArboriculture.proxy.registerWoodModel(woodTyped, false);
}
woodAccess.register(woodType, woodBlockKind, fireproof, blockState, itemStack);
}
@Override
public void init() {
public void doInit() {
AlleleETFruitDefinition.init();
ETTreeDefinition.initTrees();
ExtraTreeMutation.init();
@@ -385,8 +390,7 @@ public class ModuleWood implements Module {
fireproofPlanks.setCount(4);
recipeUtil.addShapelessRecipe(log.getUid() + "_fireproof_planks", fireproofPlanks.copy(), fireproofLogs);
if (ForestryAPI.enabledPlugins.containsAll(Arrays.asList(ForestryPluginUids.FACTORY, ForestryPluginUids.APICULTURE))) {
if (ModuleUtils.isModuleActive(ForestryModuleUids.FACTORY, ForestryModuleUids.APICULTURE)) {
logs.setCount(1);
fireproofLogs.setCount(1);
@@ -448,7 +452,7 @@ public class ModuleWood implements Module {
}
}
// Fabricator recipes
if (ForestryAPI.enabledPlugins.containsAll(Arrays.asList(ForestryPluginUids.FACTORY, ForestryPluginUids.APICULTURE))) {
if (ModuleUtils.isModuleActive(ForestryModuleUids.FACTORY, ForestryModuleUids.APICULTURE)) {
ItemStack planks = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.PLANKS, false);
ItemStack fireproofPlanks = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.PLANKS, true);
planks.setCount(1);
@@ -491,6 +495,9 @@ public class ModuleWood implements Module {
@SubscribeEvent
public static void onRegisterAllele(AlleleRegisterEvent<IAlleleFruit> event) {
if(!ModuleManager.isModuleEnabled(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.WOOD)){
return;
}
if (event.getAlleleClass() == IAlleleFruit.class) {
AlleleETFruitDefinition.preInit();
}
@@ -498,6 +505,9 @@ public class ModuleWood implements Module {
@SubscribeEvent
public static void speciesRegister(AlleleSpeciesRegisterEvent event) {
if(!ModuleManager.isModuleEnabled(Constants.EXTRA_TREES_MOD_ID, ExtraTreesModuleUIDs.WOOD)){
return;
}
if (event.getRoot() instanceof ITreeRoot) {
ETTreeDefinition.preInitTrees();
ExtraTreePlanks.initWoodTypes();
@@ -12,17 +12,17 @@ import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import forestry.arboriculture.PluginArboriculture;
import forestry.arboriculture.ModuleArboriculture;
import forestry.core.models.BlockModelEntry;
import binnie.core.Constants;
import binnie.core.models.ModelManager;
import binnie.extratrees.blocks.BlockETDecorativeLeaves;
import binnie.extratrees.blocks.BlockETDefaultLeaves;
import binnie.extratrees.modules.ModuleWood;
import binnie.extratrees.blocks.wood.BlockETSlab;
import binnie.extratrees.models.ModelDefaultETLeaves;
import binnie.extratrees.models.ModelETDecorativeLeaves;
import binnie.extratrees.modules.ModuleWood;
@SideOnly(Side.CLIENT)
public class ProxyClient extends Proxy implements IExtraTreeProxy {
@@ -81,10 +81,10 @@ public class ProxyClient extends Proxy implements IExtraTreeProxy {
}
for (BlockETSlab slab : ModuleWood.slabsDouble) {
PluginArboriculture.proxy.registerWoodModel(slab, true);
ModuleArboriculture.proxy.registerWoodModel(slab, true);
}
for (BlockETSlab slab : ModuleWood.slabsDoubleFireproof) {
PluginArboriculture.proxy.registerWoodModel(slab, true);
ModuleArboriculture.proxy.registerWoodModel(slab, true);
}
modelManager.registerModels();
}
@@ -1,17 +1,5 @@
package binnie.genetics;
import binnie.core.machines.errors.ErrorStateRegistry;
import binnie.genetics.api.GeneticsApi;
import binnie.genetics.api.acclimatiser.IAcclimatiserManager;
import binnie.genetics.api.analyst.IAnalystManager;
import binnie.genetics.core.GeneticsTexture;
import binnie.genetics.genetics.TreeBreedingSystem;
import binnie.genetics.gui.Icons;
import binnie.genetics.gui.analyst.AnalystManager;
import binnie.genetics.gui.analyst.GeneticsProducePlugin;
import binnie.genetics.machine.GeneticsErrorCode;
import binnie.genetics.machine.acclimatiser.AcclimatiserManager;
import binnie.genetics.machine.sequencer.Sequencer;
import com.google.common.base.Preconditions;
import javax.annotation.Nullable;
@@ -22,19 +10,31 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import binnie.core.Binnie;
import binnie.core.Constants;
import binnie.core.AbstractMod;
import binnie.core.Binnie;
import binnie.core.BinnieCore;
import binnie.core.Constants;
import binnie.core.gui.IBinnieGUID;
import binnie.core.machines.errors.ErrorStateRegistry;
import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.IProxyCore;
import binnie.genetics.api.GeneticsApi;
import binnie.genetics.api.acclimatiser.IAcclimatiserManager;
import binnie.genetics.api.analyst.IAnalystManager;
import binnie.genetics.core.GeneticsGUI;
import binnie.genetics.core.GeneticsPacket;
import binnie.genetics.core.GeneticsTexture;
import binnie.genetics.genetics.TreeBreedingSystem;
import binnie.genetics.gui.Icons;
import binnie.genetics.gui.analyst.AnalystManager;
import binnie.genetics.gui.analyst.GeneticsProducePlugin;
import binnie.genetics.item.ItemPunnettSquare;
import binnie.genetics.item.ModuleItems;
import binnie.genetics.machine.GeneticsErrorCode;
import binnie.genetics.machine.ModuleMachine;
import binnie.genetics.machine.acclimatiser.AcclimatiserManager;
import binnie.genetics.machine.sequencer.Sequencer;
import binnie.genetics.proxy.Proxy;
@Mod(
@@ -1,5 +1,7 @@
package binnie.genetics.machine.acclimatiser;
import com.google.common.base.Preconditions;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
@@ -7,7 +9,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import binnie.genetics.api.acclimatiser.IToleranceType;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@@ -24,6 +25,7 @@ import forestry.api.lepidopterology.EnumButterflyChromosome;
import binnie.core.BinnieCore;
import binnie.core.genetics.Tolerance;
import binnie.core.liquid.FluidContainerType;
import binnie.genetics.api.acclimatiser.IToleranceType;
public class Acclimatiser {
public static final int[] SLOT_RESERVE = new int[]{0, 1, 2, 3};
@@ -49,6 +51,8 @@ public class Acclimatiser {
}
public static void addTolerance(IChromosomeType chromosome, IToleranceType type) {
Preconditions.checkNotNull(chromosome, "chromosome must not be null");
Preconditions.checkNotNull(type, "type must not be null");
Acclimatiser.toleranceSystems.add(new ToleranceSystem(chromosome, type));
Acclimatiser.toleranceTypes.add(type);
}
+2 -2
View File
@@ -8,12 +8,12 @@ forgeversion=14.23.0.2501
mcp_mappings=snapshot_20170918
curse_project_id=223525
forestry_version=5.6.0.199
forestry_version=5.7.0.209
forestry_mcversion=1.12.2
ic2_version=2.8.17-ex112
version_major=2
version_minor=4
version_minor=5
version_patch=0
jei_version=4.8.0.103