-
Notifications
You must be signed in to change notification settings - Fork 1
New Block Format
HammerGuy edited this page Oct 15, 2014
·
17 revisions
In order to migrate away from the previous way of handling tiles and make the format more universal, here is the proposed specifications of a new JSON format.
As part of giving the properties more universality, whenever something claims to be a direction table that means that the lua that represents it will be {0, 1, 0, 1} and the json would be [false, true, false, true] where each element, in order, corresponds to the north, east, south, and west face of a block.
It is very confusing for the bottom side of a block to act like a coin and for the top side to be solid so please try not to exploit these behaviors or else you'll make people mad.
-
BaseImage
stringdefault: "" If not defined, will look for a graphic that corresponds to the filename of the tile. If this references a filename other than itself, it will look for that. -
OffsetX
numberdefault: 0 The x coordinate of the tile's graphic position in BaseImage. -
OffsetY
numberdefault: 0 The y coordinate of the tile's graphic position in BaseImage.
-
Solid
direction tabledefault: true If true, things will collide with this block's face. If a given face is marked as non-solid the player will be able to enter the block from that direction. Once inside the block, the player will be able to leave from any direction. Setting the left side to be non-solid and the right to be solid will allow the player to walk through it from left to right but will prevent him from re-entering from the right. -
Visible
booleandefault: true If false, this block will not be visible but will retain its other properties. -
Breakable
direction tabledefault: false If true, super mario and koopa shells will destroy this block on this face. -
Coin
booleandefault: false If true, will give the player a coin when touched. -
Portalable
direction tabledefault: true If false, the player will not be able to place portals on this block's face nor will this block's face be usable to host neighboring portals. -
Mirror
direction tabledefault: false If true, portals shot at a given face will reflect at the angle they are shot from. -
Grate
direction tabledefault: false If true, portals will be able to enter and leave through faces set as grates. -
Water
booleandefault: false If true, players inside this block will be swimming. -
Hurt
direction tabledefault: false If true, will hurt players that collide with the block from that direction. -
Foreground
booleandefault: false If true, this block will be in front of things. -
Bounce
direction tabledefault: false If true, the player will bounce from that/those direction(s). -
Kill
direction tabledefault: false If true, will outright destroy an unprotected player when they come in contact akin to that of the hurt block.
-
Triggerable
booleandefault: false If true, this block will be able to receive a signal from the animatedtiletrigger entity to begin animating. -
FrameDuration
decimal (seconds/frame)default: 0.0 The length, in seconds, that this block should use its current graphic before advancing to its next frame. -
NextFrame
stringdefault: "" The name of the tile to change to. When this happens, this tile will no longer exist and an instance of the specified tile will replace it -- including all the properties. -
Switchable:
booleandefault: false If true, this block will turn into its next frame. -
Switchback:
stringdefault: "" The tile will turn into this when the switch is no longer in effect. -
Switchtype:
stringdefault: "" What makes this switch tick? "pswitch"? "onoffblock"? "exclamationswitch(es)"? -
NoMercy:
booleandefault: false If true, hurt/kill blocks will harm player without any bias (Example: A starman has no effect in say, extremely hot lava.)
-
PlatformThis property could be reduced to the solid property. -
BridgeThis property could be remade with triggers.