[MECH/DEV] MachinaCraft v4.1.11 - A framework for lever-activated devices [1.4.7-R0.1]

Discussion in 'Archived: Plugin Releases' started by Lyneira, Nov 6, 2011.

  1. Offline



    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

    Pictures! And where do I get a Machina plugin?

    These are the Machina plugins available right now, included in the download:
    I am looking for help in improving the framework! If you think you can help make it easier to use, more powerful, more efficient, I would like to hear from you via email or PM!
  2. Offline


    Hmm, for some reason, it just sounds like it should be as easy as placing like, a builder underneath the drill so as it drills forward, the builder underneath builds. but what do i know, i dont code xD

    in any case, good luck =D i cant wait to see where this plugin goes!
  3. Offline


    for group manager what are the permissions to add for these ones:
  4. Offline


    The permissions are the same as for other permission plugins, you can find them on the pages for each individual machina. (click the permissions link on the right of each page)

    Alternatively you can put permissions.yml from the plugin zip into your server folder. That will give all players access. For more control, open permissions.yml, set the default to op and give your allowed players the machinacraft permission.
  5. Offline


    ok do u just put /manuaddp wbcmac2000 machinacraft

    with group manager

    plz tell me i need 2 know

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 21, 2016
  6. Offline


    You know what you should really do? An ownership system.
    So if you activate the lever, the device actually becomes yours and non-griefable, so nobody could steal it or destroy.
    It would be very cool, especially for fair-play servers.
    The permission nodes can also be added so you can enable this only if you want it to be so.

    Is it doable? That would be awesome!
  7. Offline


    Doable? I suppose so, though I have my doubts about the CPU usage of this feature. More importantly the protection would only last while a machina is active. A player with malicious intent could sabotage the environment so his target machina deactivates and still disassemble it.
  8. Offline


    A small tweak to the planter and a bugfix for RedstoneBridge, here's MachinaCraft v4.1.2:

    • 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.
  9. Offline


    I think you should change the pipes from wood to glass blocks!

    I think you should also add some kind of block breaker that will pump the blocks it breaks into a chest or something!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 21, 2016
  10. Offline


    You can do that in the config file for MachinaFactory, just change the id for pipeline-material to that of glass. (20) :)

    I'm guessing you're referring to the quarry from Buildcraft, they're amazing machines but I'm afraid it's a little bit over the top for what I'm aiming at with this plugin. Since MachinaCraft is pluggable, it's very possible for someone to write a Machina plugin that does this though. I'm happy to give hints or advice to someone writing a machina plugin. :)
  11. Offline


    Is this plugin updated for 1.3? And also I was wondering if you could farm cocoa beans with the machinaplanter :) if it is possible
  12. Offline


    MachinaCraft v4.1.4 for CraftBukkit 1.3.1-R1.0 is out. :)
    • 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.

    inventorman101: No support for growing cocoa plants I'm afraid, although for auto collection you could do something creative with sticky pistons pushing the jungle logs and a dispenser relay to pick up the dropped items :)
  13. Offline


    Great plugin, I like it!

    One question to the MachinaFactory. Is it possible to use redstonewire as a replacement of a lever? I buid a very large sorting station for materials and now I had to run to all the "pump stations".

    I think that the funktion I like to have is just implented.

    2012-08-12 08:30:24 [WARNING] MachinaRedstoneBridge version 4.1.2 can not run on Spout servers!
    2012-08-12 08:30:24 [INFO] [MachinaRedstoneBridge] Disabling MachinaRedstoneBridge v4.1.2
    2012-08-12 08:30:24 [INFO] MachinaRedstoneBridge is now disabled.

    But the RedStoneBridge is not running on my server. Any clue?
  14. Offline


    Hey there,

    Unfortunately Spout and RedstoneBridge are fundamentally incompatible. RedstoneBridge has to fake a player to allow it to activate a machina, and although regular Bukkit plugins are fine with this, Spout's event processing cannot handle anything but real CraftBukkit players.

    I've tried to resolve this with the Spout developers but we could see no resolution that didn't render the RedstoneBridge useless.
  15. Offline


    MachinaCraft v4.1.5 is out. :)

    • Fixed an item duplication bug
    • Updated for CraftBukkit 1.3.1-R2.0
  16. Offline



    When I use the levers, it just comes up "You do not have permissions to activate a planter". Whats the nodes for this?

    View attachment 11164

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 21, 2016
  17. Offline


    Thanks a lot Lyneira for these amazing plugins. They make a bukkit server as useful and automation featured as a server with buildcraft mod installed but without the need for any modification in the client. It is absolutely awesome. I just see a little (but i think it could be a new feature easy to make) disadvantage of your plugins compared to buildcraft. I can't automate wood production. I've tried really hard but i can't. I tried several things. Machinaplant can't plant saplings, neither machinabuilder. I don't understand why macchinabuilder can place rails but can't place tree saplings. I even tried combinations with other plugins like tree-assist ( http://dev.bukkit.org/server-mods/tree-assist/ ) because with this mods the trees replant automatically a sapling after a player chops it. It doesn't work because neither chopping the tree with machinadrill or pushing the wood with pistons the sapling is replanted.
    I suggest it would be a great feature for your plugins the ability to plant tree saplings. Perhaps allowing machinabuilder to do it or perhaps with machinaplanter or perhaps with some sort of modification in dispensers from machinafactory item-relay. However you want but I beg you this feature, please.
  18. Offline


    Hey there,

    I'm glad you enjoy the plugins, but I'm afraid I have to disappoint you on an automated tree farm plugin. At the moment I'm working on a rewrite of MachinaCraft to overcome some limitations of the original project. It's taking all the spare development time I have, so I haven't got any time to work on new features for the current MachinaCraft project.

    MachinaCraft supports third party plugins though, so if you know someone who can write Bukkit plugins (or is willing to learn), I'd be happy to give some pointers to get them started. :)
  19. Offline


    Ohh sorry Lyneira I wish I could help you but i can't, i don't have any knowledge about computer programming and I think is too late to me to learn. Anyway I’m not talking about making a new "tree farm plugin". The automation of trees only needs 1 simple thing, the ability to plant tree sapling. It would be so difficult to you to add the ability of place tree saplings to the machinabuilder for example? As I said if the machinabuilder can place rails I don't see a reason why can't place tree saplings. Please, consider that.
  20. Offline


    I could make it plant saplings behind itself every time it moves forward, but that seems kind of weird for a builder to do, and I'm not sure how useful that would be, aside from covering the land with trees.

    MachinaCraft v4.1.6 is uploaded, you can get it here when it gets through approval.

    • 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
  21. Offline


    Well, is actually the easiest way I see to automate the wood production. Thanks to your plugins I’m being able to automate 100% the production of almost every resource (I’m making videos of it, I will show 1 soon) except wood. I could make a set of pistons move the wood logs and feed a static machinadrill then machinabuilder plant the trees again. I can fill easily the chest and furnace of machinabuilder because there is a 1 block wide version so I can put the exit of item relays next to the place where the machine stops.
    Also I was thinking to make the suggestion of a 1 block wide version of machinadrill. It would be the same but with only 1 block of wood under the block of gold. This would be useful but is not strictly necessary to automate wood production.
    I just was making a suggestion, perhaps is easier make it with machinaplanter or with a dispenser item relay, I don't know. As I said I don't have programming skills but I don't want to charge you with unnecessary work. I'm too grateful for your work.
    By the way, congratulations for the last release, great work fixing bugs.
  22. Offline


    MachinaCraft v4.1.7 is uploaded. :)
    • Updated for CraftBukkit 1.4.2-R0.2
    • 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.
  23. Offline


    So great - just got notice of your plugin and saw that it was last updated in may and thought it isn't supported anymore - even more happy that i found out it is. Can't wait to get my hands on it.
  24. Offline


    ok looks like there's a bigger problem with the actual version. i get lots of null pointer exceptions when using the machina planter.

    Let me know if i could be of any help with details.
  25. Offline


    This problem has been reported to me by others, although it hasn't shown up in my own planter testing, not sure why. The stack traces I've been getting were only NMS code, no bukkit code or code from my plugin. If you could get me a stacktrace that goes all the way to the Bukkit/Planter code that would help very much. :)
  26. Offline


  27. Offline


    Looks like there's even a bigger bug with carrots and potatoes - they produce a negative amount. Instead of harvesting 2 carrots or 4 potatoes per block it looks like it's even a bit less then 1 as carrots and potatoes in the chest getting less less each time i do harvesting :)

    so for the moment kinda useless for the both.
  28. Offline


    I've just uploaded MachinaCraft v4.1.8 which fixes the broken factory plugin. The breakage was caused by a subtle change in Bukkit's scheduler 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?

    Regarding the crashes in your world, perhaps my explanation in this ticket would help.
  29. Offline


    Thanks, I just updated - It doesn't fix the carrot/potatoe problem unfortunately.

    Additionally i found out that i can produce different types of server hangs and logouts if something doesn't work as expected. For example if the planter stops while it comes to a block where unfinished wheat grows it stops working and seems to be extremely sensible on the switch. When switching sometimes all mobs and everything hangs and the server crashes again.

    Regarding the issues i'll have a look at your link and see if that helps - will report back.
  30. Offline


    I haven't been able to get the planter to produce negative amounts of carrots/potatoes with the latest release, if you're still having the problem could you try it with a fresh craftbukkit server and no other plugins?
  31. Offline


    I can give that a try on a test server. with only machinacraft and machinaplanter enabled.

    I will try the redstone bridge with that, too cause that doesn't work either.

    Ok i did a quick test on a dev server with no other plugins activated, just: MachinaCore, MachinaPlanter, and MachinaRedStone_Bridge.

    Result is that potatoes still don't work and carrots do either. But it also looks like they're not decreasing in the amount but staying at a fixed number. I've put in two stacks of 64 in the chest and after a complete harvest there are 63, 64 and a single one. I have seen this constellation on both, potatoes and carrots and also on the other server.

    Also Bonemeal is get used but has simply no effect. there should be a bug here too.

    Good news is that redstone bridge seems to work now - i have to find out if it was my fault or if it collides with RedstoneMania or other plugins.

    Here are some screens of my setup and the chest while the second full harvest is running (numbers don't change anymore) https://www.dropbox.com/sh/nvllk65xox5098n/RiONa5NbBI

    EDIT: to be clear, i can watch the chest while harvesting and the numbers don't even change temporarly. They stay at the numbers on the screenshot: 63, 64 and 1. I would think there's a mistake on my side but if i change to wheat on the same machine everything works well (apart from bonemeal which doesn't have an effect here either but that was already reported by other users, too)

    just disabled some plugins on the main server and the redstone bridge now also seems to work there... no matter what, after switching the machines a few times i could reproduce a server crash again. The last line should be the most interesting:

    12.11 09:39:39 [Server] WARNING [MachinaCore] Task #303 for MachinaCore v4.1.8 generated an exception

    12.11 09:39:56 [Server] SEVERE This crash report has been saved to: /./crash-reports/crash-2012-11-12_09.39.56-server.txt
    12.11 09:39:56 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:428)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:495)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:215)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:566)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.WorldServer.tickEntities(WorldServer.java:439)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.World.tickEntities(World.java:1159)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.World.playerJoinedWorld(World.java:1260)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:526)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.World.entityJoinedWorld(World.java:1278)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityLiving.j_(EntityLiving.java:497)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityChicken.c(EntityChicken.java:39)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityAnimal.c(SourceFile:33)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityAgeable.c(EntityAgeable.java:36)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityLiving.c(EntityLiving.java:1206)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.EntityLiving.bi(EntityLiving.java:1404)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.PathfinderGoalSelector.a(PathfinderGoalSelector.java:51)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.PathfinderGoalRandomStroll.c(SourceFile:41)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Navigation.a(SourceFile:76)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Navigation.a(SourceFile:72)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.World.a(World.java:2418)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:36)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:60)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:89)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.b(SourceFile:120)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:133)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:181)
    12.11 09:39:56 [Server] INFO at net.minecraft.server.Pathfinder.a(SourceFile:201)
    12.11 09:39:56 [Server] INFO java.lang.NullPointerException
    12.11 09:39:56 [Server] SEVERE Encountered an unexpected exception NullPointerException
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:428)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:495)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:215)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:566)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.WorldServer.tickEntities(WorldServer.java:439)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.World.tickEntities(World.java:1159)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.World.playerJoinedWorld(World.java:1260)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:526)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.World.entityJoinedWorld(World.java:1278)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityLiving.j_(EntityLiving.java:497)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityChicken.c(EntityChicken.java:39)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityAnimal.c(SourceFile:33)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityAgeable.c(EntityAgeable.java:36)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityLiving.c(EntityLiving.java:1206)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.EntityLiving.bi(EntityLiving.java:1404)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.PathfinderGoalSelector.a(PathfinderGoalSelector.java:51)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.PathfinderGoalRandomStroll.c(SourceFile:41)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Navigation.a(SourceFile:76)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Navigation.a(SourceFile:72)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.World.a(World.java:2418)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:36)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:60)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:89)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.b(SourceFile:120)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:133)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:181)
    12.11 09:39:56 [Server] SEVERE at net.minecraft.server.Pathfinder.a(SourceFile:201)
    12.11 09:39:56 [Server] SEVERE java.lang.NullPointerException
    12.11 09:39:46 [Server] INFO / lost connection
    12.11 09:39:39 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:428)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:495)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:215)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:531)
    12.11 09:39:39 [Server] INFO at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
    12.11 09:39:39 [Server] INFO at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaCore.MachinaRunner.run(MachinaRunner.java:56)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaPlanter.Planter.heartBeat(Planter.java:82)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaPlanter.Planter$3.run(Planter.java:418)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaPlanter.Planter.access$1(Planter.java:102)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaPlanter.Planter.plant(Planter.java:152)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaPlanter.Planter.harvestCrops(Planter.java:259)
    12.11 09:39:39 [Server] INFO at me.lyneira.MachinaCore.BlockLocation.setTypeIdAndData(BlockLocation.java:169)
    12.11 09:39:39 [Server] INFO at org.bukkit.craftbukkit.block.CraftBlock.setTypeIdAndData(CraftBlock.java:107)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.World.setRawTypeIdAndData(World.java:252)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.World.setRawTypeIdAndData(World.java:263)
    12.11 09:39:39 [Server] INFO at net.minecraft.server.Chunk.a(Chunk.java:434)
    12.11 09:39:39 [Server] INFO java.lang.NullPointerException
    12.11 09:39:39 [Server] WARNING [MachinaCore] Task #303 for MachinaCore v4.1.8 generated an exception
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 21, 2016

Share This Page