Mods / ViesCraft-Machines

Category: #Crafting #Storage #Technology #Utility
Author: Vies
Side: Both
Created: Feb 1st at 9:13 PM
Last modified: Jun 15th at 5:16 PM
Downloads: 5748
Follow Unfollow 64

This is the rewrite for ViesCraft.

VS version : 1.17.0-pre1   |   Current version : 1.17.2

Mod version 1.17.2 ONLY WORKS FOR VS version 1.17.0+

I tend to do modding livestreams... A lot. Watch me at: twitch.tv/vies

This mod adds machines to Vintage Story. Supports singleplayer and multiplayer servers. To get started, find the handbook guides "Vol.I : The 'Vies' Craft" and "Vol.II : Machines and You". It goes over recipes and basic info on creating and using machines. Machines are complex systems. Machine parts are created in the crafting grid and firepit, but machines themselves are built in the world from the Machine Frame. They can hold 2 passengers and only the player in the front seat can control a machine. 

    Current machine types: Flying, Ground, Sea, Hauler

        Flying Machines: These are machines that have the ability to travel through the air.
            

            - Able to travel virtually anywhere.
            - Slow movement and handling speed.
            - Being in water greatly slows forward speed.


        Ground Machines: These are machines that hover 1 to 2 blocks above the ground when powered on and burning fuel. These machine can  also 'trampoline jump.' What does that mean? The power of your jump depends on how close you are to the ground! Players can press and hold [Sneak] to charge up their jump!
            

            - Can hover over solids and liquids.
            - Ability to 'trampoline jump'. Charge the jump by holding [Sneak].
            - Moderate movement and handling speed.
            - Being in water greatly slows forward speed.


        Sea Machines: These are machines that have the ability to travel over water.
            

            - Fast movement and handling speed.
            - Being on land greatly slows forward speed.

 

        Hauler Machines: These machines are 1 seater, slow machines that move like ground machines and can store up to 32 items with their 'Storage Box' system. That means these machines hover just above blocks and can also 'trampoline jump'. The hauler's new 'Storage Box' inventory system uses 4 box slots, similar to player bags. These slots accepts crates, storage vessels, chests, crocks, buckets, bowls, boilers, condensers. If a mod uses those base classes, those items can be used too. It gives the appearance of those mentioned items in the bed of the hauler. Each item gives 8 inventory slots, 32 max slots. If an item in the box slot is removed, the last inventory row will drop all of the items and become inaccessible until a new item is place in the slot. Swapping items will not drop the contents.
           
            - Has a 'Storage Box' system for the inventory. 1 item = 8 slots.

            - Can hover over solids and liquids.
            - Ability to 'trampoline jump'. Charge the jump by holding [Sneak].
            - Very slow movement and handling speed.
            - Being in water greatly slows forward speed.

 

    Planned machine types: Underwater (Maybe when we get an oceans update?)

 

Movement Controls:

Forward = W

Backward = S

Turn Left = A

Turn Right = D

Move Up = [Space]

Move Down = [Sneak]

Dismount = G

Machine Menu = R

 

Features :

Click here to see all of the machine features!

    Machine Construction:

Click here for more info.

Machine parts, including the Machine Frame, are created in the crafting grid and firepit, but not the machines themselves. You will need to throw the Machine Frame to unfold it into the world and apply construction kits directly to the frame. When all required kits have been applied, grab your Machine Wrench (obtained through smithing) and hold [Sneak] + Right Mouse Click to begin construction! Hold down these 2 keys until you complete your new machine!

Information on missing or applied kits can be seen in the tooltip at the top of the screen when looking at the frame. If you want to turn the frame back into an item, [Sneak] + [Sneak] + Right Mouse Click the frame with an empty hand. This will preserve any applied Construction Kits. 

    Machine Visuals:

Click here for more info
The types of panel, metal, and cloth construction kits you use on your Machien Frame dictates how your machine will look. This will eventually be able to be changed after machines are constructed in a later update.

    Fuel System:

Click here for more info.

Machines need to be powered on and have fuel to move. Start with opening the machine's main menu by pressing 'R' (default key). Drag either Machine Pellets (a machine efficient fuel) or any burnable source of fuel into the fuel slot, then click the power button (in the options) to turn the machine on. A green light will appear next to the button showing you it is on.

The burntime will vary depending on the fuel used. When a machine runs out of fuel, it will stop moving until more fuel is added. Turn machines off to conserve fuel when there is no driver sitting in it.

    Durability System:

