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.
@sexysteve865
Could you please have a look at the included README and permissions.yml?
You can use permissions.yml to easily control access to all machina plugins with one permission node: machinacraft
The permissions nodes arnt working can you please post the correct permissions nodes I can give my groups for creation and use of each machina plugin, I am using gm.
@danielboyz
Answered here. :)
What is the name of the fake player from machinaredstonebridge? I want the machines to be possible in certain regions.
@Antalor
I. Yes, the maximum amount of pipe (wood) blocks that will be searched is 300. Pipe blocks that are searched but not used for the final pipe count towards this limit. Non-pipe (non-wood) blocks do not count towards it.
II. and III. No, blocks in inactive chunks are air as far as a plugin is concerned. So pipelines and relays can't work through or in them. If players in the area are keeping enough chunks loaded, long pipelines can work though.
I have a few questions about the factory! (sorry if it has been asked befor, but I'm busy with server administration - damn updates .)
I. Is there a maximum length for pipelines?
II. Do the pipelines still work if they go trough inactive chunks?
III. Do relays work in inactive chunks?
@Lyneira
Yeah you can make like 6 "core" machine (6 item relays connected to double chest) which will be amazingly fast transferring items!
You can also make system loop with splitters so the machines will work forever!
Will make video tomorrow.
@ToddVee
You could double the speed by making two Item Relays right next to each other, hooking them both up to the same destination pipe and letting them feed off a double chest.
For now though, I wasn't planning on making the send amount configurable as it further complicates an already complex project.
hi,
is it possible to customize the speed or amount that is being transportet in a pipeline? I think it could be a bit more/faster.
best
@Lyneira
After thinking about it, I imported using git in eclipse instead, been a while since i've worked with java where i needed to import other work, let alone program in it. Thanks. =)
@Lyneira
12:07:32 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.4-R1.0 -b2126jnks (MC: 1.2.4) (Implementing API version 1.2.4-R1.0)
@rgreene
I think you have to import the MachinaCraft root folder as a generic Project, then import the subfolders MachinaCore and whichever other plugins you want as Java Projects. And make sure you add the MachinaCore project to the build path of the other plugins you import. :)
trying to work with pulling your plugin from your git repository and import it into eclipse for some practice, but eclipse doesn't recognize any part of the unzipped contents from your git repository as a project. Any help would be greatly appreciated. Thanks.
@only1man1
I really don't know what to tell you, I can't reproduce the bug with the latest CraftBukkit RB and MachinaCraft version. :(
What is the output of your server at the following line when you start it? <code> [INFO] This server is running CraftBukkit version ... </code>
@Lyneira
it sthill doesent work :/ (sometimes i cant pick up items too <idk if it is from that plugin>) btw. i REALY like this plugin best one i´ve ever seen. and i dont want to get rid of it :( newest ver. of bukkit and maschina. and i redid the permisions for it and i cant get it to work. Thank you for helping me.
@andyvorld
mee too :(
@only1man1
Please make sure you have tried with the latest MachinaCraft and the latest CraftBukkit
it is sthill not working for default ... only for me (owner with " * " and the OP s ) i dont know why... i am using "Group manager"
CONSOLE: ([world] -263.6875, 64.0, 529.0) 18:18:31 [SEVERE] Could not pass event PlayerInteractEvent to MachinaCore org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:459) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEven t(CraftEventFactory.java:179) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.j ava:273) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:724) at net.minecraft.server.Packet15Place.handle(SourceFile:39) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:117) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:7 8) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NoSuchMethodError: org.bukkit.event.block.BlockBreakEvent.< init>(Lorg/bukkit/block/Block;Lorg/bukkit/entity/Player;)V at me.lyneira.MachinaCore.ArtificialBlockBreakEvent.<init>(ArtificialBlo ckBreakEvent.java:16) at me.lyneira.MachinaCore.EventSimulator.blockBreakPretend(EventSimulato r.java:132) at me.lyneira.MachinaCore.EventSimulator.inventoryProtected(EventSimulat or.java:180) at me.lyneira.MachinaDrill.Blueprint.detect(Blueprint.java:174) at me.lyneira.MachinaCore.MachinaCore.onLever(MachinaCore.java:70) at me.lyneira.MachinaCore.MachinaCoreListener.playerInteract(MachinaCore Listener.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:301) ... 12 more
groups:
new:
default: true
permissions:
- machinabuilder.activate
- machinabuilder.deactivate-own
- machinadrill.activate
- machinadrill.deactivate-own
- machinadrill.deactivate-all
- machinapump.activate
- machinapump.deactivate-all
- hoverpad
- nocheat.checks.blockbreack.noswing
- nocheat.checks.blockbreak.direction
- nocheat.checks.blockbreak.reach
- nocheat.checks.blockplace.direction
- nocheat.checks.blockplace.reach
- machinafactory.itemrelay
- machinafactory.fabricator
@Pownage010
I've just tested MachinaCraft 3.1.2 with the latest recommended CraftBukkit and all the machina were working for me. Are you using NoCheat? It's known to block MachinaCraft from working.
Hi i just installed your mod it works very very well but bukkit just updated to #2126 so i installed and the mod stopped working so i though ill just downgrade to make it work but when i did that the mod wont work at all now. please if possible help.