Compare commits

..
10 Commits
9 changed files with 255 additions and 119 deletions

No files matched your search

+17 -17
View File
@@ -1,25 +1,25 @@
// Add your dependencies here
dependencies {
api('com.github.GTNewHorizons:EnderCore:0.5.0:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:ForestryMC:4.10.17:dev')
compileOnly('com.github.GTNewHorizons:NotEnoughItems:2.8.19-GTNH:dev')
api("com.github.GTNewHorizons:GTNHLib:0.7.0:dev")
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.45:dev')
api('com.github.GTNewHorizons:EnderCore:0.5.5:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:ForestryMC:4.11.4:dev')
compileOnly('com.github.GTNewHorizons:NotEnoughItems:2.8.60-GTNH:dev')
api("com.github.GTNewHorizons:GTNHLib:0.9.10:dev")
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.55:dev')
api('curse.maven:cofh-lib-220333:2388748') // https://www.curseforge.com/minecraft/mc-mods/cofh-lib/files/2388748
shadowImplementation('cglib:cglib-nodep:3.3.0')
api("com.github.GTNewHorizons:TinkersConstruct:1.14.6-GTNH:dev")
api("com.github.GTNewHorizons:TinkersConstruct:1.14.27-GTNH:dev")
devOnlyNonPublishable('com.github.GTNewHorizons:waila:1.9.15:dev') {transitive = false}
devOnlyNonPublishable('com.github.GTNewHorizons:waila:1.19.22:dev') {transitive = false}
runtimeOnlyNonPublishable('com.github.GTNewHorizons:WAILAPlugins:0.7.2:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-717-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.1-GTNH:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.60:dev') {transitive = false}
compileOnly("com.github.GTNewHorizons:ModularUI2:2.3.4-1.7.10:dev") {transitive = false}
compileOnly('com.github.GTNewHorizons:Railcraft:9.17.0:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:StorageDrawers:2.2.0-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Chisel:2.17.0-GTNH:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:OpenComputers:1.12.2-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-812-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.6-GTNH:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.261:dev') {transitive = false}
compileOnly("com.github.GTNewHorizons:ModularUI2:2.3.37-1.7.10:dev") {transitive = false}
compileOnly('com.github.GTNewHorizons:Railcraft:9.17.17:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:StorageDrawers:2.2.9-GTNH:api') {transitive = false}
compileOnly('com.github.GTNewHorizons:Chisel:2.17.14-GTNH:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:OpenComputers:1.12.16-GTNH:api') {transitive = false}
compileOnly('curse.maven:minefactory-reloaded-66672:2366150') // https://www.curseforge.com/minecraft/mc-mods/minefactory-reloaded/files/2366150
compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
compileOnly('curse.maven:ee3-65509:2305023') // https://www.curseforge.com/minecraft/mc-mods/ee3/files/2305023
@@ -27,6 +27,6 @@ dependencies {
compileOnly(rfg.deobf('curse.maven:mekanism-268560:2475797')) // https://www.curseforge.com/minecraft/mc-mods/mekanism/files/2475797
compileOnly(rfg.deobf('maven.modrinth:immibis-microblocks:59.1.2')) // https://modrinth.com/mod/immibis-microblocks/version/59.1.2
compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta62:api') {transitive = false}
compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.3:dev")
compileOnlyApi('com.github.GTNewHorizons:Angelica:1.0.0-beta66a:api') {transitive = false}
compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.58:dev")
}
+1 -1
View File
@@ -17,7 +17,7 @@ pluginManagement {
}
plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.12'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.19'
}
@@ -7,7 +7,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.function.Supplier;
import java.util.function.IntSupplier;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
@@ -89,20 +89,20 @@ public abstract class AbstractEnderLiquidConduit extends AbstractLiquidConduit {
STELLAR(() -> Config.stellarEnderFluidConduitExtractRate, () -> Config.stellarEnderFluidConduitMaxIoRate);
private final Supplier<Integer> getMaxExtractPerTick;
private final Supplier<Integer> getMaxIoPerTick;
private final IntSupplier getMaxExtractPerTick;
private final IntSupplier getMaxIoPerTick;
Type(Supplier<Integer> getMaxExtractPerTick, Supplier<Integer> getMaxIoPerTick) {
Type(IntSupplier getMaxExtractPerTick, IntSupplier getMaxIoPerTick) {
this.getMaxExtractPerTick = getMaxExtractPerTick;
this.getMaxIoPerTick = getMaxIoPerTick;
}
public int getMaxExtractPerTick() {
return getMaxExtractPerTick.get();
return getMaxExtractPerTick.getAsInt();
}
public int getMaxIoPerTick() {
return getMaxIoPerTick.get();
return getMaxIoPerTick.getAsInt();
}
}
@@ -85,11 +85,13 @@ public class EnderLiquidConduitNetwork extends AbstractConduitNetwork<ILiquidCon
return false;
}
if (tank.externalTank.getTankInfo(conDir.getOpposite()) != null) {
for (FluidTankInfo tankInfo : tank.externalTank.getTankInfo(conDir.getOpposite())) {
FluidTankInfo[] tankInfos = tank.externalTank.getTankInfo(conDir.getOpposite());
if (tankInfos != null) {
for (FluidTankInfo tankInfo : tankInfos) {
if (tankInfo == null || tankInfo.fluid == null) {
continue;
}
FluidStack tryDrain = tankInfo.fluid.copy();
tryDrain.amount = type.getMaxExtractPerTick();
FluidStack drained = tank.externalTank.drain(conDir.getOpposite(), tryDrain, false);
@@ -98,10 +100,12 @@ public class EnderLiquidConduitNetwork extends AbstractConduitNetwork<ILiquidCon
|| !tryDrain.isFluidEqual(drained)) {
continue;
}
int amountAccepted = fillFrom(tank, drained.copy(), true);
int amountAccepted = fillFrom(tank, drained, true);
if (amountAccepted <= 0) {
continue;
}
tryDrain.amount = amountAccepted;
drained = tank.externalTank.drain(conDir.getOpposite(), tryDrain, true);
if (drained == null || drained.amount <= 0) {
@@ -115,7 +119,7 @@ public class EnderLiquidConduitNetwork extends AbstractConduitNetwork<ILiquidCon
if (drained == null || drained.amount <= 0 || !matchedFilter(drained, con, conDir, true)) {
return false;
}
int amountAccepted = fillFrom(tank, drained.copy(), true);
int amountAccepted = fillFrom(tank, drained, true);
if (amountAccepted <= 0) {
return false;
}
@@ -147,7 +151,6 @@ public class EnderLiquidConduitNetwork extends AbstractConduitNetwork<ILiquidCon
resource = resource.copy();
resource.amount = Math.min(resource.amount, type.getMaxIoPerTick());
int filled = 0;
int remaining = resource.amount;
// TODO: Only change starting pos of iterator is doFill is true so a false then true returns the same
TankIterator iterator;
@@ -158,13 +161,13 @@ public class EnderLiquidConduitNetwork extends AbstractConduitNetwork<ILiquidCon
&& target.acceptsOuput
&& target.isValid()
&& matchedFilter(resource, target.con, target.conDir, false)) {
int vol = target.externalTank.fill(target.tankDir, resource.copy(), doFill);
remaining -= vol;
// Use reused FluidStack instead of copying each iteration
int vol = target.externalTank.fill(target.tankDir, resource, doFill);
resource.amount -= vol;
filled += vol;
if (remaining <= 0) {
if (resource.amount <= 0) {
break;
}
resource.amount = remaining;
}
}
if (!tank.con.isRoundRobin(tank.conDir)) iterator.rewind();
@@ -1,19 +1,21 @@
package crazypants.enderio.machine.farm;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.List;
import javax.annotation.Nonnull;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemShears;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.EnumSkyBlock;
@@ -31,7 +33,6 @@ import crazypants.enderio.ModObject;
import crazypants.enderio.config.Config;
import crazypants.enderio.machine.AbstractPoweredTaskEntity;
import crazypants.enderio.machine.ContinuousTask;
import crazypants.enderio.machine.IMachineRecipe.ResultStack;
import crazypants.enderio.machine.IPoweredTask;
import crazypants.enderio.machine.SlotDefinition;
import crazypants.enderio.machine.farm.farmers.FarmersCommune;
@@ -48,6 +49,8 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
private static final int TICKS_PER_WORK = 20;
private boolean showingRange;
private final List<ItemStack> harvestBuffer = new ArrayList<>();
@Override
public World getWorld() {
return worldObj;
@@ -424,6 +427,38 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
wasActive = isActive();
worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord);
}
tryMoveFromBuffer();
}
private void tryMoveFromBuffer() {
if (harvestBuffer.isEmpty() || worldObj.isRemote) {
return;
}
List<ItemStack> toRemove = new ArrayList<>();
for (ItemStack stack : harvestBuffer) {
if (stack == null || stack.stackSize <= 0) {
toRemove.add(stack);
continue;
}
ItemStack remaining = tryInsertToInputSlots(stack);
if (remaining != null && remaining.stackSize > 0) {
remaining = tryInsertToOutputSlots(remaining);
}
if (remaining == null || remaining.stackSize == 0) {
toRemove.add(stack);
} else {
stack.stackSize = remaining.stackSize;
}
}
harvestBuffer.removeAll(toRemove);
if (!toRemove.isEmpty()) {
markDirty();
}
}
@Override
@@ -445,9 +480,18 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
setNotification("noPower");
return false;
}
if (isBufferNotEmpty() || isOutputFull()) {
setNotification("outputFull");
return false;
}
return true;
}
private boolean isBufferNotEmpty() {
return !harvestBuffer.isEmpty();
}
protected void doTick() {
if (sendNotification && shouldDoWorkThisTick(TICKS_PER_WORK)) {
@@ -488,7 +532,7 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
block = worldObj.getBlock(bc.x, bc.y, bc.z);
}
if (isOutputFull()) {
if (isOutputFull() || isBufferNotEmpty()) {
setNotification("outputFull");
return;
}
@@ -507,10 +551,8 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
new TargetPoint(worldObj.provider.dimensionId, bc.x, bc.y, bc.z, Config.farmParticlesMaxRange));
for (EntityItem ei : harvest.getDrops()) {
if (ei != null) {
insertHarvestDrop(ei, bc);
if (!ei.isDead) {
worldObj.spawnEntityInWorld(ei);
}
addToBuffer(ei.getEntityItem().copy());
ei.setDead();
}
}
return;
@@ -552,6 +594,99 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
}
}
private void addToBuffer(ItemStack stack) {
if (stack == null || stack.stackSize <= 0) {
return;
}
for (ItemStack bufStack : harvestBuffer) {
if (bufStack.isItemEqual(stack) && ItemStack.areItemStackTagsEqual(bufStack, stack)) {
int canAdd = bufStack.stackSize;
if (canAdd > 0) {
int addAmount = Math.min(canAdd, stack.stackSize);
bufStack.stackSize += addAmount;
stack.stackSize -= addAmount;
if (stack.stackSize <= 0) {
markDirty();
return;
}
}
}
}
harvestBuffer.add(stack.copy());
markDirty();
}
private ItemStack tryInsertToInputSlots(ItemStack stack) {
if (stack == null || stack.stackSize <= 0) {
return null;
}
for (int i = minSupSlot; i <= maxSupSlot; i++) {
if (stack.stackSize <= 0) {
break;
}
ItemStack slotStack = inventory[i];
int stackLimit = getInventoryStackLimit(i);
if (isItemValidForSlot(i, stack)) {
if (slotStack == null) {
if (!isSlotLocked(i)) {
int amount = Math.min(stack.stackSize, stackLimit);
inventory[i] = stack.copy();
inventory[i].stackSize = amount;
stack.stackSize -= amount;
markDirty();
}
} else if (slotStack.isItemEqual(stack) && ItemStack.areItemStackTagsEqual(slotStack, stack)) {
int canAdd = Math.min(stackLimit - slotStack.stackSize, stack.stackSize);
if (canAdd > 0) {
slotStack.stackSize += canAdd;
stack.stackSize -= canAdd;
markDirty();
}
}
}
}
return stack.stackSize > 0 ? stack : null;
}
private ItemStack tryInsertToOutputSlots(ItemStack stack) {
if (stack == null || stack.stackSize <= 0) {
return null;
}
for (int i = slotDefinition.minOutputSlot; i <= slotDefinition.maxOutputSlot; i++) {
if (stack.stackSize <= 0) {
break;
}
ItemStack slotStack = inventory[i];
int stackLimit = 64;
if (slotStack == null) {
int amount = Math.min(stack.stackSize, stackLimit);
inventory[i] = stack.copy();
inventory[i].stackSize = amount;
stack.stackSize -= amount;
markDirty();
} else if (slotStack.isItemEqual(stack) && ItemStack.areItemStackTagsEqual(slotStack, stack)) {
int canAdd = Math.min(stackLimit - slotStack.stackSize, stack.stackSize);
if (canAdd > 0) {
slotStack.stackSize += canAdd;
stack.stackSize -= canAdd;
markDirty();
}
}
}
return stack.stackSize > 0 ? stack : null;
}
private int bonemealCooldown = 5; // no need to persist this
private boolean hasBonemeal() {
@@ -652,68 +787,6 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
return minSupSlot + 3;
}
private void insertHarvestDrop(Entity entity, BlockCoord bc) {
if (!worldObj.isRemote) {
if (entity instanceof EntityItem && !entity.isDead) {
EntityItem item = (EntityItem) entity;
ItemStack stack = item.getEntityItem().copy();
int numInserted = insertResult(stack, bc);
stack.stackSize -= numInserted;
item.setEntityItemStack(stack);
if (stack.stackSize == 0) {
item.setDead();
}
}
}
}
private int insertResult(ItemStack stack, BlockCoord bc) {
int slot = bc != null ? getSupplySlotForCoord(bc) : minSupSlot;
int[] slots = new int[NUM_SUPPLY_SLOTS];
int k = 0;
for (int j = slot; j <= maxSupSlot; j++) {
slots[k++] = j;
}
for (int j = minSupSlot; j < slot; j++) {
slots[k++] = j;
}
int origSize = stack.stackSize;
stack = stack.copy();
int inserted = 0;
for (int j = 0; j < slots.length && inserted < stack.stackSize; j++) {
int i = slots[j];
ItemStack curStack = inventory[i];
int inventoryStackLimit = getInventoryStackLimit(i);
if (isItemValidForSlot(i, stack) && (curStack == null || curStack.stackSize < inventoryStackLimit)) {
if (curStack == null) {
if (stack.stackSize < inventoryStackLimit) {
inventory[i] = stack.copy();
inserted = stack.stackSize;
} else {
inventory[i] = stack.copy();
inserted = inventoryStackLimit;
inventory[i].stackSize = inserted;
}
} else if (curStack.isItemEqual(stack)) {
inserted = Math.min(inventoryStackLimit - curStack.stackSize, stack.stackSize);
inventory[i].stackSize += inserted;
}
}
}
stack.stackSize -= inserted;
if (inserted >= origSize) {
return origSize;
}
ResultStack[] in = new ResultStack[] { new ResultStack(stack) };
mergeResults(in);
return origSize - (in[0].item == null ? 0 : in[0].item.stackSize);
}
private @Nonnull BlockCoord getNextCoord() {
int size = getFarmSize();
@@ -752,11 +825,6 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
return EnderIO.blockFarmStation.getLocalizedName();
}
@Override
public boolean hasCustomInventoryName() {
return false;
}
@Override
public String getMachineName() {
return ModObject.blockFarmStation.unlocalisedName;
@@ -811,6 +879,17 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
} else if (slotLayoutVersion == 2) {
inventory = (new ArrayMappingTool<ItemStack>("TTTSSSSOOOOOOC", "TTTBBSSSSOOOOOOC")).map(inventory);
}
if (nbtRoot.hasKey("HarvestBuffer")) {
NBTTagList bufferList = nbtRoot.getTagList("HarvestBuffer", 10);
for (int i = 0; i < bufferList.tagCount(); i++) {
NBTTagCompound itemTag = bufferList.getCompoundTagAt(i);
ItemStack stack = ItemStack.loadItemStackFromNBT(itemTag);
if (stack != null && stack.stackSize > 0) {
harvestBuffer.add(stack);
}
}
}
}
IPoweredTask createTask() {
@@ -834,6 +913,18 @@ public class TileFarmStation extends AbstractPoweredTaskEntity implements IRange
nbtRoot.setIntArray("lockedSlots", locked);
}
nbtRoot.setInteger("slotLayoutVersion", 3);
if (!harvestBuffer.isEmpty()) {
NBTTagList bufferList = new NBTTagList();
for (ItemStack stack : harvestBuffer) {
if (stack != null && stack.stackSize > 0) {
NBTTagCompound itemTag = new NBTTagCompound();
stack.writeToNBT(itemTag);
bufferList.appendTag(itemTag);
}
}
nbtRoot.setTag("HarvestBuffer", bufferList);
}
}
@Override
@@ -58,7 +58,7 @@ public class TileReservoir extends TileEntityEio implements IFluidHandler, ITank
}
}
static final FluidStack WATER_BUCKET = FluidRegistry.getFluidStack("water", BUCKET_VOLUME);
static final FluidStack WATER_BUCKET = new FluidStack(FluidRegistry.WATER, BUCKET_VOLUME);
BlockCoord[] multiblock = null;
@@ -156,7 +156,7 @@ public class TileReservoir extends TileEntityEio implements IFluidHandler, ITank
if (tank.getFluid() == null) {
return true;
}
if (fluid != null && fluid.getID() == tank.getFluid().getFluidID()) {
if (fluid != null && fluid == tank.getFluid().getFluid()) {
return true;
}
return false;
@@ -167,7 +167,7 @@ public class TileReservoir extends TileEntityEio implements IFluidHandler, ITank
if (tank.getFluid() == null || fluid == null) {
return false;
}
return tank.getFluid().getFluid().getID() == fluid.getID();
return tank.getFluid().getFluid() == fluid;
}
@Override
@@ -1,5 +1,8 @@
package crazypants.enderio.material;
import static net.minecraft.util.EnumChatFormatting.RESET;
import java.text.DecimalFormat;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -9,6 +12,7 @@ import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
@@ -20,6 +24,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import crazypants.enderio.EnderIO;
import crazypants.enderio.EnderIOTab;
import crazypants.enderio.ModObject;
import crazypants.enderio.config.Config;
import crazypants.enderio.power.BasicCapacitor;
import crazypants.enderio.power.Capacitors;
import crazypants.enderio.power.ICapacitor;
@@ -28,6 +33,7 @@ import crazypants.enderio.power.ICapacitorItem;
public class ItemCapacitor extends Item implements ICapacitorItem {
private static final BasicCapacitor CAP = new BasicCapacitor();
private static final String SPACE = " ";
public static ItemCapacitor create() {
ItemCapacitor result = new ItemCapacitor();
@@ -104,12 +110,43 @@ public class ItemCapacitor extends Item implements ICapacitorItem {
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List<String> par3List,
boolean par4) {
if (par1ItemStack != null && par1ItemStack.getItemDamage() > 0 && par1ItemStack.getItemDamage() != 7) {
par3List.add(EnderIO.lang.localize("machine.tooltip.upgrade"));
ICapacitor capacitor = getCapacitor(par1ItemStack);
par3List.add(EnumChatFormatting.GREEN + EnderIO.lang.localize("machine.tooltip.upgrade.name"));
if (SpecialTooltipHandler.showAdvancedTooltips()) {
SpecialTooltipHandler.addDetailedTooltipFromResources(par3List, "enderio.machine.tooltip.upgrade");
addUpgrades(par3List, capacitor);
addRangeUpgrade(par3List, capacitor);
} else {
SpecialTooltipHandler.addShowDetailsTooltip(par3List);
}
}
}
public void addUpgrades(List<String> list, ICapacitor capacitor) {
DecimalFormat formatter = new DecimalFormat("#,###");
String tierString = EnumChatFormatting.AQUA + EnderIO.lang.localize("machine.tooltip.upgrade.tier");
String maxEnergyStorageString = EnumChatFormatting.AQUA
+ EnderIO.lang.localize("machine.tooltip.upgrade.energystorage");
String maxEnergyReceivedString = EnumChatFormatting.AQUA
+ EnderIO.lang.localize("machine.tooltip.upgrade.energyreceived");
String maxEnergyExtractedString = EnumChatFormatting.AQUA
+ EnderIO.lang.localize("machine.tooltip.upgrade.energyextracted");
String upgrades = EnumChatFormatting.GOLD + EnderIO.lang.localize("machine.tooltip.upgrade");
String maxEnergyStorage = formatter.format(capacitor.getMaxEnergyStored());
int tier = capacitor.getTier();
String maxEnergyReceived = formatter.format(capacitor.getMaxEnergyReceived());
String maxEnergyExtracted = formatter.format(capacitor.getMaxEnergyExtracted());
list.add(upgrades);
list.add(SPACE + tierString + RESET + tier);
list.add(SPACE + maxEnergyReceivedString + RESET + maxEnergyReceived);
list.add(SPACE + maxEnergyExtractedString + RESET + maxEnergyExtracted);
list.add(SPACE + maxEnergyStorageString + RESET + maxEnergyStorage);
}
public void addRangeUpgrade(List<String> list, ICapacitor capacitor) {
String farmStation = EnumChatFormatting.AQUA + EnderIO.lang.localize("machine.tooltip.upgrade.farmstation");
String rangeUpgrade = EnumChatFormatting.GOLD + EnderIO.lang.localize("machine.tooltip.upgrade.range");
int range = Config.farmBonusSize * capacitor.getTier() - 1 + 2;
list.add(rangeUpgrade);
list.add(SPACE + farmStation + RESET + range);
}
}
@@ -53,7 +53,7 @@ public class SmartTank extends FluidTank {
if (fl == null || fluid == null) {
return false;
}
return fl.getID() == fluid.getFluidID();
return fl == fluid.getFluid();
}
public FluidStack drain(FluidStack resource, boolean doDrain) {
@@ -67,7 +67,7 @@ public class SmartTank extends FluidTank {
if (fluid != null) {
return fluid.isFluidEqual(resource);
} else if (restriction != null) {
return resource.getFluid() != null && restriction.getID() == resource.getFluid().getID();
return resource.getFluid() != null && restriction == resource.getFluid();
} else {
return true;
}
@@ -75,9 +75,9 @@ public class SmartTank extends FluidTank {
public boolean canFill(Fluid fl) {
if (fluid != null) {
return fluid.getFluid().getID() == fl.getID();
return fluid.getFluid() == fl;
} else if (restriction != null) {
return restriction.getID() == fl.getID();
return restriction == fl;
} else {
return true;
}
@@ -373,9 +373,14 @@ enderio.endergeticCapacitor.name=Endergetic Capacitor
enderio.endergisedCapacitor.name=Endergised Capacitor
enderio.totemicCapacitor.name=Totemic Capacitor
enderio.machine.tooltip.upgrade=Machine Upgrade
enderio.machine.tooltip.upgrade.tooltip.detailed.line1=Increases energy storage and
enderio.machine.tooltip.upgrade.tooltip.detailed.line2=speed / range of machines
enderio.machine.tooltip.upgrade.name=Machine Upgrade
enderio.machine.tooltip.upgrade=Upgrades:
enderio.machine.tooltip.upgrade.tier=Tier:
enderio.machine.tooltip.upgrade.energyreceived=Max Energy Received:
enderio.machine.tooltip.upgrade.energyextracted=Max Energy Extracted:
enderio.machine.tooltip.upgrade.farmstation=Farming station radius:
enderio.machine.tooltip.upgrade.energystorage=Max energy storage:
enderio.machine.tooltip.upgrade.range=Range upgrade:
enderio.machine.tooltip.clearConfig=This will clear all stored info!
#Machines