From 3035b57e249187cc794d7e6b199e1cddffcc399a Mon Sep 17 00:00:00 2001 From: MotionlessTrain Date: Mon, 11 May 2026 14:55:21 +0200 Subject: [PATCH] Fix: Elevator contacts are not obtainable in survival --- .changeset/giant-ends-look.md | 5 ++++ .../ElevatorPlacementHandler.java | 24 +++++++++++++++++++ .../placementhandlers/PlacementHandlers.java | 1 + .../resources/CreateResources.java | 4 ++++ 4 files changed, 34 insertions(+) create mode 100644 .changeset/giant-ends-look.md create mode 100644 src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/ElevatorPlacementHandler.java diff --git a/.changeset/giant-ends-look.md b/.changeset/giant-ends-look.md new file mode 100644 index 0000000..a85d2a7 --- /dev/null +++ b/.changeset/giant-ends-look.md @@ -0,0 +1,5 @@ +--- +"CreateColonies": patch +--- + +Fix: Ask for redstone contacts instead of elevator contacts diff --git a/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/ElevatorPlacementHandler.java b/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/ElevatorPlacementHandler.java new file mode 100644 index 0000000..79833cc --- /dev/null +++ b/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/ElevatorPlacementHandler.java @@ -0,0 +1,24 @@ +package nl.motionlesstrain.createcolonies.placementhandlers; + +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import nl.motionlesstrain.createcolonies.resources.CreateResources; +import nl.motionlesstrain.createcolonies.utils.ItemUtils; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ElevatorPlacementHandler extends SimplePlacementHandler { + @Override + public boolean canHandle(Level level, BlockPos blockPos, BlockState blockState) { + return blockState.is(CreateResources.Blocks.elevatorContact); + } + + @Override + public List getRequiredItems(Level level, BlockPos blockPos, BlockState blockState, @Nullable CompoundTag compoundTag) { + return List.of(ItemUtils.stackFromDeferred(CreateResources.Blocks.redstoneContact)); + } +} diff --git a/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java b/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java index 3badcb9..c881a1e 100644 --- a/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java +++ b/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java @@ -12,6 +12,7 @@ public static void initialiseHandlers(FMLLoadCompleteEvent ignored) { addHandler(new ChainConveyorPlacementHandler()); addHandler(new CopyCatPlacementHandler()); addHandler(new DeployerPlacementHandler()); + addHandler(new ElevatorPlacementHandler()); addHandler(new EncasedShaftPlacementHandler()); addHandler(new EncasedPipePlacementHandler()); addHandler(new GearPlacementHandler()); diff --git a/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java b/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java index 5ea8c09..7476592 100644 --- a/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java +++ b/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java @@ -53,6 +53,10 @@ public static class Blocks { public static DeferredBlock brassEncasedLargeCogwheel = createBlock("brass_encased_large_cogwheel"); public static DeferredBlock chainConveyor = createBlock("chain_conveyor"); + + public static DeferredBlock elevatorContact = createBlock("elevator_contact"); + public static DeferredBlock redstoneContact = createBlock("redstone_contact"); + } public static class Items {