PistonChest
You can now give pistons certain abilities which extend their basic boring nature.
Supports:
- LWC (command 'pcpassword <password>' allows the user to assign a password to a piston, to give to LWC password protected chests)
- Lockette
- Secure Chests
About:
Whenever you place a piston it will be registered in your name. This prevents players from destroying them or claiming them for themselves. PistonChest supports the above plugins which can prevent a piston from accessing a chest if they do not have permission. In this plugin there are certain abilities which modify how the piston behaves, and can be combined to create the ultimate machine. The basic ability is being able to push and retrieve blocks and items from a chest. In order to add an ability the player must use the specified tool (default: stick) then right click on their piston to bring up a GUI from where they can either add items to use abilities or simply turn them on and off. See below for a list of abilities...
To Install,
- Copy and paste the 'PistonChest.jar' file into the plugin folder...
No more need for Commands!
Use a stick by default to modify your piston functionality! (Version 1.8)
NEW VERSION UPDATES AND FIXES
Videos
Commands and Permissions
- /pcreload - pistonchest.reload - Reloads the config file
- /pcregister - pistonchest.register - Registers an unregistered Piston. (Pistons are registered on place by default).
- /pcunregister - pistonchest.unregister - Unregisters a piston that is registered by you. (Allows other people to claim it)
- /pcpassword - pistonchest.password - Assigns a password to unlock a password protected chest (For LWC).
- /pcdetails - pistonchest.details - Gets the details of the clicked piston.
- /pcability - pistonchest.ability - Gives pistons certain abilities.
Config
Change Log:

Abilities:
Type '/pcability <add/remove> <ability>' then click on the piston, to manage piston abilities. Abilities can be combined to make the ultimate piston machines!
chest_access
Description:
Gives the piston the ability to push and pull blocks/items in and out of chests.
How To:

super_push
Description:
Gives pistons the ability to shoot blocks/items. Note: To increase the power of the piston, surround it with obsidian. Works 1 block all the way around.
How To:

chest_dispenser
Description:
Gives pistons the ability to push blocks from a chest.
How To:

Ultimate Setup
Please note you will have to adjust the obsidian according to how far the chest is away, and what item is being fired. (Players and monsters encounter wind resistance).

