Created
July 26, 2011 21:24
-
-
Save Flow86/1108093 to your computer and use it in GitHub Desktop.
the filler patterns can now collect items otherwisely dropped
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -ur src\minecraft\net\minecraft\src\buildcraft\api\FillerPattern.java src\minecraft\net\minecraft\src\buildcraft\api\FillerPattern.java | |
--- src\minecraft\net\minecraft\src\buildcraft\api\FillerPattern.java Wed Jun 29 14:03:09 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\api\FillerPattern.java Tue Jul 26 23:17:20 2011 | |
@@ -1,8 +1,11 @@ | |
package net.minecraft.src.buildcraft.api; | |
+import net.minecraft.src.BuildCraftBlockUtil; | |
import net.minecraft.src.ItemStack; | |
import net.minecraft.src.TileEntity; | |
import net.minecraft.src.World; | |
+import net.minecraft.src.buildcraft.api.Orientations; | |
+import net.minecraft.src.buildcraft.core.StackUtil; | |
import net.minecraft.src.buildcraft.core.Utils; | |
public abstract class FillerPattern { | |
@@ -20,7 +23,9 @@ | |
public abstract int getTextureIndex (); | |
public boolean fill(int xMin, int yMin, int zMin, int xMax, int yMax, | |
- int zMax, ItemStack stackToPlace, World world) { | |
+ int zMax, ItemStack stackToPlace, TileEntity tile) { | |
+ World world = tile.worldObj; | |
+ | |
boolean found = false; | |
int xSlot = 0, ySlot = 0, zSlot = 0; | |
@@ -47,7 +52,9 @@ | |
} | |
public boolean empty(int xMin, int yMin, int zMin, int xMax, int yMax, | |
- int zMax, World world) { | |
+ int zMax, TileEntity tile) { | |
+ World world = tile.worldObj; | |
+ | |
boolean found = false; | |
int lastX = Integer.MAX_VALUE, lastY = Integer.MAX_VALUE, lastZ = Integer.MAX_VALUE; | |
@@ -71,7 +78,25 @@ | |
} | |
if (lastX != Integer.MAX_VALUE) { | |
- Utils.breakBlock(world, lastX, lastY, lastZ); | |
+ ItemStack stack = BuildCraftBlockUtil.getItemStackFromBlock(tile.worldObj, lastX, lastY, lastZ); | |
+ | |
+ boolean added = false; | |
+ if (stack != null) { | |
+ // First, try to add to a nearby chest | |
+ | |
+ StackUtil stackUtils = new StackUtil(stack); | |
+ | |
+ added = stackUtils.addToRandomInventory(tile, Orientations.Unknown); | |
+ | |
+ if (!added || stackUtils.items.stackSize > 0) { | |
+ added = Utils.addToRandomPipeEntry(tile, Orientations.Unknown, stackUtils.items); | |
+ } | |
+ } | |
+ | |
+ if(added) | |
+ world.setBlockWithNotify(lastX, lastY, lastZ, 0); | |
+ else | |
+ Utils.breakBlock(world, lastX, lastY, lastZ); | |
} | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillAll.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillAll.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillAll.java Sat Jun 18 00:42:37 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillAll.java Tue Jul 26 23:22:53 2011 | |
@@ -18,7 +18,7 @@ | |
int yMax = (int) box.p2().y; | |
int zMax = (int) box.p2().z; | |
- return fill(xMin, yMin, zMin, xMax, yMax, zMax, stackToPlace, tile.worldObj); | |
+ return fill(xMin, yMin, zMin, xMax, yMax, zMax, stackToPlace, tile); | |
} | |
@Override | |
Only in src\minecraft\net\minecraft\src\buildcraft\builders: FillerFillAll.java.bak | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillPyramid.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillPyramid.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillPyramid.java Sat Jun 18 16:51:36 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillPyramid.java Tue Jul 26 23:23:09 2011 | |
@@ -43,7 +43,7 @@ | |
while (step <= xSize / 2 && step <= zSize / 2 && height >= yMin && height <= yMax) { | |
if (!fill(xMin + step, height, zMin + step, xMax - step, height, | |
- zMax - step, stackToPlace, tile.worldObj)) { | |
+ zMax - step, stackToPlace, tile)) { | |
return false; | |
} | |
Only in src\minecraft\net\minecraft\src\buildcraft\builders: FillerFillPyramid.java.bak | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillStairs.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillStairs.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillStairs.java Sat Jun 18 16:51:36 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillStairs.java Tue Jul 26 23:23:16 2011 | |
@@ -115,7 +115,7 @@ | |
&& height <= yMax) { | |
if (!fill(x1, height, z1, x2, height, z2, stackToPlace, | |
- tile.worldObj)) { | |
+ tile)) { | |
return false; | |
} | |
@@ -173,7 +173,7 @@ | |
} | |
if (!fill(x1, height, z1, x2, height, | |
- z2, stackToPlace, tile.worldObj)) { | |
+ z2, stackToPlace, tile)) { | |
return false; | |
} | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillWalls.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillWalls.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillWalls.java Thu Jun 16 23:41:15 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerFillWalls.java Tue Jul 26 23:23:22 2011 | |
@@ -19,27 +19,27 @@ | |
int zMax = (int) box.p2().z; | |
- if (!fill (xMin, yMin, zMin, xMax, yMin, zMax, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMin, yMin, zMin, xMax, yMin, zMax, stackToPlace, tile)) { | |
return false; | |
} | |
- if (!fill (xMin, yMin, zMin, xMin, yMax, zMax, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMin, yMin, zMin, xMin, yMax, zMax, stackToPlace, tile)) { | |
return false; | |
} | |
- if (!fill (xMin, yMin, zMin, xMax, yMax, zMin, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMin, yMin, zMin, xMax, yMax, zMin, stackToPlace, tile)) { | |
return false; | |
} | |
- if (!fill (xMax, yMin, zMin, xMax, yMax, zMax, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMax, yMin, zMin, xMax, yMax, zMax, stackToPlace, tile)) { | |
return false; | |
} | |
- if (!fill (xMin, yMin, zMax, xMax, yMax, zMax, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMin, yMin, zMax, xMax, yMax, zMax, stackToPlace, tile)) { | |
return false; | |
} | |
- if (!fill (xMin, yMax, zMin, xMax, yMax, zMax, stackToPlace, tile.worldObj)) { | |
+ if (!fill (xMin, yMax, zMin, xMax, yMax, zMax, stackToPlace, tile)) { | |
return false; | |
} | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerFlattener.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerFlattener.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerFlattener.java Wed Jun 29 14:03:09 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerFlattener.java Tue Jul 26 23:08:50 2011 | |
@@ -64,7 +64,7 @@ | |
return false; | |
} | |
- return empty (xMin, yMin, zMin, xMax, 64 * 2, zMax, tile.worldObj); | |
+ return empty (xMin, yMin, zMin, xMax, 64 * 2, zMax, tile); | |
} | |
@Override | |
diff -ur src\minecraft\net\minecraft\src\buildcraft\builders\FillerRemover.java src\minecraft\net\minecraft\src\buildcraft\builders\FillerRemover.java | |
--- src\minecraft\net\minecraft\src\buildcraft\builders\FillerRemover.java Thu Jun 16 23:41:15 2011 | |
+++ src\minecraft\net\minecraft\src\buildcraft\builders\FillerRemover.java Tue Jul 26 23:08:49 2011 | |
@@ -18,7 +18,7 @@ | |
int yMax = (int) box.p2().y; | |
int zMax = (int) box.p2().z; | |
- return empty (xMin, yMin, zMin, xMax, yMax, zMax, tile.worldObj); | |
+ return empty (xMin, yMin, zMin, xMax, yMax, zMax, tile); | |
} | |
@Override |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment