diff --git a/.changeset/pretty-things-juggle.md b/.changeset/pretty-things-juggle.md new file mode 100644 index 0000000..4b685b0 --- /dev/null +++ b/.changeset/pretty-things-juggle.md @@ -0,0 +1,5 @@ +--- +"CreateColonies": patch +--- + +Fix: Ask for redstone contacts instead of elevator contacts. Closes https://github.com/MotionlessTrain/CreateColonies/issues/38 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..c75604b --- /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.stackFromNullable(CreateResources.Blocks.redstoneContact.asItem())); + } +} diff --git a/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java b/src/main/java/nl/motionlesstrain/createcolonies/placementhandlers/PlacementHandlers.java index e8a9241..d2b2ec4 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 2cfec16..5c45e22 100644 --- a/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java +++ b/src/main/java/nl/motionlesstrain/createcolonies/resources/CreateResources.java @@ -60,6 +60,12 @@ public static class Blocks { @ObjectHolder(registryName = "minecraft:block", value = "create:chain_conveyor") public static Block chainConveyor; + + @ObjectHolder(registryName = "minecraft:block", value = "create:elevator_contact") + public static Block elevatorContact; + + @ObjectHolder(registryName = "minecraft:block", value = "create:redstone_contact") + public static Block redstoneContact; } public static class Items {