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.
i am waiting for this and craftbook to update to 1.4.2 to start a server with my friends. we want to have a vanilla experience but with automatic things, and this plugin is just what we desired from the start.
please keep with the good work, this plugin is great
Please make it compatible to spout (Redstone Bridge)
this will be updated for 1.4.2 right?
@LHammonds
I've added those lines to the MachinaCraft4 branch in the source, they'll be in the next release. :)
I am evaluating a utility called "PluginManager" which can look at all the plugins installed and then look at each dev.bukkit page to see if there has been an updated release. It can have difficulty if there are non-numeric characters in the version number or the title of the plugin does not match the title of the URL address. It also can print out a handy list of plugins installed and some basic info about them...such as the author and small description (which you already have configured).
Since you have multiple differently-named plugins, they have to use the website or dev-url link to find the correct page...which all of them go to one page.
LHammonds
@LHammonds
Shouldn't be a problem, just wondering: does anyone/anything use those definitions?
@Lyneira, in the next version, would you mind adding these lines to all the plugin.yml files?
Thanks,
LHammonds
how does this work with factions?
@Lyneira
Fair enough! You've made a great thing, here, already.
Nr.1 plugin i realy enjoyd it :) !
@MattSheridan
At the moment all my spare coding time is going to a rewrite of MachinaCraft to hopefully solve some of the limitations of the current system. I'll still fix bugs with the current MachinaCraft (new release for CB 1.3.2-R1.0 is out) but I'm afraid new features or machina types are a ways out at this point.
@Lyneira:
Hey, is there any possibility of new machina types? I've been looking around for some kind of defensive arrow turret plugin, and all the candidates I've found seem to be either dead or not quite right.
Could you make your plugin compatible with the craftbukkit uptodate plugin?
@Zefram
From what I can tell, it looks like the exception is happening within IcePvPControl when it gets a BlockPlaceEvent from MachinaCraft's machines and the author forgot a null check on one of the event fields.
@Jacold
Keeping used server resources to a minimum was a high priority for me when I made MachinaCraft. I haven't done any serious profiling but from what I did test, MachinaCraft is very light on server resources. When they're off, machines don't use any memory. When on, it's mostly just keeping track of the blocks that make up the machine.
I've never tried running as many as 200 drills but if that works fine with you then your server shouldn't have any problem with about 8 players. :)
The only machine I could find that would affect my laptop's CPU usage was the Hoverpad. It's quite a bit larger than the other machines and updates its blocks much faster, but chunk loading going on in the background (from moving while on the pad) probably also messed with my test results.
@Lyneira
Oh, my mistake. Thanks! :)
EDIT:
Btw: This plugin eats plenty of RAM or not? If I run it on my PC (Hamachi server) with dedicated memory for server 1GB it works fine with 200 running drillers... But I don't know how it will work on my hosted server with approx. 25 plugins, 8 players online and 2GB memory (800MB free).. I'll limit machines to 3 per player.
Seems to conflict with IcePvPContro
http://dev.bukkit.org/paste/6213/
@Jacold
You can change the fuel value of things like coal, wood etc in MachinaCore's config.yml. The default fuel value for coal is 1600, and is counted in server ticks. 20 ticks = 1 second, so coal lasts for 80 seconds by default. If you need to know the ids of the fuels you want to change, look here. :)
@Poilot
Oh my bad. Thought it was related to actual bridges, so I didn't check it out before XD
I have next feature idea (because I need this ;>) - how many fuel machina needs configurable in config.yml
@WarmakerT
Try MachinaRedstoneBridge.