mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-21 15:23:50 -07:00
@@ -3,7 +3,7 @@
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Queue;
|
||||
+// CraftBukkit start
|
||||
+import java.util.List;
|
||||
+import org.bukkit.craftbukkit.block.CraftBlockState;
|
||||
@@ -15,28 +15,28 @@
|
||||
|
||||
@@ -33,6 +39,7 @@
|
||||
|
||||
linkedlist.add(new Tuple(blockposition, 0));
|
||||
queue.add(new Tuple<>(blockposition, 0));
|
||||
int i = 0;
|
||||
+ BlockStateListPopulator blockList = new BlockStateListPopulator(world); // CraftBukkit - Use BlockStateListPopulator
|
||||
|
||||
while (!linkedlist.isEmpty()) {
|
||||
Tuple tuple = (Tuple) linkedlist.poll();
|
||||
while (!queue.isEmpty()) {
|
||||
Tuple<BlockPosition, Integer> tuple = (Tuple) queue.poll();
|
||||
@@ -49,20 +56,20 @@
|
||||
Material material = iblockdata.getMaterial();
|
||||
|
||||
if (fluid.a(TagsFluid.WATER)) {
|
||||
- if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).a(world, blockposition2, iblockdata) != FluidTypes.a) {
|
||||
+ if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).a(blockList, blockposition2, iblockdata) != FluidTypes.a) { // CraftBukkit
|
||||
- if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).removeFluid(world, blockposition2, iblockdata) != FluidTypes.EMPTY) {
|
||||
+ if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).removeFluid(blockList, blockposition2, iblockdata) != FluidTypes.EMPTY) { // CraftBukkit
|
||||
++i;
|
||||
if (j < 6) {
|
||||
linkedlist.add(new Tuple(blockposition2, j + 1));
|
||||
queue.add(new Tuple<>(blockposition2, j + 1));
|
||||
}
|
||||
} else if (iblockdata.getBlock() instanceof BlockFluids) {
|
||||
- world.setTypeAndData(blockposition2, Blocks.AIR.getBlockData(), 3);
|
||||
+ blockList.setTypeAndData(blockposition2, Blocks.AIR.getBlockData(), 3); // CraftBukkit
|
||||
++i;
|
||||
if (j < 6) {
|
||||
linkedlist.add(new Tuple(blockposition2, j + 1));
|
||||
queue.add(new Tuple<>(blockposition2, j + 1));
|
||||
}
|
||||
} else if (material == Material.WATER_PLANT || material == Material.REPLACEABLE_WATER_PLANT) {
|
||||
- iblockdata.a(world, blockposition2, 0);
|
||||
@@ -45,7 +45,7 @@
|
||||
+ blockList.setTypeAndData(blockposition2, Blocks.AIR.getBlockData(), 3); // CraftBukkit
|
||||
++i;
|
||||
if (j < 6) {
|
||||
linkedlist.add(new Tuple(blockposition2, j + 1));
|
||||
queue.add(new Tuple<>(blockposition2, j + 1));
|
||||
@@ -75,6 +82,37 @@
|
||||
break;
|
||||
}
|
||||
@@ -69,7 +69,7 @@
|
||||
+ Material material = iblockdata.getMaterial();
|
||||
+
|
||||
+ if (fluid.a(TagsFluid.WATER)) {
|
||||
+ if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).a(blockList, blockposition2, iblockdata) != FluidTypes.a) {
|
||||
+ if (iblockdata.getBlock() instanceof IFluidSource && ((IFluidSource) iblockdata.getBlock()).removeFluid(blockList, blockposition2, iblockdata) != FluidTypes.EMPTY) {
|
||||
+ // NOP
|
||||
+ } else if (iblockdata.getBlock() instanceof BlockFluids) {
|
||||
+ // NOP
|
||||
|
Reference in New Issue
Block a user