Merge branch 'mc1.17/dev' into mc1.18/dev
|
@ -11,6 +11,7 @@ import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow;
|
import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow;
|
||||||
import com.simibubi.create.content.contraptions.fluids.pipes.AxisPipeBlock;
|
import com.simibubi.create.content.contraptions.fluids.pipes.AxisPipeBlock;
|
||||||
import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
|
import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
|
||||||
|
import com.simibubi.create.content.contraptions.fluids.pipes.VanillaFluidTargets;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.utility.BlockHelper;
|
import com.simibubi.create.foundation.utility.BlockHelper;
|
||||||
|
@ -159,7 +160,7 @@ public class FluidPropagator {
|
||||||
if (PumpBlock.isPump(connectedState) && connectedState.getValue(PumpBlock.FACING)
|
if (PumpBlock.isPump(connectedState) && connectedState.getValue(PumpBlock.FACING)
|
||||||
.getAxis() == side.getAxis())
|
.getAxis() == side.getAxis())
|
||||||
return false;
|
return false;
|
||||||
if (connectedState.hasProperty(BlockStateProperties.LEVEL_HONEY))
|
if (VanillaFluidTargets.shouldPipesConnectTo(connectedState))
|
||||||
return true;
|
return true;
|
||||||
if (BlockHelper.hasBlockSolidSide(connectedState, reader, connectedPos, side.getOpposite()))
|
if (BlockHelper.hasBlockSolidSide(connectedState, reader, connectedPos, side.getOpposite()))
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.simibubi.create.content.contraptions.fluids;
|
package com.simibubi.create.content.contraptions.fluids;
|
||||||
|
|
||||||
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.LEVEL_HONEY;
|
|
||||||
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED;
|
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -9,6 +8,7 @@ import java.util.List;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.simibubi.create.AllFluids;
|
import com.simibubi.create.AllFluids;
|
||||||
|
import com.simibubi.create.content.contraptions.fluids.pipes.VanillaFluidTargets;
|
||||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
|
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
|
||||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
|
@ -30,7 +30,6 @@ import net.minecraft.world.item.alchemy.PotionUtils;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.LiquidBlock;
|
import net.minecraft.world.level.block.LiquidBlock;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
|
||||||
import net.minecraft.world.level.material.FluidState;
|
import net.minecraft.world.level.material.FluidState;
|
||||||
import net.minecraft.world.level.material.Fluids;
|
import net.minecraft.world.level.material.Fluids;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
|
@ -132,12 +131,9 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
FluidState fluidState = state.getFluidState();
|
FluidState fluidState = state.getFluidState();
|
||||||
boolean waterlog = state.hasProperty(WATERLOGGED);
|
boolean waterlog = state.hasProperty(WATERLOGGED);
|
||||||
|
|
||||||
if (state.hasProperty(BlockStateProperties.LEVEL_HONEY) && state.getValue(LEVEL_HONEY) >= 5) {
|
FluidStack drainBlock = VanillaFluidTargets.drainBlock(world, outputPos, state, simulate);
|
||||||
if (!simulate)
|
if (!drainBlock.isEmpty())
|
||||||
world.setBlock(outputPos, state.setValue(LEVEL_HONEY, 0), 3);
|
return drainBlock;
|
||||||
return new FluidStack(AllFluids.HONEY.get()
|
|
||||||
.getSource(), 250);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!waterlog && !state.getMaterial()
|
if (!waterlog && !state.getMaterial()
|
||||||
.isReplaceable())
|
.isReplaceable())
|
||||||
|
|
|
@ -166,7 +166,7 @@ public class FluidPipeBlock extends PipeBlock implements SimpleWaterloggedBlock,
|
||||||
Direction direction) {
|
Direction direction) {
|
||||||
if (FluidPropagator.hasFluidCapability(world, neighbourPos, direction.getOpposite()))
|
if (FluidPropagator.hasFluidCapability(world, neighbourPos, direction.getOpposite()))
|
||||||
return true;
|
return true;
|
||||||
if (neighbour.hasProperty(BlockStateProperties.LEVEL_HONEY))
|
if (VanillaFluidTargets.shouldPipesConnectTo(neighbour))
|
||||||
return true;
|
return true;
|
||||||
FluidTransportBehaviour transport = TileEntityBehaviour.get(world, neighbourPos, FluidTransportBehaviour.TYPE);
|
FluidTransportBehaviour transport = TileEntityBehaviour.get(world, neighbourPos, FluidTransportBehaviour.TYPE);
|
||||||
BracketedTileEntityBehaviour bracket =
|
BracketedTileEntityBehaviour bracket =
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.simibubi.create.content.contraptions.fluids.pipes;
|
||||||
|
|
||||||
|
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.LEVEL_HONEY;
|
||||||
|
|
||||||
|
import com.simibubi.create.AllFluids;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||||
|
import net.minecraft.world.level.material.Fluids;
|
||||||
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
|
public class VanillaFluidTargets {
|
||||||
|
|
||||||
|
public static boolean shouldPipesConnectTo(BlockState state) {
|
||||||
|
if (state.hasProperty(BlockStateProperties.LEVEL_HONEY))
|
||||||
|
return true;
|
||||||
|
if (state.is(BlockTags.CAULDRONS))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static FluidStack drainBlock(Level level, BlockPos pos, BlockState state, boolean simulate) {
|
||||||
|
if (state.hasProperty(BlockStateProperties.LEVEL_HONEY) && state.getValue(LEVEL_HONEY) >= 5) {
|
||||||
|
if (!simulate)
|
||||||
|
level.setBlock(pos, state.setValue(LEVEL_HONEY, 0), 3);
|
||||||
|
return new FluidStack(AllFluids.HONEY.get()
|
||||||
|
.getSource(), 250);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state.getBlock() == Blocks.LAVA_CAULDRON) {
|
||||||
|
if (!simulate)
|
||||||
|
level.setBlock(pos, Blocks.CAULDRON.defaultBlockState(), 3);
|
||||||
|
return new FluidStack(Fluids.LAVA, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state.getBlock() == Blocks.WATER_CAULDRON) {
|
||||||
|
if (!simulate)
|
||||||
|
level.setBlock(pos, Blocks.CAULDRON.defaultBlockState(), 3);
|
||||||
|
return new FluidStack(Fluids.WATER, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FluidStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3 KiB |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3 KiB |