Click here for more info.
This is equivalent to an entites 'Health'. As a machine runs or takes damage, the durability is slowly reduced over time. When durabilty reaches 15% or lower, machine engines will periotically backfire and will begin to smoke. If durability reaches 0, the machine will break.

    Energy System: *WIP* Will be used in a later update for the expansion system.

    Broken System:

Click here for more info.
When a machine reaches 0 durability, it will break. Broken machines can't turn on and must be patched in order to be used again. To patch a machine, grab your Machine Wrench and hold [Sneak] + Right Mouse Click to begin patching. Hold down these 2 keys until you complete the patching process. When a machine is patched, it will exit the broken state and will receive 5 bonus durability. Make sure to apply a Service Kit to keep the engine running smooth. Too many patchs in a row will cause a machine to explode!

    Turbo System:

Click here for more info.
While machines are on, press the [Sprint] key while moving to make machines move twice as fast! Be warned, the fuel consumption and durability drain are also twice as fast!

    Storage System:

Click here for more info.
All machines come with built in 16 slot storage. This is accessable two different ways. Either by getting close to a machine and [Sneak] + Right Mouse Click the machine's front or back seat (seat must be empty to do this), or by the back seat passenger while riding in the machine by pressing 'R' (default key). The driver does not have access to the storage system.

    Engine Issues:

Click here for more info.
If durability falls under 15%, the machine will randomly experience engine issues. Machines in motion will 'stall out' and stop taking in the movement keys until movement keys are pressed again.

What does this mean? If you are holding down the forward key and the engine stalls, simply release the key and press it again! You will be able to tell when an engine stalls due to the 'tink' metal sound you will hear. To prevent engine issues, keep the durability above 15%.

    Heating System:

Click here for more info.
All machines come equip with a way keep riding players warm. When a machine is powered on and is actively burning fuel, player body temperature will slowly increase, roughly a small % every 5 seconds. This is a passive effect applied to the driver and passenger.

    Naming System:

Click here for more info.
Machines start off with a default name depending on their type, but this can be changed! Use a 'Name Changer' to change a machines name to anything you want! With the Name Changer item in hand, Right-Click will open a GUI to set a name to be applied, while [Sneak] + Right-Click while looking at a machine will apply the name. You can use special characters, numbers, or spaces in names. Setting no 'name' will erase a machines name when applied. This item has a set number of charges that gets use up with each machine application.

    Lantern Lighting:

Click here for more info.
All machines have the ability to use a lantern for area lighting! Lanterns can be put in the "Lantern" slot that now appears for the Passenger machine GUI. The driver does not have access to the lantern slot. With a lantern in the lantern slot and while a machine is on and actively burning fuel, the machine will light up! Any lantern can be used and will appear on the hook on the front of the machine.

    Detailing System:

Click here for more info.
Players can now change the textures of machines! Machine textures are divided into 4 types; a Panel Detailing Kit, Metal Detailing Kit, Cloth Detailing Kit, or Frame Detailing Kit. With one of the above items in hand, right-click opens a GUI to select a texture, [Sneak] + right-click while looking at a machine, will apply the texture. Only the creator of the machine can apply a detailing kit.

    Lock System:

Click here for more info.
Machines can now be 'locked' from the machine GUI. Owners can use the new Ignition Key item to give other players access to their locked machines. The programmed key needs to be in the 'Ignition Key' slot in the GUI to unlock a locked machine to everyone. A padlock icon will appear on the display screen to show if it is locked or not. Keys in the new Ignition Key slot will be shown in the model for the control panel of all machines. If a correctly assigned key is in the ignition slot, green buttons on the sides of the key slot will light up. If a machine is locked and there is no programmed Ignition Key in the key slot, non-owners will have restricted access to the machine. The GUI will be a limited one that only has the ignition key item slot available and non-owners will not be able to get into the driver's seat. Owners will always have access to their locked machines.

 

 

Known issues :

¯\_(ツ)_/¯

 

Next update :

  • Cleaning up all machine models that have slight issues that stick out to me. (Ongoing)
  • Probably the display system?

 

Planned features :

  • More qol things like sounds, particles, and overall visual ques.
  • Work on the texture expansion system.
  • Add a dashboard item display. 

