From a92c08b1e1c45aa0eef43341e3fcbcea6ed73733 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Sun, 11 Aug 2024 12:20:16 +0200 Subject: [PATCH] Fix-ups from testing I - Fixed central block of waterwheels still able to catch fire - Fixed vertical belts accepting items --- .../create/content/kinetics/belt/BeltBlockEntity.java | 4 ++++ .../kinetics/mechanicalArm/AllArmInteractionPointTypes.java | 3 ++- .../content/kinetics/waterwheel/LargeWaterWheelBlock.java | 6 ++++++ .../create/content/kinetics/waterwheel/WaterWheelBlock.java | 6 ++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java index c96111e40..e110c1fb3 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java @@ -188,6 +188,8 @@ public class BeltBlockEntity extends KineticBlockEntity { public LazyOptional getCapability(Capability cap, Direction side) { if (!isItemHandlerCap(cap)) return super.getCapability(cap, side); + if (!BeltBlock.canTransportObjects(getBlockState())) + return super.getCapability(cap, side); if (!isRemoved() && !itemHandler.isPresent()) initializeItemHandler(); return itemHandler.cast(); @@ -489,6 +491,8 @@ public class BeltBlockEntity extends KineticBlockEntity { ItemStack inserted = transportedStack.stack; ItemStack empty = ItemStack.EMPTY; + if (!BeltBlock.canTransportObjects(getBlockState())) + return inserted; if (nextBeltController == null) return inserted; BeltInventory nextInventory = nextBeltController.getInventory(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java index 4fab5eb32..99ee9a0c4 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java @@ -10,6 +10,7 @@ import org.apache.commons.lang3.mutable.MutableBoolean; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.belt.BeltBlock; import com.simibubi.create.content.kinetics.belt.BeltBlockEntity; import com.simibubi.create.content.kinetics.belt.BeltHelper; import com.simibubi.create.content.kinetics.belt.behaviour.TransportedItemStackHandlerBehaviour; @@ -114,7 +115,7 @@ public class AllArmInteractionPointTypes { @Override public boolean canCreatePoint(Level level, BlockPos pos, BlockState state) { return AllBlocks.BELT.has(state) && !(level.getBlockState(pos.above()) - .getBlock() instanceof BeltTunnelBlock); + .getBlock() instanceof BeltTunnelBlock) && BeltBlock.canTransportObjects(state); } @Override diff --git a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java index 28d16a112..56da81d03 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java @@ -19,6 +19,7 @@ import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; @@ -169,5 +170,10 @@ public class LargeWaterWheelBlock extends RotatedPillarKineticBlock implements I public static Couple getSpeedRange() { return Couple.create(4, 4); } + + @Override + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return false; + } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java index 96854ce69..2925a2a11 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java @@ -19,6 +19,7 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; @@ -130,5 +131,10 @@ public class WaterWheelBlock extends DirectionalKineticBlock implements IBE getSpeedRange() { return Couple.create(8, 8); } + + @Override + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return false; + } }