Merge branch 'MihailRis:main' into main

This commit is contained in:
Xertis 2024-11-30 15:54:19 +03:00 committed by GitHub
commit e69eb7576e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 76 additions and 19 deletions

View File

@ -4,14 +4,14 @@
The appearance of 3D text, is configured via a table, like [particles](particles.md). All fields are optional.
| Field | Description | Default |
| -------------- | ---------------------------- | ---------------- |
| display | Display format | static_billboard |
| color | Text color | {1, 1, 1, 1} |
| scale | Text scale | 1 |
| renderDistance | Text rendering distance | 32 |
| xray_opacity | Visibility through obstacles | 0 |
| perspective | Perspective coefficient | 1 |
| Field | Description | Default |
| --------------- | ---------------------------- | ---------------- |
| display | Display format | static_billboard |
| color | Text color | {1, 1, 1, 1} |
| scale | Text scale | 1 |
| render_distance | Text rendering distance | 32 |
| xray_opacity | Visibility through obstacles | 0 |
| perspective | Perspective coefficient | 1 |
Available display formats:

View File

@ -9,7 +9,7 @@
| display | Формат отображения | static_billboard |
| color | Цвет текста | {1, 1, 1, 1} |
| scale | Масштаб | 1 |
| renderDistance | Дистанция отрисовки текста | 32 |
| render_distance | Дистанция отрисовки текста | 32 |
| xray_opacity | Коэффициент видимости через препятствия (просвечивание) | 0 |
| perspective | Коэффициент перспективы | 1 |

View File

@ -1,6 +1,9 @@
local base_entities = {}
local util = {}
function base_entities.drop(ppos, itemid, count, pickup_delay)
function util.drop(ppos, itemid, count, pickup_delay)
if itemid == 0 or not itemid then
return nil
end
return entities.spawn("base:drop", ppos, {base__drop={
id=itemid,
count=count,
@ -8,4 +11,4 @@ function base_entities.drop(ppos, itemid, count, pickup_delay)
}})
end
return base_entities
return util

View File

@ -23,3 +23,4 @@ wood=puu
torch=taskulamppu
bazalt breaker=basaltti rikkooja
wooden door=puu ovi
ice=jää

View File

@ -7,11 +7,28 @@ Back=Takaisin
Continue=Jatka
Add=lisätä
Converting world...=Maailman muuttuminen on käynnissä...
Version=Versio
Creator=Tekijä
Dependencies=Riippuvuudet
Description=Kuvaus
Unlimited=Rajaton
Chat=Keskustelu
Console=Konsoli
Log=Loki
Problems=Ongelmia
Monitor=Valvonta
Debug=Virheenkorjaus
File=Tiedosto
devtools.traceback=Puhelupino (viimeisestä)
error.pack-not-found=Pakettia ei löytynyt!
error.dependency-not-found=Käytetty riippuvuutta ei löytynyt
pack.remove-confirm=Poistetaanko kaikki pakettien sisältö maailmasta (peruuttamattomasti)?
# Подсказки
graphics.gamma.tooltip=Valon kirkkauskäyrä
graphics.backlight.tooltip=Taustavalo estää täydellisen pimeyden
# Меню
menu.Apply=Tallenna
menu.Audio=Ääni
@ -20,6 +37,7 @@ menu.Content Error=Virhe Sisällössä
menu.Content=Sisältö
menu.Continue=Jatka
menu.Controls=Ohjaus
menu.Display=Näyttö
menu.Graphics=Grafiikka
menu.missing-content=Sisältö Puuttuu!
menu.New World=Uusi Maailma
@ -29,6 +47,10 @@ menu.Page not found=Sivu ei löytynyt!
menu.Quit=Poistu
menu.Save and Quit to Menu=Tallenna ja Takaisin Valikkoon
menu.Settings=Asetukset
menu.Reset settings=Palauta asetukset
menu.Contents Menu=Sisältöpaketin valikko
menu.Open data folder=Avaa data-kansio
menu.Open content folder=Avaa kansio [content]
world.Seed=Siemen
world.Name=Nimi
@ -38,14 +60,20 @@ world.generators.flat=Tasainen
world.Create World=Luo Maailma
world.convert-request=Indekseissä on muutoksia! Kääntää maailman?
world.delete-confirm=Poistetaanko maailma pysyvästi?
world.upgrade-request=Maailman muoto on vanhentunut! Kääntää maailman?
world.convert-with-loss=Muuntaa maailman tappioilla?
world.convert-block-layouts=Estokentissä on muutoksia! Kääntää maailman?
# Настройки
settings.Ambient=Tausta
settings.Backlight=Taustavalo
settings.Camera Shaking=Tärisevä kamera
settings.Camera Inertia=Kameran inertia
settings.Camera FOV Effects=Näkökentän tehosteet
settings.Fog Curve=Sumukäurä
settings.FOV=Näkokenttä
settings.Fullscreen=Koko näyttö
settings.Framerate=Kuvataajuus
settings.Gamma=Gamma
settings.Language=Kieli
settings.Load Distance=Latausetäisyys
@ -56,8 +84,12 @@ settings.Music=Musiikki
settings.Regular Sounds=Tavalliset Äänet
settings.UI Sounds=Käyttöliittymän äänet
settings.V-Sync=Pystytahdistus
settings.Key=Painike
settings.Controls Search Mode=Hae sidotun ohjauspainikkeen perusteella
settings.Limit Background FPS=Rajoita taustakuvanopeutta
# Управление
chunks.reload=Lataa kimpale uudelleen
devtools.console=Konsoli
movement.forward=Eteenpäin
movement.back=Taaksepäin
@ -69,8 +101,11 @@ movement.crouch=Hiipiä
movement.cheat=Huijata
hud.inventory=Varasto
player.pick=Valitse lohko
player.attack=Lyödä / Rikkoa
player.attack=Lyödä
player.destroy=Rikkoa
player.build=Aseta lohko
player.fast_interaction=Nopeutettu vuorovaikutus
player.flight=Lento
player.drop=Heitä kappale
camera.zoom=Lähentäminen
camera.mode=Vaihda kameratilaa