Version For Game version Downloads Release date Changelog Download
v1.17.2 197 Jun 15th at 5:16 PM Show ViesCraftMachines-VS1.17.0pre1-v1.17.2.zip
v1.17.1 794 May 7th at 2:41 PM Show ViesCraftMachines-VS1.16.4-v1.17.1.zip
v1.17.0 1985 Mar 16th at 5:20 PM Show ViesCraftMachines-VS1.16.4-v1.17.0.zip
v1.9.0 336 Mar 4th at 6:59 PM Show ViesCraftMachines-VS1.16.4-v1.9.0.zip
v1.8.0 542 Feb 24th at 2:56 PM Show ViesCraftMachines-VS1.16.3-v1.8.0.zip
v1.6.0 615 Feb 16th at 11:06 PM Show ViesCraftMachines-VS1.16.3-v1.6.0.zip
v1.5.2 321 Feb 10th at 6:10 PM Show ViesCraftMachines-VS1.16.3-v1.5.2.zip
v1.5.0 129 Feb 10th at 1:54 PM Show ViesCraftMachines-VS1.16.3-v1.5.0.zip
v1.0.15 344 Feb 4th at 5:37 PM Show ViesCraftMachines-VS1.16.3-v1.0.15.zip
v1.0.11 211 Feb 2nd at 9:02 PM Show ViesCraftMachines-VS1.16.1-v1.0.11.zip
v1.0.0 274 Feb 1st at 9:14 PM Show ViesCraftMachines-VS1.16.1-v1.0.0.zip

19 Comments (oldest first | newest first)

Rufkut, Apr 8th at 3:05 PM

Hi is there a way to increase the movement speed via configs?

Zinc, Apr 6th at 8:37 PM

Hi Vies,  I'm the server owner of Moondrop and we keep running into a crash we think is caused by the flying machines.

 

Running on 64 bit Windows with 32 GB RAM
Game Version: v1.16.4 (Stable)
Loaded Mods: weaponpacka@1.2.4, ancienttools@1.3.6, animalcages@2.0.6, tonwexp@1.0.9, axleinblocks@1.0.12, backpackpackplus@1.0.3, betterdrifters@2.1.3, buildingplus@1.1.2, cavecontent@1.0.1, chiseltools@1.4.4, collabclasses@3.0.4, expandedfoods@1.5.3-pre.6, fancydoors@1.1.0, weaponpackg@1.0.0, MoreResin@1.0.0, orecrystals@1.3.6, pieontheshelf@1.0.0, potontheshelf@1.0.0, primitivesurvival@2.8.0, qptech@1.7.6, survivalcats@1.2.2-rc.2, tradeomat@1.6.0, viescraftmachines@1.17.0, volumetricshadingcontinued@0.6.6, game@1.16.4, alchemy@1.6.3, carrycapacity@0.6.5, fancyplanters@1.0.4, fixbadrecipes@1.0.2, hudclock@2.7.0, lichen@1.6.1, medievalexpansion@3.7.1, moreanimals@1.2.2, petai@1.4.2, playercorpse@1.3.1, stonequarry@1.6.5, tpnet@1.5.1, usefulstuff@2.3.2, vanvar@1.1.2, creative@1.16.4, survival@1.16.4, woodbarrels@1.0.2, woodchests@1.0.2, workbenchexpansion@1.4.1, xlib@0.6.8, xrowboat@0.0.3, campaigncartographer@2.1.2, bricklayers@0.9.0, cats@1.4.0, feverstonehorses@1.2.6, wildcraft@1.2.1, wolftaming@1.4.0, xskillspatched@0.6.9-dev.7
4/6/2022 3:21:48 PM: Critical error occurred
System.NullReferenceException: Object reference not set to an instance of an object.
at viescraftmachines.src.common.entity.EntityMachine.SeatsToMotion(Single dt)
at viescraftmachines.src.common.entity.EntityMountable.updateBoatAngleAndMotion(Single dt)
at viescraftmachines.src.common.entity.EntityMountable.OnRenderFrame(Single dt, EnumRenderStage stage)
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime)
at _4Bi1AGVssrIO0El8b8ygdS9FIfm._o5h005s1ovnxSPPqKWgI4tZUoCh(Single )
at _lAuHsYOBOAjBMdATFXwLUtH7N00._JvY4M2412YZu1OS3Ull8wgZBu1j(Single )
at _lAuHsYOBOAjBMdATFXwLUtH7N00._KmBeEx15nyyLrVqNDW6geSArpNr(Single )
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 476
at OpenTK.GameWindow.DispatchRenderFrame() in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 452
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 375
at _TRhArnJABwZoV9Vt7Ld2l65Xzgg._mhlr8s7wtMvxaJGpVy2Ag90jUBK(_3HJA5NvAIx31LXjscc3HGjXaR6q , String[] )
at _q0zAVOrWbMX04rMA9G3HIFVuGjA._mhlr8s7wtMvxaJGpVy2Ag90jUBK(ThreadStart )
-------------------------------

 

