https://yatm.icedragon.space/ has been updated, take a look if you want to get a quick glance of all the nodes!
Also if you're good with Javascript and 3d rendering, I would really like some help with rendering the nodes on the page for documentation!
tl;dr https://github.com/IceDragon200/mt-yatm for latest, I don't do releases currently, so you'll have to grab the latest from master.
You can either use git to maintain the code in your mods directory, or download the latest release.
Please ensure that you're running a LuaJIT build of minetest.
Please also ensure you have added yatm_core and yatm_oku to your trusted mods list.
If you are unable to use LuaJIT, fear not, YATM can kind-of run without it, just don't expect any computers, you must edit the yatm_core/config.lua for now and set:
Code: Select all
-- When a module or modules is crippled by missing core features,
-- should YATM throw an error instead of just logging?
yatm.config.fail_loud = false -- this will have YATM only log its failures instead of throwing an error.
For any additional screenshots, you can check the individual modules, they may contain a screenshots directory.
Please note some of these screenshots are from earlier development cycles.
Origin
YATM was a mod I made originally for Minecraft, but after the 1.8.x updates, I gave up on Java and turned to minetest.
One of the motivations was the ease of prototyping new ideas without all the cumbersome boilerplate that a minecraft mod requires.
Yet Another Tech Mod
The Acronym was born from the fact that minecraft was saturated with different 'Tech' mods during YATM's inception, instead of denying it, or trying to come up with some cool name, I chose to embrace that my mod, was indeed, yet another tech mod.
What's in it?
Quite a few things actually, going by the current list of mods:
- Core (yatm_core)
Spoiler
State: Done? It's a core I don't think it needs much...
Inspiration: It's a core, what inspiration is there?
Core provides materials, and base utilities used by the other mods. - Armoury (yatm_armoury)
Spoiler
State: Very WIP
Inspiration: Firearms (the real stuff)
Armoury intends to provide the player with weaponry and armour for fighting - Autotest (yatm_autotest)
Spoiler
State: Very WIP
Inspiration: None really, I just wanted some way to test all the nodes and their interactions.
Autotest is intended to add integration tests to minetest, this means placing nodes and then testing their interactions. - Bees (yatm_bees)
Spoiler
State: WIP
Inspiration: Growthcraft Bees
Bees, adds, bees to the game, primarily for their honey and wax. - Brewery (yatm_brewery)
Spoiler
State: Very WIP
Inspiration: Growthcraft Cellar
Brewery intends to bring alcohol to Minetest.
But for now it has all the fluid barrels. - Brewery [Apple Cider] (yatm_brewery_apple_cider)
Spoiler
State: So WIP, it's practically empty!
Inspiration: Growthcraft Cellar, Growthcraft Apples
Apple Cider is one the beverages provided by the brewery module. - Cables (yatm_cables)
Spoiler
State: WIP, works at least
Inspiration: Any tech mod that had cables of some form
Cables adds all the different connection cables for YATM.
The categories are:
- Energy - energy cables (i.e. copper and duplex cables) transport energy between nodes, rather it helps form the energy cluster
- Device - device cables (i.e. pipes and duplex cables) connect devices together to support different logic (it depends, see dscs for example)
- Clusters (yatm_clusters)
Spoiler
State: Stable-ish
Inspiration: I needed a unified way to manage a group of nodes and apply updates on them in a deterministic way
Clusters defines a service for grouping nodes together to perform a synchronous update on them.
Clusters provides a simple implement in the form for yatm.SimpleCluster, this will handle regstration, updates, removal and block unloading.
For examples see yatm_cluster_* modules - Cluster [Devices] (yatm_cluster_devices)
Spoiler
State: Stable-ish
Inspiration: See clusters
Devices manages nodes that can be treated as a 'device' network, that is any set of nodes that can inter-communicate to perform different activities.
The DSCS makes use of this cluster to provide it's inventory system. - Cluster [Energy] (yatm_cluster_energy)
Spoiler
State: Stable
Inspiration: See clusters
The energy cluster registers and manages devices that produce, store and consume energy as well as 'work' using that energy. - Cluster [Thermal] (yatm_cluster_thermal)
Spoiler
State: WIP
Inspiration: See clusters, heat transfer, similar to energy but also affects external nodes (i.e. melting snow, or freezing water)
The thermal cluster manages nodes which interconnect to transfer heat, think of a heat exchanger on a reactor or a smelter. - Culinary (yatm_culinary)
Spoiler
State: WIP
Inspiration: Cooking, a random picture of Pie
The Culinary module provides various appliances, devices and food materials.
For now it has a Pie (which behaves like a minecraft cake). - Data Network (yatm_data_network)
Spoiler
State: WIP (Stalled by OKU, since the computers there are the ones that actually would produce and use this data)
Inspiration: Red Power (I've never played it, but I saw screenshots and read about it), networking and internet protocols.
The Data Network defines a special cluster for transmitting 'data' between nodes, this data is usually small binary units.
The module itself contains the cables necessary to construct the network. - Data [Fluid Sensor] (yatm_data_fluid_sensor)
Spoiler
State: WIP (data network isn't finished)
Inspiration: IRL level sensors
Fluid Sensor provides a node that can monitor the 'level' of an adjacent fluid interface node (see fluids for more details) - Decoration (yatm_decor)
Spoiler
State: Stable
Inspiration: Misc. It contains blocks that serve no other purpose than just decorations
Decorations, various nodes that serve no other purpose. - Drones (yatm_drones)
Spoiler
State: WIP (drones work though, but they're buggy)
Inspiration: Roomba
Adds a drone.
Would have been plural if I had the patience to learn blender properly.
With that aside, drones will wander around, and pick up fallen items.
They can also then dropoff those items at a dropoff station. - DSCS - Digital Storage Crafting System (yatm_dscs)
Spoiler
State: WIP
Inspiration: AE2 - Applied Energistics
I fell in love with AE2 the few times I got to play with it, the idea of storing all your items in digital world (wait, the game is digital, so it's more of digi-digi)
As such, DSCS is my attempt to capture the storage and crafting aspects of that.
As such it operates on a device cluster. - Energy Storage (yatm_energy_storage)
Spoiler
State: Stable
Finally split off from yatm_machines, energy storage contains the battery bank and energy cell nodes.
Battery banks can be used to supply energy to a device network, or to charge batteries for use in other things, such as drones. - Fluids (yatm_fluids)
Spoiler
State: Stable (API could do with a touch up)
Inspiration: A need for fluids
Before we begin, I looked at fluid_lib, and didn't like it, static definitions and exposing the fluid tank details, and the lack of directional interactions bothered me.
With that aside, fluids, adds, fluids to minetest, this module provides everything needed to work with YATM's fluid system.
Including default implementations of common fluid interfaces complete with callbacks.
If you have no idea what it looks like, look around in the mod for fluid_interface to get started. - Fluid [Pipes] (yatm_fluid_pipes)
Spoiler
State: Stable
Inspiration: Any tech mod that added fluid transport pipes
Fluid Pipes adds Extractor, Inserter and Transporter fluid pipes to minetest, this works with the fluid interface as defined by Fluids.
These pipes extract, transport and insert fluids in the same transport network to other fluid interfaces. - Fluid [Pipe Valves] (yatm_fluid_pipe_valves)
Spoiler
State: Stable
Inspiration: A need to stop fluid flow
Fluid Pipe Valves, adds 'valves' for stopping the flow of fluids in a fluid transport network.
It works currently by forcibly splitting the network apart. - Fluid [Teleporters] (yatm_fluid_teleporters)
Spoiler
State: Stable
Inspiration: Too many pipes, need to send fluids somewhat far away.
Fluid Teleporters work with the Spacetime module to provide a way to 'teleport' fluids over long distances.
It works by providing a teleporter and receiver node, simply connect the appropriate Fluid pipe, grab an Address Tool and set both nodes to the same address, it should transfer.
Also don't forget it needs to be powered. - Foundry (yatm_foundry)
Spoiler
State: Stable
Inspiration: Doom 2016's foundry level (the name anyway), Metallurgy
Foundry provides nodes for ore processing and metal forming.
Most nodes come in 2 flavours, electric and heated.
The electric nodes work with a energy cluster while the heated nodes, work with a thermal cluster.
They are functionally the same apart from that.
Also concrete, lots, and lots of concrete, a running joke is YATM should be called TMCM (Too Much Concrete Mod), at least by my brother - Frames (yatm_frames)
Spoiler
State: Stable? (I implemented this in a few hours)
Inspiration: Red Power 2 frames (once again, never tried them)
Maybe mesecon movestones did the same thing, I didn't know, sorry if I reinvented the wheel.
Frames provides nodes for moving other nodes using frame motors.
Operable by mesecons. - Item Shelves (yatm_item_shelves)
Spoiler
State: Stable
Inspiration: Itemshelf by Zorman (hkzorman)
Rather than an inspiration, this is a complete rewrite of the inspiration, it also fits a few bugs
I had with the original, and provides, in my opinion a better API for adding new shelves.
You can also do some crazy stuff like 4x4x4, if that's your thing. - Item Storage (yatm_item_storage)
Spoiler
State: Unstable (Not too keen on the API)
Inspiration: Mirror of fluid interface for items
Item Storage adds the item interface a mirror of the fluid interface, but for items.
It also adds a cardboard box that maintains it's inventory upon being broken.
The cardboard box also supports the item interface, so feel free to hook it up. - Items [Ducts] (yatm_item_ducts)
Spoiler
State: Unstable (due to the underlying interface)
Inspiration: Any mod that added item transport pipes (i.e. Buildcraft)
Item Ducts add inserter, extractor and transporter nodes for item transport.
Inserters take items from an extractor and places it in the adjacent nodes. - Items [Duct Valves] (yatm_item_duct_valves)
Spoiler
State: MIA
Inspiration: Same as with fluid valves
Item Duct Valves would add valves for breaking up item transport, but I never got around to actually implementing it, and keep forgetting to do so. - Items [Teleporters] (yatm_item_teleporters)
Spoiler
State: Unstable (due to the underlying interface)
Inspiration: See fluid teleporters
Item Teleporters transport items over long distances, the same jist as with the fluid teleporters. - Machines (yatm_machines)
Spoiler
State: Hodgepodge of WIP nodes
Inspiration: It's a kitchen sink, most of these nodes were created before the other modules were made (Buildcraft comes to mind for some)
Machines contains a mixture of different nodes, ranging from material processing to energy storage and generation. - Mail (yatm_mail)
Spoiler
State: Stable-ish
Inspiration: Forestry (minecraft mod), mailing in general
Mail adds a Mailbox, or Mailboxes if you count the variations.
You can get your mailbox either in wood or metal, along with an optional color strip around it. - Mesecon [Buttons] (yatm_mesecon_buttons)
Spoiler
State: Stable
Inspiration: A feel for more buttons for mesecons
Mesecon Buttons, adds a new toggable button, it can be wall mounted or placed flat on the floor.
Maybe I'll add a momentary and pressure based one later, who knows.
Yes I am aware mesecon already has a button or lever depending on the mood your in. - Mesecon [Hubs] (yatm_mesecon_hubs)
Spoiler
State: WIP
Inspiration: Wanted a few more control nodes for mesecons
Mesecon Hubs, adds a few new nodes, primarily the wireless receiver and emitter, and the flip-flop.
The hub and ele hub do nothing, not sure if I'll keep them around. - Mesecon [Locks] (yatm_mesecon_locks)
Spoiler
State: WIP
Inspiration: After making the Mail module, I had plenty of 'keys' lying around and wanted to add other nodes that makes use of it
Mesecon Locks adds, a key operated lock that emits a mesecon signal when toggled.
In addition, it also includes access cards, card readers and card swipers which do similar things.
Card readers will take and keep a card to remain toggled, card swipers are a momentary signal.
Currently there are no restrictions on which access card can be used on the readers or swipers, that will be fixed later. - OKU - Octet Kompute Unit (yatm_oku)
Spoiler
State: Ultra WIP
Inspiration: Computer Craft (minecraft mod), my unhealthy obsession with trying to write cpu emulators...
OKU, or the Octet Kompute Unit is a mod that adds a computer, these computers can execute actual byte-code to perform various tasks, it communicates with other devices over the data network.
Upon completion, if I ever muster up enough energy to fix it up, it will provide cpus with different architectures and memory requirements.
For now the pool of available ISAs will be 6052 (8 bit), 8086 (16 bit) and RISCV-RV32I (32 bit)
And yes, you may notice a module in there to parse ELF binaries for riscv, I couldn't coerce my compiler to spit out actual riscv binary.
You can run simple programs in riscv, go ahead, check the tests for example. - Papercraft (yatm_papercraft)
Spoiler
State: WIP
Inspiration: Paintings, Japanese paper doors, lamps etc...
Papercraft adds paper stuff, including cardboard.
But mostly, paintings!
Grab a painting canvas, place it in a 3x2, 2x3 or 3x4 plane and right click on it with the paintbrush.
Shoji nodes and materials will be added later. - Plastics (yatm_plastics)
Spoiler
State: WIP
Currently adds a few decorative nodes.
Yep, that's it. - Rails (yatm_rails)
Spoiler
State: Very much WIP, is empty
Inspiration: Railcraft (minecraft mod)
Rails will add various locomotives and nodes for interacting with the data network, fluid transport, item transport and mesecons in regards to rails.
I intend to stick with the small default rails. - Reactions (yatm_reactions)
Spoiler
State: Old, overdue a review
Inspiration: Learning about ABMs, various side effects from nodes.
Freezing, melting, radioactivity, that's what this mod handles.
Also, spontaneous combustion when exposed to air. - Reactors (yatm_reactors)
Spoiler
State: WIP
Inspiration: Big Reactors (minecraft mod), Nuclear reactors in general
NOTE: it's not meant to be scientifically accurate, but if you feel I can improve it in some way, let me know!
Reactors intends to add a nuclear reactor for producing heat, energy and radioactive materials.
It can be controlled by the data network, and can emit mesecon signal on various events.
But most of that isn't implemented yet, I just have the ideas. - Refinery (yatm_refinery)
Spoiler
State: Stable-ish (I still find odd ways to break it)
Inspiration: Factorio (game), Buildcraft (minecraft mod)
Refinery adds various nodes for handling crude oil and fluids. - Solar Energy (yatm_solar_energy)
Spoiler
State: Stable-ish (I rarely ever fix it up, so it's kind of old at this point)
Inspiration: Solar energy systems
Adds solar panels which produce energy. - Spacetime (yatm_spacetime)
Spoiler
State: Stable-ish (teleporters are pretty sometime-ish)
Inspiration: Fast travel, need to move on different floors in my dreaded test lab.
Spacetime adds the spacetime cluster/network and entity teleporters. - Woodcraft (yatm_woodcraft)
Spoiler
State: WIP (I just revisted the module)
Inspiration: Carpentry
Woodcraft would add the Sawmill, various planks and wooden fixtures and materials.
Should have added the sawmill, but I haven't gotten around to doing the textures or the nodebox.
For shame too, its one of the first nodes I designed in my sketchpad!
Spoiler
A rather messily made mesecons circuit for a large frame motor door.
Above is a combination of wireless emitter and receivers, along with flip flops.
It's messy, I was prototyping it in a small space.
Spoiler
My brother about to be crushed by the frame door.
We're in creative, he'll be fine.
I think...
Spoiler
The door opening.
Spoiler
The door after installing the new card swiper and replacing both independent circuits with wireless emitters.
Spoiler
The door, closed.
Spoiler
A cluster of combustion engines.
The red blocks below are energy cells, different coloured cables and pipes will not connect with each other.
It also helps to color code what material/fluid is going in them.
Spoiler
A test setup of the DSCS system, granted nothing works at the moment apart from the energy and device cluster logic.
Spoiler
A simple test of the flip-flop, it was dastardly buggy before.
Like how does one manage to get a flip-flop stuck in a loop!
Spoiler
It may be creative mode, but we still needed a lot of building material and fuel for various equipment (digtron tunnel construction, see the door above)
Spoiler
Some machines, most don't work as intended yet, but they at least power up, so that's a plus!
Spoiler
A test reactor, it's only for show at the moment, it doesn't have any fuel or even produces energy yet.
But soon it will, and we will have accidents...
Spoiler
A rather messy setup to refine crude oil into heavy oil and light fuel for the combustion engines.
Blue pipes are the return line from the distillation units in the corner.
Black pipes carry crude oil or vapourized crude oil, depending on what side of the vapourizers it's on.
Yellow pipes carry light oil.
Orange pipes carry heavy oil.
That orange column on the left is a thermal duct meant for sharing heat.
Spoiler
A bunch of solar panels, they don't really power anything, but a few energy cells are attached to the tower below it.
Apache 2.0
There aren't any trademarks so to speak of, an MIT would have worked for me.
If you have any problems with the licensing I will be more than happy to change to MIT.
Bug reporting
If you have a github account, please submit all bug reports to the bug tracker.
This isn't only because I'm more active on github, but it also allows others to see what bugs have been recently fixed.
Mod Comptability
If you have a favourite mod that you want YATM to be compatible with let me know, I'll look into it.
For now I use mesecons, and digtron (I intend to extend this later)
Contributions
I'm open to any form of contributions, be it audio, images, screenshots, new paintings, code, ideas.
Q & A
Reserved for any potential FAQ.
Loose TODO (I may take forever to get around to it)
- Computers that actual compute, also solve ingame compilation of assembly source (possibly with a C extension loaded via FFI)
- Actual reactor logic
- DSCS import and export interfaces, just the whole module in general
- Figure out why the distillation units randomly stop working sometimes.
- A mountain of other things to fix...
- Crafting Recipes