Difference between revisions of "Modding"

From Airships Wiki
Jump to: navigation, search
(Added "name", "flippedFrom", "verticallyFlippedVersion")
(Added a bunch of basic attributes, I had to watch an hour long video on html to get the separators working)
Line 7: Line 7:
* [http://zarkonnen.com/airships/modding_guide/crew_animation Crew Animation]
* [http://zarkonnen.com/airships/modding_guide/crew_animation Crew Animation]
* [http://zarkonnen.com/airships/modding_guide/bonusable_values Bonusable Values]
* [http://zarkonnen.com/airships/modding_guide/bonusable_values Bonusable Values]
*[http://zarkonnen.com/airships/peasant_revolt_mod/ Monster Nest Mod]
* [http://zarkonnen.com/airships/peasant_revolt_mod/ Monster Nest Mod]
*[http://zarkonnen.com/airships/how_to_draw_graphics/ Graphic Drawing Guide]
* [http://zarkonnen.com/airships/how_to_draw_graphics/ Graphic Drawing Guide]


== Other Resources ==
== Other Resources ==
Line 20: Line 20:
=== <u>Preliminary Information:</u> ===
=== <u>Preliminary Information:</u> ===
The basic structure of attributes is:
The basic structure of attributes is:
<div style="width:70%">
  <code>"Attribute": "value",</code>
  <code>"Attribute": "value",</code>
</div>
Where <code>"Attribute"</code> will be the attribute you want to add and <code>"Value"</code> is the value you want to set the attribute to.
Where <code>"Attribute"</code> will be the attribute you want to add and <code>"Value"</code> is the value you want to set the attribute to.


Some attributes can be given a list of values as well:
Some attributes can be given a list of values as well:
<div style="width:70%">
  <code>"AttributeParent": { "value1", "value2", "value3" },</code>
  <code>"AttributeParent": { "value1", "value2", "value3" },</code>
</div>
In this guide, attributes will have applicable values listed alongside them, so for now just know that not all attributes take the same values.
In this guide, attributes will have applicable values listed alongside them, so for now just know that not all attributes take the same values.


Line 31: Line 35:


For example, if there are only 3 attributes in a file, you would only have 2 commas as the last attribute doesn't need it:
For example, if there are only 3 attributes in a file, you would only have 2 commas as the last attribute doesn't need it:
<div style="width:70%">
<pre>
<pre>
[
[
Line 40: Line 45:
]
]
</pre>
</pre>
</div>
This is also the case when adding attributes within other attributes:
This is also the case when adding attributes within other attributes:
<div style="width:70%">
<pre>
<pre>
[
[
Line 52: Line 59:
]
]
</pre>
</pre>
</div>




Line 64: Line 72:


===<u>Basic Attributes:</u>===
===<u>Basic Attributes:</u>===
<pre>
 
"name": "value",
<code>
</pre>
'''"name": "value",'''
</code>
 
Sets the name of the module.
Sets the name of the module.
Required to create a module.
<code>"value"</code> here will be the name of the module. This name is used to refer to this module in other files, so make sure it is not the same as another module.
<code>"value"</code> here will be the name of the module. This name is used to refer to this module in other files, so make sure it is not the same as another module.


<pre>
 
<hr style="width:50%">
 
 
<code>
{
{
  "name": "value",
 
  "flippedFrom": "value"
'''"name": "value",'''
 
'''"flippedFrom": "value2"'''
 
},
},
</pre>
</code>
 
Creates a flipped version of the module.
Creates a flipped version of the module.
Used for modules that can be flipped horizontally. (i.e. cannons, telescopes, propellers, etc.)
Used for modules that can be flipped horizontally. (i.e. cannons, telescopes, propellers, etc.)
<code>"value"</code> here will be the name of the module being flipped.


<pre>
<code>"value"</code> here will be the name of the flipped module. (i.e. FLIPPED_EXAMPLE_MODULE)
"verticallyFlippedVersion": "value",
 
</pre>
<code>"value2"</code> here will be the name of the module being flipped. (i.e. EXAMPLE_MODULE)
 
 
<hr style="width:50%">
 
 
<code>
'''"verticallyFlippedVersion": "value",'''
</code>
 
Creates a vertically flipped version of the module.
Creates a vertically flipped version of the module.
Used for modules that can be flipped vertically. (i.e. dorsal turrets, sails, engine pods, etc.)
Used for modules that can be flipped vertically. (i.e. dorsal turrets, sails, engine pods, etc.)
<code>"value"</code> here will be the name of the module being flipped vertically.
<code>"value"</code> here will be the name of the module being flipped vertically.
<hr style="width:50%">
<code>
{
'''"name": "value",'''
'''"remove": true'''
},
Removes the specified module from the game.
Not required.
Used for removing modules from conflicting mods or for other reasons.
<code>"value"</code> here will be the name of the module you are removing.
<hr style="width:50%">
<code>
'''"categories": [ "value" ],'''
</code>
Sets the category (or categories) the module will be in in the In-Game Editor.
If not provided, the module will not appear in game.
<code>"value"</code> here will be the name of the category you are putting the module in.
Default Categories:
<div style="width:70%">
<pre>
BASIC, COMMAND_AND_CREW, LIFT, PROPULSION, RESOURCES, WEAPONS, TROOPS, AIRCRAFT, STRUCTURAL, SOLID_SHAPES, STRUTS, DECORATIVE
</pre>
</div>
<hr style="width:50%">
<code>
'''"availableFor": [ "value" ],'''
</code>
Sets the type of construct the module is available for in the In-Game Editor.
Not required, game will default to all.
<code>"value"</code> here can be <code>AIRSHIP, LANDSHIP, or BUILDING.</code>
<hr style="width:50%">





Revision as of 10:49, 28 April 2022

The game can be modded using JSON files.

Underconstruction.png This page is under construction. Please help review and edit this page.

Modding Guide Blog Posts

Other Resources

Modding Attribute List

Preliminary Information:

The basic structure of attributes is:

"Attribute": "value",

Where "Attribute" will be the attribute you want to add and "Value" is the value you want to set the attribute to.

Some attributes can be given a list of values as well:

"AttributeParent": { "value1", "value2", "value3" },

In this guide, attributes will have applicable values listed alongside them, so for now just know that not all attributes take the same values.


A note about JSON: when adding attributes you put a comma at the end only if there is another attribute after it.

For example, if there are only 3 attributes in a file, you would only have 2 commas as the last attribute doesn't need it:

[
  {
    "Attribute1": "value",
    "Attribute2": "value",
    "Attribute3": "value"
  }
]

This is also the case when adding attributes within other attributes:

[
  {
    "AttributeParent": { 
      "subAttribute1": "value",
      "subAttribute2": "value",
      "subAttribute3": "value"
    }
  }
]


Appearance Attributes will require a spritesheet to get their graphics from.

1 Tile = 16 pixels, spritesheets are 63 x 63 tiles, or 1024 x 1024 pixels

When attributes require a coordinate on the spritesheet, the format is ( x , y ) or horizontal then vertical.

Both horizontal and vertical start from ( 0 , 0 ) on the top left and go to ( 63 , 63 ) on the bottom right.

Basic Attributes:

"name": "value",

Sets the name of the module.

Required to create a module.

"value" here will be the name of the module. This name is used to refer to this module in other files, so make sure it is not the same as another module.




{

"name": "value",

"flippedFrom": "value2"

},

Creates a flipped version of the module.

Used for modules that can be flipped horizontally. (i.e. cannons, telescopes, propellers, etc.)

"value" here will be the name of the flipped module. (i.e. FLIPPED_EXAMPLE_MODULE)

"value2" here will be the name of the module being flipped. (i.e. EXAMPLE_MODULE)




"verticallyFlippedVersion": "value",

Creates a vertically flipped version of the module.

Used for modules that can be flipped vertically. (i.e. dorsal turrets, sails, engine pods, etc.)

"value" here will be the name of the module being flipped vertically.




{

"name": "value",

"remove": true

},

Removes the specified module from the game.

Not required.

Used for removing modules from conflicting mods or for other reasons.

"value" here will be the name of the module you are removing.




"categories": [ "value" ],

Sets the category (or categories) the module will be in in the In-Game Editor.

If not provided, the module will not appear in game.

"value" here will be the name of the category you are putting the module in. Default Categories:

BASIC, COMMAND_AND_CREW, LIFT, PROPULSION, RESOURCES, WEAPONS, TROOPS, AIRCRAFT, STRUCTURAL, SOLID_SHAPES, STRUTS, DECORATIVE




"availableFor": [ "value" ],

Sets the type of construct the module is available for in the In-Game Editor.

Not required, game will default to all.

"value" here can be AIRSHIP, LANDSHIP, or BUILDING.





Appearance Attributes:

Structural Attributes:

Resource Attributes:

Weapon Attributes:

Weapon Appearance Attributes:

Audio Attributes:

Track-related Attributes:

Leg-related Attributes:

Tentacle-related Attributes: