[INACTIVE][MECH]BukkitPiston v0.54 - Pistons plugin for SMP [860]

Discussion in 'Inactive/Unsupported Plugins' started by redspider, Apr 12, 2011.

  1. Offline


    BukkitPiston - Piston plugin for SMP:

    Since I don't have the time to continue developing, I've decided to release the source code.
    Hopefully someone can create a new mod out of it.


    Version: v0.54

    This mod changes iron blocks (by default) into pistons, which extend, when powered with redstone or redstone torches.
    Much like the original piston mod by Hippoplatimus. Right click on a face to change the orientation.
    Power it with redstone to make it push max. 16 blocks. (obisidan, iron and bedrock won't be pushed!)
    It is possible to change the piston properties like strength or block type. Take a look at the config.ini in the plugin/BukkitPiston folder.
    If you get an error like ebean.properties not found, create an empty file named "ebean.properties" in the bukkit main folder


    Jar File (doesn't contain config file)


    thx @MinecraftTutorialify for the vid

    thx @marvinody for the vid

    Version 0.54
    • fixed: updated to 860 (fixed nether, saving problems, etc)
    • added: autosave (interval is changeable in config file)
    • changed: max worldname length is now 255
    If you had problems with that (open)

    open bukkitpiston.db with an sqllite editor of your choice (e.g. http://sourceforge.net/projects/sqlitebrowser/)
    and modify the table bp_piston_bodys (edit, modify table)
    edit the field world_name to varchar(255) (use the ...)
    same with the table bp_piston_owner.

    Version 0.53
    • fixed: exception on pushing sand
    • fixed: config.ini was not read
    • ebean.properties is created, if not present
    • known bug: /reload causes exception
    Version 0.52 (Beta)

    • Minecarts are pushed in the direction, in which they are driving
    • Sugarcane / crops fixed (thx meskeba)
    • Nullpointer event fix (runecraft and some other plugins)
    • Config file is generated if not present
    • Pistons are stored in a database (thx @Sammy for his tutorial)
    • A LOT of code refactoring
    Version 0.51

    • Few event fixes, you should REPLACE ALL PISTONS if you use worldguard or any other world protection plugin, to reset the owner
    • Owner is used as the one, who pushes the blocks
    • Protection plugins might work, not tested. (owner dependent, not activator)
    Version 0.5

    • Piston material is always immovable!
    • Added block place / break events
    • A few other fixes involving redstone
    • Config option to choose tools which can change the piston orientation
    • Warning if save file is readonly
    • Option to restrict changes in direction to owner (only pistons placed since 0.5)
    • Option to restrict building pistons to ops
    • Piston strength corrected
    Prior changelog (open)

    Version 0.43
    • Fixed iron duplication bug
    Version 0.42

    • Piston extension is a few ticks delayed, to ease the build of toggled blocks
    Version 0.41

    • Fixed PistonBlockStrength was not used
    • Integrated powered & detector rail in default config
    Version 0.4

    • Fixed player was hurt when a block was above the piston extension, player still gets hurt on purpose, when squashed
    • Custom cancellable event fired upon extension / contraction
    • Config file (set strength, change piston block id, set immovable, destructible stuff etc. (don't mess with this too much!))
    • Improved player / sand movement
    • 1.5 support (ready when you are, bukkit)
    Version 0.3

    • Flying sand / gravel !! (thx gmfreaky)
    • Piston won't stay extended when power source is destroyed by piston
    • Content of chest / furnace / dispenser will be moved, too
    Version 0.2

    • Some bugfixing
    Version 0.1

    • Internal release

    Future plans / Known bugs (open)

    here's a rough timeline, no guaranty though:
    0.6 piston edit mode via command, sand pushed like in the original pistons, block crushing
    0.7 improved x/yml config file
    0.8 sticky pistons
    0.9 permission plugin support
    1.0 final release
    zhuowei, CamudX, Geen117 and 7 others like this.
  2. Offline


    @Achiles thx, should be fixed in v0.43
  3. Offline


    Hey there, is there any way to have it not push against the protected regions like in say WorldGuard... So that people cant just create them and mess with other peoples things in a protected region somehow?

    Also any way to have it save/remember the facing of the piston? because each time I would reset my server it always faces them up no matter what I do

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 13, 2016
  4. Offline


    Sounds like the server isnt shutting down properly. All saving is done during the shutdown process so check your logs at shutdown and startup to figure out where its failing.
  5. Offline


    Hi, thanks for this great plugin, keep it up =)
    I found another duplication bug, here is a video: http://www.youtube.com/watch?v=sP2LPvSCQIE
    server running: 1.5_02 , cbukkit 733 , bukkitpiston 0.43

    hope it helps
  6. Offline


    @MineMac the piston material should be immovable.
    @Jaxter i'll look into WorldGuard
  7. Offline


    hi guys i ve just upgraded craftbukkit and pistons and got a little question. Is it normal the sand does not fly anymore ?
  8. Offline


    Ive got a question for the dev.
    is there a way to push blocks further then 1 block away? since we cannot make gates or bridges with it now :(
    that would be really need!
  9. Offline


    seems to be a bukkit or minecraft server bug. i did not change the code. it seems to fly, but it's invisible...
    well, it wasn't on the feature list, as i wanted to copy the original piston. i'll think of it.
  10. Offline


    Anyway you could add support for a gold block or another material to act just the same as a piston, but when it contracts it grabs any blocks directly attached to the piston part and pulls them back with the contraction of the piston?
    and either a way to have pistons push pistons or move more than one space would be awesome :)
  11. Offline


  12. Offline


    Ok, my portcoullisante plugin works again, so no need for pistons to push 2 blocks. Please keep it the way it was intended :) thanks for the reply
  13. Offline


    Can you give a static JAR link? My CraftBukkitUpToDate is complaining because the one it has is old =/
  14. Offline


    How do you work this...
  15. Offline


    I made my pistons (sponges) immovable and now everything works fine.
    Again great work, all players on our server love it =)
  16. Offline

    mourning lemon

    For those of you having this issue, I found a fix. Check your Bukkit plugins folder for the BukkitPiston folder. Contained in that folder is a file called save.bin. Right click it, choose properties, then make sure read-only is unchecked. Mine was checked without me touching it, so it's worth the time to check.
  17. Offline


    What if there was an option to disable the addition of an iron block for the extended piston?
  18. Offline


    then this plugin is right for you: http://forums.bukkit.org/threads/mech-pistonplugin-v1-3-pistons-powered-by-redstone-670.12397/

    it's not that easy. you can't really say who caused the piston to extend
  19. Offline


  20. Offline


    Could anyone help me with this plugin, I attempted to install it on my server, but it does not function.
    I have installed it correctly (to my knowledge), and it appears to load in the Console-Window. But whenever I try to activate a piston, it does not correctly function.

    When I run my Console window, I receive this message:

    C:\Documents and Settings\*Censored*\Desktop\Server With Admin World>java -Xmx
    1024M -Xms1024M -jar craftbukkit.jar nogui
    146 recipes
    16 achievements
    19:57:04 [INFO] Starting minecraft server version Beta 1.5_02
    19:57:04 [INFO] Loading properties
    19:57:04 [INFO] Starting Minecraft server on *:25565
    19:57:05 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-700-
    gf3ae4c3-b733jnks (MC: 1.5_02)
    19:57:05 [INFO] Preparing level "world"
    19:57:05 [INFO] Preparing start region
    19:57:06 [INFO] Preparing spawn area: 40%
    19:57:08 [INFO] [Permissions] (Phoenix) was Initialized.
    19:57:08 [INFO] Loading BukkitPiston 0.43
    19:57:08 [INFO] CommandSigns enabled
    19:57:08 [INFO] [Permissions] version [2.7] (Phoenix) loaded
    19:57:08 [INFO] [EmptyInventory] Plugin enabled! (version1.0)
    19:57:09 [INFO] Loaded Essentials build 2.1.38 maintained by Zenexer, ementalo,
    Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    19:57:09 [INFO] [iChat] Found Permissions (v2.7)
    19:57:09 [INFO] iChat (v2.2.3) enabled
    19:57:09 [INFO] [iWatch] iWatch version 0.5 is enabled!
    19:57:09 [INFO] [iWatch] Settings Loaded!
    19:57:10 [INFO] [LIGHTSENSOR] 0 sensors loaded
    19:57:10 [INFO] LightSensor version 0.7 is enabled!
    19:57:10 [INFO] Lockette version 1.3.4 is being enabled! Yay!
    19:57:10 [INFO] Lockette: Detected craftbukkit build [733] ok.
    19:57:10 [INFO] Lockette: Linked to Permissions plugin version 2.7
    19:57:10 [INFO] Lockette: Ready to protect your containers.
    19:57:10 [INFO] [MultiVerse] Permissions Found
    19:57:10 [INFO] [MultiVerse] - Version 1.6.3 Enabled
    19:57:10 [INFO] [MultiVerse] Loading World & Settings - 'world' - NORMAL
    19:57:10 [INFO] [MultiVerse] Loading World & Settings - 'world2' - NORMAL
    19:57:11 [INFO] Preparing spawn area for world2, 89%
    19:57:11 [INFO] [MultiVerse] 2 - World(s) loaded.
    19:57:11 [INFO] [MultiVerse] Loading Portals
    19:57:11 [INFO] [MultiVerse] 2 - Portal(s) loaded.
    19:57:11 [INFO] NoSpawn version 1.1 is enabled!
    19:57:11 [INFO] [PermissionsPlus] Attached to Permissions version: 2.7
    19:57:11 [INFO] [PermissionsPlus] version 1.5.1 has been enabled.
    19:57:11 [INFO] [PorteCoulissante] plugin version 1.2.1 by Captain_Chaos enabled

    19:57:11 [INFO] [RetractableBridge] plugin version 1.3.6 by Captain_Chaos enable
    19:57:11 [INFO] Warpz0r version 1.2.2 is enabled
    19:57:11 [INFO] [Warpz0r] Found Permissions (v2.7)
    19:57:11 [INFO] Weather Man - On Air!
    19:57:11 [INFO] WorldEdit 4.3 enabled.
    19:57:11 [INFO] WorldEdit: Permissions plugin detected! Using Permissions plugin
    for permissions.
    19:57:11 [INFO] WorldGuard: Permissions plugin detected! Using Permissions plugi
    n for permissions.
    19:57:11 [INFO] WorldGuard: (world) Single session is enforced.
    19:57:11 [INFO] WorldGuard: (world) TNT ignition is PERMITTED.
    19:57:11 [INFO] WorldGuard: (world) Lighters are PERMITTED.
    19:57:11 [INFO] WorldGuard: (world) Lava fire is blocked.
    19:57:11 [INFO] WorldGuard: (world) Fire spread is UNRESTRICTED.
    19:57:11 [INFO] WorldGuard: Loaded configuration for world 'world"
    19:57:12 [INFO] WorldGuard: (world2) Single session is enforced.
    19:57:12 [INFO] WorldGuard: (world2) TNT ignition is PERMITTED.
    19:57:12 [INFO] WorldGuard: (world2) Lighters are PERMITTED.
    19:57:12 [INFO] WorldGuard: (world2) Lava fire is blocked.
    19:57:12 [INFO] WorldGuard: (world2) Fire spread is UNRESTRICTED.
    19:57:12 [INFO] WorldGuard: Loaded configuration for world 'world2"
    19:57:12 [INFO] WorldGuard 5.0-alpha10 enabled.
    19:57:12 [INFO] Done (0.681s)! For help, type "help" or "?"

    Could the fact that I have 2 different worlds be effecting the plugin?
  21. Offline


    Nope. My server has two worlds and I'm having no problems.
  22. Offline


    Absolutely great plugin. Functions basically the same way as the SSP one does, with only little differences. Love it. Thanks.
  23. Offline


    Would you be willing to help me find & fix the problem?
  24. Offline


    After updating to 0.5, am spammed with
    2011-04-30 00:09:46 [SEVERE] Could not pass event BLOCK_BREAK to WorldGuard
        at com.sk89q.worldguard.bukkit.WorldGuardBlockListener.getWorldConfig(WorldGuardBlockListener.java:76)
        at com.sk89q.worldguard.bukkit.WorldGuardBlockListener.onBlockBreak(WorldGuardBlockListener.java:112)
        at org.bukkit.plugin.java.JavaPluginLoader$33.execute(JavaPluginLoader.java:400)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
        at com.bukkit.redspider.bukkitPiston.PistonBlock.contract(PistonBlock.java:212)
        at com.bukkit.redspider.bukkitPiston.PistonBlock.update(PistonBlock.java:194)
        at com.bukkit.redspider.bukkitPiston.PistonBlock$1.run(PistonBlock.java:151)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:128)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:358)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    whenever a piston moves.
  25. Offline


    Similar issue here. It can't seem to pass BLOCK_BREAK or BLOCK_PLACE to any other plugin. I get the errors regarding WorldGuard, Essentials, and Permissions. Some pretty impressive log spam actually. =)
    Let me know if there's anything I can do.
  26. Offline


    i'm working on it, hopefully it will support protection zones, when it's done.
    flying sand is more tricky than i thought. maybe in the next major version
  27. Offline


    Piston dance floor!

    Inside the dance floor :
  28. Offline


    try disabling some plugins. please let me know, which one does not harmonize
    @Gallion nice work
    @jaybud4 @Doteater v0.51 should work fine
  29. Offline


    2011-05-01 15:30:36 [INFO] Loading BukkitPiston 0.51
    2011-05-01 15:30:36 [WARNING] Could not load piston: java.io.InvalidClassException: Piston @-170, 90,589 removed
    2011-05-01 15:30:36 [SEVERE] Unable to load BukkitPistons: java.io.optionalDataException

    I keep getting this error.
  30. Offline


    this happens if the save file doesn't match the world or if you change the piston material. but it should not happen again on restart. anyway, its not an important error
  31. Offline


    17:52:32 [INFO] Loading BukkitPiston 0.43
    17:52:32 [WARNING] Could not load piston: java.io.InvalidClassException: World w
    orld2 not found
    17:52:32 [SEVERE] Unable to load BukkitPistons: java.i:confused:ptionalDataException

    I'm running two worlds and all of a sudden this comes up....what do?

Share This Page