[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

    Lyneira

    [​IMG]


    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:
    Collaboration
    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

    Mercury

    Update 1.6 is not important if everything is okey with 1.5 ?
     
  3. Offline

    Lyneira

    No functional changes in 1.6, just the addition of ".all" permission nodes if you want to avoid Groupmanager interpreting ".*" in its own way.
     
  4. Offline

    DeSahd

    Having trouble with the permissions. Some people can access and others cannot and they have identical permissions.

    One player has been set as normal player and as an OP and can't activate a drill, while we have identical players and OPs with identical permissions who can activate it. This has occured on 1.3 and 1.6 affecting the same player. On a different server we had the same type of issue but with a different player who now has access on the new server.

    Any ideas?
     
  5. Offline

    Lyneira

    I'm out of ideas I'm afraid. All my plugin does is player.hasPermission("machinadrill.activate"), and lets bukkit take care of the rest.

    Something in your permissions configuration might be doing something unexpected. Can you post the permissions configuration you're using and the permission plugin you're using?
     
  6. Offline

    Gunpowder

    Mod edit (NuclearW): Removed spam link
     
  7. Offline

    Hypra

    Hello there!

    Im Hyprafake on bukkit dev. You said me that the latest build of the mod just destroy grass and build in water, but it seem i have some issue with it.
    Here is some screenshots :

    [​IMG]

    [​IMG]
    In the first and second screenshot, the machine just stop moving while being in top of water/grass.
    [​IMG]
    Here, it seem the machine can go forward, but it just skip building phase when there is water!


    I'm using bukkit R1 and mahcina craft 1.6. Ill be off for few days, but ill be back after,
    See you soon!

    Hypra
     
  8. Offline

    Lyneira

    Sorry, I meant to say that an upcoming build would have this. I'm still working on a few things before I can release it :)
     
  9. Offline

    Lyneira

    Version 1.7 is out! New in this version:
    • Builder will now place blocks in water, 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.
     
  10. Offline

    NuclearW

    Moved to releases.
     
  11. Offline

    Domochevsky

    Mhm, this looks highly promising. :)

    What i'd like to see for this a pipe-like addon. Specifically i'm thinking that items can be moved through a long line of glass blocks from one chest to another (or to a machine, like a furnace), with a wood block with a lever on it (furnace attached as well to fuel the thing, to be the actual machine?) functioning as "sucktion" piece that gets items one by one out of the chests to their destination.

    Also, does the drill work downwards as well?
     
  12. Offline

    Hypra

    Hi Lyneira,
    I just came back, notice the 1.7 is released, try it...

    You did awesome work while i was in holidays, thanks a lot.
    Drill and builder works perfectly. I just had a strange crash 2 times when i right clicked the chest on the builder (using rails), but then, it stopped bugging, don't know why.

    Thank you again,
    See you around
    Hypra
     
  13. Offline

    Grasfer

    Thank you for this.

    Btw http://dev.bukkit.org/server-mods/machinacraft/ does not show 1.8, had to use the 1.8 link from the original post.

    Is it possible to add duration to the iron blocks? Would be kinda fun if you had to replace the iron block after a while, maybe a setting in a config file?
     
  14. Offline

    Lyneira

    Version 1.8 is out, this fixes a bug where the builder would stop building if some (but not all) of its heads were above a deep empty space.

    @Domochevsky, @Hypra:
    Glad you like the plugin, and thanks for your comments!

    @Domochevsky:
    Currently the drill doesn't work downwards, I've been meaning to make a downward version eventually though. It's on the todo- list. :) The pipe idea is interesting, but can you tell me a bit more about what tasks you want it to accomplish? Do you just want to move items across great distances (that's a lot of glass blocks), or do you want to do some kind of item processing?

    @Hypra:
    I might have noticed the bug you encountered while developing 1.7, when I looked in the rear chest of an extended builder while it was running, it caused my client to disconnect and generated an exception somewhere deep in bukkit's network packet code. I might have stumbled onto a bug in bukkit when modifying an inventory that a player is also looking at, but I can't reproduce it reliably.

    After a file has been uploaded to BukkitDev, it doesn't immediately show up in the files list because it still needs approval by the staff. When I update I include a link in both this thread and the main page on BukkitDev though.

    The plugin doesn't save any data to a persistent file, it only uses what exists in the world each time the machine activates or ticks. When the machine is deactivated for any reason, it completely disappears, including any state information. That's because a player can always break the blocks and pick them up, and use them for something else. It's still possible to make the drill eat iron bars to work, but it would eat at least 1 iron bar each time it's activated.

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

    Grasfer

    ouch, 1 iron bar per tick is a bit hefty, i guess no duration is fine then :)
     
  16. Offline

    Lyneira

    Not per tick, but per time a machine goes into the on state. I can make 1 iron bar last as long as the drill stays on (furnace burning, blocks breaking, moving forward). But once it goes off, the machine disappears from memory and only the blocks remain. So when you activate it again, it would need to consume another iron bar.

    Edit: Fuel consumption works the same way, except the energy from the consumed fuel is put into an internal pool that gets exhausted before another piece of fuel is taken. If the machine is turned off, it disappears with any energy left in the internal pool. That's why turning the machine on and off a lot of times with the lever would result in rapidly eating the fuel in the furnace. There's always a minimum use of 1 fuel.

    If this idea came from the sentiment that the drill doesn't cost enough to use right now, making the fuel values and consumption rate configurable is something I want to add eventually.
     
  17. Offline

    Grasfer

    Hi again, love these machines, made a tunnel with them :)

    Would it be possible to add machines that can go on the ceiling and on the walls etc? Prefered the extended machine that replace blocks.
     
  18. Offline

    St3vYb0y

    Hi Lyneira,

    does the drill only destroy certain blocks? I have installed RedPower2 via ModloaderMP and it won't destroy the new blocks like tin and copper. Could you possibly add a config where we can add destroyable blocks by their ID?
     
  19. Offline

    Domochevsky

    Lyneira, i'm thinking of varying appliances:

    - having a chest full of coal that moves said coal into a furnace at a steady rate, to keep it powered as needed (and stops moving of the furnace is full. Or just transports the coal back into the chest. That might cause items to fall out of the pipe and vanish, though, if no one is in the chunk)

    - move dug up items from the (stationary?) drill's chest to a different set of chests, possibly even with a sorting mechanism of sorts (Maybe put example items into a attached chest for the Sorting Machine to determine through what pipe they go. First row -> pipe 1, second row -> pipe 2, etc)

    - move block items (ie cobblestone) to the end of the pipe, where it gets placed as a regular block (and can be further handled with pistons). This will need some additional thought as to what to do with blocks that can't be placed (either by a block being in the way (like a piston head/cobblestone) or by the item not being a placeable block in the first place) and whether or not to make this a specific pipe outlet for block placing or to have regular pipes behave like this by default.

    And yes, that would be a lot of glass. I have a lot of glass (and sand). :)
     
  20. Offline

    Lyneira

    Thanks for your comment. The list of blocks that can be destroyed (and their drops) are hardcoded right now, anything else is treated as "don't know, don't touch." *adds configuration for block data to the todo list*
     
  21. Offline

    St3vYb0y

    Thank you!
     
  22. Offline

    AFakeman

    lava filler is cheat. You can get unlimited lava easily this way.
     
  23. Offline

    Lyneira

    That's why it's a separate permission not included in machinapump.all or machinapump.*. Defaults to ops, who have unlimited lava anyway.

    If that's still not enough, you can always define the permission false explicitly.
     
  24. Offline

    Rkikkas9713

    You should really add another version of the drill that can dig down. like make it 9 wood blocks(square) the iron at the bottom, gold at middle, and then lever on top of the wooden planks next to the furnace and chests
     
    rooski likes this.
  25. Offline

    5phinX

    Hi. I'm really impressed by your work and by an idea of it in common. I'm interested in creating some machina but I've got stuck in the code. Can you write a little quick tutorial on how to use your framework please? I just need to get into it and then I can continue on myself, just need to understand a code. Maybe then I can help you in development if you want to.
     
  26. Offline

    Lyneira

    Version 1.9 is out!
    • 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. (St3vYb0y, you can make the new blocks destructible with this.)
     
  27. Offline

    campermangreg

    amazing your a god thank you so much Diamond for you [diamond][diamond][diamond][diamond][diamond]
     
  28. Offline

    PrinceMcGiggle

    If I wanted to put this on my server would all players have to download and install this to join the server?
     
  29. Offline

    5phinX

    No, they wouldn't. This is a server plugin and doesn't have any client interface which would require to install client mod.
     
  30. Offline

    Nori_Silverrage

    Awesome mod! Thanks for sharing/making it!
     
  31. Offline

    5phinX

    Hi guys. I've modified Lyneira's Drill to make a version that can dig down as some of you wanted. Here it is, just unpack it to the plugins folder as any other plugin. Permission nodes are here:
    permissions:
    machinaverticaldrill.*:
    children:
    machinaverticaldrill.all: true
    machinaverticaldrill.all:
    description: Gives full access to using a drill, including deactivating another player's drill.
    children:
    machinaverticaldrill.activate: true
    machinaverticaldrill.deactivate-own: true
    machinaverticaldrill.deactivate-all: true
    machinaverticaldrill.activate:
    description: Allows activating a drill.
    default: op
    machinaverticaldrill.deactivate-own:
    description: Allows deactivating the player's own drill.
    default: op
    machinaverticaldrill.deactivate-all:
    description: Allows deactivating any drill.
    default: op

    screen03.png screen02.png screen01.png
     

    Attached Files:

Share This Page