If you'd like more info feel free to message me on the vintage story forum or join Moondrop's discord https://discord.gg/wJdJDysg I'm more than happy to work with you to get you any info that may help.  We are very much enjoying your mod and do not want to remove it.  It isn't crashing constantly, just occasionally when a flying machine comes through an area.  It sometimes crashes everyone in the area.  

Thanks!

Zinc

BluntTongs, Apr 3rd at 9:33 PM

I love the work and effort put into this mod, there's some good stuff on display here! I'm a huge fan of the concepts the Hauler brings, especially.

My only hangup is certain parts of the machine models sort of clash with the low-/clockwork-/temporal-tech aesthetic vanilla has, like using jet engine-esque turbines where simpler propellers would work. A simple model adjustment on the zeppelin would make it perfect with how I'd expect it to look with the tech levels we have, but I'm not sure on any of the other machines.

Other than personal aesthetic preferences, I'm really loving what I'm seeing!

macoto_hino, Apr 2nd at 7:53 PM

Sorry I'm late, Translated ViesCraftMachines-VS1.16.4-v1.17.0.😄

The link for the Name Changer that appears in Vol. II of the Survival Handbook does not appear to be functioning properly.

ViesCraftMachines-VS1.16.4-v1.17.0 - ja.json

Praal, Mar 21st at 11:45 AM

Great mod!  We had a lot of fun with our first zeppelin, though saddened to see its storage reduced to 4 in the latest update.  Any chance to make storage amount configurable?

Also, is there any way to disassemble a vehicle after it's been built?

Vies, Mar 4th at 7:44 PM

McBain

I am glad you are enjoying the mod. Currently sea machines are not going to be too helpful because of the world gen, but if you use something like jakecool's Oceans world gen mod or luck out with some nice "lake/rivers", the sea machine is going to be useful. I probably won't make a system for moving the sea machines, not sure where to even start with that! The idea is that as the game matures, and we start to get more things like the rivers and oceans, I will already have the optimal machine to traverse it.

McBain, Feb 27th at 3:35 AM

This is just awesome.  Thanks so much for developing this.  Is there a way to deconstruct a vehicle once it's together?  Since most lakes are not all that big I was thinking the sea machine would have a lot more use if it could be broken down and moved between bodies of water.  Or maybe a system to pick it up with the flying machine to move it around.

macoto_hino, Feb 17th at 2:42 AM

To be honest, I don't use Github much because it's a pain to learn how to use it.
It's easiest to send data to each other there if you can free up a message.

Vies, Feb 16th at 9:05 PM

Jerrie

Wow I really like that idea! Hadn't considered doing something like that. I can look into it after I get what I want in this mod. Testing the ground machines, just about ready to push out another update.

macoto_hino

Thanks! I should make something on github for translations. This next update I realized my tooltip and message keys were kind of borked. I had to redo a lot of the localization keys to have them make sense. and to get rid of redundant keys.

macoto_hino, Feb 16th at 8:52 AM

I've created a Japanese language file. Please use it if you like.😁

ViesCraftMachines-VS1.16.3-v1.5.2 - ja.json

Jerrie, Feb 15th at 9:56 AM

Hello!
Are you planning to make any railway transport? It would be so cool! :)
It can also help to move underground in mines and etc.
I think it would be easyer to make then any other kind of transport. 

Vies, Feb 10th at 5:22 PM

If you reach out to me via discord (Vies#1234) I can point you in the direction of the example mod Tyron made for basic mounting.

YourCreator, Feb 10th at 3:45 PM

Can you share some code about mounts please?

 

Vies, Feb 10th at 1:55 PM

With the 1.5.0 update I just put out, you can now open your inventory from any machine menu. :)

Vies, Feb 2nd at 9:14 PM

I see what you mean, I just double checked it and I was able to press 'e' and open my personal inventory / move things around while the machine gui is open from the drivers seat, but not the passenger's seat or from outside. I had an extra check that locked key input in so that people couldn't walk away and keep the inventory open, like a Minecraft kind of gui. I could change it back it people prefer it the other way.

And yeah, that is why there was a hud kind of effect. It was just not syncing to the actual dialog background. I have yet to make a hud for the mod yet. lol but that is fixed with 1.0.11. 

MDrX13, Feb 2nd at 6:32 PM

clarification on 3) when your machine's gui is open, the player is unable to open their inventory. so you can't put in fuel from driver's seat, nor store things from the passenger's seat without already having your bags open prior to opening the machine's gui.

