Pre-2.4 content: This page may describe behavior from before VS 2.4.
VMod is an addon that adds a powerful tool for creating and modifying Valkyrien Skies ships - Toolgun. It’s highly inspired by GMod and shares some similarities with GMod’s toolgun.
To safely delete VMod, load all ships (visit every ship once), and run the command “/vmod op clear-vmod-attachments” (exists since 0.1.3)
Constraints
- Connection
- Rope
- Hydraulics
- Physics Rope
- Slider
- Sync Rotation
Entities
- Thruster
- Sensor
Tools
- Gravity Changer
- Disable Collisions
- Schematic
- Scale
- Strip
- Ship Remover
- Mass Changer
Toolgun
LMB - left mouse button. RMB - right mouse button. MMB - middle mouse button.
How to use:
- Press TAB to open menu
- Press R to reset mode
- Look at HUD hint to see what actions are available (and if it says nothing then try LMB)
- If you started a mode, continue it until it finishes (or press R to reset)
- If you’re in the middle of a mode, it will prevent you from opening toolgun menu.
- Press Z to remove last created constraint (only works until you leave server/world)
Physgun
How to use:
-
Hold LMB to grab a ship.
-
Press RMB while ship is grabbed to freeze it in place
-
Press mouse wheel while ship is grabbed to freeze all connected ships in place
-
Hold E while ship is grabbed to start rotating the ship. To rotate ship move mouse.
-
If you press R when you look at the ship but not have it grabbed, it will unfreeze that ship.
-
If you press R when the ship is grabbed, it will unfreeze all connected ships.
-
Scroll scroll wheel while ship is grabbed to change it’s distance from you.
Client Settings
- Client Limits - You can set several limits to control how things are rendered. Like limiting amount of segments a rope can have, or forcing all constraints to be in fullbright.
Server Limits
You need to be OP to change those limits (You can change this in config but i don’t recommend).
- Server Limits - Allows setting limits to allowed parameters and stuff
- Dimensional Gravity - Allows setting custom gravity for ships in a dimension
- Roles Settings - Allows creation of roles for players, and setting what modes that role is able to use (OP Players always have access to everything)
- Player Role Manager - Allows changing roles of players
VMod Constraint Parameters
VMod Constraints have many different parameters which usually have same functions between different constraints.
- Width - Determines visual width of a constraint (though it’s more like a radius)
- Fullbright - Determines whenever constraint will always be bright, or use brightness values from the world\
- Max Force - Determines how much force a constraint can apply. <0 for max
- Stiffness - Determines how stiff a constraint is. <0 for max
- Fixed Distance - If <0, then calculates distance between points itself, if >=0, then uses given distance instead.
- Hitpos Modes - If constraint needs positions, this option will appear
- Normal - Will use hit position as is.
- Centered On Side - Will get the face of a block hit position is on, and use center of that face as position.
- Centered In Block - Will get the block hit position is on, and use center of the block as position
- Precise Placement - Will get the face of a block hit position is on, create n^n points (determined by Precise Placement Assist Sides) uniformly distributed across that face, and use closest point to hit position (will light up green)
- Placement Assist Scroll Step - Determines how big scroll step is of rotation in Placement Assist. In degrees
- Distance From Block - Determines how far away object will be after finishing Placement Assist.
Connection
Creates a connection (Fixed/Hinge/Free) between 2 objects. You can change its color by changing R,G,B,A parameters
Primary Mode - creates a connection between 2 points.
- If the connection mode is “Fixed Orientation”, will fix 2 objects at relative distance, and relative rotations
- If the connection mode is “Hinge Orientation”, will fix 2 objects at relative distance, but allow rotation on an axis that 2 points create
- If connection mode is “Free Orientation”, will fix 2 objects at relative distance, but allow free rotation between them (it will act as ball joint)
Secondary Mode - will grab the first object, and align the normal of the first point’s face with the normal of the second point’s face. I’m also calling it “Placement Assist”.
Join Mode - (Only usable with “Hinge Orientation”) same as “Secondary Mode”, but without visual assist.
Hydraulics
Creates a hydraulics connection that can extend if it receives a signal. To activate it use either a “Simple Messager” in transmit mode and activate it with redstone, or use “Sensor” entity.
DO NOT DELETE SHIPS THAT HAVE HYDRAULICS CONSTRAINT EXTENDING/RETRACTING AS IT <u>WILL</u> CRASH VS.
Parameters are the same as Connection except for:
- Channel - Determines which channel the connection is listening to. Can be any utf string
- Extension Distance - In blocks
- Extension Speed - In blocks/second. Don’t set it too fast though as it can only update every mc tick
Rope
It’s a rope bruh
- Segments - Determines amount of segments a rope has. Purely visual
Physics Rope
Creates a rope in which each segment is a physics component.
- Segments - Determines amount of phys segments a rope has.
- Total Mass - Total mass of the rope. Due to how VS works, if the mass of a segment is too low the rope won’t be very strong, so don’t set it too low.
- Radius - Radius of each segment. Due to limitations of VS this parameter is more like a suggestion, the actual radius will depend on how long each segment has to be.
- Angle Limit - Determines amount of degrees each segment can rotate relative to another segment.
- Sides - Amount of sides each segment has. Purely visual.
Slider
Slider is <u>UNSTABLE AND BUGGY</u> and i can’t do anything about that. Use it at your own risk
Sync Rotation
Synchronizes rotation of two ships
Thruster
Creates a thruster entity. Activation logic is identical to “Hydraulics”
- Force - Force of a thruster. In newtons, so you’ll need big numbers
Sensor
Creates a sensor entity. It casts ray each mc tick, and transmits signal with strength of “dist to object / max distance”
- Ignore Self Ship - If checked, will ignore ship the sensor is on and raycast through any blocks it may find.
Gravity Changer
Will change gravity of a ship
Disable Collisions
Will disable collisions between 2 ships, or a ship and a world
Mass Changer
Will change block mass of a ship to “New Mass” by going through each block and setting its mass to “default mass / default total ship mass * new total ship mass”. If persistent is checked, will recalculate mass on block breaking/placing.
Commands
- “/vmod teleport {ship name} {x} {y} {z} ({pitch} {yaw} {roll})” - teleports all connected ships
- “/vmod scale {ship name} {scale}” - scales all connected ships
- “/vmod vs-delete-massless-ships” - only useful if you disable automatic massless ship deletion in config
- “/vmod display-ships-in-order {page}” - will display all ships with other data in order of their distance from player
- “/vmod schem save-to-server {name}” - will save currently active schematic in schematic mode to server under a name
- “/vmod schem load-from-server {name}” - will try to load schematic from server to special server container
- “/vmod place {x} {y} {z} ({pitch} {yaw} {roll}) {name (optional)}” - will place schematic from special server container under “name”, and if name is not specified will use filename instead
- “/vmod place-no-custom-name {x} {y} {z} ({pitch} {yaw} {roll})” - will place schematic from special server container, using autogenerated name
- “/vmod gravity set-for {ship or list of ships} {x vel} {y vel} {z vel}” - will set gravity for ship or list of ships to set velocity vector
- “/vmod gravity set-for-connected {ship or list of ships} {x vel} {y vel} {z vel}” - will set gravity for all connected ships to
- “/vmod gravity set-for-connected-and-touching {ship or list of ships} {x vel} {y vel} {z vel}” - will set gravity for all connected and touching ships to
- “/vmod gravity reset-for {ships}” - will reset gravity for
- “/vmod gravity reset-for-every-ship-in {dimension}”
Dependencies
| + | 1.18.2 | 1.20.1 |
|---|---|---|
| VMod Version | 1.7.0 | 1.8.0 |
| Valkyrien Skies Version | 2.1.1-beta.6 | 2.3.0-beta.9 |
| For Forge Only: | ||
| Forge Version | 40.2.7+ | 47.3.0+ |
| Kotlin for Forge Version | 3.12 | 4.11 |
| For Fabric Only: | ||
| Fabric API Version | 0.77.0 | 0.92.0 |
| Optional Dependencies: | ||
| Create Version | 0.5.1f | 0.5.1f |
| Create: Fabric Version | 0.5.1f | 0.5.1f |