View File

@ -9,7 +9,7 @@ static int l_get(lua::State* L) {
std::string url(lua::require_lstring(L, 1));
lua::pushvalue(L, 2);
auto onResponse = lua::create_lambda(L);
auto onResponse = lua::create_lambda_nothrow(L);
engine->getNetwork().get(url, [onResponse](std::vector<char> bytes) {
engine->postRunnable([=]() {
@ -23,7 +23,7 @@ static int l_get_binary(lua::State* L) {
std::string url(lua::require_lstring(L, 1));
lua::pushvalue(L, 2);
auto onResponse = lua::create_lambda(L);
auto onResponse = lua::create_lambda_nothrow(L);
engine->getNetwork().get(url, [onResponse](std::vector<char> bytes) {
auto buffer = std::make_shared<util::Buffer<ubyte>>(
@ -40,7 +40,7 @@ static int l_connect(lua::State* L) {
std::string address = lua::require_string(L, 1);
int port = lua::tointeger(L, 2);
lua::pushvalue(L, 3);
auto callback = lua::create_lambda(L);
auto callback = lua::create_lambda_nothrow(L);
u64id_t id = engine->getNetwork().connect(address, port, [callback](u64id_t id) {
engine->postRunnable([=]() {
callback({id});
@ -122,7 +122,7 @@ static int l_recv(lua::State* L) {
static int l_open(lua::State* L) {
int port = lua::tointeger(L, 1);
lua::pushvalue(L, 2);
auto callback = lua::create_lambda(L);
auto callback = lua::create_lambda_nothrow(L);
u64id_t id = engine->getNetwork().openServer(port, [callback](u64id_t id) {
engine->postRunnable([=]() {
callback({id});

View File

@ -175,7 +175,7 @@ int lua::call_nothrow(State* L, int argc, int nresults) {
int handler_pos = gettop(L) - argc;
pushcfunction(L, l_error_handler);
insert(L, handler_pos);
if (lua_pcall(L, argc, LUA_MULTRET, handler_pos)) {
if (lua_pcall(L, argc, -1, handler_pos)) {
auto errorstr = tostring(L, -1);
if (errorstr) {
log_error(errorstr);
@ -187,7 +187,7 @@ int lua::call_nothrow(State* L, int argc, int nresults) {
return 0;
}
remove(L, handler_pos);
return nresults == -1 ? 1 : nresults;
return 1;
}
void lua::dump_stack(State* L) {
@ -263,6 +263,23 @@ scripting::common_func lua::create_lambda(State* L) {
};
}
scripting::common_func lua::create_lambda_nothrow(State* L) {
auto funcptr = create_lambda_handler(L);
return [=](const std::vector<dv::value>& args) -> dv::value {
getglobal(L, LAMBDAS_TABLE);
getfield(L, *funcptr);
for (const auto& arg : args) {
pushvalue(L, arg);
}
if (call_nothrow(L, args.size(), 1)) {
auto result = tovalue(L, -1);
pop(L);
return result;
}
return nullptr;
};
}
int lua::create_environment(State* L, int parent) {
int id = nextEnvironment++;

View File

@ -574,6 +574,7 @@ namespace lua {
runnable create_runnable(lua::State*);
scripting::common_func create_lambda(lua::State*);
scripting::common_func create_lambda_nothrow(lua::State*);
inline int pushenv(lua::State* L, int env) {
if (getglobal(L, env_name(env))) {