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'm having trouble with installing the permissions. I use PermissionsEX, so do I still need the included permissions.yml? Because I've tried hoverpad.all, hoverpad.* and machinacraft.hoverpad.* and they don't work.
Is it possible to make Drills not count towards the overall mining level in Mcmmo?
@Lyneira
Ok voted
@Savanni
Vote for this issue, that would make it possible for OpenInv to distinguish between natural open inventory events and the artificial one MachinaCraft generates. :)
@Lyneira Ok I found the trouble its openinv its causing the trouble anyway to fix?
@Savanni
Ehm... Opens the chest? As in it shows you the chest's inventory? That doesn't sound like standard bukkit behaviour.
Could you try starting with a server with no other plugins and add your other plugins back one by one to see which one does it?
Ok not sure what I am doing wrong the hover pad works and the water fill and drain but the drill and builder when I rightclick the lever it open the chest. what am I doing wrong?
@DiscoBiscuit06
Glad to hear you're enjoying the plugin and that it works in conjunction with other plugins! :)
The factory works really well with piston block crusher to make super efficient cobble generators, which can be turned into whatever.
I imagine to build a huge factory using FalseBook, LWC, DwarfForges and MachinaCraft. I'll use the FalseBook trains and LWCs droptransfer-mode to collect anything in a single chest connected to a relay and have everything sorted automatically. Things that need to be smelted will be send to a DwarfForge and then sorted out to the storage or further processed by Fabricators afterwards.
I'm really curious if it works. But if it does, it will be something really amazing, I guess. :D
@graveXrobber
If the machine is built correctly and you're not getting a permission error, then another plugin is blocking the drill from running. Please make sure the player has permission to build/break in the area, and if NoCheat is used on the server, please see MachinaCraft and other plugins.
@Lyneira
No nothing happens at all it just wont activate.
@batlham
Hey there,
Glad you're liking the plugin :)
Re farming: Automatic harvesting's already possible using water channels and a dispenser relay, so I wouldn't want to replace that. For planting I'm envisioning some kind of machine that can plant seeds down in rows as it moves along some kind of rails above it. :)
Re bigger drill: I wouldn't mind making this configurable, but it would take a major rework to change the drill size or pattern based on how the machine was built. So can't make any promises on this.
Re MachinaFactory: You can kind of do this already if you chain Item Relays with one double chest each. Any items sent to the first will start filling up the last chest, then second-to-last, etc.
Re crazy idea: MachinaTractors! I'm not really sure what else to say here :)
I just wanted you to know I LOVE this plugin. It has so many possibilities of future machines. I am having more fun with it than buildcraft (Which is a insane monster with smp)
I had ideas while playing with it... Not ticket worthy.. Just fun ideas.
It would be nice to have a farming unit. Put seeds in and it tills and plants. Might be able to put water every 3 places. Even saplings would be helpful :)
A bigger digger with bigger chest(s) would be nice :) The digger really helped build the basement for my Fortress of Sillytude :) However, it still took forever :) A digger with multiple heads so tunnels could be dug out in other shapes besides square.
With MachinaFactory, it would be nice if it would fill up multiple storage chests connected to the pipe. (This one I almost wrote a ticket for. It is needed.) Likewise, a device that works the opposite of the Item Relay would be cool. Has a small chest as the filter. Power it and it searches connecting chests and pulls the items into its storage chest.
On the crazy side...(may not be possible) It would be fun to drive the machines like tractors. Sit down on it and then move with keys. Someone made a sitting mod that might help with that if you ever get maniac caffeine high and go on a coding spree. :) http://forums.bukkit.org/threads/misc-chaircraft-v1-2-7-seats-in-minecraft-1-1-r4.17312/page-3
Keep up the GREAT work!!! :)
@xBladeM6x
If you move aside your existing config file for MachinaDrill, it will generate a new one with the new option in it. Alternatively, add the following to your MachinaDrill config.yml:
@ToddVee
Sadly there's still no standard way for a plugin to mark an event it creates as coming from a plugin. But I did make a change that makes it possible through reflection, if a plugin really wants to check it.
For it to work, NoCheat should check whether the events have class names: ArtificialBlockPlaceEvent and ArtificialBlockBreakEvent. It should ignore those events.
@Lyneira
as you've noticed because of my numerous requests and comments, I (and the whole server) became addicted to your plugin, as it opens the way to so many ideas/mills/ and I even managed to get another plugin to control your devices (signshop, as you know). I must, however, say that some cheats have been revealed, people were able to use cheats as fly hack, xray and they have been able to give themselves items trough toomanyitems. All because your plugin needs noCheats to be partly disabled. Thats really sad, but I hope you find a way to make both plugins work together (there isn't one?).
How do you change the depth limit someone can activate drills?
@acer2020
The player who activates the drill needs to have permission:
Does a moderator get any message when they try to activate a drill?
If all else fails, please try on a server with only machinacraft and groupmanager and no other plugins and give steps to repeat the problem.
by the way I use essentials group manager too and it does not work for me this is what my group permissions says:
groups: Default: default: true permissions: - -bukkit.command.kill inheritance: - g:essentials_default - g:bukkit_default info: prefix: '&e' build: false suffix: '&e_The_Guest' Builder: default: false permissions: - CommandBin.home - CommandBin.sethome - CommandBin.spawn - lwc.protect - CommandBin.ask - CommandBin.accept inheritance: - default - g:essentials_builder - g:towny_builder info: prefix: '&2' build: true suffix: '&2_The_Member' Moderator: default: false permissions: - lwc.mod - CommandBin.mhome - CommandBin.msethome inheritance: - builder - g:essentials_moderator - g:bukkit_moderator - g:towny_moderator info: prefix: '&5' build: true suffix: '&5_The_Moderator' Admin: default: false permissions: - machinadrill.all - machinabuilder.all - machinapump.all - machinafactory.all - '*' - lwc.admin inheritance: - moderator - g:essentials_admin - g:bukkit_admin - g:towny_admin info: prefix: '&c' build: true suffix: '&c_The_Admin' Owner: default: false permissions: - machinadrill.all - machinabuilder.all - machinapump.all - machinafactory.all - '*' - lwc.admin inheritance: - Admin info: prefix: '&c' build: true suffix: '&c_The_Owner'
@UniqueCraft
Last time I tested MachinaCraft with Groupmanager everything worked fine. Can you post the permissions configuration you're using?