ToolWorx
ToolWorx
Update 3/21/17
Started working on getting this plugin up and running. The drill and planter are functional but likely have some issues. Please post what you find not working. I'm expecting some materials to be missing etc.
Update 1/29/14
I have been working on a new idea for the project and It is close to being something runnable. I'm thinking instead of a predefined pattern that defines the operation of a machine. A 'blueprint' can be designed in the game and some blocks can be assigned a function. Initially I think only the op users will be able to design the blueprints. The function a block performed would depend on what block type was assigned. By default a block would have no block type and would only serve as a required block in the design. Other block types would move the machine, add or remove blocks. See the Architech page for more details It would go something like this
- A console command is issued and the blocks being placed by the op player are recorded - This becomes the machine blueprint.
- The op player selects a block and (via issuing a command) sets it to a particular block type. There will be several block that perform different actions like moving the machine , drilling, building , planting ...etc.
- once all the blocks are in place and the block types are set , the blueprint is saved and then any regular player can build a copy of the blueprint and activate the machine..
I've gotten busy at work and have some travel coming soon but I hope to have something (alpha release) in the next 3-4 weeks. Of Couse I'll try to keep the original tools working and unchanged as much as possible , At least until this newer system is stable and proven.
Based on MachinaCraft by Lyneira. My Initial effort will be to ensure all Machina are functional in the latest versions of Craftbukkit. The original author has moved on and I hate to see this project die.
Please refer to the MachinaCraft page for information. At this time the only changes from the original project are to allow it to work with a new release of CraftBukkit.
The ToolWorx plugins are machines (tools) that can be built by placing ordinary blocks in the world that follow a specific blueprint. Once the tool is built and activated (usually with a lever) the plugin takes over and the tool starts its work. To run any of the tools you must run the 'MachinaCore.jar' plugin in addition to the individual .jar file for each tool. Just drop the .jar files into your plugins directory and type reload from the server console (or restart it).
Current Tools
Currently the only tools available are the original MachinaCraft tools. These tools had not been updated since CB 1.5.1 and the current focus is bring the project up to date and removing all the deprecated code. These are the Original tools only modified where needed to run on Bukkit 1.7.2. Please note that the links below are to the MachinaCraft Project and are the excellent work of Lyneira (Not Me)
• MachinaDrill - Drills a Horizontal or Vertical 3X3 hole and retains all the mined blocks in a chest so you can come collect them later.
•MachinaBuilder - Builds Roads and bridges
•MachinaPump - Can be used to fill or drain a hole with water
•HoverPad- Allows the user to hover above the ground and walk around
•MachinaFactory- Used to transport, Craft or smelt items.
•MachinaPlanter- Automatically harvest crops, tills the soil and replants.
•MachinaRedstoneBridge- Used as an add on to existing tools, This allows a redstone circuit to activate a tool instead of a lever.
Planned Work
- MechArcitech - A plugin that will allow tool blueprints to be generated (and possibly edited) in game instead of "hard coded" per tool
- MechMason - A tool that will build vertical walls along a closed path. The player will lay an outline of the structure to be built and then build the MechMason tool on the outline. The tool will follow the outline building up one block every pass. Optionally stairs can be added to the side of the walls.
- MechMole - Similar to the MachinaDrill and MachinaBuilder in one. The MechMole will build a tunnel with optional lighting (placing walls , floor and ceiling where needed). The tool will be able to dive and climb as well as turn left or right.
- Improvements to the MachinaDrill and MachinaBuilder - an option to place an item (torches,saplings or anything else) every x blocks.
- Command Line options for enabling verbose logging to help diagnose problems
@starcomedon
Even with it disabled the plugin doesn't function. No more errors, just nothing happens.
Would you like to come on the server and see how I'm building it? I'm following the instruction to key.
@nullschritt
It looks like mcMMO is the first plugin to fail. Can you disable that plugin long enough to see if the redstone bridge works?
@fungreenfox
The Permissions code is unchanged
Could not pass event PlayerInteractEvent to mcMMO v1.4.07-b3337 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:472) [craftbukkit.jar:git-Spigot-1322] at me.lyneira.MachinaCore.EventSimulator.blockRightClick(EventSimulator.java:155) [MachinaCore.jar:?] at me.lyneira.MachinaCore.EventSimulator.inventoryProtectedStatic(EventSimulator.java:201) [MachinaCore.jar:?] at me.lyneira.ItemRelay.Blueprint.detect(Blueprint.java:109) [MachinaFactory.jar:?] at me.lyneira.MachinaCore.MachinaCore.onLever(MachinaCore.java:71) [MachinaCore.jar:?] at me.lyneira.MachinaRedstoneBridge.MachinaRedstoneBridge.run(MachinaRedstoneBridge.java:125) [MachinaRedstoneBridge.jar:?] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:614) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Spigot-1322] Caused by: java.lang.NullPointerException at com.gmail.nossr50.listeners.PlayerListener.onPlayerInteractMonitor(PlayerListener.java:531) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) [craftbukkit.jar:git-Spigot-1322] ... 16 more [21:51:27 ERROR]: Could not pass event PlayerInteractEvent to EnchantmentAPI v4.19 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:472) [craftbukkit.jar:git-Spigot-1322] at me.lyneira.MachinaCore.EventSimulator.blockRightClick(EventSimulator.java:155) [MachinaCore.jar:?] at me.lyneira.MachinaCore.EventSimulator.inventoryProtectedStatic(EventSimulator.java:201) [MachinaCore.jar:?] at me.lyneira.ItemRelay.Blueprint.detect(Blueprint.java:109) [MachinaFactory.jar:?] at me.lyneira.MachinaCore.MachinaCore.onLever(MachinaCore.java:71) [MachinaCore.jar:?] at me.lyneira.MachinaRedstoneBridge.MachinaRedstoneBridge.run(MachinaRedstoneBridge.java:125) [MachinaRedstoneBridge.jar:?] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58) [craftbukkit.jar:git-Spigot-1322] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:614) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Spigot-1322] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Spigot-1322] Caused by: java.lang.NullPointerException at com.rit.sucy.enchanting.EListener.getValidEnchantments(EListener.java:383) [?:?] at com.rit.sucy.enchanting.EListener.onInteract(EListener.java:184) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) [craftbukkit.jar:git-Spigot-1322] ... 16 more
Love the plguin but the redstone link still doesnt seem to work. I even gave it it's own group, with permissions in the group and in the player, and in the config.ym. It has all the permissions of a nomral player but thatthing happens. I can tell a redstone-bright player does pass an even to the world, but the machine does not turn on.
I am owner of a server, where the players now can use and operate the machinaplanter. But the planter which i have for myself, cant operate by me. It is trying to open the chest instead. Have you made any changes to the permissions?
have you done any testing with zPermissions ?
http://dev.bukkit.org/bukkit-plugins/zpermissions/
I use zpermissions specifically because it works well with Heroes, with the original MachinaCraft files as well as the ones you've updated, whenever anyone op or otherwise receives a message "You do not have permission to activate a _."
The following is a short excerpt of my permissions file
@gashnal
The planter will (should) work with
Carrot
Cocoa
Melon
NetherWart
Potato
Pumpkin
Wheat
the planter will only place the item where you could plant it yourself. Cocoa can only be placed on Jungle Wood trees so you will have to put jungle wood in your garden for the Cocoa pods to be planted on.
@kreezxil
I got worldedit and worldguard plugin running on my server and it didn't appear to break the Redstone bridge. WorldGuard is running whatever permissions are default. I'll upload a screenshot of what i built just so you can double check your build. If everything on your end looks like mine, maybe you can upload your worldguard config and I can try it out over here.
@kreezxil Apparently the downloads on bukkit are broken at the moment. I'd like to get worldguard and see if I can figure out what is stopping it from working. It might be a permissions setting on worldguard but I am not familiar with that plugin so I'm not sure. Once I can download the worldguard 5.8 plugin I'll see if I can figure what the problem is. Would it be possible to stop worldguard on your system long enough to see if that's your problem?
@kreezxil
Is your world's name "world" as I (and the plugin) would think from your screenshot ?
I use McMyAdmin with PEX in the background. I created a group "RedstoneBridge" and just gave it the "worldguard.region.bypass.<worldname>" for each of my worlds - no more permissions. Then I added a user "Redstone-Bridge" (mind the "-") to the group.
I kept the config.yml of the RedstoneBridge plugin the default....
Did you try pulling the worldguard permissions out of the config.yml into PEX by creating a user "Redstone-Bridge" there ?
does the redstone bridge require something fancy if you are using pex and worldguard? I tried to make sense of it. but for whatever reason I still can't get it it operate. As a side note I've never gotten to operate ever but then i've always had worldguard too. I'm thinking it has to be something to do with that.
http://pastebin.com/YVhbUGDL
@starcomedon
Cool, I'll wait for it then. :)
@kreezxil
that might be a little more editing on the planter than I was thinking on doing. once I get the Architech part of the plug in finished it would be possible build a machine that can mine an open pit that you outline on the ground.
@gashnal
Carrots and potatoes work in the original version. Sugar cane works a little different in that you have to leave the last stalk but I think it might be worth putting it in the code to do so. I'm not sure how cocoa beans behave. I'll have to look at it. I'm out of town for work for the next week or two. I'll look at the cane and beans when I get back. From what MGBeenieboy has posted I am wondering if the code in the repo is the last published build or something else. I didn't edit the code on that part of the program at all and the planter isn't working for him. You may want to to fall back to the machina craft planter in the mean time if its giving you trouble.
I just realized this was the updated post for machine craft.
any plans for carrots, potatoes, sugar cane, cocoa beans?
Now that you have control of the project what would it take to get you to allow the planter to become also a quarry?
@MGbeenieboy
Swap the planter plugin out for the older version and see if it works. The only difference should be the version txt. I didn't edit the code for the planter at all.
Did you try removing the config file for the redstone bridge and letting it create a new one?
@starcomedon
Good idea with the lightsensor. Yes, It worked.
@MGbeenieboy
That's odd about the planter. I've used it with the redstone bridge tied to a light sensor so I get the planter to cycle once per day. One caveat on the redstone bridge, It must use the brick block under the repeater. The old version would allow you to swap it out in the config file. The Config.yml is a little different and your old one needs to be removed (or renamed).
The Planter is the same. I havn't changed it . does the orginal planter work for you ?