MachinaCraft
Plugin under development!
This plugin has not been updated since MC version 1.5 so some if not all features will not work. While I find the time to update and expand it please use starcomedon's fork of this same plugin. you can find it Here!
What is MachinaCraft?
MachinaCraft is a framework for machines made up out of blocks, activated by right-clicking on a lever. It is modular and includes several plugins that can make repetitive tasks easier, such as digging or building in a line, even placing and clearing bodies of water. Because it is modular, other plugins can also use MachinaCraft to make their own activatable machines.
How do I build a Machina?
Similar to crafting something on a crafting table, but in the game world. Place blocks in the world in a predefined way and put a lever on the right block. Rightclick the lever, and if you built it correctly, the Machina will activate.
A demonstration please!
- Plugin Showcase by WoopaGaming
- A video series in German by BukkitDE - 1, 2, 3
Machina Plugin Info & Permissions
These are the Machina plugins available right now, included in the download:
- MachinaDrill
- MachinaBuilder
- MachinaPump
- HoverPad
- MachinaFactory
- MachinaPlanter
- MachinaRedstoneBridge
On their respective pages you can find pictures, instructions how to build them, and the permission nodes available for them.
Plugins that work with MachinaCraft
- SignShop 2 can activate a machina with a sign, possibly with a cost.
Permissions
To enable all machinacraft permissions at once, replace your server's permissions.yml with the included permissions.yml. (or add the contents if you already have something there)
This works even if you do not have a permissions plugin.
If you do have a permissions plugin and want more control, you can change the default in permissions.yml to 'op' and use the global permission node:
machinacraft
Troubleshooting
Are you having trouble getting MachinaCraft to work? Take a look at the Troubleshooting page.
Anti Cheating Plugins
Does your server use an anti cheating plugin such as NoCheatPlus? See MachinaCraft and other plugins.
Plugin Developers
MachinaCraft allows other plugins to register a blueprint for the Machina they implement. When a player rightclicks a lever, MachinaCraft will ask each registered blueprint to detect itself at that location. If successful, a new Machina is created from that blueprint.
MachinaCraft will periodically ask the Machina to check its integrity, and if successful send a heartbeat in which it can take action. The Machina can inform MachinaCraft when it should receive the next heartbeat, what its new location is (if any), or deactivate itself.
Included is an optional framework that:
- Simplifies specifying the blueprint
- Implements the integrity check for your Machina using the above blueprint
- Can move a Machina 1 block up, down, north, east, south, west
- Can teleport the Machina to a location
- Can rotate the Machina
- Can detect collisions for move, teleport, rotate actions
- Supports blocks that have additional data such as torches, levers, rails, and blocks with inventory such as furnaces and chests
- Support for optional modules.
Plugin developers looking for an example can take a look at the code for MachinaCraft.
On Hiatus
Short version: I'm on hiatus from Minecraft and developing this plugin, but the source code is available for anyone who wants to fork this and continue development.
Long version: As some of you may know, I haven't updated MachinaCraft in some time and I wanted to explain a little bit. Minecraft has taken a back seat for me in the last couple months. Also, the server I play on is Forge-based rather than Bukkit-based, which means I haven't been able to play with the results of my own plugin for a long time now. That has been a real motivation killer which is why there hasn't been any real development activity.
So it hasn't been an easy decision but I'm now officially on hiatus. My apologies to you who were hoping for more updates and even more features or cool machines - unfortunately I won't be the one implementing them. The project is open source however, and I hope there is someone out there who is willing to pick up the torch - you've got my blessing if you do.
Last but not least, a thanks to everyone who visited this site, helped out others with their questions when I wasn't around to answer them, or just had fun with the plugin! :)
To plugin developers
You're free to fork the project and continue under a new name, or use this project page to release an update, just contact me and I'll add you as an author. If you do want to pick up development I'd be happy to give some pointers via PM or irc (#bukkitdev) to help you get familiarized with the code.
The source code is available on the repository under the machinacraft4 branch.
@Lyneira
Why not have a switch in side your config that could be like so Use-Internal-Permissions:True/False
True would go through with your idea, where as false would hook into pex, vault, bpermisisons, or what ever permissions plugin suits each person
Also, a debugging or verbose output option to the console would be nice, as i still cannot figure out why the drill or builder will not work for me
Would be really nice to have the process simplified, so yes i agree with having the default set to allow, since most people download the plugin so their users can use it (of course barring extreme things like lava pump) and therefore it would benefit the most people
Lately I've been thinking that the barrier to getting the plugin up and running is higher than it needs to be, judging from the fairly constant stream of requests for help with permissions.
I've been contemplating making the entire plugin default allow instead of default deny. (except for something extreme like lava pumps) That way, if you just want everyone on your server to have access to MachinaCraft plugins it's just a matter of dropping in the plugin and go. No more messing around with a permissions.yml or manually setting permissions to true for non-ops in a permissions plugin.
The (slight) downside is that people who want to run a restrictive server have to explicitly deny machinacraft permissions for restricted groups. I figure that the admins of such servers will have more experience with permissions, therefore less trouble with configuring it to their wishes.
Small inconvenience for some, for a large gain in accessibility. Thoughts?
Works perfectly, thank you for the speedy fixes
@aussie1579
If you ran into the carrot harvesting problem before, it's possible you have a carrot with a negative stack size in your chest. Try taking it out so it no longer absorbs any harvested carrots. :)
@Lyneira
Carrots are no longer picked up by the farmer, Potatoes are fine so is wheat, but carrots are not.
Got an issue that when an op activates the lever the chest opens and the machine does not start. players can use it fine, the group that the ops are in can use it fine also.
m
@aussie1579
Actually I found a couple nasty inventory bugs that showed most prominently while harvesting potatoes and carrots after a full stack had been accumulated. It may also afffect the fabricator.
I recommend getting MachinaCraft 4.1.9 to avoid running into them.
Incidentally, this update also makes the planter harvest the normal amount of 0-3 wheat seeds. ;)
Looks like all is good with the latest update, apart from the fact that the farmer does not pick up extra seeds or netherwart etc.
@Lyneira
oh didn't see your edit on the post below that it worked on your test server.
"Count never decreased, although of course sometimes the harvest would only be 1 carrot/potato and the number in the chest would not change."
I tested that on a 7 by 16 field each and the numbers never increase in best case, and decrease most of the time.
i'm going to test on a fresh server now.
Update: I've updated the actual status on the forum post here: http://forums.bukkit.org/threads/mech-dev-machinacraft-v4-1-7-a-framework-for-lever-activated-devices-1-4-2-r0-2.44563/page-8#post-1412987
I've uploaded a new release that fixes the broken factory plugin. The breakage was caused by a subtle change in Bukkit's behaviour.
If you're having issues with potatoes and carrots producing negative amounts, can you try the latest and see if it's still happening?
@aussie1579
Odd, looks like your first stacktrace didn't miss anything... Tracking down the crash in CraftBukkit, it looks like your world is returning an id that Bukkit doesn't understand and crashes because of it. It might be you have some world corruption going on, or maybe you are running mods on your server that add new block ids?
In either event, perhaps try removing any mod blocks (if applicable) from the farming area, or in the case of corruption replacing the air above the soil with blocks and removing them again?
@Helmi_74
I had this problem briefly during development but the code used for release shouldn't... I'll look into this.
Edit: downloaded the latest release from the site and put them into my test server's empty plugin dir... Potatoes and carrots worked fine. Count never decreased, although of course sometimes the harvest would only be 1 carrot/potato and the number in the chest would not change.
Sorry my bad, I will reproduce the error and have the full debug in pastebin
Edit: http://pastebin.com/15shRpup
don't knof if here or in the forums is the right place to post support to but i'll try it here again: Looks like carrots and potatoes don't work. When harvesting i get at max 1 potatoe and carrot per block where it should be two carrots and four potatoes. amount of carrots and potatoes is shrinking in the chest which can't be the goal :)
@aussie1579
Is there any more to this stacktrace than you've posted? I see only NMS code (not even Bukkit code) in the trace so I have no idea what part of the planter code could be causing this to happen.
@aussie1579
I'm having this same issue, and have filed a ticket.
anytime a farm is activated the following error occurs and the server crashes, all settings are default
I've uploaded a new release for CraftBukkit 1.4.2-R0.2. If it isn't approved yet and you need it now, you can find it here.
Please let me know if you encounter any problems. :)
@Arthaiser
Yes, I'll be updating this soon now that a beta bukkit build is out. Barring any big changes in the Bukkit API, there is a good chance the latest upload will work without issue anyway. The only "bugs" that might arise is that the drill/builder will treat blocks added in 1.4.2 as unbreakable. non solid blocks.