Wiki

VMod

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 toolgu...

Updated 4 months agoby Community
History

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
    1. Normal - Will use hit position as is.
    2. Centered On Side - Will get the face of a block hit position is on, and use center of that face as position.
    3. Centered In Block - Will get the block hit position is on, and use center of the block as position
    4. 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