Prototype/RailSignalBase: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(0.17)
(1.1: Collision requirements)
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Basics ==
{{Prototype parent|Prototype/EntityWithHealth}}
This type is abstract and cannot be created directly.
The abstract base entity for both rail signals.


Extends [[Prototype/EntityWithHealth]].
{{Prototype TOC|''abstract''}}


== Extensions ==
== Extensions ==
Line 11: Line 11:
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].


=== animation ===
{{Prototype property|animation|[[Types/RotatedAnimation|RotatedAnimation]]}}
'''Type''': [[Types/RotatedAnimation]]


== Optional properties ==
== Optional properties ==


=== rail_piece ===
{{Prototype property|rail_piece|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]


=== green_light ===
{{Prototype property|green_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}
'''Type''': [[Types/LightDefinition]]


=== orange_light ===
{{Prototype property|orange_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}
'''Type''': [[Types/LightDefinition]]


=== red_light ===
{{Prototype property|red_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}
'''Type''': [[Types/LightDefinition]]


=== default_red_output_signal ===
{{Prototype property|default_red_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}
'''Type''': [[Types/SignalIDConnector]]


=== default_orange_output_signal ===
{{Prototype property|default_orange_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}
'''Type''': [[Types/SignalIDConnector]]


=== default_green_output_signal ===
{{Prototype property|default_green_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}
'''Type''': [[Types/SignalIDConnector]]
 
=== circuit_wire_max_distance ===
'''Type''': [[Types/double]]
 
'''Default''': 0


{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}
The maximum circuit wire distance for this entity.
The maximum circuit wire distance for this entity.


=== draw_copper_wires ===
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}
'''Type''': [[Types/bool]]


'''Default''': true
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}


=== draw_circuit_wires ===
{{Prototype property|circuit_wire_connection_points|[[Types/table|table]] of [[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}
'''Type''': [[Types/bool]]
Mandatory if circuit_wire_max_distance > 0.
 
'''Default''': true
 
=== circuit_wire_connection_points ===
'''Type''': [[Types/table]] of [[Types/WireConnectionPoint]]


{{Prototype property|circuit_connector_sprites|[[Types/table|table]] of [[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}
Mandatory if circuit_wire_max_distance > 0.
Mandatory if circuit_wire_max_distance > 0.


=== circuit_connector_sprites ===
== Mandatory values ==
'''Type''': [[Types/table]] of [[Types/CircuitConnectorSprites]]
The [[Prototype/Entity#collision_box|collision_box]] of rail signals is hardcoded to {{-0.2, -0.2}, {0.2, 0.2}}.


Mandatory if circuit_wire_max_distance > 0.
Rail signals have additional requirements for the properties inherited from [[Prototype/Entity]]:
* The [[Types/EntityPrototypeFlags#.22placeable-off-grid.22|"placeable-off-grid"]] flag will be ignored.
* Rail signals must collide with each other, can be achieved by having the [[Types/CollisionMask#Layers|"rail-layer"]] collision mask layer on all rail signals.

Revision as of 16:17, 3 December 2020

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/RailSignalBase


The abstract base entity for both rail signals.


Prototype/RailSignalBase — abstract
animation::RotatedAnimation
circuit_connector_sprites::table of CircuitConnectorSprites (optional)
circuit_wire_connection_points::table of WireConnectionPoint (optional)
circuit_wire_max_distance::double (optional)
default_green_output_signal::SignalIDConnector (optional)
default_orange_output_signal::SignalIDConnector (optional)
default_red_output_signal::SignalIDConnector (optional)
draw_circuit_wires::bool (optional)
draw_copper_wires::bool (optional)
green_light::LightDefinition (optional)
orange_light::LightDefinition (optional)
rail_piece::Animation (optional)
red_light::LightDefinition (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Extensions

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithHealth.

animation

Type: RotatedAnimation

Optional properties

rail_piece

Type: Animation

green_light

Type: LightDefinition

orange_light

Type: LightDefinition

red_light

Type: LightDefinition

default_red_output_signal

Type: SignalIDConnector

default_orange_output_signal

Type: SignalIDConnector

default_green_output_signal

Type: SignalIDConnector

circuit_wire_max_distance

Type: double
Default: 0
The maximum circuit wire distance for this entity.

draw_copper_wires

Type: bool
Default: true

draw_circuit_wires

Type: bool
Default: true

circuit_wire_connection_points

Type: table of WireConnectionPoint
Mandatory if circuit_wire_max_distance > 0.

circuit_connector_sprites

Type: table of CircuitConnectorSprites
Mandatory if circuit_wire_max_distance > 0.

Mandatory values

The collision_box of rail signals is hardcoded to {{-0.2, -0.2}, {0.2, 0.2}}.

Rail signals have additional requirements for the properties inherited from Prototype/Entity:

  • The "placeable-off-grid" flag will be ignored.
  • Rail signals must collide with each other, can be achieved by having the "rail-layer" collision mask layer on all rail signals.