forked from Mirrorlandia_minetest/minetest
Give CSM access to use core.colorize()
(#5113)
This commit is contained in:
parent
7b74f04a61
commit
d31750cb93
@ -638,3 +638,35 @@ if INIT == "client" or INIT == "mainmenu" then
|
|||||||
return core.formspec_escape(fgettext_ne(text, ...))
|
return core.formspec_escape(fgettext_ne(text, ...))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Client-sided mods don't have access to getbool
|
||||||
|
if core.setting_getbool and core.setting_getbool("disable_escape_sequences") then
|
||||||
|
|
||||||
|
function core.get_color_escape_sequence(color)
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
function core.get_background_escape_sequence(color)
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
function core.colorize(color, message)
|
||||||
|
return message
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
local ESCAPE_CHAR = string.char(0x1b)
|
||||||
|
function core.get_color_escape_sequence(color)
|
||||||
|
return ESCAPE_CHAR .. "(c@" .. color .. ")"
|
||||||
|
end
|
||||||
|
|
||||||
|
function core.get_background_escape_sequence(color)
|
||||||
|
return ESCAPE_CHAR .. "(b@" .. color .. ")"
|
||||||
|
end
|
||||||
|
|
||||||
|
function core.colorize(color, message)
|
||||||
|
return core.get_color_escape_sequence(color) .. message .. core.get_color_escape_sequence("#ffffff")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
@ -170,37 +170,6 @@ function core.http_add_fetch(httpenv)
|
|||||||
return httpenv
|
return httpenv
|
||||||
end
|
end
|
||||||
|
|
||||||
if minetest.setting_getbool("disable_escape_sequences") then
|
|
||||||
|
|
||||||
function core.get_color_escape_sequence(color)
|
|
||||||
return ""
|
|
||||||
end
|
|
||||||
|
|
||||||
function core.get_background_escape_sequence(color)
|
|
||||||
return ""
|
|
||||||
end
|
|
||||||
|
|
||||||
function core.colorize(color, message)
|
|
||||||
return message
|
|
||||||
end
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
local ESCAPE_CHAR = string.char(0x1b)
|
|
||||||
function core.get_color_escape_sequence(color)
|
|
||||||
return ESCAPE_CHAR .. "(c@" .. color .. ")"
|
|
||||||
end
|
|
||||||
|
|
||||||
function core.get_background_escape_sequence(color)
|
|
||||||
return ESCAPE_CHAR .. "(b@" .. color .. ")"
|
|
||||||
end
|
|
||||||
|
|
||||||
function core.colorize(color, message)
|
|
||||||
return core.get_color_escape_sequence(color) .. message .. core.get_color_escape_sequence("#ffffff")
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function core.close_formspec(player_name, formname)
|
function core.close_formspec(player_name, formname)
|
||||||
return minetest.show_formspec(player_name, formname, "")
|
return minetest.show_formspec(player_name, formname, "")
|
||||||
end
|
end
|
||||||
|
@ -40,6 +40,12 @@ core.register_chatcommand("dump", {
|
|||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
core.register_chatcommand("colorize_test", {
|
||||||
|
func = function(param)
|
||||||
|
return true, core.colorize("red", param)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
core.register_chatcommand("test_node", {
|
core.register_chatcommand("test_node", {
|
||||||
func = function(param)
|
func = function(param)
|
||||||
core.display_chat_message(dump(core.get_node({x=0, y=0, z=0})))
|
core.display_chat_message(dump(core.get_node({x=0, y=0, z=0})))
|
||||||
|
@ -787,12 +787,12 @@ Call these functions only at load time!
|
|||||||
extra arguments and return the result
|
extra arguments and return the result
|
||||||
* `fgettext(string, ...)` : returns string
|
* `fgettext(string, ...)` : returns string
|
||||||
* same as fgettext_ne(), but calls core.formspec_escape before returning result
|
* same as fgettext_ne(), but calls core.formspec_escape before returning result
|
||||||
* `show_formspec(formname, formspec)` : returns true on success
|
|
||||||
* Shows a formspec to the player
|
|
||||||
|
|
||||||
### UI
|
### UI
|
||||||
* `minetest.ui.minimap`
|
* `minetest.ui.minimap`
|
||||||
* Reference to the minimap object. See `Minimap` class reference for methods.
|
* Reference to the minimap object. See `Minimap` class reference for methods.
|
||||||
|
* `show_formspec(formname, formspec)` : returns true on success
|
||||||
|
* Shows a formspec to the player
|
||||||
|
|
||||||
Class reference
|
Class reference
|
||||||
---------------
|
---------------
|
||||||
@ -837,3 +837,37 @@ Definition tables
|
|||||||
func = function(name, param), -- Called when command is run.
|
func = function(name, param), -- Called when command is run.
|
||||||
-- Returns boolean success and text output.
|
-- Returns boolean success and text output.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Escape sequences
|
||||||
|
----------------
|
||||||
|
Most text can contain escape sequences, that can for example color the text.
|
||||||
|
There are a few exceptions: tab headers, dropdowns and vertical labels can't.
|
||||||
|
The following functions provide escape sequences:
|
||||||
|
* `core.get_color_escape_sequence(color)`:
|
||||||
|
* `color` is a ColorString
|
||||||
|
* The escape sequence sets the text color to `color`
|
||||||
|
* `core.colorize(color, message)`:
|
||||||
|
* Equivalent to:
|
||||||
|
`core.get_color_escape_sequence(color) ..
|
||||||
|
message ..
|
||||||
|
core.get_color_escape_sequence("#ffffff")`
|
||||||
|
* `color.get_background_escape_sequence(color)`
|
||||||
|
* `color` is a ColorString
|
||||||
|
* The escape sequence sets the background of the whole text element to
|
||||||
|
`color`. Only defined for item descriptions and tooltips.
|
||||||
|
|
||||||
|
`ColorString`
|
||||||
|
-------------
|
||||||
|
`#RGB` defines a color in hexadecimal format.
|
||||||
|
|
||||||
|
`#RGBA` defines a color in hexadecimal format and alpha channel.
|
||||||
|
|
||||||
|
`#RRGGBB` defines a color in hexadecimal format.
|
||||||
|
|
||||||
|
`#RRGGBBAA` defines a color in hexadecimal format and alpha channel.
|
||||||
|
|
||||||
|
Named colors are also supported and are equivalent to
|
||||||
|
[CSS Color Module Level 4](http://dev.w3.org/csswg/css-color/#named-colors).
|
||||||
|
To specify the value of the alpha channel, append `#AA` to the end of the color name
|
||||||
|
(e.g. `colorname#08`). For named colors the hexadecimal string representing the alpha
|
||||||
|
value must (always) be two hexadecima
|
Loading…
Reference in New Issue
Block a user