in regards to 2 & 4: so thats why there was a hud like effect, yes? the green dot, the active fuel, and info display were just askewed, if I'm reading your reply correctly?

understood on the storage separation question.as for making it solid, I won't understand the code for a while, while it's not impossible for me to do, reading/writing code with even my minor dyslexia is difficult

Vies, Feb 2nd at 4:41 PM

Thanks for testing things out! I have fixes for I think most things in the next update but just to be sure I will try to answer your points here:

1) This was fixed, I meant to get it in with the first release, but got obsessed with fixing multiplayer movement. It will be in the next update. I did check this multiple times and it just runs an animation that, at the end, checks broken state so it didn't hurt anything. Well, besides the player's time wasted trying to fix a non-broken machine. :)

2 and 4) These were both part of the same problem. The root of it was if the machine's dialog box was switched to moveable, My refreshing elements didn't sync right and would disappear sometimes. I have that fixed now and will be in the next update as well.

3 and 5) I wasn't sure about the wording of this one. Inventory (storage slots) can only be access from the back seat passenger, or shift + right clicking the machine from outside as long as no player was riding in that spot. If you meant accessing things like chests from inside a machine, that will not work yet. For some reason, when mounted on something, player yaw is locked to the yaw of the thing you are mounted in. I would eventually like to fix this but my attempts so far to override it have not worked. You can look around, but using tools or throwing spears stay locked on to the machine's yaw.

As for the suggestions:

- Making machines solid is something I want to do. it may be weird the way the colision box is (had to make it wide to accomedate the model rotation), but i would like to do it eventually. look at the collision box with the command '.debug wireframe entity' and you will see what I mean. There would be some player floating issues to deal with.

- Are you talking about making storage a separate window, like when you press "c" to look at your character info? I had considered this, but the idea of having the driver not be able to access inventory came from this scenario; if I am driving in a car, I can't exactly just reach back to get a bag of chips from the pile of grocery bags, but someone already sitting back there that isn't focused on the road could. I will keep thinking about it though, if enough people want it, I could do it.

- Patching shouldn't be an option if the machine is not broken. That fix is goin in the next update. The idea of continuing to use just the wrench to try to get more free durability is an interesting idea. maybe some rng and ques on when to stop before you break or blow up the machine? I added that to my list of ideas to look into.

- I had considered making a HUD that displayed fuel info for the driver, but just didn't get around to figuring that out yet. Had so much to do with the total rewrite. I wanted to eventually make like the red baron pilot helm / goggles / red scarf and have it so that you get the hud when it is on, but that is only an idea in my list of ideas to implement. 

MDrX13, Feb 2nd at 8:49 AM

So a few issues.

First off, when I found these I made sure to go into a test world. Single player, a few tweaks to the world spawn, no other mods active (none of these seem to be a mod interaction issue). I did however spawn in the items needed to complete the machine. (completed machine frame, panel, cloth, and metal kits). I also am not a clockmaker, but I don't know if that makes any difference.

1) patching while the machine is not broken seems to attempt to do the job anyway, and sometimes gives an additional 'can't fix what's not broken' message. I don't know if this is intended, but I thought I'd bring it up. and if you're wondering, it thankfully does not make the machine explode by fixing nothing.

2) the power indicator on the gui does not light up, howerever the hud does display a green dot in the middle while the gui is open

3) Unable to open inventory while the control panel is open, its completely locked out, you have to have it open prior to opening the gui or you cannot move items (both driver and passenger seats)

4) the info panel is not displaying durability, nor energy, but the tool tip is.

5) I don't know if this is intentional or even fixable, but I had to make an attempt to defend myself, and while the player's view can turn and aim (was using a recurve bow), it only fires forward due to the player being locked in the seat that way. thought I'd add it in regardless. tools seems to do the same, but they are usable from the driver's seat, and passenger's seat seems uneffected.

Other than this, she flies wonderfully.

 

Some questions/suggestions?:

Is it possible to make the machine solid so the player dismounts above the machine so we can stand on it in mid flight?

Are you able, without too much trouble, to make the storage a container instead of creating a separate gui for it? this would allow both passenger and driver to access it.

If patching is an option while the machine is not broken, can you implament the durabitity repair (for when you don't have a service kit and just need to limp home), and explosion if tinkered with too much?

I would suggest adding in the current active fuel and fuel stack available to the tooltip so you don't have to open the gui to see it, or make it so the hud displays when you look down at the machine from the driver's seat. possibly some goggles that allows this?

 

Thanks for the effort, hope to see great things, mate.

Minni6in, Feb 2nd at 1:00 AM

sweeet!

delete edit