Piston API
Modby jbredwards
Adds pushable tile entities, and lets players & mod devs handle piston interactions!
Type
Mod
CurseForge Downloads
6,846
CurseForge ID
843760
Last Updated
Jul 25, 2026
Description
⚠️ Piston API is no longer maintained on CurseForge!
The latest versions of Piston API can be downloaded here from Modrinth.
Modrinth is a new and modern platform for hosting Minecraft mods, which respects both users and authors alike. Modrinth makes it easier than ever to find and download mods thanks to their improved search features, lightning-fast downloads, and purpose-built platform for Minecraft. It also ensures that creators are paid fairly for their work, by giving them 100% of the ad revenue their projects earn -- without making you sit through advertisements to download your favorite mods.
Piston API is a small mod that lets mods and modpacks handle piston interactions!
API Features:
- Give custom blocks advanced piston interactions:
Piston API gives blocks a way to have position & world sensitive interactions with pistons! Mainly the block's pushability, and its stickiness.
IPushableBehavior:
- This interface adds one method getPushReaction (which takes in the block source & piston info, and returns the EnumPushReaction). Blocks should implement this if they have advanced push reaction logic. This interface overrides vanilla's getPushReaction(IBlockState) method, blocks that don't implement the interface fallback on vanilla's method. For modpack devs: Each block's push reaction can be overriden by calling PushReactionHanlder.overridePushReaction through Groovyscript during postInit (mod devs should not do this!)
- Grovvyscript examples:
- This interface adds two methods: getStickReaction (which takes in the block source, the neighbor block to test, and piston info, and returns the EnumStickReaction), and hasStickySide (which takes in the block source & piston info, and returns whether the block has any potentially sticky sides). Blocks should implement this if they have advanced stickiness logic. This interface overrides forge's isStickyBlock(IBlockState) method, blocks that don't implement the interface fallback on forge's method. For modpack devs: Each block's stick result can be overriden by calling StickReactionHanlder.overrideStickReaction through Groovyscript during postInit (mod devs should not do this!)
Main Features:
- Configurable piston push limit
- Pistons move tile entities
- Pistons don't destroy fluid states (while Fluidlogged API is installed)
- Quark mod compatibility
Small Features:
- Override existing piston interactions
- Chests stick each other when pushed
- Play block breaking sounds and particles when blocks are destroyed by pistons
---
This mod will not be ported
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Variant16x: Biomes O' Plenty
1.15.2 and 1.16.5 SUPPORT! A Mod that adds over 160 new variants of 'Biomes O' Plenty' blocks! (1.15.2, 1.16.4+)
VHat Can I Roll? - Vault Hunters 3 addon
shows you what gear modififers you can roll at any level
Useful Machinery
Useful machines without much complexity
BandwidthOptimizer
Save your MC bandwidth with big quantities.
(Red) Panda Plushies!
Adds an adorable plush red panda friend to your game!
TooMuchTime
Control over Minecraft's day/night cycle