User Tools

Site Tools


ixe:json:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ixe:json:start [2025/01/17 16:30] – Switched to description list format. Fireswampixe:json:start [2025/02/14 14:57] (current) – external edit 127.0.0.1
Line 1: Line 1:
-A unit is defined by a json file. Below is a list of all json tags that can be used.+A unit is defined by a JSON file. Below is a list of all JSON tags that can be used.
  
-A guide for how to use these json tags to create a unit can be found [[ixe:mapmaking:custom|here]].+A guide for how to use these JSON tags to create a unit can be found [[ixe:mapmaking:custom|here]].
  
 ===== Unit Tags ===== ===== Unit Tags =====
Line 9: Line 9:
   :When true, the unit remains in the inventory at an amount of "0" even when all are built.   :When true, the unit remains in the inventory at an amount of "0" even when all are built.
   ?buildmenuhide (bool)   ?buildmenuhide (bool)
-  :When true, this unit will not appear in the editor'table of units to build.+  :When true, this unit will not appear under the map editor'unit tab.
   ?maxammo (float)   ?maxammo (float)
   :The max energy ammo for the unit.   :The max energy ammo for the unit.
   ?ammo (float)   ?ammo (float)
-  :The starting enery ammo for the unit.+  :The starting energy ammo for the unit.
   ?maxcammo (float)   ?maxcammo (float)
-  :The max AC ammo for the unit.+  :The max anticreeper ammo for the unit.
   ?cammo (float)   ?cammo (float)
-  :The starting AC ammo for the unit [build 46 and later].+  :The starting anticreeper ammo for the unit [build 46 and later].
   ?isportal (bool)   ?isportal (bool)
   :When true, this unit acts as a portal for packets.   :When true, this unit acts as a portal for packets.
Line 29: Line 29:
   :Whether or not a unit is selectable by the player.   :Whether or not a unit is selectable by the player.
   ?movable (bool)   ?movable (bool)
-  :Whether or not a unit can be moved by the player. In this instance, it means dematerialization based movement.+  :Whether or not a unit can be moved by the player. In this instance, it means dematerialization-based movement (such as player-built ships use).
   ?movelayer (int)   ?movelayer (int)
   :Used for legality of placement for movable units. When units are in different move layers, they do not collide and can be stacked.   :Used for legality of placement for movable units. When units are in different move layers, they do not collide and can be stacked.
   ?hasphysics (bool)   ?hasphysics (bool)
-  :When true, the unit is controlled by the physics engine. +  :When true, the unit is controlled by the physics engine. This means it will collide with sand and other physics-having units, and be affected by gravity.
   ?moveconstraints (int)   ?moveconstraints (int)
-  :When the unit has physics, this controls the rigid body constraints. The int is treated as a bit field with bit 0 meaning to freeze x-axis motion, bit 1 meaning to freeze y-axis motion, and bit 2 meaning to freeze rotation.  Multiple bits can be set at the same time. So "7" would freeze all motion and rotation. "4" would freeze just rotation, etc.+  :When the unit has physics, this controls the rigid body constraints. The int is treated as a bit field with bit 0 meaning to freeze x-axis motion, bit 1 meaning to freeze y-axis motion, and bit 2 meaning to freeze rotation. As a result: 
 +   * 0 = no constraints 
 +   * 1 = can't move horizontally 
 +   * 2 = can't move vertically 
 +   * 3 = can't move in any direction 
 +   = can't rotate 
 +   * 5 = can't rotate or move horizontally 
 +   * 6 = can't rotate or move vertically 
 +   * 7 = can't rotate or move in any direction
   ?gravityscale (float)   ?gravityscale (float)
   :The scale at which gravity affects the unit when the unit has physics enabled. 1 is the default.   :The scale at which gravity affects the unit when the unit has physics enabled. 1 is the default.
Line 41: Line 49:
   :How a unit rotates/flips when moving. 0 = NONE, 1 = FLIP, 2 = FOURWAY.    :How a unit rotates/flips when moving. 0 = NONE, 1 = FLIP, 2 = FOURWAY. 
   ?destroysonhealth (bool)   ?destroysonhealth (bool)
