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!
Machina Plugin Info & Permissions
These are the Machina plugins available right now, included in the download:
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.
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:
Are you having trouble getting MachinaCraft to work? Take a look at the Troubleshooting page.
Does your server use an anti cheating plugin such as NoCheatPlus? See MachinaCraft and other plugins.
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.
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.
- Fixed an issue with data values not ending up as 0 after setting block locations to empty (causing infinite crop harvesting with the planter)
- Minor optimization for getting block drops
- All types of chests are now considered non-solid, meaning they can no longer be used as building blocks in the builders. This prevents a builder from building a long line of connected (and bugged) chests.
- Reworked planter internals to be more readable and maintainable
- Following Minecraft's nerf of bonemeal, using it in the planter no longer instantly grows a crop to full. It now advances most crops randomly by 2-5 growth stages.
- Cocoa bean farming! (place jungle logs to the sides)
- Updated for 1.5.1
- Compatibility update for MachinaRedstoneBridge with CB 1.4.7.
- Fix for changed compass directions in CB 1.4.6. The drill and builder should now work again. :)
Edit: Also works with 1.4.2-R0.2+
- Fixed a pair of bugs in the the inventory handling code that could create items with negative stacksizes or add the incorrect amount when an added item overflows the maximum stack size.
- Carrot and potato harvesting fixed, see above.
- Fixed a server crash caused by wheat harvesting, accident while updating the planter for carrots and potatoes. Sorry!
- The planter now harvests wheat seeds as normal: 0-3 seeds per fully grown wheat. On average this will create a surplus of 0.5 seeds per wheat harvested.
- Fixed a scheduler call in MachinaCore that broke the factory pipeline system. This was necessary because CraftBukkit's scheduler behaviour changed subtly.
- Block required under the repeater is now configurable in config.yml. To see the new option, remove your old config to generate a new one.
- Updated for Minecraft 1.4.2
- Added support for carrots and potatoes. If you need to turn harvesting of these off, move your config.yml aside and let it generate a new one to see the new options.
- Added a config option to set the update delay. To see the new option, move your config.yml out of the way to generate a new config.yml.
- Added a config option to disable wheat seed harvesting. To see the new option, move your config.yml out of the way to generate a new config.yml.
- Planter now only damages the hoe when tilling soil or harvesting crops. This allows the player to prevent the planter from harvesting after a field has been tilled by removing the hoe.
- Fixed a bug where bonemeal would be used on fully grown crops
- Fixed a bug where hoe durability would be used on crops that weren't harvested
- Fixed for CraftBukkit-1.3.2-R1.0
- Fixed an item duplication bug.
- Updated for CraftBukkit 1.3.1-R2.0
- Added some support for the new blocks in Minecraft 1.3.1, for example the drill can now dig up emerald ore.
- Fixed Fabricator automatic crafting, shaped recipes were flipped diagonally in 1.3.1, causing many recipes to not work.
- Fixed an item duplication bug
- Bonemeal is now used on wheat before harvesting rather than after planting. The benefit is that the planter can now harvest a mostly grown wheat field with only sparing use of bonemeal. The downside is that it takes two runs to harvest a field with no wheat in it.
- Now disables itself if it detects the Spout plugin. This prevents exceptions and server lag caused by giving a fake player to Spout's event handling.
- Planting nether warts now properly happens at rows with wood blocks, not fences. Harvesting still happens on both wood and fence rows.
Edit: Should work fine with CraftBukkit 1.2.5-R4.0Version 4.1.0
- Can now be configured whether or not to use fuel and/or hoe durability. To see the new config options, move aside your old config file to generate a new one.
- Will now use bonemeal on planted seeds if available.
- Will now check for a rotation sign straight in front of the head in addition to ground level.
- Can now be configured to use a pickaxe for breaking blocks. To see the new config option, move aside your old config file to generate a new one.
- Can now be configured to use a pickaxe for removing blocks when building a road. To see the new config option, move aside your old config file to generate a new one.
- A lone furnace is once again a valid endpoint for a pipeline.
- Improved distribution of fuel and smeltables between furnaces in an extended furnace relay.
- Brewing Relay can now automatically fill glass bottles with water if a water bucket is present in the sender.
- Chest and Dispenser endpoints for pipelines:
- Now have support for mass storage. Any chests/dispensers in the column above and below the end point will also be used for storage.
- Fixed a bug with the machinaplanter.all permission, it should now correctly grant harvest permission.
- Glass block is now usable as a skip row block.
- Melon harvesting now harvests 3-7 melon slices instead of 3-7 melons.
- New hoverpad.all permission for plugins that refuse to accept permissions without a dot in them.
- Fixed a bug with a splitter behind another item splitter not distributing evenly.
New machina: MachinaPlanter!
- Tills dirt and grass to farmland
- Plants seeds for wheat, pumpkin, melons
- Can plant nether warts in soul sand
- Can harvest wheat, pumpkin, melons or fully grown nether warts (configurable)
- Uses a farming tool for durability
- Support for semi-automatic brewing! A brewing relay can now be made like a normal item relay, but instead of a chest it has a pipeline block and a Brewing Stand on top of it.
- Can distinguish 3 tiers of potions:
- Water bottle
- Awkward potion
- Any other potion
- Gathers from the sender 3 same-tiered potions, and then adds an ingredient for brewing. Caveats:
- Can only receive from chest or dispenser relay.
- Can keep alive the sender while brewing
- Brewing process is too slow to keep alive another factory component, so it only works when connected directly to a chest or dispenser. Semi-automatic brewing chains are possible if the destination chest is part of an item relay and activated by the player or by redstone.
- Selects first ingredient found to add to the brewing stand, does not take into account the potion contents.
- Further increased the keep-alive time for all components, to keep the furnace relay from deactivating too soon in some circumstances
- Furnace Relay is now extensible to up to 8 furnaces (technically 9 but then you can't get a pipeline to it :) )
- A furnace by itself is no longer a valid endpoint, so pipeline blocks can go past them without a problem.
- Events generated by MachinaCraft no longer pass null items. May fix problems with the event handlers of other plugins that don't handle null items properly.
- The road builder can no longer dig up and replace obsidian blocks.
- Now has a configurable depth limit. At Y values below the limit, the drill can't be activated. For example, set depth-limit in the plugin's config.yml to 20 to prevent players from mining at the diamond level with a drill.
- Can now be built with either an iron or a diamond headpiece. Diamond headpiece drills 20% faster and can break obsidian.
- An iron drill can no longer break obsidian blocks.
New type of builder: Bridge Builder
- Builds a bridge with a maximum depth of 3 blocks.
- Builds with a pattern you specify in the back chest. (up to 3x3)
- Uses a moving builder head to build!
- Moving machina: Fixed a bug with collision detection after rotating through a sign or with a stick.
- MachinaRedstoneBridge: Fixed a bug where the plugin would not work with undeclared permissions (worldguard region bypass for a particular world)
New support plugin: MachinaRedstoneBridge
- Allows a machina's lever to be activated by a redstone repeater on top of a brick block. MachinaFactory:
- Slightly increased keep-alive time for all components, hopefully resolves a bug where a furnace relay could stop working despite having fuel and smeltable items.
Works with CraftBukkit 1.2.5-R1.0
- The default bins used for block break times are now configurable. To generate a new default config with the additional options, move your existing configuration out of the way and merge your config with the new file.
- New machina: Item Splitter
- Can sort, filter or distribute items.
- Blocks used for the core block of components and the pipelines are now configurable.
- MachinaFactory machina will no longer break the user's own LWC protections on chests used with them.
- Fixed an item dupe bug that could occur under certain circumstances.
- Added a convenience file permissions.yml, to be used in bukkit's permissions.yml. It defines a 'machinacraft' permission that allows the server owner to control all machinacraft plugins with a single permission.
- Can also be used to allow all players access to machinacraft on a server without a permissions plugin.
Requires CraftBukkit 1.2.4-R0.1
- Drill, Builder and Pump now have a configurable limit to the number of active instances for a player.
- HoverPad construction materials are now configurable.
- Furnace can now receive fuel and smeltable items from a Chest or Dispenser relay.
- New types of Item Relay:
- Dispenser - Sucks in nearby items when active, sends results onward.
- Furnace - Like sending to a furnace, but also sends smelted results onward.
- Wooden planks now retain their color when used in a machina.
- Fixed a bug with blockplace event generation.
- On a server with mcMMO, blocks placed by a builder will no longer give XP or double drops.
- Marked blockbreak and blockplace events from machina as artificial for the benefit of other plugins.
- Partial fix: New way of generating and handling events that shouldn't actually be logged. (for example, a moving drill / builder checking if they can move) Should play a bit nicer with LogBlock as they are cancelled at the last possible moment before monitoring plugins get a look.
- A Fabricator that feeds items back into the chest of the item relay supplying it no longer causes the crafting result to disappear.
- A Fabricator that fails to send items into a full chest or item relay no longer drains crafting materials from its source.
- Moving machina (Builder and Drill) now go through snowfall and long grass.
- Added sign support for the drill
- New machina: HoverPad!
- New BETA project: MachinaFactory! MachinaFactory allows machina to send objects to other machina through a pipeline of blocks.
- The Item Relay sends items from its chest through a pipeline. If an Item Relay receives an item, it will start sending items as well.
- Chests and Dispensers can receive items.
- The Fabricator will try to craft the recipe in its chest from the inventory of a sending Item Relay and send the result onward through a pipeline.
- Fixed a bug with a drill or builder running by a separate chest. If the two chests touched and became a double chest, an error was thrown and the inventories of both chests would be cleared on the next move.
- Fixed a bug causing the vertical drill and the pump to not work and give console errors.
- All machina plugins now configurable. See each plugin's configuration file for details. A default configuration file will be created if it doesn't exist yet.
Update: Works with CraftBukkit 1.1-R4Version 2.0.3
- Drills and Builders now check whether their chests/furnaces are allowed to be accessed/broken by their player before hijacking them!
Update: Works fine with CraftBukkit 1.1-R1Version 2.0.2
- Fixed a NullPointerException that could occur when Bukkit can't determine what block a lever is attached to due to an incorrect data value.
- Fixed a ConcurrentModificationException that could occur when a chunk unload triggered deactivation of a machina.
- New versioning: Major.Minor.Bugfix
- Now has a vertical model for drilling straight down.
- Now responds to signs with <- or "left", -> or "right"
- Fixed a bug where attachables (levers etc) in a moving machina would drop as entities under certain circumstances.
- Added configuration for fuel burn times and block properties.
- Fixed a bug where the builder would stop building if some (but not all) of its heads were above a deep empty space.
- Builder will now place blocks in water, or crush long grass.
- Builder will now lay rails behind it if there are any in the chest.
- Extended version of the builder is now available that can also make roads.
- MachinaCraft.jar is now MachinaCore.jar - be sure to delete the old MachinaCraft.jar
- New permission nodes ".all" added that function the same way as ".*"
- Pump can now drain or fill lava when used with iron blocks and lava bucket. A separate permission controls whether draining or using lava is allowed.
- Now gives an error message when a player does not have permission for a drill, builder or pump.
- Now deactivates a machina if the chunk it occupies or any neighboring chunk is unloaded. This fixes a race condition that could generate an exception when a player disconnects with a machina still running.
- Fixed a rare case where rotating a drill or builder would only rotate to the west direction.
- (experimental) The way a Machina simulates block place events when it wants to move now accounts for block logging plugins that want to do a rollback.
- Drill now requires a chest to put its drops into, no longer drops lots of items. This avoids server lag when several drills were used at the same time but the drops were not being collected.
- Updated for Minecraft 1.0
- Blaze rods work as fuel.
- Added sugar cane and paper as fuel sources, same burn time as a sapling.
- MachinaCraft: Rework to allow Machina to have optional modules.
- New plugin: MachinaBuilder.
- All plugins included in a single zip now.
- Now checks permissions for activation or deactivation
- Deactivates if the activating player is not online.
- Simulates block place and block break events on behalf of the activating player so region protection plugins can prevent damage.
- Initial beta release
|File Name||Release Type||Game Version||Downloads||Date|
|MachinaCraft v4.1.13||Release||CB 1.5.1-R0.1||15,873||04/04/2013|
|MachinaCraft v4.1.11||Release||CB 1.4.7-R0.1||8,818||01/19/2013|
|MachinaCraft v4.1.10||Release||CB 1.4.6-R0.1||3,811||12/29/2012|
|MachinaCraft v4.1.9||Release||CB 1.4.5-R0.2||5,513||11/12/2012|
|MachinaCraft v4.1.8||Release||CB 1.4.2-R0.2||640||11/11/2012|
|MachinaCraft v4.1.7||Release||CB 1.4.2-R0.2||1,059||11/04/2012|
|MachinaCraft v4.1.6||Release||CB 1.3.2-R1.0||3,253||09/29/2012|
|MachinaCraft v4.1.5||Release||CB 1.3.1-R2.0||2,594||08/23/2012|
|MachinaCraft v4.1.4||Release||CB 1.3.1-R1.0||1,212||08/11/2012|
|MachinaCraft v4.1.3||Release||CB 1.2.5-R4.0||1,359||07/27/2012|
|MachinaCraft v4.1.2||Release||CB 1.2.5-R4.0||1,733||07/08/2012|
|MachinaCraft v4.1.1||Release||CB 1.2.5-R4.0||4,356||06/06/2012|
|MachinaCraft v4.1.0||Release||CB 1.2.5-R3.0||1,469||05/26/2012|
|MachinaCraft v4.0.1||Release||CB 1.2.5-R2.0||1,142||05/19/2012|
|MachinaCraft v4.0.0||Release||CB 1.2.5-R1.2||1,402||05/08/2012|
|MachinaCraft v3.3.3||Release||CB 1.2.5-R1.2||1,146||04/30/2012|
|MachinaCraft v3.3.2||Release||CB 1.2.5-R1.0||1,775||04/16/2012|
|MachinaCraft v3.3.1||Release||CB 1.2.5-R1.0||904||04/14/2012|
|MachinaCraft v3.3.0||Release||CB 1.2.5-R1.0||6,646||04/07/2012|
|MachinaCraft v3.2.1||Release||CB 1.2.5-R1.0||515||04/05/2012|
|MachinaCraft v3.2.0||Release||CB 1.2.4-R1.0||986||04/01/2012|
|MachinaCraft v3.1.2||Release||CB 1.2.4-R1.0||862||03/28/2012|
|MachinaCraft v3.1.0||Release||CB 1.2.3-R0.2||798||03/25/2012|
|MachinaCraft v3.0.2||Release||CB 1.2.3-R0.2||433||03/22/2012|
|MachinaCraft v3.0.1||Release||CB 1.2.3-R0.2||143||03/22/2012|
|MachinaCraft v3.0.0||Release||CB 1.2.3-R0.2||446||03/17/2012|
|MachinaCraft v2.1.1||Release||CB 1.1-R6||585||03/08/2012|
|MachinaCraft v2.1.0||Release||CB 1.1-R4||2,618||02/04/2012|
|MachinaCraft v2.0.3||Release||CB 1.1-R1||1,669||01/21/2012|
|MachinaCraft v2.0.2||Release||CB 1.0.1-R1||479||01/17/2012|
|MachinaCraft v2.0.1||Release||CB 1.0.1-R1||487||01/11/2012|
|MachinaCraft v2.0||Release||CB 1.0.1-R1||370||01/08/2012|
|MachinaCraft v1.9||Release||CB 1.0.1-R1||577||01/06/2012|
|MachinaCraft v1.8||Release||CB 1.0.1-R1||619||01/01/2012|
|MachinaCraft v1.7||Release||CB 1.0.1-R1||394||12/26/2011|
|MachinaCraft v1.6||Release||CB 1.0.1-R1||212||12/18/2011|
|MachinaCraft v1.5||Release||CB 1.0.1-R1||173||12/16/2011|
|MachinaCraft v1.4||Beta||CB 1.0.1-R1||205||12/13/2011|
|MachinaCraft v1.3||Beta||CB 1.0.1-R1||99||12/09/2011|
|MachinaCraft v1.2||Beta||CB 1337||189||11/12/2011|
- World Editing and Management and Admin Tools
- 185,061 Monthly Downloads
- Soartex Fanver
- Mod Support, Animated, Traditional, Modern, and 64x
- 181,472 Monthly Downloads
- Developer Tools and Admin Tools
- 164,374 Monthly Downloads
- Admin Tools, Anti-Griefing Tools, Informational, Teleportation, and World Editing and Management
- 155,195 Monthly Downloads
- Tinkers Construct
- Mobs, Processing, Technology, and Armor, Tools, and Weapons
- 134,388 Monthly Downloads