mirror of
https://github.com/GTNewHorizons/Binnie.git
synced 2026-11-14 17:24:53 +00:00
Compare commits
14
Commits
yeet-itemparse
...
2.5.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4000763323 | ||
|
|
59e98dd290 | ||
|
|
c1ec3e5c8e | ||
|
|
ac4b21b05e | ||
|
|
0e0ded5cc0 | ||
|
|
a1f54e7500 | ||
|
|
5f1b5daa24 | ||
|
|
8d0fa2ebb5 | ||
|
|
0db05cb60c | ||
|
|
0265d70a53 | ||
|
|
32b7efcd15 | ||
|
|
7059206cb0 | ||
|
|
54c702e935 | ||
|
|
a3aa358627 |
No files matched your search
+6
-6
@@ -1,12 +1,12 @@
|
||||
// Add your dependencies here
|
||||
|
||||
dependencies {
|
||||
api('com.github.GTNewHorizons:ForestryMC:4.9.16:dev')
|
||||
implementation('com.github.GTNewHorizons:GTNHLib:0.5.11:dev')
|
||||
api('com.github.GTNewHorizons:ForestryMC:4.10.7:dev')
|
||||
implementation('com.github.GTNewHorizons:GTNHLib:0.6.21:dev')
|
||||
|
||||
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.6.38-GTNH:dev')
|
||||
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.40-GTNH:dev')
|
||||
|
||||
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.39:api')
|
||||
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
|
||||
compileOnly("curse.maven:extrabiomesxl-60041:2273301")
|
||||
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.42:api')
|
||||
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
|
||||
compileOnly("curse.maven:extrabiomesxl-60041:2273301")
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@ modId = BinnieCore
|
||||
modGroup = binnie
|
||||
|
||||
# Whether to use modGroup as the maven publishing group.
|
||||
# Due to a history of using JitPack, the default is com.github.GTNewHorizons for all mods.
|
||||
# When false, com.github.GTNewHorizons is used.
|
||||
useModGroupForPublishing = false
|
||||
|
||||
# Updates your build.gradle and settings.gradle automatically whenever an update is available.
|
||||
|
||||
Vendored
BIN
Binary file not shown.
+1
-1
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -86,8 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
||||
' "$PWD" ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -206,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
+1
-1
@@ -17,5 +17,5 @@ pluginManagement {
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.27'
|
||||
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.38'
|
||||
}
|
||||
@@ -8,14 +8,12 @@ import binnie.core.genetics.ManagerGenetics;
|
||||
import binnie.core.item.ManagerItem;
|
||||
import binnie.core.liquid.ManagerLiquid;
|
||||
import binnie.core.machines.ManagerMachine;
|
||||
import binnie.core.mod.config.ManagerConfig;
|
||||
import binnie.core.resource.ManagerResource;
|
||||
|
||||
public final class Binnie {
|
||||
|
||||
public static List<ManagerBase> Managers = new ArrayList<>();
|
||||
public static ManagerGenetics Genetics = new ManagerGenetics();
|
||||
public static ManagerConfig Configuration = new ManagerConfig();
|
||||
public static ManagerLiquid Liquid = new ManagerLiquid();
|
||||
public static ManagerMachine Machine = new ManagerMachine();
|
||||
public static ManagerItem Item = new ManagerItem();
|
||||
|
||||
@@ -303,11 +303,6 @@ public class Botany extends AbstractMod {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return BinnieCore.isBotanyActive();
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void onIMC(FMLInterModComms.IMCEvent event) {
|
||||
for (FMLInterModComms.IMCMessage message : event.getMessages()) {
|
||||
|
||||
@@ -34,6 +34,7 @@ public class BlockStained extends Block implements IBlockMetadata {
|
||||
|
||||
public BlockStained() {
|
||||
super(Material.glass);
|
||||
setHardness(0.3f);
|
||||
setCreativeTab(CreativeTabBotany.instance);
|
||||
setBlockName("stained");
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import java.util.List;
|
||||
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
import binnie.Binnie;
|
||||
import binnie.core.gui.IBinnieGUID;
|
||||
import binnie.core.mod.parser.FieldParser;
|
||||
import binnie.core.network.BinniePacketHandler;
|
||||
@@ -33,7 +32,9 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
public abstract boolean isActive();
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract String getChannel();
|
||||
@@ -47,10 +48,6 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
|
||||
return new IBinnieGUID[0];
|
||||
}
|
||||
|
||||
public Class<?>[] getConfigs() {
|
||||
return new Class[0];
|
||||
}
|
||||
|
||||
public abstract IProxyCore getProxy();
|
||||
|
||||
public abstract String getModID();
|
||||
@@ -67,12 +64,6 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable {
|
||||
return;
|
||||
}
|
||||
|
||||
if (getConfigs() != null) {
|
||||
for (Class<?> cls : getConfigs()) {
|
||||
Binnie.Configuration.registerConfiguration(cls, this);
|
||||
}
|
||||
}
|
||||
|
||||
getProxy().preInit();
|
||||
for (IInitializable module : modules) {
|
||||
module.preInit();
|
||||
|
||||
@@ -22,8 +22,6 @@ import binnie.core.liquid.FluidContainer;
|
||||
import binnie.core.liquid.ItemFluidContainer;
|
||||
import binnie.core.machines.MachineGroup;
|
||||
import binnie.core.machines.storage.ModuleStorage;
|
||||
import binnie.core.mod.config.ConfigurationMain;
|
||||
import binnie.core.mod.config.ConfigurationMods;
|
||||
import binnie.core.mod.parser.FieldParser;
|
||||
import binnie.core.mod.parser.ItemParser;
|
||||
import binnie.core.network.BinnieCorePacketID;
|
||||
@@ -49,13 +47,16 @@ import forestry.api.core.ForestryEvent;
|
||||
import forestry.plugins.PluginManager;
|
||||
|
||||
@Mod(
|
||||
modid = "BinnieCore",
|
||||
name = "Binnie Core",
|
||||
modid = BinnieCore.CORE_MODID,
|
||||
name = BinnieCore.CORE_MOD_NAME,
|
||||
version = Tags.VERSION,
|
||||
useMetadata = true,
|
||||
dependencies = "after:Forestry@[4.2,),required-after:gtnhlib@[0.0.10,)")
|
||||
public class BinnieCore extends AbstractMod {
|
||||
|
||||
public static final String CORE_MODID = "BinnieCore";
|
||||
public static final String CORE_MOD_NAME = "Binnie Core";
|
||||
|
||||
@Mod.Instance("BinnieCore")
|
||||
public static BinnieCore instance;
|
||||
|
||||
@@ -70,7 +71,6 @@ public class BinnieCore extends AbstractMod {
|
||||
|
||||
@Mod.EventHandler
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
Binnie.Configuration.registerConfiguration(ConfigurationMods.class, this);
|
||||
for (ManagerBase baseManager : Binnie.Managers) {
|
||||
addModule(baseManager);
|
||||
}
|
||||
@@ -134,20 +134,12 @@ public class BinnieCore extends AbstractMod {
|
||||
return PluginManager.Module.ARBORICULTURE.isEnabled();
|
||||
}
|
||||
|
||||
public static boolean isBotanyActive() {
|
||||
return ConfigurationMods.botany;
|
||||
}
|
||||
|
||||
public static boolean isGeneticsActive() {
|
||||
return ConfigurationMods.genetics;
|
||||
}
|
||||
|
||||
public static boolean isExtraBeesActive() {
|
||||
return ConfigurationMods.extraBees && isApicultureActive();
|
||||
return isApicultureActive();
|
||||
}
|
||||
|
||||
public static boolean isExtraTreesActive() {
|
||||
return ConfigurationMods.extraTrees && isArboricultureActive();
|
||||
return isArboricultureActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -215,11 +207,6 @@ public class BinnieCore extends AbstractMod {
|
||||
Binnie.Resource.registerIcons(event.map, event.map.getTextureType());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?>[] getConfigs() {
|
||||
return new Class[] { ConfigurationMain.class };
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<? extends BinniePacketHandler> getPacketHandler() {
|
||||
return PacketHandler.class;
|
||||
|
||||
@@ -14,6 +14,7 @@ public class Mods {
|
||||
public static final Mod botania = new Mod("Botania");
|
||||
public static final Mod extraBiomes = new Mod("ExtrabiomesXL");
|
||||
public static final Mod dreamcraft = new Mod("dreamcraft");
|
||||
public static final Mod buildcraftCore = new Mod("BuildCraft|Core");
|
||||
|
||||
private static Item findItem(String modId, String name) {
|
||||
Item stack = GameRegistry.findItem(modId, name);
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package binnie.core.craftgui.minecraft.control;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import binnie.core.craftgui.CraftGUI;
|
||||
@@ -17,8 +15,6 @@ import binnie.core.craftgui.minecraft.MinecraftTooltip;
|
||||
import binnie.core.craftgui.minecraft.Window;
|
||||
import binnie.core.craftgui.resource.minecraft.CraftGUITexture;
|
||||
import binnie.core.machines.Machine;
|
||||
import binnie.core.machines.TileEntityMachine;
|
||||
import binnie.core.machines.power.IPoweredMachine;
|
||||
import binnie.core.machines.power.IProcess;
|
||||
import binnie.core.util.I18N;
|
||||
|
||||
@@ -34,17 +30,6 @@ public class ControlEnergyBar extends Control implements ITooltip {
|
||||
addAttribute(WidgetAttribute.MOUSE_OVER);
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public IPoweredMachine getClientPower() {
|
||||
IInventory inventory = Window.get(this).getInventory();
|
||||
TileEntityMachine machine = (inventory instanceof TileEntityMachine) ? (TileEntityMachine) inventory : null;
|
||||
if (machine == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return machine.getMachine().getInterface(IPoweredMachine.class);
|
||||
}
|
||||
|
||||
public float getPercentage() {
|
||||
float percentage = 100.0f * getStoredEnergy() / getMaxEnergy();
|
||||
if (percentage > 100.0f) {
|
||||
|
||||
@@ -58,9 +58,8 @@ public class ManagerGenetics extends ManagerBase {
|
||||
if (BinnieCore.isLepidopteryActive()) {
|
||||
mothBreedingSystem = new MothBreedingSystem();
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
flowerBreedingSystem = new FlowerBreedingSystem();
|
||||
}
|
||||
|
||||
flowerBreedingSystem = new FlowerBreedingSystem();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -51,7 +51,7 @@ public class ModuleItems implements IInitializable {
|
||||
|
||||
@SubscribeEvent
|
||||
public void onUseFieldKit(PlayerInteractEvent event) {
|
||||
if (!BinnieCore.isBotanyActive() || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
|
||||
if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,4 @@ import binnie.core.network.IOrdinaled;
|
||||
public interface IMachineType extends IOrdinaled {
|
||||
|
||||
Class<? extends MachinePackage> getPackageClass();
|
||||
|
||||
boolean isActive();
|
||||
}
|
||||
@@ -31,14 +31,14 @@ public class MachineGroup {
|
||||
this.blockName = blockName;
|
||||
|
||||
for (IMachineType type : types) {
|
||||
if (type.getPackageClass() != null && type.isActive()) {
|
||||
if (type.getPackageClass() != null) {
|
||||
try {
|
||||
MachinePackage pack = type.getPackageClass().newInstance();
|
||||
pack.assignMetadata(type.ordinal());
|
||||
pack.setActive(type.isActive());
|
||||
pack.setActive(true);
|
||||
addPackage(pack);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to create machine package " + type.toString(), e);
|
||||
throw new RuntimeException("Failed to create machine package " + type, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,233 +0,0 @@
|
||||
package binnie.core.machines.inventory;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidTank;
|
||||
|
||||
import binnie.core.machines.Machine;
|
||||
import binnie.core.machines.power.ITankMachine;
|
||||
|
||||
// TODO unused class?
|
||||
public class TransferHandler {
|
||||
|
||||
public static ItemStack transfer(ItemStack item, IInventory origin, IInventory destination, boolean doAdd) {
|
||||
ItemStack ret = transferItemToInventory(item, destination, doAdd);
|
||||
if (destination instanceof ITankMachine) {
|
||||
ret = transferContainerIntoTank(ret, origin, (ITankMachine) destination, doAdd);
|
||||
ret = transferTankIntoContainer(ret, origin, (ITankMachine) destination, doAdd);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static ItemStack transferItemToInventory(ItemStack item, IInventory destination, boolean doAdd) {
|
||||
if (item == null || destination == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
ItemStack addition = item.copy();
|
||||
for (int i = 0; i < destination.getSizeInventory(); ++i) {
|
||||
addition = transferToInventory(addition, destination, new int[] { i }, doAdd, false);
|
||||
if (addition == null) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return addition;
|
||||
}
|
||||
|
||||
public static ItemStack transferToInventory(ItemStack item, IInventory destination, int[] targetSlots,
|
||||
boolean doAdd, boolean ignoreValidation) {
|
||||
for (int i : targetSlots) {
|
||||
if (destination.isItemValidForSlot(i, item) || ignoreValidation) {
|
||||
if (destination.getStackInSlot(i) == null) {
|
||||
if (doAdd) {
|
||||
destination.setInventorySlotContents(i, item.copy());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
if (item.isStackable()) {
|
||||
ItemStack merged = destination.getStackInSlot(i).copy();
|
||||
ItemStack[] newStacks = mergeStacks(item.copy(), merged.copy());
|
||||
item = newStacks[0];
|
||||
if (doAdd) {
|
||||
destination.setInventorySlotContents(i, newStacks[1]);
|
||||
}
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack[] mergeStacks(ItemStack itemstack, ItemStack merged) {
|
||||
if (ItemStack.areItemStackTagsEqual(itemstack, merged) && itemstack.isItemEqual(merged)) {
|
||||
int space = merged.getMaxStackSize() - merged.stackSize;
|
||||
if (space > 0) {
|
||||
if (itemstack.stackSize > space) {
|
||||
itemstack.stackSize -= space;
|
||||
merged.stackSize += space;
|
||||
} else {
|
||||
merged.stackSize += itemstack.stackSize;
|
||||
itemstack = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ItemStack[] { itemstack, merged };
|
||||
}
|
||||
|
||||
public static ItemStack transferContainerIntoTank(ItemStack item, IInventory origin, ITankMachine destination,
|
||||
boolean doAdd) {
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
IFluidTank[] tanks = destination.getTanks();
|
||||
ItemStack stack = item.copy();
|
||||
for (int i = 0; i < tanks.length; ++i) {
|
||||
stack = transferToTank(stack, origin, destination, i, doAdd);
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static ItemStack transferTankIntoContainer(ItemStack item, IInventory origin, ITankMachine destination,
|
||||
boolean doAdd) {
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
IFluidTank[] tanks = destination.getTanks();
|
||||
ItemStack stack = item.copy();
|
||||
for (int i = 0; i < tanks.length; ++i) {
|
||||
stack = transferFromTank(stack, origin, destination, i, doAdd);
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static ItemStack transferToTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID,
|
||||
boolean doAdd) {
|
||||
if (item == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
FluidStack containerLiquid = null;
|
||||
FluidContainerRegistry.FluidContainerData containerLiquidData = null;
|
||||
for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry
|
||||
.getRegisteredFluidContainerData()) {
|
||||
if (data.filledContainer.isItemEqual(item)) {
|
||||
containerLiquidData = data;
|
||||
containerLiquid = data.fluid.copy();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (containerLiquid == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
IFluidTank tank = destination.getTanks()[tankID];
|
||||
IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination);
|
||||
if (validated != null && !validated.isLiquidValidForTank(containerLiquid, tankID)) {
|
||||
return item;
|
||||
}
|
||||
|
||||
FluidStack largeAmountOfLiquid = containerLiquid.copy();
|
||||
largeAmountOfLiquid.amount = tank.getCapacity();
|
||||
int amountAdded = tank.fill(largeAmountOfLiquid, false);
|
||||
int numberOfContainersToAdd = amountAdded / containerLiquid.amount;
|
||||
if (numberOfContainersToAdd > item.stackSize) {
|
||||
numberOfContainersToAdd = item.stackSize;
|
||||
}
|
||||
|
||||
ItemStack copy;
|
||||
ItemStack leftOverContainers = copy = item.copy();
|
||||
copy.stackSize -= numberOfContainersToAdd;
|
||||
if (leftOverContainers.stackSize <= 0) {
|
||||
leftOverContainers = null;
|
||||
}
|
||||
|
||||
ItemStack emptyContainers = containerLiquidData.emptyContainer.copy();
|
||||
emptyContainers.stackSize = 0;
|
||||
ItemStack itemStack = emptyContainers;
|
||||
itemStack.stackSize += numberOfContainersToAdd;
|
||||
if (emptyContainers.stackSize <= 0) {
|
||||
emptyContainers = null;
|
||||
}
|
||||
|
||||
ItemStack containersThatCantBeDumped = transferItemToInventory(emptyContainers, origin, false);
|
||||
if (containersThatCantBeDumped != null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
if (doAdd) {
|
||||
FluidStack copy2;
|
||||
FluidStack liquidToFillTank = copy2 = containerLiquid.copy();
|
||||
copy2.amount *= numberOfContainersToAdd;
|
||||
tank.fill(liquidToFillTank, true);
|
||||
transferItemToInventory(emptyContainers, origin, true);
|
||||
}
|
||||
return leftOverContainers;
|
||||
}
|
||||
|
||||
public static ItemStack transferFromTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID,
|
||||
boolean doAdd) {
|
||||
if (item == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
IFluidTank tank = destination.getTanks()[tankID];
|
||||
FluidStack liquidInTank = tank.getFluid();
|
||||
if (liquidInTank == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
FluidContainerRegistry.FluidContainerData containerLiquidData = null;
|
||||
for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry
|
||||
.getRegisteredFluidContainerData()) {
|
||||
if (data.emptyContainer.isItemEqual(item) && liquidInTank.isFluidEqual(data.fluid)) {
|
||||
containerLiquidData = data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (containerLiquidData == null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
int maximumExtractedLiquid = item.stackSize * containerLiquidData.fluid.amount;
|
||||
FluidStack drainedLiquid = tank.drain(maximumExtractedLiquid, false);
|
||||
int amountInTank = (drainedLiquid == null) ? 0 : drainedLiquid.amount;
|
||||
int numberOfContainersToFill = amountInTank / containerLiquidData.fluid.amount;
|
||||
if (numberOfContainersToFill > item.stackSize) {
|
||||
numberOfContainersToFill = item.stackSize;
|
||||
}
|
||||
|
||||
ItemStack copy;
|
||||
ItemStack leftOverContainers = copy = item.copy();
|
||||
copy.stackSize -= numberOfContainersToFill;
|
||||
if (leftOverContainers.stackSize <= 0) {
|
||||
leftOverContainers = null;
|
||||
}
|
||||
|
||||
ItemStack filledContainers = containerLiquidData.filledContainer.copy();
|
||||
filledContainers.stackSize = 0;
|
||||
ItemStack itemStack = filledContainers;
|
||||
itemStack.stackSize += numberOfContainersToFill;
|
||||
if (filledContainers.stackSize <= 0) {
|
||||
filledContainers = null;
|
||||
}
|
||||
|
||||
ItemStack containersThatCantBeDumped = transferItemToInventory(filledContainers, origin, false);
|
||||
if (containersThatCantBeDumped != null) {
|
||||
return item;
|
||||
}
|
||||
|
||||
if (doAdd) {
|
||||
tank.drain(maximumExtractedLiquid, true);
|
||||
transferItemToInventory(filledContainers, origin, true);
|
||||
}
|
||||
return leftOverContainers;
|
||||
}
|
||||
}
|
||||
@@ -32,11 +32,6 @@ enum Compartment implements IMachineType {
|
||||
return clss;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack get(int i) {
|
||||
return new ItemStack(BinnieCore.packageCompartment.getBlock(), i, ordinal());
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
package binnie.core.machines.transfer;
|
||||
|
||||
// TODO unused class?
|
||||
public class TransferHandler {
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
|
||||
import binnie.core.AbstractMod;
|
||||
import binnie.core.BinnieCore;
|
||||
|
||||
public class BinnieConfiguration extends Configuration {
|
||||
|
||||
public AbstractMod mod;
|
||||
private final String filename;
|
||||
|
||||
public BinnieConfiguration(String filename, AbstractMod mod) {
|
||||
super(new File(BinnieCore.proxy.getDirectory(), filename));
|
||||
this.mod = mod;
|
||||
this.filename = filename;
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
// TODO Why do we need this class?
|
||||
class BinnieItemData {
|
||||
|
||||
private final int item;
|
||||
private final BinnieConfiguration configFile;
|
||||
private final String configKey;
|
||||
|
||||
public BinnieItemData(int item, BinnieConfiguration configFile, String configKey) {
|
||||
this.item = item;
|
||||
this.configFile = configFile;
|
||||
this.configKey = configKey;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface ConfigFile {
|
||||
|
||||
String filename();
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.FIELD })
|
||||
public @interface ConfigProperty {
|
||||
|
||||
String key();
|
||||
|
||||
String category() default "";
|
||||
|
||||
String[] comment() default {};
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.ANNOTATION_TYPE })
|
||||
@interface Type {
|
||||
|
||||
Class<? extends PropertyBase> propertyClass();
|
||||
|
||||
String category() default "general";
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/binniecore/main.conf")
|
||||
public class ConfigurationMain {
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/binnie-mods.conf")
|
||||
public class ConfigurationMods {
|
||||
|
||||
@ConfigProperty(key = "extraBees", comment = { "Enables the Extra Bees Mod." })
|
||||
@PropBoolean
|
||||
public static boolean extraBees = true;
|
||||
|
||||
@ConfigProperty(key = "extraTrees", comment = { "Enables the Extra Trees Mod." })
|
||||
@PropBoolean
|
||||
public static boolean extraTrees = true;
|
||||
|
||||
@ConfigProperty(key = "botany", comment = { "Enables the Botany Mod." })
|
||||
@PropBoolean
|
||||
public static boolean botany = true;
|
||||
|
||||
@ConfigProperty(key = "genetics", comment = { "Enables the Genetics Mod." })
|
||||
@PropBoolean
|
||||
public static boolean genetics = true;
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
|
||||
import binnie.core.AbstractMod;
|
||||
import binnie.core.ManagerBase;
|
||||
|
||||
public class ManagerConfig extends ManagerBase {
|
||||
|
||||
private final Map<Class<?>, Configuration> configurations;
|
||||
private final Map<AbstractMod, List<BinnieItemData>> itemIDs;
|
||||
|
||||
public ManagerConfig() {
|
||||
configurations = new LinkedHashMap<>();
|
||||
itemIDs = new HashMap<>();
|
||||
}
|
||||
|
||||
public void registerConfiguration(Class<?> cls, AbstractMod mod) {
|
||||
if (cls.isAnnotationPresent(ConfigFile.class)) {
|
||||
loadConfiguration(cls, mod);
|
||||
}
|
||||
}
|
||||
|
||||
public void loadConfiguration(Class<?> cls, AbstractMod mod) {
|
||||
try {
|
||||
String filename = cls.getAnnotation(ConfigFile.class).filename();
|
||||
BinnieConfiguration config = new BinnieConfiguration(filename, mod);
|
||||
config.load();
|
||||
for (Field field : cls.getFields()) {
|
||||
if (field.isAnnotationPresent(ConfigProperty.class)) {
|
||||
ConfigProperty propertyAnnot = field.getAnnotation(ConfigProperty.class);
|
||||
for (Annotation annotation : field.getAnnotations()) {
|
||||
if (annotation.annotationType().isAnnotationPresent(ConfigProperty.Type.class)) {
|
||||
Class<?> propertyClass = annotation.annotationType()
|
||||
.getAnnotation(ConfigProperty.Type.class).propertyClass();
|
||||
// TODO what for?
|
||||
PropertyBase property = (PropertyBase) propertyClass.getConstructor(
|
||||
Field.class,
|
||||
BinnieConfiguration.class,
|
||||
ConfigProperty.class,
|
||||
annotation.annotationType()).newInstance(
|
||||
field,
|
||||
config,
|
||||
propertyAnnot,
|
||||
annotation.annotationType().cast(annotation));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
config.save();
|
||||
configurations.put(cls, config);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void addItemID(Integer configValue, String configKey, BinnieConfiguration configFile) {
|
||||
if (!itemIDs.containsKey(configFile.mod)) {
|
||||
itemIDs.put(configFile.mod, new ArrayList<>());
|
||||
}
|
||||
itemIDs.get(configFile.mod).add(new BinnieItemData(configValue + 256, configFile, configKey));
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@ConfigProperty.Type(propertyClass = PropBoolean.PropertyBoolean.class)
|
||||
public @interface PropBoolean {
|
||||
|
||||
class PropertyBoolean extends PropertyBase<Boolean, PropBoolean> {
|
||||
|
||||
public PropertyBoolean(Field field, BinnieConfiguration file, ConfigProperty configProperty,
|
||||
PropBoolean annotedProperty) throws IllegalArgumentException, IllegalAccessException {
|
||||
super(field, file, configProperty, annotedProperty);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Property getProperty() {
|
||||
return file.get(getCategory(), getKey(), defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean getConfigValue() {
|
||||
return property.getBoolean(defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addComments() {
|
||||
addComment("Default value is " + defaultValue + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@ConfigProperty.Type(propertyClass = PropDouble.PropertyDouble.class)
|
||||
public @interface PropDouble {
|
||||
|
||||
class PropertyDouble extends PropertyBase<Double, PropDouble> {
|
||||
|
||||
public PropertyDouble(Field field, BinnieConfiguration file, ConfigProperty configProperty,
|
||||
PropDouble annotedProperty) throws IllegalArgumentException, IllegalAccessException {
|
||||
super(field, file, configProperty, annotedProperty);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Property getProperty() {
|
||||
return file.get(getCategory(), getKey(), defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Double getConfigValue() {
|
||||
return property.getDouble(defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addComments() {
|
||||
addComment("Default value is " + defaultValue + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@ConfigProperty.Type(propertyClass = PropInteger.PropertyInteger.class)
|
||||
public @interface PropInteger {
|
||||
|
||||
class PropertyInteger extends PropertyBase<Integer, PropInteger> {
|
||||
|
||||
public PropertyInteger(Field field, BinnieConfiguration file, ConfigProperty configProperty,
|
||||
PropInteger annotedProperty) throws IllegalArgumentException, IllegalAccessException {
|
||||
super(field, file, configProperty, annotedProperty);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Property getProperty() {
|
||||
return file.get(getCategory(), getKey(), defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Integer getConfigValue() {
|
||||
return property.getInt(defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addComments() {
|
||||
addComment("Default value is " + defaultValue + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@ConfigProperty.Type(propertyClass = PropPercentage.PropertyPercentage.class)
|
||||
public @interface PropPercentage {
|
||||
|
||||
int upper() default 100;
|
||||
|
||||
int lower() default 0;
|
||||
|
||||
class PropertyPercentage extends PropertyBase<Integer, PropPercentage> {
|
||||
|
||||
public PropertyPercentage(Field field, BinnieConfiguration file, ConfigProperty configProperty,
|
||||
PropPercentage annotedProperty) throws IllegalArgumentException, IllegalAccessException {
|
||||
super(field, file, configProperty, annotedProperty);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Integer getConfigValue() {
|
||||
return property.getInt(defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addComments() {
|
||||
addComment("Default value is " + defaultValue + "%.");
|
||||
addComment("Range is " + annotatedProperty.lower() + "-" + annotatedProperty.upper() + "%.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Property getProperty() {
|
||||
return file.get(getCategory(), getKey(), defaultValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
package binnie.core.mod.config;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
public abstract class PropertyBase<ValueType, AnnotationType extends Annotation> {
|
||||
|
||||
protected Configuration file;
|
||||
protected Property property;
|
||||
protected ValueType defaultValue;
|
||||
protected AnnotationType annotatedProperty;
|
||||
|
||||
private final ConfigProperty configProperty;
|
||||
private final List<String> comments;
|
||||
private final Field field;
|
||||
|
||||
protected PropertyBase(Field field, BinnieConfiguration file, ConfigProperty configProperty,
|
||||
AnnotationType annotedProperty) throws IllegalArgumentException, IllegalAccessException {
|
||||
comments = new ArrayList<>();
|
||||
this.field = field;
|
||||
this.file = file;
|
||||
this.configProperty = configProperty;
|
||||
annotatedProperty = annotedProperty;
|
||||
defaultValue = getDefaultValue(field);
|
||||
property = getProperty();
|
||||
|
||||
for (String comment : configProperty.comment()) {
|
||||
addComment(comment);
|
||||
}
|
||||
addComments();
|
||||
property.comment = getComment();
|
||||
field.set(null, getConfigValue());
|
||||
}
|
||||
|
||||
protected abstract Property getProperty();
|
||||
|
||||
protected abstract ValueType getConfigValue();
|
||||
|
||||
protected abstract void addComments();
|
||||
|
||||
protected String getCategory() {
|
||||
return configProperty.category().isEmpty()
|
||||
? annotatedProperty.annotationType().getAnnotation(ConfigProperty.Type.class).category()
|
||||
: configProperty.category();
|
||||
}
|
||||
|
||||
protected String getKey() {
|
||||
return configProperty.key();
|
||||
}
|
||||
|
||||
protected ValueType getDefaultValue(Field field) throws IllegalArgumentException, IllegalAccessException {
|
||||
return (ValueType) field.get(null);
|
||||
}
|
||||
|
||||
protected void addComment(String comment) {
|
||||
comments.add(comment);
|
||||
}
|
||||
|
||||
protected String getComment() {
|
||||
StringBuilder comment = new StringBuilder();
|
||||
for (String com : comments) {
|
||||
comment.append(com).append(" ");
|
||||
}
|
||||
return comment.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package binnie.core.network.packet;
|
||||
|
||||
import net.minecraft.network.Packet;
|
||||
|
||||
// TODO unused interface?
|
||||
public interface IPacket {
|
||||
|
||||
Packet getPacket();
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package binnie.core.network.packet;
|
||||
|
||||
// TODO unused class?
|
||||
public class IndexInPayload {
|
||||
|
||||
public int intIndex;
|
||||
public int floatIndex;
|
||||
public int stringIndex;
|
||||
|
||||
public IndexInPayload(int intIndex, int floatIndex, int stringIndex) {
|
||||
this.intIndex = intIndex;
|
||||
this.floatIndex = floatIndex;
|
||||
this.stringIndex = stringIndex;
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,4 @@ public class MessageContainerUpdate extends MessageCraftGUI {
|
||||
super(nbt);
|
||||
}
|
||||
|
||||
// TODO unused constructor?
|
||||
public MessageContainerUpdate(MessageBinnie message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ package binnie.core.network.packet;
|
||||
import java.io.IOException;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
@@ -18,11 +17,6 @@ public class MessageCoordinates extends MessageBase {
|
||||
super(message);
|
||||
}
|
||||
|
||||
// TODO unused constructor?
|
||||
public MessageCoordinates(int id, ChunkCoordinates coordinates) {
|
||||
this(id, coordinates.posX, coordinates.posY, coordinates.posZ);
|
||||
}
|
||||
|
||||
public MessageCoordinates(int id, int posX, int posY, int posZ) {
|
||||
super(id);
|
||||
this.posX = posX;
|
||||
@@ -44,11 +38,6 @@ public class MessageCoordinates extends MessageBase {
|
||||
posZ = data.readInt();
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public ChunkCoordinates getCoordinates() {
|
||||
return new ChunkCoordinates(posX, posY, posZ);
|
||||
}
|
||||
|
||||
public TileEntity getTileEntity(World world) {
|
||||
return world.getTileEntity(posX, posY, posZ);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import binnie.core.network.INetworkedEntity;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
@@ -75,8 +74,4 @@ public class MessageUpdate extends MessageCoordinates {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public TileEntity getTarget(World world) {
|
||||
return world.getTileEntity(posX, posY, posZ);
|
||||
}
|
||||
}
|
||||
@@ -3,8 +3,6 @@ package binnie.core.network.packet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import binnie.core.network.INetworkedEntity;
|
||||
|
||||
public class PacketPayload {
|
||||
|
||||
public List<Integer> intPayload;
|
||||
@@ -17,12 +15,6 @@ public class PacketPayload {
|
||||
stringPayload = new ArrayList<>();
|
||||
}
|
||||
|
||||
// TODO unused constructor?
|
||||
public PacketPayload(INetworkedEntity tile) {
|
||||
this();
|
||||
tile.writeToPacket(this);
|
||||
}
|
||||
|
||||
public void addInteger(int a) {
|
||||
intPayload.add(a);
|
||||
}
|
||||
@@ -47,16 +39,6 @@ public class PacketPayload {
|
||||
return stringPayload.remove(0);
|
||||
}
|
||||
|
||||
// TODO unused method
|
||||
public void append(PacketPayload other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
intPayload.addAll(other.intPayload);
|
||||
floatPayload.addAll(other.floatPayload);
|
||||
stringPayload.addAll(other.stringPayload);
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return intPayload.isEmpty() && floatPayload.isEmpty() && stringPayload.isEmpty();
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import binnie.core.network.INetworkedEntity;
|
||||
import binnie.core.network.packet.MessageUpdate;
|
||||
import binnie.core.resource.BinnieResource;
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
||||
public class BinnieProxy extends BinnieModProxy implements IBinnieProxy {
|
||||
@@ -69,11 +68,6 @@ public class BinnieProxy extends BinnieModProxy implements IBinnieProxy {
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public void throwException(String message, Throwable e) {
|
||||
FMLCommonHandler.instance().raiseException(e, message, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Minecraft getMinecraftInstance() {
|
||||
return null;
|
||||
@@ -129,16 +123,6 @@ public class BinnieProxy extends BinnieModProxy implements IBinnieProxy {
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public void handleTextureRefresh(IIconRegister register, int type) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public void handlePostTextureRefresh(IIconRegister register, int type) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
public short getUniqueTextureUID() {
|
||||
uniqueTextureUID++;
|
||||
return uniqueTextureUID;
|
||||
|
||||
@@ -21,7 +21,6 @@ import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import binnie.Binnie;
|
||||
import binnie.core.craftgui.resource.minecraft.CraftGUIResourceManager;
|
||||
import binnie.core.resource.BinnieResource;
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
@@ -139,13 +138,6 @@ public class BinnieProxyClient extends BinnieProxy implements IBinnieProxy {
|
||||
return Minecraft.getMinecraft().thePlayer;
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public void handlePreTextureRefresh(IIconRegister register, int type) {
|
||||
if (type == 0) {
|
||||
Binnie.Liquid.reloadIcons(register);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit() {
|
||||
IResourceManager manager = Minecraft.getMinecraft().getResourceManager();
|
||||
|
||||
@@ -4,6 +4,9 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import com.gtnewhorizon.gtnhlib.config.ConfigException;
|
||||
import com.gtnewhorizon.gtnhlib.config.ConfigurationManager;
|
||||
|
||||
import binnie.core.AbstractMod;
|
||||
import binnie.core.BinnieCore;
|
||||
import binnie.core.Tags;
|
||||
@@ -11,8 +14,7 @@ import binnie.core.gui.IBinnieGUID;
|
||||
import binnie.core.network.BinniePacketHandler;
|
||||
import binnie.core.proxy.IProxyCore;
|
||||
import binnie.extrabees.apiary.ModuleApiary;
|
||||
import binnie.extrabees.config.ConfigurationMachines;
|
||||
import binnie.extrabees.config.ConfigurationMain;
|
||||
import binnie.extrabees.config.EBConfig;
|
||||
import binnie.extrabees.core.ExtraBeeGUID;
|
||||
import binnie.extrabees.core.ModuleCore;
|
||||
import binnie.extrabees.genetics.ModuleGenetics;
|
||||
@@ -27,13 +29,16 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
|
||||
@Mod(
|
||||
modid = "ExtraBees",
|
||||
name = "Extra Bees",
|
||||
modid = ExtraBees.EB_MODID,
|
||||
name = ExtraBees.EB_MOD_NAME,
|
||||
version = Tags.VERSION,
|
||||
useMetadata = true,
|
||||
dependencies = "after:BinnieCore")
|
||||
public class ExtraBees extends AbstractMod {
|
||||
|
||||
public static final String EB_MODID = "ExtraBees";
|
||||
public static final String EB_MOD_NAME = "Extra Bees";
|
||||
|
||||
@Mod.Instance("ExtraBees")
|
||||
public static ExtraBees instance;
|
||||
|
||||
@@ -42,6 +47,14 @@ public class ExtraBees extends AbstractMod {
|
||||
serverSide = "binnie.extrabees.proxy.ExtraBeesProxyServer")
|
||||
public static ExtraBeesProxy proxy;
|
||||
|
||||
static {
|
||||
try {
|
||||
ConfigurationManager.registerConfig(EBConfig.class);
|
||||
} catch (ConfigException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static Block hive;
|
||||
public static Material materialBeehive;
|
||||
public static Block ectoplasm;
|
||||
@@ -81,11 +94,6 @@ public class ExtraBees extends AbstractMod {
|
||||
return ExtraBeeGUID.values();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?>[] getConfigs() {
|
||||
return new Class[] { ConfigurationMain.class, ConfigurationMachines.class };
|
||||
}
|
||||
|
||||
@Override
|
||||
public IProxyCore getProxy() {
|
||||
return ExtraBees.proxy;
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package binnie.extrabees.apiary;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import binnie.core.machines.Machine;
|
||||
import binnie.core.machines.MachineComponent;
|
||||
import forestry.api.apiculture.IBee;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeListener;
|
||||
import forestry.api.apiculture.IBeeModifier;
|
||||
@@ -61,21 +58,11 @@ public class ComponentBeeModifier extends MachineComponent implements IBeeModifi
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public void onQueenChange(ItemStack queen) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
@Override
|
||||
public void wearOutEquipment(int amount) {
|
||||
// ignored
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
public boolean onEggLaid(IBee queen) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getGeneticDecay(IBeeGenome genome, float currentModifier) {
|
||||
return 1.0f;
|
||||
|
||||
@@ -46,11 +46,6 @@ public enum AlvearyMachine implements IMachineType {
|
||||
return new ItemStack(ModuleApiary.blockComponent, size, ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract static class AlvearyPackage extends MachinePackage {
|
||||
|
||||
protected BinnieResource machineTexture;
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
package binnie.extrabees.config;
|
||||
|
||||
import binnie.core.mod.config.ConfigFile;
|
||||
import binnie.core.mod.config.ConfigProperty;
|
||||
import binnie.core.mod.config.PropDouble;
|
||||
import binnie.core.mod.config.PropPercentage;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/extrabees/machines.conf")
|
||||
public class ConfigurationMachines {
|
||||
|
||||
@ConfigProperty(
|
||||
key = "isolatorConsumptionChance",
|
||||
comment = { "Percentage chance of Isolator consuming bee, in x%." })
|
||||
@PropPercentage
|
||||
public static int isolatorConsumptionChance = 30;
|
||||
|
||||
@ConfigProperty(
|
||||
key = "geneticErrorModifier",
|
||||
comment = { "Modifier that changes how severe splicer/inoculator erros are.",
|
||||
"0 would result in no errors, even for awful serums.",
|
||||
"2.0 would result in twice as severe errors" })
|
||||
@PropDouble
|
||||
public static double geneticErrorModifier = 1.0;
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package binnie.extrabees.config;
|
||||
|
||||
import binnie.core.mod.config.ConfigFile;
|
||||
import binnie.core.mod.config.ConfigProperty;
|
||||
import binnie.core.mod.config.PropBoolean;
|
||||
import binnie.core.mod.config.PropInteger;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/extrabees/main.conf")
|
||||
public class ConfigurationMain {
|
||||
|
||||
@ConfigProperty(key = "canQuarryMineHives")
|
||||
@PropBoolean
|
||||
public static boolean canQuarryMineHives = true;
|
||||
|
||||
@ConfigProperty(key = "waterHiveRate")
|
||||
@PropInteger
|
||||
public static int waterHiveRate = 1;
|
||||
|
||||
@ConfigProperty(key = "rockHiveRate")
|
||||
@PropInteger
|
||||
public static int rockHiveRate = 2;
|
||||
|
||||
@ConfigProperty(key = "netherHiveRate")
|
||||
@PropInteger
|
||||
public static int netherHiveRate = 2;
|
||||
|
||||
@ConfigProperty(key = "marbleHiveRate")
|
||||
@PropInteger
|
||||
public static int marbleHiveRate = 2;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package binnie.extrabees.config;
|
||||
|
||||
import static binnie.extrabees.ExtraBees.EB_MODID;
|
||||
|
||||
import com.gtnewhorizon.gtnhlib.config.Config;
|
||||
|
||||
@Config(modid = EB_MODID)
|
||||
public class EBConfig {
|
||||
|
||||
@Config.DefaultBoolean(true)
|
||||
@Config.RequiresMcRestart
|
||||
public static boolean canQuarryMineHives;
|
||||
|
||||
@Config.Comment("Attempt to generate this many hives per chunk.")
|
||||
@Config.RangeInt(min = 0)
|
||||
@Config.DefaultInt(1)
|
||||
public static int waterHiveRate;
|
||||
|
||||
@Config.Comment("Attempt to generate this many hives per chunk.")
|
||||
@Config.RangeInt(min = 0)
|
||||
@Config.DefaultInt(2)
|
||||
public static int rockHiveRate;
|
||||
|
||||
@Config.Comment("Attempt to generate this many hives per chunk.")
|
||||
@Config.RangeInt(min = 0)
|
||||
@Config.DefaultInt(2)
|
||||
public static int netherHiveRate;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package binnie.extrabees.config;
|
||||
|
||||
import static binnie.extrabees.ExtraBees.EB_MODID;
|
||||
|
||||
import com.gtnewhorizon.gtnhlib.config.Config;
|
||||
|
||||
@Config(modid = EB_MODID)
|
||||
public class EBConfigMachines {
|
||||
|
||||
@Config.Comment("Percentage chance of Isolator consuming bee. 0 never consumes, 1 always does.")
|
||||
@Config.RangeFloat(min = 0f, max = 1f)
|
||||
@Config.DefaultFloat(0.05f)
|
||||
public static float isolatorConsumptionChance;
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package binnie.extrabees.worldgen;
|
||||
|
||||
import static binnie.core.Mods.buildcraftCore;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
@@ -7,7 +9,7 @@ import net.minecraft.world.chunk.IChunkProvider;
|
||||
|
||||
import binnie.core.IInitializable;
|
||||
import binnie.extrabees.ExtraBees;
|
||||
import binnie.extrabees.config.ConfigurationMain;
|
||||
import binnie.extrabees.config.EBConfig;
|
||||
import binnie.extrabees.genetics.ExtraBeeDefinition;
|
||||
import buildcraft.api.core.BuildCraftAPI;
|
||||
import cpw.mods.fml.common.IWorldGenerator;
|
||||
@@ -16,11 +18,6 @@ import forestry.apiculture.genetics.BeeDefinition;
|
||||
|
||||
public class ModuleGeneration implements IWorldGenerator, IInitializable {
|
||||
|
||||
protected static int waterRate = 2;
|
||||
protected static int rockRate = 2;
|
||||
protected static int netherRate = 2;
|
||||
protected static int marbleRate = 2;
|
||||
|
||||
@Override
|
||||
public void preInit() {
|
||||
ExtraBees.materialBeehive = new MaterialBeehive();
|
||||
@@ -30,11 +27,8 @@ public class ModuleGeneration implements IWorldGenerator, IInitializable {
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
ModuleGeneration.waterRate = ConfigurationMain.waterHiveRate;
|
||||
ModuleGeneration.rockRate = ConfigurationMain.rockHiveRate;
|
||||
ModuleGeneration.netherRate = ConfigurationMain.netherHiveRate;
|
||||
GameRegistry.registerWorldGenerator(new ModuleGeneration(), 0);
|
||||
if (!ConfigurationMain.canQuarryMineHives) {
|
||||
if (!EBConfig.canQuarryMineHives && buildcraftCore.active()) {
|
||||
BuildCraftAPI.softBlocks.add(ExtraBees.hive);
|
||||
}
|
||||
}
|
||||
@@ -62,21 +56,21 @@ public class ModuleGeneration implements IWorldGenerator, IInitializable {
|
||||
chunkX <<= 4;
|
||||
chunkZ <<= 4;
|
||||
|
||||
for (int i = 0; i < ModuleGeneration.waterRate; ++i) {
|
||||
for (int i = 0; i < EBConfig.waterHiveRate; ++i) {
|
||||
int randPosX = chunkX + rand.nextInt(16);
|
||||
int randPosY = rand.nextInt(50) + 20;
|
||||
int randPosZ = chunkZ + rand.nextInt(16);
|
||||
new WorldGenHiveWater().generate(world, rand, randPosX, randPosY, randPosZ);
|
||||
}
|
||||
|
||||
for (int i = 0; i < ModuleGeneration.rockRate; ++i) {
|
||||
for (int i = 0; i < EBConfig.rockHiveRate; ++i) {
|
||||
int randPosX = chunkX + rand.nextInt(16);
|
||||
int randPosY = rand.nextInt(50) + 20;
|
||||
int randPosZ = chunkZ + rand.nextInt(16);
|
||||
new WorldGenHiveRock().generate(world, rand, randPosX, randPosY, randPosZ);
|
||||
}
|
||||
|
||||
for (int i = 0; i < ModuleGeneration.netherRate; ++i) {
|
||||
for (int i = 0; i < EBConfig.netherHiveRate; ++i) {
|
||||
int randPosX = chunkX + rand.nextInt(16);
|
||||
int randPosY = rand.nextInt(50) + 20;
|
||||
int randPosZ = chunkZ + rand.nextInt(16);
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
package binnie.extratrees;
|
||||
|
||||
import static binnie.extratrees.ExtraTrees.EB_MOD_NAME;
|
||||
import static binnie.extratrees.ExtraTrees.ET_MODID;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import com.gtnewhorizon.gtnhlib.config.ConfigException;
|
||||
import com.gtnewhorizon.gtnhlib.config.ConfigurationManager;
|
||||
|
||||
import binnie.core.AbstractMod;
|
||||
import binnie.core.BinnieCore;
|
||||
import binnie.core.Tags;
|
||||
@@ -16,7 +22,7 @@ import binnie.extratrees.block.decor.BlockMultiFence;
|
||||
import binnie.extratrees.carpentry.BlockCarpentry;
|
||||
import binnie.extratrees.carpentry.BlockStainedDesign;
|
||||
import binnie.extratrees.carpentry.ModuleCarpentry;
|
||||
import binnie.extratrees.config.ConfigurationMain;
|
||||
import binnie.extratrees.config.ETConfig;
|
||||
import binnie.extratrees.core.ExtraTreesGUID;
|
||||
import binnie.extratrees.core.ModuleCore;
|
||||
import binnie.extratrees.genetics.ModuleGenetics;
|
||||
@@ -31,19 +37,30 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
|
||||
@Mod(
|
||||
modid = "ExtraTrees",
|
||||
name = "Extra Trees",
|
||||
modid = ET_MODID,
|
||||
name = EB_MOD_NAME,
|
||||
version = Tags.VERSION,
|
||||
useMetadata = true,
|
||||
dependencies = "after:BinnieCore")
|
||||
public class ExtraTrees extends AbstractMod {
|
||||
|
||||
public static final String ET_MODID = "ExtraTrees";
|
||||
public static final String EB_MOD_NAME = "Extra Trees";
|
||||
|
||||
@Mod.Instance("ExtraTrees")
|
||||
public static ExtraTrees instance;
|
||||
|
||||
@SidedProxy(clientSide = "binnie.extratrees.proxy.ProxyClient", serverSide = "binnie.extratrees.proxy.ProxyServer")
|
||||
public static Proxy proxy;
|
||||
|
||||
static {
|
||||
try {
|
||||
ConfigurationManager.registerConfig(ETConfig.class);
|
||||
} catch (ConfigException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static Item itemDictionary;
|
||||
public static Item itemDictionaryLepi;
|
||||
public static Item itemMisc;
|
||||
@@ -101,11 +118,6 @@ public class ExtraTrees extends AbstractMod {
|
||||
return ExtraTreesGUID.values();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?>[] getConfigs() {
|
||||
return new Class[] { ConfigurationMain.class };
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getChannel() {
|
||||
return "ET";
|
||||
@@ -116,6 +128,7 @@ public class ExtraTrees extends AbstractMod {
|
||||
return ExtraTrees.proxy;
|
||||
}
|
||||
|
||||
// Concerningly, this isn't the same as the MODID
|
||||
@Override
|
||||
public String getModID() {
|
||||
return "extratrees";
|
||||
|
||||
@@ -176,4 +176,9 @@ public class BlockETLog extends BlockLog implements IBlockMetadata {
|
||||
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) {
|
||||
return BlockMetadata.getPickBlock(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) {
|
||||
return this.getPickBlock(target, world, x, y, z, null);
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package binnie.extratrees.config;
|
||||
|
||||
import binnie.core.mod.config.ConfigFile;
|
||||
import binnie.core.mod.config.ConfigProperty;
|
||||
import binnie.core.mod.config.PropBoolean;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/extratrees/main.conf")
|
||||
public class ConfigurationMain {
|
||||
|
||||
@ConfigProperty(
|
||||
key = "lemon.citrus.family",
|
||||
comment = { "Uses reflection to convert the Forestry lemon tree to the Citrus family." })
|
||||
@PropBoolean
|
||||
public static boolean alterLemon = true;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package binnie.extratrees.config;
|
||||
|
||||
import static binnie.extratrees.ExtraTrees.ET_MODID;
|
||||
|
||||
import com.gtnewhorizon.gtnhlib.config.Config;
|
||||
|
||||
@Config(modid = ET_MODID)
|
||||
public class ETConfig {
|
||||
|
||||
@Config.Comment("Uses reflection to convert the Forestry lemon tree to the Citrus family.")
|
||||
@Config.DefaultBoolean(true)
|
||||
@Config.RequiresMcRestart
|
||||
public static boolean alterLemon;
|
||||
}
|
||||
@@ -17,7 +17,7 @@ import binnie.Binnie;
|
||||
import binnie.core.util.I18N;
|
||||
import binnie.extratrees.ExtraTrees;
|
||||
import binnie.extratrees.block.FruitPod;
|
||||
import binnie.extratrees.config.ConfigurationMain;
|
||||
import binnie.extratrees.config.ETConfig;
|
||||
import binnie.extratrees.item.Food;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -254,7 +254,7 @@ public enum ExtraTreeFruitGene implements IAlleleFruit, IFruitProvider {
|
||||
ExtraTreeFruitGene.Candlenut.addProduct(Food.Candlenut.get(1), 1.0f);
|
||||
ExtraTreeFruitGene.Candlenut.setFamily(familyJungle);
|
||||
|
||||
if (ConfigurationMain.alterLemon) {
|
||||
if (ETConfig.alterLemon) {
|
||||
try {
|
||||
IAlleleFruit lemon = (IAlleleFruit) AlleleManager.alleleRegistry.getAllele("forestry.fruitLemon");
|
||||
FruitProviderNone prov = (FruitProviderNone) lemon.getProvider();
|
||||
@@ -376,7 +376,7 @@ public enum ExtraTreeFruitGene implements IAlleleFruit, IFruitProvider {
|
||||
|
||||
float modeYieldMod = 1.0f;
|
||||
for (Map.Entry<ItemStack, Float> entry2 : products.entrySet()) {
|
||||
if (world.rand.nextFloat() <= genome.getYield() * modeYieldMod * entry2.getValue() * stage) {
|
||||
if (world.rand.nextFloat() <= genome.getYield() * modeYieldMod * entry2.getValue() * 5.0f * stage) {
|
||||
product2.add(entry2.getKey().copy());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package binnie.extratrees.genetics;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
@@ -690,19 +689,6 @@ public enum ExtraTreeSpecies implements IAlleleTreeSpecies, IIconProvider, IGerm
|
||||
.setFertility(EnumAllele.Saplings.LOW).setMaturation(EnumAllele.Maturation.SLOWER);
|
||||
}
|
||||
|
||||
// TODO unused method?
|
||||
static ItemStack getEBXLStack(String name) {
|
||||
try {
|
||||
Class elements = Class.forName("extrabiomes.lib.Element");
|
||||
Method getElementMethod = elements.getMethod("valueOf", String.class);
|
||||
Method getItemStack = elements.getMethod("get");
|
||||
Object element = getElementMethod.invoke(null, "SAPLING_AUTUMN_YELLOW");
|
||||
return (ItemStack) getItemStack.invoke(element);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private ExtraTreeSpecies addFamily(IFruitFamily family) {
|
||||
families.add(family);
|
||||
return this;
|
||||
|
||||
@@ -7,7 +7,6 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import binnie.Binnie;
|
||||
import binnie.core.BinnieCore;
|
||||
import binnie.core.machines.IMachineType;
|
||||
import binnie.core.machines.Machine;
|
||||
import binnie.core.machines.MachineComponent;
|
||||
@@ -43,14 +42,6 @@ public enum ExtraTreeMachine implements IMachineType {
|
||||
return cls;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
if (this == ExtraTreeMachine.Tileworker) {
|
||||
return BinnieCore.isBotanyActive();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack get(int i) {
|
||||
return new ItemStack(ExtraTrees.blockMachine, i, ordinal());
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package binnie.genetics;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import binnie.core.AbstractMod;
|
||||
import binnie.core.BinnieCore;
|
||||
import binnie.core.Tags;
|
||||
import binnie.core.gui.IBinnieGUID;
|
||||
import binnie.core.machines.MachineGroup;
|
||||
@@ -106,7 +105,7 @@ public class Genetics extends AbstractMod {
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return BinnieCore.isGeneticsActive();
|
||||
return true;
|
||||
}
|
||||
|
||||
public static class PacketHandler extends BinniePacketHandler {
|
||||
|
||||
@@ -11,11 +11,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class GeneticsCreativeTab extends CreativeTabs {
|
||||
|
||||
public static CreativeTabs instance;
|
||||
|
||||
static {
|
||||
GeneticsCreativeTab.instance = new GeneticsCreativeTab();
|
||||
}
|
||||
public static CreativeTabs instance = new GeneticsCreativeTab();
|
||||
|
||||
public GeneticsCreativeTab() {
|
||||
super("Genetics");
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package binnie.genetics.config;
|
||||
|
||||
import binnie.core.mod.config.ConfigFile;
|
||||
|
||||
@ConfigFile(filename = "/config/forestry/genetics/main.conf")
|
||||
public class ConfigurationMain {
|
||||
}
|
||||
@@ -46,7 +46,7 @@ public class WindowGeneBank extends WindowMachine {
|
||||
protected ControlGeneScroll genes;
|
||||
|
||||
public WindowGeneBank(EntityPlayer player, IInventory inventory, Side side, boolean isNEI) {
|
||||
super(320, 224, player, inventory, side);
|
||||
super(400, 224, player, inventory, side);
|
||||
isNei = isNEI;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class WindowGeneBank extends WindowMachine {
|
||||
new ControlPlayerInventory(this, x, y);
|
||||
x += 124;
|
||||
boxX = x;
|
||||
int geneBoxWidth = 120;
|
||||
int geneBoxWidth = 200;
|
||||
new Panel(this, boxX + 24, 32.0f, geneBoxWidth, 120.0f, MinecraftGUI.PanelType.Black);
|
||||
new Panel(this, boxX + 24 + geneBoxWidth, 32.0f, 14.0f, 120.0f, MinecraftGUI.PanelType.Gray);
|
||||
ControlScrollableContent scroll = new ControlScrollableContent(
|
||||
|
||||
@@ -306,7 +306,7 @@ public class ModuleItem implements IInitializable {
|
||||
|
||||
// as above, there are only 24 permutations here; let's find a way to just get those recipes rather than trying
|
||||
// 256 combinations in an n^4 loop. This will help performance and maybe be a bit more maintainable.
|
||||
if (BinnieCore.isBotanyActive() && BinnieCore.isExtraBeesActive() && BinnieCore.isExtraTreesActive()) {
|
||||
if (BinnieCore.isExtraBeesActive() && BinnieCore.isExtraTreesActive()) {
|
||||
// 24 full recipe lines is a bit much to maintain; so we'll use a loop here, but we're only going
|
||||
// to run it 24 times. Start by making an array of all 24 valid dictionary permutations...
|
||||
String[] permutations = new String[] { "btlf", "btfl", "bltf", "blft", "bftl", "bflt", "tblf", "tbfl",
|
||||
|
||||
@@ -23,11 +23,6 @@ public enum AdvGeneticMachine implements IMachineType {
|
||||
return cls;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack get(int i) {
|
||||
return new ItemStack(Genetics.packageAdvGenetic.getBlock(), i, ordinal());
|
||||
}
|
||||
|
||||
@@ -116,9 +116,8 @@ public class ComponentGUIHolder extends MachineComponent implements INetwork.Til
|
||||
}
|
||||
|
||||
List<Item> validSelections = new ArrayList<>();
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
validSelections.add(Botany.database);
|
||||
}
|
||||
validSelections.add(Botany.database);
|
||||
|
||||
if (BinnieCore.isExtraBeesActive()) {
|
||||
validSelections.add(ExtraBees.dictionary);
|
||||
}
|
||||
|
||||
@@ -28,11 +28,6 @@ public enum GeneticMachine implements IMachineType {
|
||||
return clss;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack get(int i) {
|
||||
return new ItemStack(Genetics.packageGenetic.getBlock(), i, ordinal());
|
||||
}
|
||||
|
||||
@@ -30,11 +30,6 @@ public enum LaboratoryMachine implements IMachineType {
|
||||
return clss;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack get(int i) {
|
||||
return new ItemStack(Genetics.packageLabMachine.getBlock(), i, ordinal());
|
||||
}
|
||||
|
||||
@@ -106,17 +106,15 @@ public class Acclimatiser {
|
||||
ToleranceType.Temperature);
|
||||
}
|
||||
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
addTolerance(
|
||||
Binnie.Genetics.getFlowerRoot().getUID(),
|
||||
EnumFlowerChromosome.HUMIDITY_TOLERANCE,
|
||||
ToleranceType.Humidity);
|
||||
addTolerance(
|
||||
Binnie.Genetics.getFlowerRoot().getUID(),
|
||||
EnumFlowerChromosome.TEMPERATURE_TOLERANCE,
|
||||
ToleranceType.Temperature);
|
||||
addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.PH_TOLERANCE, ToleranceType.PH);
|
||||
}
|
||||
addTolerance(
|
||||
Binnie.Genetics.getFlowerRoot().getUID(),
|
||||
EnumFlowerChromosome.HUMIDITY_TOLERANCE,
|
||||
ToleranceType.Humidity);
|
||||
addTolerance(
|
||||
Binnie.Genetics.getFlowerRoot().getUID(),
|
||||
EnumFlowerChromosome.TEMPERATURE_TOLERANCE,
|
||||
ToleranceType.Temperature);
|
||||
addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.PH_TOLERANCE, ToleranceType.PH);
|
||||
|
||||
addTemperatureItem(new ItemStack(Items.blaze_powder), 0.5f);
|
||||
addTemperatureItem(new ItemStack(Items.blaze_rod), 0.75f);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package binnie.genetics.machine.isolator;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -11,9 +13,11 @@ import binnie.core.machines.power.ComponentProcessSetCost;
|
||||
import binnie.core.machines.power.ErrorState;
|
||||
import binnie.core.machines.power.IProcess;
|
||||
import binnie.core.util.I18N;
|
||||
import binnie.extrabees.config.EBConfigMachines;
|
||||
import binnie.genetics.item.ItemSequence;
|
||||
import forestry.api.genetics.AlleleManager;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IChromosome;
|
||||
import forestry.api.genetics.IChromosomeType;
|
||||
import forestry.api.genetics.IIndividual;
|
||||
import forestry.api.genetics.ISpeciesRoot;
|
||||
@@ -78,7 +82,17 @@ public class IsolatorComponentLogic extends ComponentProcessSetCost implements I
|
||||
}
|
||||
|
||||
final IChromosomeType[] karyo = root.getKaryotype();
|
||||
final IChromosomeType chromosome = karyo[rand.nextInt(karyo.length)];
|
||||
|
||||
final IChromosome[] chromosomes = individual.getGenome().getChromosomes();
|
||||
if (Arrays.stream(chromosomes).allMatch(Objects::isNull)) {
|
||||
return;
|
||||
}
|
||||
|
||||
IChromosomeType chromosome;
|
||||
do {
|
||||
chromosome = karyo[rand.nextInt(karyo.length)];
|
||||
} while (chromosomes[chromosome.ordinal()] == null);
|
||||
|
||||
final IAllele allele = rand.nextBoolean() ? individual.getGenome().getActiveAllele(chromosome)
|
||||
: individual.getGenome().getInactiveAllele(chromosome);
|
||||
final Gene gene = new Gene(allele, chromosome, root);
|
||||
@@ -86,7 +100,7 @@ public class IsolatorComponentLogic extends ComponentProcessSetCost implements I
|
||||
ItemStack serum = ItemSequence.create(gene);
|
||||
getUtil().setStack(Isolator.SLOT_RESULT, serum);
|
||||
getUtil().decreaseStack(Isolator.SLOT_SEQUENCER_VIAL, 1);
|
||||
if (rand.nextFloat() < 0.05f) {
|
||||
if (rand.nextFloat() < EBConfigMachines.isolatorConsumptionChance) {
|
||||
getUtil().decreaseStack(Isolator.SLOT_TARGET, 1);
|
||||
}
|
||||
getUtil().drainTank(Isolator.TANK_ETHANOL, (int) ethanolPerProcess);
|
||||
|
||||
@@ -37,11 +37,10 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase {
|
||||
targets.add(Mods.forestry.stack("caterpillarGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
targets.add(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
|
||||
targets.add(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
recipes.add(new AcclimatiserRecipe(targets, resource, effect, ToleranceType.Temperature));
|
||||
});
|
||||
Acclimatiser.humidityItems.forEach((resource, effect) -> {
|
||||
@@ -57,11 +56,10 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase {
|
||||
targets.add(Mods.forestry.stack("caterpillarGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
targets.add(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
|
||||
targets.add(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE));
|
||||
targets.add(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
recipes.add(new AcclimatiserRecipe(targets, resource, effect, ToleranceType.Humidity));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -42,11 +42,10 @@ public class AnalyserRecipeHandler extends RecipeHandlerBase {
|
||||
recipes.add(new AnalyserRecipe(Mods.forestry.stack("caterpillarGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new AnalyserRecipe(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new AnalyserRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,11 +44,10 @@ public class GenepoolRecipeHandler extends RecipeHandlerBase {
|
||||
recipes.add(new GenepoolRecipe(Mods.forestry.stack("caterpillarGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new GenepoolRecipe(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new GenepoolRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,8 +44,8 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase {
|
||||
createInoculatorRecipeForNEI(Mods.forestry.stack("pollenFertile", 1, OreDictionary.WILDCARD_VALUE));
|
||||
if (BinnieCore.isLepidopteryActive())
|
||||
createInoculatorRecipeForNEI(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
if (BinnieCore.isBotanyActive())
|
||||
createInoculatorRecipeForNEI(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
createInoculatorRecipeForNEI(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -50,11 +50,10 @@ public class IsolatorRecipeHandler extends RecipeHandlerBase {
|
||||
recipes.add(new IsolatorRecipe(Mods.forestry.stack("caterpillarGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new IsolatorRecipe(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
if (BinnieCore.isBotanyActive()) {
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.flowerItem, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.seed, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
recipes.add(new IsolatorRecipe(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,8 +44,8 @@ public class SplicerRecipeHandler extends RecipeHandlerBase {
|
||||
createSplicerRecipeForNEI(Mods.forestry.stack("pollenFertile", 1, OreDictionary.WILDCARD_VALUE));
|
||||
if (BinnieCore.isLepidopteryActive())
|
||||
createSplicerRecipeForNEI(Mods.forestry.stack("serumGE", 1, OreDictionary.WILDCARD_VALUE));
|
||||
if (BinnieCore.isBotanyActive())
|
||||
createSplicerRecipeForNEI(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
createSplicerRecipeForNEI(new ItemStack(Botany.pollen, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -196,11 +196,17 @@ binniecore.gui.breedingmessage.epithet=Epithet Gained
|
||||
binniecore.item.genesis.name=Genesis
|
||||
binniecore.item.fluidContainer.missed=Missed Fluid
|
||||
|
||||
item.containerCapsule.name=Capsule
|
||||
binniecore.item.container.capsule=Capsule
|
||||
item.containerRefractory.name=Capsule
|
||||
binniecore.item.container.refractory=Capsule
|
||||
item.containerCan.name=Can
|
||||
binniecore.item.container.can=Can
|
||||
item.containerBucket.name=Bucket
|
||||
binniecore.item.container.bucket=Bucket
|
||||
item.containerGlass.name=Bottle
|
||||
binniecore.item.container.glass=Bottle
|
||||
item.containerCylinder.name=Cylinder
|
||||
binniecore.item.container.cylinder=Cylinder
|
||||
|
||||
binniecore.item.container.capsule.acid=Acid Capsule
|
||||
@@ -291,6 +297,7 @@ binniecore.machine.storage.filterBlocks=Include Blocks
|
||||
< %1$s is the name of the pattern >
|
||||
binniecore.gui.designer.pattern=%1$s Pattern
|
||||
|
||||
item.fieldKit.name=Field Kit
|
||||
binniecore.gui.fieldKit=Field Kit
|
||||
binniecore.gui.fieldKit.info=The Field Kit analyses bees, trees, flowers and butterflies. All that is required is a piece of paper to jot notes
|
||||
|
||||
@@ -456,3 +463,6 @@ binniecore.gui.side.west=West
|
||||
binniecore.gui.side.south=South
|
||||
binniecore.gui.side.insertSide=Insert Side: %s
|
||||
binniecore.gui.side.extractSide=Extract Side: %s
|
||||
|
||||
item.genesis.name=Genesis
|
||||
tile.storage.name=Compartment
|
||||
@@ -1,9 +1,13 @@
|
||||
botany.tab.botany=Botany
|
||||
|
||||
tile.stained.name=Pigmented Glass
|
||||
botany.pigmentedGlass=Pigmented Glass
|
||||
tile.ceramic.name=Ceramic Block
|
||||
botany.ceramicBlock=Ceramic Block
|
||||
tile.ceramicBrick.name=Ceramic Tile
|
||||
botany.ceramicTile=Ceramic Tile
|
||||
botany.ceramicBricks=Ceramic Bricks
|
||||
tile.ceramicPattern.name=Ceramic Block
|
||||
botany.strippedCeramicBricks=Striped Ceramic Bricks
|
||||
botany.largeCeramicBricks=Large Ceramic Bricks
|
||||
botany.splitCeramicTile=Split Ceramic Tile
|
||||
@@ -130,14 +134,21 @@ botany.moisture.dry=Dry
|
||||
botany.moisture.normal=Normal
|
||||
botany.moisture.damp=Damp
|
||||
|
||||
tile.plant.name=Plant
|
||||
botany.plant.weeds=Weeds
|
||||
botany.plant.longWeeds=Long Weeds
|
||||
botany.plant.veryLongWeeds=Very Long Weeds
|
||||
botany.plant.deadFlower=Dead Flower
|
||||
botany.plant.decayingFlower=Decaying Flower
|
||||
|
||||
tile.soil.name=Soil
|
||||
tile.soilNoWeed.name=Soil
|
||||
botany.soil.soil=Soil
|
||||
tile.loam.name=Loam
|
||||
tile.loamNoWeed.name=Loam
|
||||
botany.soil.loam=Loam
|
||||
tile.flowerbed.name=Flowerbed
|
||||
tile.flowerbedNoWeed.name=Flowerbed
|
||||
botany.soil.flowerbed=Flowerbed
|
||||
botany.soil.weedkiller=Weedkiller
|
||||
|
||||
@@ -158,15 +169,20 @@ botany.item.tooltip.fertility=Fertility: %dx
|
||||
botany.item.tooltip.flowerColor1=%1$s, %2$s Stem
|
||||
botany.item.tooltip.flowerColor2=%1$s and %2$s, %3$s Stem
|
||||
|
||||
item.soilMeter.name=Soil Meter
|
||||
botany.item.soilMeter.name=Soil Meter
|
||||
item.pigment.name=Pigment
|
||||
botany.item.pigment.name=Pigment
|
||||
botany.item.clay.name=Clay
|
||||
botany.item.botany.name=%1$s %2$s
|
||||
item.pollen.name=Pollen
|
||||
botany.item.pollen.tag.name=Pollen
|
||||
botany.item.germling.tag.name=Germling
|
||||
botany.item.flowerCorrupted.name=Corrupted Flower
|
||||
item.database.name=Botanist Database
|
||||
botany.item.database.0.name=Botanist Database
|
||||
botany.item.database.1.name=Master Botanist Database
|
||||
item.misc.name=Powder
|
||||
botany.item.powderAsh.name=Ash Powder
|
||||
botany.item.powderPulp.name=Pulp Powder
|
||||
botany.item.powderMulch.name=Mulch Powder
|
||||
@@ -182,6 +198,7 @@ item.trowelIron.name=Iron Trowel
|
||||
item.trowelGold.name=Gold Trowel
|
||||
item.trowelDiamond.name=Diamond Trowel
|
||||
|
||||
item.itemFlower.name=Flower
|
||||
botany.flower.name=Flower
|
||||
botany.flower.dandelion=Dandelion
|
||||
botany.flower.poppy=Poppy
|
||||
@@ -365,6 +382,7 @@ for.binnie.circuit.garden.damp.acid=Garden (Damp, Acidic)
|
||||
for.binnie.circuit.garden.damp.neutral=Garden (Damp, Neutral)
|
||||
for.binnie.circuit.garden.damp.alkaline=Garden (Damp, Alkaline)
|
||||
|
||||
item.insulatedTube.name=Insulated Tube
|
||||
botany.tube.name=Insulated Tube
|
||||
botany.tube.copper=Copper
|
||||
botany.tube.tin=Tin
|
||||
@@ -456,3 +474,5 @@ botany.gui.database.tab.breeder=Breeder
|
||||
|
||||
botany.gui.database.tab.colour.resultant=Resultant Mixes
|
||||
botany.gui.database.tab.colour.further=Further Mixes
|
||||
|
||||
item.seed.name=Seed
|
||||
@@ -1,6 +1,7 @@
|
||||
##################################################
|
||||
## Items
|
||||
|
||||
item.honeyComb.name=Comb
|
||||
extrabees.item.comb.barren=Barren Comb
|
||||
extrabees.item.comb.rotten=Rotten Comb
|
||||
extrabees.item.comb.bone=Bone Comb
|
||||
@@ -74,6 +75,7 @@ extrabees.item.comb.yellorium=Yellorium Comb
|
||||
extrabees.item.comb.cyanite=Cyanite Comb
|
||||
extrabees.item.comb.blutonium=Blutonium Comb
|
||||
|
||||
item.honeyDrop.name=Drop
|
||||
extrabees.item.honeydrop.energy=Energy Drop
|
||||
extrabees.item.honeydrop.acid=Acidic Drop
|
||||
extrabees.item.honeydrop.poison=Venomous Drop
|
||||
@@ -104,12 +106,14 @@ extrabees.item.honeydrop.limegreen=Lime Green Tinted Honey
|
||||
extrabees.item.honeydrop.magenta=Magenta Tinted Honey
|
||||
extrabees.item.honeydrop.lightgray=Light Gray Tinted Honey
|
||||
|
||||
item.propolis.name=Propolis
|
||||
extrabees.item.propolis.water=Watery Propolis
|
||||
extrabees.item.propolis.oil=Oily Propolis
|
||||
extrabees.item.propolis.fuel=Petroleum Propolis
|
||||
extrabees.item.propolis.creosote=Creosote Propolis
|
||||
extrabees.item.propolis.peat=Peat Propolis
|
||||
|
||||
item.hiveFrame.name=Hive Frame
|
||||
extrabees.item.frame.cocoa=Chocolate Frame
|
||||
extrabees.item.frame.cage=Restraint Frame
|
||||
extrabees.item.frame.soul=Soul Frame
|
||||
@@ -127,10 +131,12 @@ extrabees.item.template.corrupted=Corrupted Template
|
||||
extrabees.item.template.name=%s Template
|
||||
extrabees.item.template.empty=Blank Template
|
||||
|
||||
item.dictionary.name=Apiarist Database
|
||||
extrabees.item.database=Apiarist Database
|
||||
extrabees.item.masterDatabase=Master Apiarist Database
|
||||
extrabees.item.database.tooltip=Flora-in-a-box
|
||||
|
||||
item.misc.name=Resource
|
||||
extrabees.item.scentedGear=Scented Gear
|
||||
extrabees.item.diamondShard=Diamond Fragment
|
||||
extrabees.item.emeraldShard=Emerald Fragment
|
||||
@@ -167,6 +173,7 @@ extrabees.block.geneticMachine.name=Genetic Machine
|
||||
extrabees.block.advGeneticMachine.name=Advanced Genetic Machine
|
||||
extrabees.block.ectoplasm.name=Ectoplasm
|
||||
|
||||
tile.hive.name=Hive
|
||||
extrabees.block.hive.0=Water Hive
|
||||
extrabees.block.hive.1=Rock Hive
|
||||
extrabees.block.hive.2=Nether Hive
|
||||
@@ -194,6 +201,7 @@ extrabees.machine.alveay.lighting.info=The Alveary Lighting tricks bees into thi
|
||||
extrabees.machine.alveay.unlighting=Alveary Unlighting
|
||||
extrabees.machine.alveay.unlighting.info=The Alveary Unlighting tricks bees into thinking it is night time during the day.
|
||||
|
||||
tile.alveary.name=Mutator
|
||||
extrabees.machine.alveay.mutator=Mutator
|
||||
extrabees.machine.alveay.mutator.info=The Mutator uses certain items in order to encourage bee mutation.
|
||||
extrabees.machine.alveay.mutator.tooltip=Mutagenic Agents
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
##################################################
|
||||
## Machines
|
||||
|
||||
tile.machine.name=Machine
|
||||
|
||||
extratrees.machine.kitchen.bar=Bar
|
||||
extratrees.machine.kitchen.bottleRack=Bottle Rack
|
||||
|
||||
@@ -159,6 +161,7 @@ extratrees.block.tooltip.twoMaterials=%s and %s
|
||||
extratrees.block.door.name=%1$s Wood Door
|
||||
|
||||
< %1$s is name of wood used for door, %2$s is type of door >
|
||||
tile.door.name=Wood Door
|
||||
extratrees.block.door.name.adv=%2$s %1$s Wood Door
|
||||
extratrees.block.door.type.standard=
|
||||
extratrees.block.door.type.solid=Solid
|
||||
@@ -166,19 +169,24 @@ extratrees.block.door.type.double=Split
|
||||
extratrees.block.door.type.full=Full
|
||||
|
||||
< %1$s is name of the wood>
|
||||
tile.planks.name=Wood Planks
|
||||
extratrees.block.plank.name=%1$s Wood Planks
|
||||
extratrees.block.log.name=%1$s Wood
|
||||
tile.slabs.name=Wood Slab
|
||||
extratrees.block.woodslab.name=%1$s Wood Slab
|
||||
tile.stairs.name=Stairs
|
||||
extratrees.block.woodstairs.name=%1$s Stairs
|
||||
extratrees.block.woodfence.name=%1$s Fence
|
||||
extratrees.block.woodgate.name=%1$s Gate
|
||||
|
||||
< %1$s is the adjective for the fence type, %2$s is the name of the wood >
|
||||
tile.multifence.name=Fence
|
||||
extratrees.block.multifence.name=%2$s %1$s Gate
|
||||
< %3$s is the name of the second wood >
|
||||
extratrees.block.multifence.name2=%2$s %1$s & $3$s Gate
|
||||
|
||||
< %1$s is name of the design >
|
||||
tile.carpentry.name=Wooden Panel/Tile
|
||||
extratrees.block.woodentile.name=%1$s Wooden Tile
|
||||
extratrees.block.woodenpanel.name=%1$s Wooden Panel
|
||||
extratrees.block.stainedglass.name=%1$s Stained Glass
|
||||
@@ -312,14 +320,18 @@ extratrees.genetics.unknown=<Unknown>
|
||||
extratrees.genetics.discoveredBy=Discovered by %s
|
||||
extratrees.genetics.complexity=Complexity: %d
|
||||
|
||||
extratrees.item.carpentryHammer=Master Carpentry Hammer
|
||||
extratrees.item.masterCarpentryHammer=Carpentry Hammer
|
||||
item.hammer.name=Carpentry Hammer
|
||||
extratrees.item.carpentryHammer=Carpentry Hammer
|
||||
item.durableHammer.name=Master Carpentry Hammer
|
||||
extratrees.item.masterCarpentryHammer=Master Carpentry Hammer
|
||||
item.misc.name=Resource
|
||||
extratrees.item.sawdust=Sawdust
|
||||
extratrees.item.bark=Bark
|
||||
extratrees.item.provenGear=Proven Gear
|
||||
extratrees.item.woodWax=Wood Polish
|
||||
extratrees.item.glassFitting=Glass Fittings
|
||||
|
||||
item.food.name=Fruit
|
||||
for.extratrees.item.food.apple=Apple
|
||||
for.extratrees.item.food.crabapple=Crabapple
|
||||
for.extratrees.item.food.orange=Orange
|
||||
@@ -383,10 +395,12 @@ for.extratrees.item.food.mango=Mango
|
||||
for.extratrees.item.food.starfruit=Starfruit
|
||||
for.extratrees.item.food.candlenut=Candlenut
|
||||
|
||||
item.database.name=Arborist Database
|
||||
extratrees.item.database=Arborist Database
|
||||
extratrees.item.masterDatabase=Master Arborist Database
|
||||
extratrees.item.database.tooltip=Sengir-in-a-can
|
||||
|
||||
item.databaseMoth.name=Lepidopterist Database
|
||||
extratrees.item.mothDatabase=Lepidopterist Database
|
||||
extratrees.item.mothMasterDatabase=Master Lepidopterist Database
|
||||
extratrees.item.mothDatabase.tooltip=Binnie's Emporium of Lepidopterans
|
||||
|
||||
@@ -9,22 +9,29 @@ genetics.item.fieldKit.tooltip.noPaper=No paper
|
||||
genetics.item.fieldKit.tooltip.sheetsOfPaper=%d sheets of paper
|
||||
genetics.item.fieldKit.tooltip.sheetOfPaper=%d sheet of paper
|
||||
|
||||
item.misc.name=Resource
|
||||
genetics.item.casingIron.name=Reinforced Casing
|
||||
genetics.item.dnaDye.name=DNA Dye
|
||||
genetics.item.dyeFluor.name=Fluorescent Dye
|
||||
genetics.item.enzyme.name=Enzyme
|
||||
genetics.item.growthMedium.name=Growth Medium
|
||||
genetics.item.sequencerEmpty.name=Blank Sequence
|
||||
item.serum.name=Empty Serum Vial
|
||||
genetics.item.serumEmpty.name=Empty Serum Vial
|
||||
item.serumArray.name=Empty Serum Array
|
||||
genetics.item.genomeEmpty.name=Empty Serum Array
|
||||
genetics.item.cylinderEmpty.name=Glass Cylinder
|
||||
genetics.item.integratedCircuit.name=Integrated Circuit Board
|
||||
genetics.item.integratedCPU.name=Integrated CPU
|
||||
genetics.item.casingCircuit.name=Integrated Casing
|
||||
item.analyst.name=Analyst
|
||||
genetics.item.analyst.name=Analyst
|
||||
item.database.name=Gene Database
|
||||
genetics.item.database.0.name=Gene Database
|
||||
genetics.item.database.1.name=Master Gene Database
|
||||
item.registry.name=Registry
|
||||
genetics.item.registry.0.name=Registry
|
||||
item.masterRegistry.name=Registry
|
||||
genetics.item.registry.1.name=Master Registry
|
||||
genetics.item.serum.name=%s Serum
|
||||
genetics.item.serumArray.name=%s Serum Array
|
||||
@@ -42,6 +49,7 @@ genetics.gene.charge.one=1 Charge
|
||||
genetics.gene.charge.many=%d Charges
|
||||
genetics.gene.more=%d more genes. Hold shift to display
|
||||
|
||||
item.sequence.name=DNA Sequence
|
||||
genetics.sequence.corrupted=Corrupted Sequence
|
||||
genetics.sequence.descriptor=%s DNA Sequence
|
||||
genetics.sequence.unknown=<Unknown>
|
||||
@@ -49,6 +57,7 @@ genetics.sequence.unsequenced=Unsequenced
|
||||
genetics.sequence.fully=Fully Sequenced
|
||||
genetics.sequence.partially=Partially Sequenced (%d%%)
|
||||
|
||||
tile.machine.name=Isolator
|
||||
genetics.machine.machine.isolator=Isolator
|
||||
genetics.machine.machine.isolator.info=The Isolator takes a random allele from a bee, tree or other individual and copies it into an empty sequence vial. This requires the use of ethanol as a solvent and an enzyme to cut up the DNA. The unsequenced serums can then be amplified in a Polymeriser and sequenced in a Sequencer. This process has a small chance to destroy the individual.
|
||||
genetics.machine.isolator.error.noIndividual=No individual to isolate
|
||||
@@ -102,6 +111,7 @@ genetics.machine.genepool.error.noRoom=Not enough room in Tank
|
||||
genetics.machine.genepool.error.noEthanol=Not enough Ethanol
|
||||
genetics.machine.genepool.error.insufficientEnzyme=Insufficient Enzyme
|
||||
|
||||
tile.labMachine.name=Lab Stand
|
||||
genetics.machine.labMachine.labMachine=Lab Stand
|
||||
|
||||
genetics.machine.labMachine.analyser=Analyzer
|
||||
@@ -128,6 +138,7 @@ genetics.machine.acclimatiser.error.noIndividual=No Individual to Acclimatise
|
||||
genetics.machine.acclimatiser.error.noAcclimatizingItems=No Acclimatising Items
|
||||
genetics.machine.acclimatiser.error.invalidAcclimatizingItems=Cannot Acclimatise this individual with these items
|
||||
|
||||
tile.advMachine.name=Splicer
|
||||
genetics.machine.advMachine.splicer=Splicer
|
||||
genetics.machine.advMachine.splicer.info=The Splicer is an incredibly powerful machine that is used to insert genes into individuals. This process is fast, but requires monumental amounts of power.
|
||||
genetics.machine.splicer.error.noIndividual=No Individual to Splice
|
||||
@@ -274,4 +285,4 @@ genetics.nei.tip.temperature=Temperature
|
||||
genetics.nei.tip.humidity=Humidity
|
||||
genetics.nei.tip.processSpeed=%dx Processing Speed
|
||||
genetics.nei.tip.rf=%dx Processing Speed
|
||||
genetics.nei.tip.databaseDesc=Open the database and pick up an empty serum. Click the serum on Sequenced gene to apply.
|
||||
genetics.nei.tip.databaseDesc=Open the database and pick up an empty serum. Click the serum on Sequenced gene to apply.
|
||||
Reference in new issue
Block a user