-  :When true, the unit will auto destroy when the pixel count is too low. The "DeadFraction" is the maximum allowed amount of dead pixels.+  :When true, the unit will auto destroy when the pixel count is too low. The "deadfraction" is the maximum allowed amount of dead pixels.
   ?deadfraction (float)   ?deadfraction (float)
   :A fraction (0 to 1 range) that specifies the maximum dead pixel amount allowed on a unit before it self destructs, when destroyonhealth is true.   :A fraction (0 to 1 range) that specifies the maximum dead pixel amount allowed on a unit before it self destructs, when destroyonhealth is true.
   ?internalhealth (float)   ?internalhealth (float)
-  :An optional health that can be used to track damage on a unit. Not related to the pixel count. When the internalHealth starts greater than 0 and is then damaged down to 0, the unit is destroyed. +  :An optional health that can be used to track damage on a unit. Not related to the pixel count. If internalhealth starts greater than 0 and is then damaged down to 0, the unit is destroyed. 
   ?maxinternalhealth (float)   ?maxinternalhealth (float)
   :The max optional health.   :The max optional health.
   ?internalhealthregen (float)   ?internalhealthregen (float)
-  :The regeneration rate of the optional health per game update.+  :The regeneration rate of internalhealth per game update (30 updates/sec in normal speed).
   ?internalhealthdamageovercreeper (float)   ?internalhealthdamageovercreeper (float)
-  :The damage that occurs to the optional health when over creeper.+  :The damage that occurs to internalhealth per game update when touching creeper.
   ?internalhealthdamageoverac (float)   ?internalhealthdamageoverac (float)
-  :The damage that occurs to the optional health when over AC.+  :The damage that occurs to internalhealth per game update when touching anticreeper.
   ?internalhealthdamageoverbot (float)   ?internalhealthdamageoverbot (float)
-  :The damage that occurs to the optional health when over a bot.+  :The damage that occurs to internalhealth per game update when touching a bot.
   ?enemyignore (bool)   ?enemyignore (bool)
   :When true, enemy units like phantoms and bots will ignore this unit.    :When true, enemy units like phantoms and bots will ignore this unit. 
   ?darkraydamages (bool)   ?darkraydamages (bool)
-  :When true, dark ray will damage the unit. +  :When true, dark rays will damage the unit. 
   ?explosiondamages (bool)   ?explosiondamages (bool)
   :When true, exploding sand will damage the unit.    :When true, exploding sand will damage the unit. 
Line 69: Line 77:
   :When true, the unit acts as an IXE core objective.    :When true, the unit acts as an IXE core objective. 
   ?anchordistance (int)   ?anchordistance (int)
-  :The cell range to look for an anchor point. When non-zero, the unit will attempt to anchor itself to land in this range. If not fould, placement of the unit will be illegal. +  :The cell range to look for an anchor point. When non-zero, the unit will attempt to anchor itself to land in this range. If not found, placement of the unit will be illegal. 
   ?anchoroffset (float)   ?anchoroffset (float)
   :The distance an anchor will attempt to maintain between the anchor and the anchor cell.    :The distance an anchor will attempt to maintain between the anchor and the anchor cell. 
Line 77: Line 85:
   :When true, the unit can manage the mouse drawn move paths. Used by the spirit ship, for instance.    :When true, the unit can manage the mouse drawn move paths. Used by the spirit ship, for instance. 
   ?playercandestroy (bool)   ?playercandestroy (bool)
-  :When true, the player can destroy the unit. +  :When true, the player can order the unit to self-destruct
   ?playercontrolbuildsupply (bool)   ?playercontrolbuildsupply (bool)
   :When true, the player can toggle the build supply for the unit.    :When true, the player can toggle the build supply for the unit. 
Line 85: Line 93:
   :When true, a physics controlled unit will not collide with other units.    :When true, a physics controlled unit will not collide with other units. 
   ?autoammo (float)   ?autoammo (float)
-  :The amount of ammo to automatically add to the unit each game frame. +  :The amount of ammo the unit regenerates each game frame. 
   ?autocammo (float)   ?autocammo (float)
-  :The amount of AC ammo to automatically add to the unit each game frame. +  :The amount of anticreeper ammo the unit regenerates each game frame. 
   ?ammorequesttime (int)   ?ammorequesttime (int)