-
View User Profile
-
Send Message
Posted Nov 27, 2012Is it possible to stop the piston from being able to push bedrock or obsidian?
-
View User Profile
-
Send Message
Posted Nov 27, 2012@TinCow
Yer I think my method of accessing the database was long and required alot of memory. And when using heaps of pistons at once it kinda just lags heaps. uses heaps of memory. hah.
But i changed it so let me know how it goes :) May have to wait till the update gets approved though. its still pending. its the 1.6.2 version
-
View User Profile
-
Send Message
Posted Nov 27, 2012@kevupton
Thanks. I'll test it this evening and get back to you.
For the record, the plugin worked fine when it was being used normally (one piston pushing into one chest). It started malfunctioning after one of my users added it to a smooth stone generator. He had the thing setup such that six pistons pushed simultaneously into six chests. At that point it started putting out the memory errors and causing lag.
-
View User Profile
-
Send Message
Posted Nov 27, 2012@TinCow
Ok this should be improved in the 1.6.2 update
-
View User Profile
-
Send Message
Posted Nov 20, 2012Using 1.6.1, I'm getting serious errors on Bukkit 1.4.5-R0.1. The plugin appeared to work fine at first, but quickly started spamming the console with the following text, and causing significant server lag:
-
View User Profile
-
Send Message
Posted Nov 12, 2012@nkomosim
@breakabledog
@adamber
Has been fixed :)
-
View User Profile
-
Send Message
Posted Nov 12, 2012@ger999
@Cubanrevel
@Chemical_Datas
@7eggert
@breakabledog
Ok Guys, I have fixed the database error! Sorry for the late reply, I have been fairly busy. It will be in version 1.6.1
-
View User Profile
-
Send Message
Posted Nov 7, 2012@kevupton
I was testing you plugin is very interesting. I try it on my server and it work. but when I went in to the console it was flooded with this error === [INFO] Error processing piston info! === any patch for this.
Thank you Cubanrevel
-
View User Profile
-
Send Message
Posted Oct 10, 2012Not having much luck with the pulling items from chests...every time I do the piston breaks and drop the piston item..
-
View User Profile
-
Send Message
Posted Oct 5, 2012Can you add more customization on the config file so you can pick what pistons can do eg. Pull items out of a chest. Also could you add secure chest support?
-
View User Profile
-
Send Message
Posted Sep 25, 2012Dose anybody have a working database that I could use? When he introduced the databases, thier not generating right for me. Somthing about a few missing tables called pistions and events....
-
View User Profile
-
Send Message
Posted Sep 22, 2012@Jahb57
But It Wont do Items D:
-
View User Profile
-
Send Message
Posted Sep 5, 2012will version for 1.3.2 ?
-
View User Profile
-
Send Message
Posted Sep 3, 2012Hey, is there any way to disable people from pushing bedrock into chests? I don't want people getting bedrock on my server...
-
View User Profile
-
Send Message
Posted Aug 31, 2012@kevupton
Can you Update to 1.3.2 Or Fix The DB Bug? :(
I was so happy to see that all other features works again (Item to Chests, Item to Furnace, Item From Furnace and and and)
and now this.. :(
-
View User Profile
-
Send Message
Posted Aug 23, 2012Looking at the error message, there is an error in the database. You can recreate it by deleting everything but the config file from the directory.
------I just installed the version with the DB, and I got two database files: PistonChest.db with 0 bytes pistonchest.db with some KB
(I guess you tested on windows where you'd get exactly one file.)
(Suggestion: If you start typing things twice, use a (global or local) constant. If you decide to make it configurable, changing it will be much easier. HTH)
-
View User Profile
-
Send Message
Posted Aug 21, 2012Getting the same error @nkomosimi Tell me if anyone has got a solution. C:
-
View User Profile
-
Send Message
Posted Aug 14, 2012Huge error spam...
19:13:42 [INFO] java.sql.SQLException: [SQLITE_ERROR] SQL error or missing datab ase (no such table: pistons) 19:13:42 [SEVERE] Could not pass event BlockPhysicsEvent to PistonChest org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at net.minecraft.server.World.m(World.java:430) at net.minecraft.server.World.applyPhysics(World.java:418) at net.minecraft.server.World.update(World.java:371) at net.minecraft.server.World.setTypeIdAndData(World.java:353) at net.minecraft.server.TileEntityPiston.i(TileEntityPiston.java:85) at net.minecraft.server.BlockPiston.b(BlockPiston.java:124) at net.minecraft.server.WorldServer.a(WorldServer.java:797) at net.minecraft.server.WorldServer.Q(WorldServer.java:784) at net.minecraft.server.WorldServer.doTick(WorldServer.java:165) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:560) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at me.kevupton.pistonchest.PistonDatabase.getPiston(PistonDatabase.java: 209) at me.kevupton.pistonchest.Integration.hasAccess(Integration.java:42) at me.kevupton.pistonchest.PistonChest.onPistonExtend(PistonChest.java:2 12) at sun.reflect.GeneratedMethodAccessor472.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:330) ... 17 more
-
View User Profile
-
Send Message
Posted Aug 13, 2012Would it be possible to check the chest first? If the chest is full, have the block simply collide with the chest (as it would normally without this plugin - piston wouldn't activate). As of right now, if the box is full, every new item will be deleted.
-
View User Profile
-
Send Message
Posted Aug 12, 2012not sure whats causing this. another plugin perhaps?
19:13:42 [INFO] java.sql.SQLException: [SQLITE_ERROR] SQL error or missing datab ase (no such table: pistons) 19:13:42 [SEVERE] Could not pass event BlockPhysicsEvent to PistonChest org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at net.minecraft.server.World.m(World.java:430) at net.minecraft.server.World.applyPhysics(World.java:418) at net.minecraft.server.World.update(World.java:371) at net.minecraft.server.World.setTypeIdAndData(World.java:353) at net.minecraft.server.TileEntityPiston.i(TileEntityPiston.java:85) at net.minecraft.server.BlockPiston.b(BlockPiston.java:124) at net.minecraft.server.WorldServer.a(WorldServer.java:797) at net.minecraft.server.WorldServer.Q(WorldServer.java:784) at net.minecraft.server.WorldServer.doTick(WorldServer.java:165) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:560) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at me.kevupton.pistonchest.PistonDatabase.getPiston(PistonDatabase.java: 209) at me.kevupton.pistonchest.Integration.hasAccess(Integration.java:42) at me.kevupton.pistonchest.PistonChest.onPistonExtend(PistonChest.java:2 12) at sun.reflect.GeneratedMethodAccessor472.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:330) ... 17 more