diff --git a/changelog b/changelog index e69de29bb..ff10295e2 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,13 @@ +## Added + +## Changed +* Updated russian localization +* The UAC pistol's UV now looks prettier +* The UAC pistol now fires a burst on right click +* CCGTs can no longer have smoke removed from them, on the count of there not being enough connections anyway. The pollution rate is now equivalent to three small furnaces + +## Fixed +* Fixed the bomber not spawning if the chunkloading radios is too small +* Fixed a couple spelling mistakes like BFB fuel being called ZFB and the broken ZIRNOX +* Potentially fixed a compat issue where galacticraft moon soil isn't shreddable into NTM moon turf +* Hopefully fixed the disappearing fluid buf once and for all \ No newline at end of file diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index 7c4a36a92..a0b5a47f0 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -37,8 +37,11 @@ public interface IFluidUser extends IFluidConnector { if(con.canConnect(type, dir.getOpposite())) { long toSend = this.getTotalFluidForSend(type, pressure); - long transfer = toSend - con.transferFluid(type, pressure, toSend); - this.removeFluidForTransfer(type, pressure, transfer); + + if(toSend > 0) { + long transfer = toSend - con.transferFluid(type, pressure, toSend); + this.removeFluidForTransfer(type, pressure, transfer); + } red = true; } } diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java index 019aa3dcd..8ad18725d 100644 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -127,14 +127,17 @@ public class PipeNet implements IPipeNet { long given = (long) Math.floor(fraction * fill); - totalGiven += (given - con.transferFluid(type, pressure, given)); - - if(trackingInstances != null) { - for(int j = 0; j < trackingInstances.size(); j++) { - PipeNet net = trackingInstances.get(j); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SSS"); - sdf.setTimeZone(TimeZone.getTimeZone("UTC")); - log(net, sdf.format(new Date(System.currentTimeMillis())) + " Sending " + given + "mB to " + conToString(con)); + if(given > 0) { + + totalGiven += (given - con.transferFluid(type, pressure, given)); + + if(trackingInstances != null) { + for(int j = 0; j < trackingInstances.size(); j++) { + PipeNet net = trackingInstances.get(j); + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SSS"); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + log(net, sdf.format(new Date(System.currentTimeMillis())) + " Sending " + given + "mB to " + conToString(con)); + } } } } diff --git a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java index 93f8d34a3..5882236e7 100644 --- a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java +++ b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java @@ -89,13 +89,13 @@ public class ArmorBJJetpack extends ArmorBJ { } } } - } - - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - super.addInformation(stack, player, list, ext); + } - list.add(EnumChatFormatting.RED + " + " + I18nUtil.resolveKey("armor.electricJetpack")); - list.add(EnumChatFormatting.GRAY + " + " + I18nUtil.resolveKey("armor.glider")); - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + super.addInformation(stack, player, list, ext); + + list.add(EnumChatFormatting.RED + " + " + I18nUtil.resolveKey("armor.electricJetpack")); + list.add(EnumChatFormatting.GRAY + " + " + I18nUtil.resolveKey("armor.glider")); + } } diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 3cacd975c..d6eb33079 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -289,6 +289,10 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity)); } + if(stepSize != 0) { + list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.stepSize", stepSize)); + } + if(dashCount > 0) { list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount)); } diff --git a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java index b2168b8af..5182cbdb5 100644 --- a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java +++ b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java @@ -1,12 +1,17 @@ package com.hbm.items.armor; +import java.util.List; + import com.hbm.render.model.ModelArmorTrenchmaster; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class ArmorTrenchmaster extends ArmorFSB { @@ -30,4 +35,12 @@ public class ArmorTrenchmaster extends ArmorFSB { return models[armorSlot]; } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + super.addInformation(stack, player, list, ext); + + list.add(EnumChatFormatting.RED + " + " + I18nUtil.resolveKey("armor.fasterReload")); + list.add(EnumChatFormatting.GRAY + " + " + I18nUtil.resolveKey("armor.moreAmmo")); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index b98d7daf0..32d1df24d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -18,7 +18,7 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardTransceiver; @@ -33,7 +33,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting implements IFluidStandardTransceiver, IEnergyGenerator, IControlReceiver, IGUIProvider { +public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyGenerator, IControlReceiver, IGUIProvider { public long power; public static final long maxPower = 1000000L; @@ -69,7 +69,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl //TODO particles from heat exchanger maybe? maybe in a future public TileEntityMachineTurbineGas() { - super(2, 200); + super(2); this.tanks = new FluidTank[4]; tanks[0] = new FluidTank(Fluids.GAS, 100000); tanks[1] = new FluidTank(Fluids.LUBRICANT, 16000); @@ -137,9 +137,6 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl for(int i = 0; i < 2; i++) { //fuel and lube this.trySubscribe(tanks[i].getTankType(), worldObj, xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()); this.trySubscribe(tanks[i].getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir); - - this.sendSmoke(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()); - this.sendSmoke(xCoord + dir.offsetX * 2 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir); } //water this.trySubscribe(tanks[2].getTankType(), worldObj, xCoord - dir.offsetX * 2 + rot.offsetX * -4, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * -4, dir.getOpposite()); @@ -303,7 +300,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl } double consumption = fuelMaxCons.containsKey(tanks[0].getTankType()) ? fuelMaxCons.get(tanks[0].getTankType()) : 5D; - if(worldObj.getTotalWorldTime() % 20 == 0 && tanks[0].getTankType() != Fluids.OXYHYDROGEN) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (float) consumption * 0.25F); + if(worldObj.getTotalWorldTime() % 20 == 0 && tanks[0].getTankType() != Fluids.OXYHYDROGEN) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, 3F); makePower(consumption, throttle); } @@ -536,7 +533,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl @Override public FluidTank[] getSendingTanks() { - return new FluidTank[] { tanks[3], smoke, smoke_leaded, smoke_poison }; + return new FluidTank[] { tanks[3] }; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 32444fda7..ac0cd0be4 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -72,6 +72,24 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc return (byte) (MathHelper.clamp_int((int) frac + 1, 0, 15)); } + @Override + public long getDemand(FluidType type, int pressure) { + + if(this.mode == 2 || this.mode == 3 || this.sendingBrake) + return 0; + + if(tank.getPressure() != pressure) return 0; + + return type == tank.getTankType() ? tank.getMaxFill() - tank.getFill() : 0; + } + + @Override + public long transferFluid(FluidType type, int pressure, long fluid) { + long toTransfer = Math.min(getDemand(type, pressure), fluid); + tank.setFill(tank.getFill() + (int) toTransfer); + return fluid - toTransfer; + } + @Override public void updateEntity() { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 17f3b4acd..24f23de44 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -88,6 +88,7 @@ armor.cap=Schadensobergrenze: %s armor.damageModifier=Modifikator: %s (%s) armor.electricJetpack=Ionentriebwerke armor.explosionImmune=Kann nur Schaden durch Explosionen nehmen +armor.fasterReload=Schneklleres Nachladen armor.fastFall=Schneller Fall armor.fireproof=Feuerfest armor.fullSetBonus=Set-Bonus: @@ -98,10 +99,12 @@ armor.gravity=Schwerkraftsmodifikator: %s armor.hardLanding=Harte Landung armor.ignoreLimit=Resistenz ist nicht limitiert armor.modifier=Genereller Schadensmodifikator: %s +armor.moreAmmo=Mehr Munition armor.nullDamage=Nichtet Schaden von %s armor.projectileProtection=Projektilmodifikator: %s armor.rocketBoots=Rocket boots armor.sprintBoost=Verstärkter Sprint +armor.stepSize=Schritthöhe: %s armor.thermal=Wärmebildkamera armor.threshold=Schadensschwelle: %s armor.vats=Feinde-HUD diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a6079a665..c4c2b6dbc 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -135,6 +135,7 @@ armor.damageModifier=Damage modifier of %s against %s armor.dash=Grants %s dashes armor.electricJetpack=Ion Jetpack armor.explosionImmune=Cannot take any damage except from explosions +armor.fasterReload=Faster Reload armor.fastFall=Fast Fall armor.fireproof=Fireproof armor.fullSetBonus=Full Set Bonus: @@ -145,10 +146,12 @@ armor.gravity=Gravity modifier of %s armor.hardLanding=Hard Landing armor.ignoreLimit=Resistance is not affected by resistance limit armor.modifier=General damage modifier of %s +armor.moreAmmo=More Ammo armor.nullDamage=Nullifies all damage from %s armor.projectileProtection=Damage modifier of %s against projectiles armor.rocketBoots=Rocket Boots armor.sprintBoost=Boosted Sprint +armor.stepSize=Stepsize: %s armor.thermal=Thermal Sight armor.threshold=Damage threshold of %s armor.vats=Enemy HUD diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_telex.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_telex.png index 2866b7299..32635945d 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/machine/gui_telex.png and b/src/main/resources/assets/hbm/textures/gui/machine/gui_telex.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dnt_sword.png b/src/main/resources/assets/hbm/textures/items/dnt_sword.png index fb74fb890..6a2fbb9fe 100644 Binary files a/src/main/resources/assets/hbm/textures/items/dnt_sword.png and b/src/main/resources/assets/hbm/textures/items/dnt_sword.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dont_they_know.png b/src/main/resources/assets/hbm/textures/items/dont_they_know.png deleted file mode 100644 index b906a88b5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dont_they_know.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_uzh.png b/src/main/resources/assets/hbm/textures/items/ingot_uzh.png new file mode 100644 index 000000000..9c1bdf702 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_uzh.png differ diff --git a/src/main/resources/assets/hbm/textures/items/template_folder_alt.png b/src/main/resources/assets/hbm/textures/items/template_folder_alt.png deleted file mode 100644 index 442aa6af4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/template_folder_alt.png and /dev/null differ