-  :The game frame ammo request rate. Default is 6. +  :The time (in game updates) between ammo requests. Default is 6. 
   ?cammorequesttime (int)   ?cammorequesttime (int)
-  :The game frame AC ammo request rate. Default is 6. +  :The time (in game updates) between ammo requests. Default is 6. 
   ?ammosupply (bool)   ?ammosupply (bool)
-  :When false, the unit won't request ammo or AC ammo.  Defaults to true.+  :When false, the unit won't request ammo or anticreeper ammo. Defaults to true.
   ?objectivetype (int)   ?objectivetype (int)
   :The game objective type for the unit. The types are: 0 = NONE, 1 = IXE_CORE, 2 = INHIBITOR, 3 = ITEM, 4 = EMITTER, 5 = CREEPER, 6 = SPECIAL, 7 = MISSION   :The game objective type for the unit. The types are: 0 = NONE, 1 = IXE_CORE, 2 = INHIBITOR, 3 = ITEM, 4 = EMITTER, 5 = CREEPER, 6 = SPECIAL, 7 = MISSION
   ?selfpowergeneration (float)   ?selfpowergeneration (float)
-  :Similar to autoAmmo, except added in the late game update.+  :Similar to autoammo, except added in the late game update.
   ?physicsmaterial (int)   ?physicsmaterial (int)
-  :The type of physics 'materialto use. The types are: 0 = NONE, 1 = LOW_FRICTION, 2 = NO_FRICTION.+  :The type of physics 'materialto use. The types are: 0 = NONE, 1 = LOW_FRICTION, 2 = NO_FRICTION.
   ?destroyalso (string)   ?destroyalso (string)
   :The name of another unit type to destroy when this unit is destroyed.   :The name of another unit type to destroy when this unit is destroyed.
Line 121: Line 129:
   :Whether the part should rotate when the part is flipped.   :Whether the part should rotate when the part is flipped.
   ?isbuilt (bool)   ?isbuilt (bool)
-  :If the part should be built already.+  :If the part should be fully built upon unit spawn.
   ?creeperdamages (bool)   ?creeperdamages (bool)
   :If creeper damages the part.   :If creeper damages the part.
   ?acdamages (bool)   ?acdamages (bool)
-  :If AC damages the part. +  :If anticreeper damages the part. 
   ?botdamages (bool)   ?botdamages (bool)
-  :If bots damages the part. +  :If bots damage the part. 
   ?powerdispatchstoremax (float)   ?powerdispatchstoremax (float)
   :The maximum amount of energy the unit can store for energy dispatch.   :The maximum amount of energy the unit can store for energy dispatch.
   ?powergeneration [float:min, float:max, int:rampTime]   ?powergeneration [float:min, float:max, int:rampTime]
-  :An array of three values for energy production. Min production (starting production), max production, and ramp time in game updates.+  :An array of three values for energy production. Min is the minimum (starting) production, max is the maximum production, and rampTime is the time (in game updates) to reach maximum production.
   ?digitalissource (bool)   ?digitalissource (bool)
   :If the part causes digitalis to grow.   :If the part causes digitalis to grow.
Line 137: Line 145:
   :The rate at which creeper damages each pixel of a part. Default is 10000.   :The rate at which creeper damages each pixel of a part. Default is 10000.
   ?damageheal (int)   ?damageheal (int)
-  :The rate at whcih part pixels heal when damaged and not under creeper. Default is 10000.+  :The rate at which part pixels heal when damaged and not under creeper. Default is 10000.
   ?regrowthtime (int)   ?regrowthtime (int)
   :The game updates it takes to regrow a part pixel. Default is 500.   :The game updates it takes to regrow a part pixel. Default is 500.
Line 143: Line 151:
   :Whether sand damages the pixels of this part.   :Whether sand damages the pixels of this part.
   ?sandparticlesdamage (bool)   ?sandparticlesdamage (bool)
-  :If Sand Particles can damage the part.+  :If sand particles can damage the part.
   ?alwaysshowrange (bool)   ?alwaysshowrange (bool)
   :When true, a unit with a show_range will always show the range with a range circle.   :When true, a unit with a show_range will always show the range with a range circle.
