From fc3ebfbb8dbf236f16850bb47f08d7338caf8dd8 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 22 Apr 2015 11:44:32 +0200 Subject: [PATCH 1/5] fix #2649 --- api/buildcraft/api/blueprints/MappingRegistry.java | 1 + common/buildcraft/energy/BlockBuildcraftFluid.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/api/buildcraft/api/blueprints/MappingRegistry.java b/api/buildcraft/api/blueprints/MappingRegistry.java index c3c5d2fe..1b66dfcb 100755 --- a/api/buildcraft/api/blueprints/MappingRegistry.java +++ b/api/buildcraft/api/blueprints/MappingRegistry.java @@ -324,6 +324,7 @@ public class MappingRegistry { BCLog.logger.log(Level.WARN, "Can't load an item - corrupt blueprint!"); continue; } + String name = sub.getString("name"); Item item = null; diff --git a/common/buildcraft/energy/BlockBuildcraftFluid.java b/common/buildcraft/energy/BlockBuildcraftFluid.java index 6deea478..6557e163 100644 --- a/common/buildcraft/energy/BlockBuildcraftFluid.java +++ b/common/buildcraft/energy/BlockBuildcraftFluid.java @@ -64,8 +64,8 @@ public class BlockBuildcraftFluid extends BlockFluidClassic { public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { super.onNeighborBlockChange(world, x, y, z, block); if (flammable && world.provider.dimensionId == -1) { - world.newExplosion(null, x, y, z, 4F, true, true); world.setBlockToAir(x, y, z); + world.newExplosion(null, x, y, z, 4F, true, true); } } From f3844b74b29ae314e2d3bb204144344a0efb5c0d Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 22 Apr 2015 12:39:05 +0200 Subject: [PATCH 2/5] backport pump entity spam fix, fix #2650 --- .../core/builders/patterns/PatternHorizon.java | 2 +- common/buildcraft/factory/TilePump.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/common/buildcraft/core/builders/patterns/PatternHorizon.java b/common/buildcraft/core/builders/patterns/PatternHorizon.java index 9a12dbdf..9251fcbb 100644 --- a/common/buildcraft/core/builders/patterns/PatternHorizon.java +++ b/common/buildcraft/core/builders/patterns/PatternHorizon.java @@ -34,7 +34,7 @@ public class PatternHorizon extends FillerPattern { Template bpt = new Template(box.sizeX(), yMax - yMin + 1, box.sizeZ()); - if (box.pMin().y > 0) { + if (box.sizeY() > 0) { for (int x = xMin; x <= xMax; ++x) { for (int z = zMin; z <= zMax; ++z) { bpt.contents[x - xMin][0][z - zMin] = new SchematicMask(true); diff --git a/common/buildcraft/factory/TilePump.java b/common/buildcraft/factory/TilePump.java index 26b9a090..0ea1596d 100644 --- a/common/buildcraft/factory/TilePump.java +++ b/common/buildcraft/factory/TilePump.java @@ -404,6 +404,15 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, destroy(); } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + if (tube != null) { + CoreProxy.proxy.removeEntity(tube); + tube = null; + } + } + @Override public void validate() { super.validate(); From ef5ed249796ab8b22b5a0ba2e72f8c87fa0d714b Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 22 Apr 2015 16:08:11 +0200 Subject: [PATCH 3/5] fix #2639, add #2632 --- .../StatementParameterItemStack.java | 3 ++- common/buildcraft/core/utils/BlockUtils.java | 20 +++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/api/buildcraft/api/statements/StatementParameterItemStack.java b/api/buildcraft/api/statements/StatementParameterItemStack.java index 4de44608..3bccda5d 100755 --- a/api/buildcraft/api/statements/StatementParameterItemStack.java +++ b/api/buildcraft/api/statements/StatementParameterItemStack.java @@ -7,7 +7,6 @@ * as "LICENSE.API" in the BuildCraft source code distribution. */ package buildcraft.api.statements; - import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -32,6 +31,8 @@ public class StatementParameterItemStack implements IStatementParameter { if (stack != null) { this.stack = stack.copy(); this.stack.stackSize = 1; + } else { + this.stack = null; } } diff --git a/common/buildcraft/core/utils/BlockUtils.java b/common/buildcraft/core/utils/BlockUtils.java index 7425b99b..98826168 100644 --- a/common/buildcraft/core/utils/BlockUtils.java +++ b/common/buildcraft/core/utils/BlockUtils.java @@ -182,18 +182,22 @@ public final class BlockUtils { int meta = world.getBlockMetadata(x, y, z); if (block instanceof IFluidBlock) { - if (!((IFluidBlock) block).canDrain(world, x, y, z)) { + IFluidBlock fluidBlock = (IFluidBlock) block; + if (!fluidBlock.canDrain(world, x, y, z)) { + return null; + } + return fluidBlock.drain(world, x, y, z, doDrain); + } else { + if (meta != 0) { return null; } - } else if (meta != 0) { - return null; - } - if (doDrain) { - world.setBlockToAir(x, y, z); - } + if (doDrain) { + world.setBlockToAir(x, y, z); + } - return new FluidStack(fluid, FluidContainerRegistry.BUCKET_VOLUME); + return new FluidStack(fluid, FluidContainerRegistry.BUCKET_VOLUME); + } } else { return null; } From f7b5c86f66a07515b267f5ca3c024ebb3b3861ee Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 22 Apr 2015 16:15:13 +0200 Subject: [PATCH 4/5] fix #2638, #2629 --- common/buildcraft/transport/pipes/PipeFluidsWood.java | 2 +- .../transport/stripes/StripesHandlerPlaceBlock.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/common/buildcraft/transport/pipes/PipeFluidsWood.java b/common/buildcraft/transport/pipes/PipeFluidsWood.java index 7efcb8a2..fbb73794 100644 --- a/common/buildcraft/transport/pipes/PipeFluidsWood.java +++ b/common/buildcraft/transport/pipes/PipeFluidsWood.java @@ -166,7 +166,7 @@ public class PipeFluidsWood extends Pipe implements IEnergy } int maxToReceive = (1000 - liquidToExtract) / ENERGY_MULTIPLIER; - int received = Math.max(maxReceive, maxToReceive); + int received = Math.min(maxReceive, maxToReceive); if (!simulate) { liquidToExtract += ENERGY_MULTIPLIER * received; } diff --git a/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java b/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java index 0c83b0a0..ed6cc7d5 100644 --- a/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java +++ b/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java @@ -8,6 +8,7 @@ */ package buildcraft.transport.stripes; +import buildcraft.api.core.Position; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -36,8 +37,14 @@ public class StripesHandlerPlaceBlock implements IStripesHandler { IStripesActivator activator) { if (!world.isAirBlock(x, y, z) && stack.tryPlaceItemIntoWorld(player, world, x, y, z, 1, 0.0f, 0.0f, 0.0f)) { return true; + } else if (world.isAirBlock(x, y, z)) { + Position src = new Position(x, y, z); + src.orientation = direction; + src.moveBackwards(1.0D); + if (stack.tryPlaceItemIntoWorld(player, world, (int) src.x, (int) src.y, (int) src.z, direction.ordinal(), 0.0f, 0.0f, 0.0f)) { + return true; + } } return false; } - } From 28bb9639e1e313a829547f0d501312ded5420f6d Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 22 Apr 2015 16:24:58 +0200 Subject: [PATCH 5/5] BuildCraft 6.4.12 --- build.gradle | 2 +- buildcraft_resources/changelog/6.4.12 | 13 +++++++++++++ buildcraft_resources/versions.txt | 2 +- .../transport/stripes/StripesHandlerPlaceBlock.java | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 buildcraft_resources/changelog/6.4.12 diff --git a/build.gradle b/build.gradle index 0fb11453..6cf6e83b 100755 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'forge' // adds the forge dependency apply plugin: 'maven' // for uploading to a maven repo apply plugin: 'checkstyle' -version = "6.4.11" +version = "6.4.12" group= "com.mod-buildcraft" archivesBaseName = "buildcraft" // the name that all artifacts will use as a base. artifacts names follow this pattern: [baseName]-[appendix]-[version]-[classifier].[extension] diff --git a/buildcraft_resources/changelog/6.4.12 b/buildcraft_resources/changelog/6.4.12 new file mode 100644 index 00000000..997532b1 --- /dev/null +++ b/buildcraft_resources/changelog/6.4.12 @@ -0,0 +1,13 @@ +Improvements: + +* [#2632] Filters on gates can be cleared by a mere click (asie) + +Bugs fixed: + +* [#2650] Server crash with Horizon pattern (asie) +* [#2649] Server crash with Oil in Nether (asie) +* [#2639] Dupe bug with finite liquids (asie) +* [#2638] Wooden pipes massive power usage (asie) +* [#2629] Stripes pipes cannot place blocks properly (asie) +* Miscellanous builder/blueprint issues (asie) +* Pump entity spam on the client side (asie) diff --git a/buildcraft_resources/versions.txt b/buildcraft_resources/versions.txt index 7f1bcbd2..caa64dd6 100755 --- a/buildcraft_resources/versions.txt +++ b/buildcraft_resources/versions.txt @@ -1,3 +1,3 @@ 1.6.4:BuildCraft:4.2.2 1.7.2:BuildCraft:6.0.16 -1.7.10:BuildCraft:6.4.11 +1.7.10:BuildCraft:6.4.12 diff --git a/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java b/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java index ed6cc7d5..ebab074e 100644 --- a/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java +++ b/common/buildcraft/transport/stripes/StripesHandlerPlaceBlock.java @@ -8,7 +8,6 @@ */ package buildcraft.transport.stripes; -import buildcraft.api.core.Position; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -16,6 +15,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.api.core.Position; import buildcraft.api.transport.IStripesActivator; import buildcraft.api.transport.IStripesHandler;