Line 149: Line 157:
   :The range to reveal FOW (fog of war).   :The range to reveal FOW (fog of war).
   ?constrainwhenoverblockingsand (bool)   ?constrainwhenoverblockingsand (bool)
-  :For physics controlled units, the unit will be frozen if this is true and the part is over blocking sand.+  :For physics controlled units, the unit will be frozen if this is true and the part is over any sand that blocks movement.
   ?applyupforcewhenoverliquid (bool)   ?applyupforcewhenoverliquid (bool)
-  :For physics controlled units will apply a force upwards when over a sand that is a liquid.+  :For physics controlled units, this will apply a force upwards when over a sand that is a liquid.
   ?dragwhenoverliquid (float)   ?dragwhenoverliquid (float)
   :The physics drag for the whole unit when this part is over a liquid sand.   :The physics drag for the whole unit when this part is over a liquid sand.
Line 157: Line 165:
   :The default drag on the whole unit.   :The default drag on the whole unit.
   ?shothitlayer (int)   ?shothitlayer (int)
-  :The layer that determins what shots hit the part. 0 = Default, 1 = Shot_Hits1, 2 = ShotHits2+  :The layer that determines what shots hit the part. 0 = Default, 1 = Shot_Hits1, 2 = ShotHits2
   ?upgradegems (int)   ?upgradegems (int)
   :The upgrade gems awarded when the part is destroyed with destroy actions enabled.    :The upgrade gems awarded when the part is destroyed with destroy actions enabled. 
   ?collider {"type":string, other args}   ?collider {"type":string, other args}
-  :The physics collider for the part. The type can be "none", "circle", "box", "capsule". For "none" there are no additional args. For "circle" and additional arg of "radius":float is supported. For "box" two addional args are supported "width":floatand "height":float.  For "capsule" three addional args are supported "width":float, "height":float, and "direction":"horizontal"|"vertical"+  :The physics collider for the part. The type can be "none", "circle", "box", "capsule". For "none" there are no additional args. For "circle" an additional arg of "radius":float is supported. For "box" two additional args are supported"width":float and "height":float.  For "capsule" three additional args are supported"width":float, "height":float, and "direction":"horizontal"|"vertical"
   ?image (string)   ?image (string)
-  :The path name for the image to use for the parts pixels. +  :The path name for the image to use for the part'pixels. 
   ?pivot [float,float]   ?pivot [float,float]
-  :The pivot for the part.  0.5,0.5 is the center. +  :The pivot for the part. [0.5,0.5is the center. 
   ?sortingorder (int)   ?sortingorder (int)
-  :The visual sorting order used for the parts pixels. +  :The visual sorting order used for the part'pixels. 
   ?colliderexcludemask (int)   ?colliderexcludemask (int)
-  :The exclusion mask for the parts collider. +  :The exclusion mask for the part'collider. 
   ?scale [float,float]   ?scale [float,float]
-  :The x,yscale of the part. +  :The x,y scale of the part. 
   ?anim (string)   ?anim (string)
   :The path to an image that contains frames of an animation.    :The path to an image that contains frames of an animation. 
Line 177: Line 185:
   :A list of RPL scripts to attach to the part. Each {script} consists of a "name":"scriptname" field and then any name:value args to be passed into the script.    :A list of RPL scripts to attach to the part. Each {script} consists of a "name":"scriptname" field and then any name:value args to be passed into the script. 
   ?controllers [{controller},{controller},...,{controller}]   ?controllers [{controller},{controller},...,{controller}]
-  :A list of controllers to attach to the part. Each {controller} consists of a "name":"controllername" field and then any nam:value args to be passwed into the script. +  :A list of controllers to attach to the part. Each {controller} consists of a "name":"controllername" field and then any name:value args to be passed into the script. 
   ?parts [{part},{part},...,{part}]   ?parts [{part},{part},...,{part}]
   :A list of sub parts. Each {part} consists of a "name":"part_json", "position":[float,float], "rotation": float, "sortingorder":int, "active":bool.    :A list of sub parts. Each {part} consists of a "name":"part_json", "position":[float,float], "rotation": float, "sortingorder":int, "active":bool. 
  
ixe/json/start.1737131444.txt.gz · Last modified: 2025/02/14 14:56 (external edit)