Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2020-02-22 19:32:10 -05:00
14 changed files with 39 additions and 24 deletions

View File

@@ -1,6 +1,10 @@
--- ---
name: Bug report name: Bug report
about: Create a report to help fix an issue. about: Create a report to help fix an issue.
title: ''
labels: ''
assignees: ''
--- ---
**Platform**: *Android/iOS/Mac/Windows/Linux* **Platform**: *Android/iOS/Mac/Windows/Linux*

View File

@@ -1,7 +1,11 @@
--- ---
name: Feature request name: Feature request
about: Do not make a new issue for feature requests! Instead, post it on FeatHub, see the README. about: Do not make a new issue for feature requests! Instead, post it on FeatHub,
see the README.
title: ''
labels: invalid
assignees: ''
--- ---
**Do not make a new issue for feature requests!** Instead, post it on FeatHub: https://feathub.com/Anuken/Mindustry **Do not make a new issue for feature requests!** Instead, post it in suggestions repository: https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose

View File

@@ -51,6 +51,10 @@ If the terminal returns `Permission denied` or `Command not found` on Mac/Linux,
Gradle may take up to several minutes to download files. Be patient. <br> Gradle may take up to several minutes to download files. Be patient. <br>
After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds. After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
### Feature Requests
Post feature requests and feedback [here](https://github.com/Anuken/Mindustry-Suggestions/issues/new/choose).
### Downloads ### Downloads
[<img src="https://static.itch.io/images/badge.svg" [<img src="https://static.itch.io/images/badge.svg"
@@ -64,7 +68,3 @@ After building, the output .JAR file should be in `/desktop/build/libs/Mindustry
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" [<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid" alt="Get it on F-Droid"
height="80">](https://f-droid.org/packages/io.anuke.mindustry/) height="80">](https://f-droid.org/packages/io.anuke.mindustry/)
### Feature Requests
[![Feature Requests](https://feathub.com/Anuken/Mindustry?format=svg)](https://feathub.com/Anuken/Mindustry)

View File

@@ -64,7 +64,7 @@ stat.rank = Final Rank: [accent]{0}
launcheditems = [accent]Launched Items launcheditems = [accent]Launched Items
launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue. launchinfo = [unlaunched][[LAUNCH] your core to obtain the items indicated in blue.
map.delete = Are you sure you want to delete the map "[accent]{0}[]"? map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
level.highscore = High Score: [accent]{0}1 level.highscore = High Score: [accent]{0}
level.select = Level Select level.select = Level Select
level.mode = Gamemode: level.mode = Gamemode:
showagain = Don't show again next session showagain = Don't show again next session
@@ -788,6 +788,7 @@ rules.title.unit = Units
rules.title.experimental = Experimental rules.title.experimental = Experimental
rules.lighting = Lighting rules.lighting = Lighting
rules.ambientlight = Ambient Light rules.ambientlight = Ambient Light
rules.solarpowermultiplier = Solar Power Multiplier
content.item.name = Items content.item.name = Items
content.liquid.name = Liquids content.liquid.name = Liquids

View File

@@ -39,7 +39,6 @@ be.check = Zkontrolovat aktualizace
schematic = Šablona schematic = Šablona
schematic.add = Uložit šablonu... schematic.add = Uložit šablonu...
schematics = Šablony schematics = Šablony
schematic.replace = Šablona tohoto jména již existuje. Chceš ji nahradit?
schematic.import = Importuji šablonu... schematic.import = Importuji šablonu...
schematic.exportfile = Exportovat soubor schematic.exportfile = Exportovat soubor
schematic.importfile = Importovat soubor schematic.importfile = Importovat soubor
@@ -664,7 +663,7 @@ setting.borderlesswindow.name = Bezokrajové okno[lightgray] (může vyžadovat
setting.fps.name = Ukázat FPS a ping setting.fps.name = Ukázat FPS a ping
setting.blockselectkeys.name = Ukázat klávesy při práci s blokem setting.blockselectkeys.name = Ukázat klávesy při práci s blokem
setting.vsync.name = Vertikální synchronizace setting.vsync.name = Vertikální synchronizace
setting.pixelate.name = Rozpixlovat [lightgray](může snížit výkon)[] setting.pixelate.name = Rozpixlovat
setting.minimap.name = Ukázat mapičku setting.minimap.name = Ukázat mapičku
setting.position.name = Ukázat pozici hráče setting.position.name = Ukázat pozici hráče
setting.musicvol.name = Hlasitost hudby setting.musicvol.name = Hlasitost hudby

View File

@@ -174,7 +174,7 @@ hosts.none = [lightgray]¡No se han encontrado partidas LAN!
host.invalid = [scarlet]No se ha podido conectar al anfitrión. host.invalid = [scarlet]No se ha podido conectar al anfitrión.
servers.local = Servidores Locales servers.local = Servidores Locales
servers. remote = Servidores Remotos servers.remote = Servidores Remotos
servers.global = Global Servers servers.global = Global Servers
trace = Rastrear Jugador trace = Rastrear Jugador

View File

@@ -39,7 +39,6 @@ be.check = Verifica aggiornamenti
schematic = Schematica schematic = Schematica
schematic.add = Salva Schematica... schematic.add = Salva Schematica...
schematics = Schematiche schematics = Schematiche
schematic.replace = Una schematica con questo nome esiste già. Sostituirla?
schematic.import = Importa schematica schematic.import = Importa schematica
schematic.exportfile = Esporta File schematic.exportfile = Esporta File
schematic.importfile = Importa File schematic.importfile = Importa File
@@ -664,7 +663,7 @@ setting.borderlesswindow.name = Finestra Senza Bordi[lightgray] (potrebbe richie
setting.fps.name = Mostra FPS e Ping setting.fps.name = Mostra FPS e Ping
setting.blockselectkeys.name = Mostra Tasto di Selezione del Blocco setting.blockselectkeys.name = Mostra Tasto di Selezione del Blocco
setting.vsync.name = VSync setting.vsync.name = VSync
setting.pixelate.name = Effetto Pixel [lightgray](potrebbe ridure le prestazioni) setting.pixelate.name = Effetto Pixel[lightgray] (disabilita le animazioni)
setting.minimap.name = Mostra Minimappa setting.minimap.name = Mostra Minimappa
setting.position.name = Mostra Posizione Giocatori setting.position.name = Mostra Posizione Giocatori
setting.musicvol.name = Volume Musica setting.musicvol.name = Volume Musica
@@ -789,6 +788,7 @@ rules.title.unit = Unità
rules.title.experimental = Sperimentale rules.title.experimental = Sperimentale
rules.lighting = Illuminazione rules.lighting = Illuminazione
rules.ambientlight = Illuminazione\nAmbientale rules.ambientlight = Illuminazione\nAmbientale
rules.solarpowermultiplier = Moltiplicatore Energia Solare
content.item.name = Oggetti content.item.name = Oggetti
content.liquid.name = Liquidi content.liquid.name = Liquidi
@@ -1226,7 +1226,7 @@ block.core-nucleus.description = La terza ed ultima versione del Nucleo. Estrema
block.vault.description = Immagazzina una grande quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal deposito. block.vault.description = Immagazzina una grande quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal deposito.
block.container.description = Immagazzina una piccola quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal contenitore. block.container.description = Immagazzina una piccola quantità di oggetti. Usalo per creare zone cuscinetto quando c'è una domanda non costante di materiali. Uno [lightgray]scaricatore[] può essere utilizzato per recuperare elementi dal contenitore.
block.unloader.description = Scarica gli oggetti da un contenitore, deposito o Nucleo su un nastro trasportatore o direttamente in un blocco adiacente. L'oggetto da scaricare può essere scelto toccando lo scaricatore. block.unloader.description = Scarica gli oggetti da un contenitore, deposito o Nucleo su un nastro trasportatore o direttamente in un blocco adiacente. L'oggetto da scaricare può essere scelto toccando lo scaricatore.
block.launch-pad.description = Lancia oggetti nel tuo Nucleo senza necessità di un lasciare la zona. block.launch-pad.description = Lancia oggetti nel tuo Nucleo senza necessità di lasciare la zona.
block.launch-pad-large.description = Una versione migliore dell'Ascensore Spaziale, immagazzina più oggetti. Lancia oggetti più frequentemente. block.launch-pad-large.description = Una versione migliore dell'Ascensore Spaziale, immagazzina più oggetti. Lancia oggetti più frequentemente.
block.duo.description = Una torretta piccola ed economica. block.duo.description = Una torretta piccola ed economica.
block.scatter.description = Una torretta antiaerea di medie dimensioni. Spara schegge di piombo o frammenti di rottami sulle unità nemiche. block.scatter.description = Una torretta antiaerea di medie dimensioni. Spara schegge di piombo o frammenti di rottami sulle unità nemiche.

View File

@@ -59,6 +59,7 @@ stat.built = Budynki zbudowane:[accent] {0}
stat.destroyed = Budynki zniszczone:[accent] {0} stat.destroyed = Budynki zniszczone:[accent] {0}
stat.deconstructed = Budynki zrekonstruowane:[accent] {0} stat.deconstructed = Budynki zrekonstruowane:[accent] {0}
stat.delivered = Surowce wystrzelone: stat.delivered = Surowce wystrzelone:
stat.playtime = Czas Gry:[accent] {0}
stat.rank = Ocena: [accent]{0} stat.rank = Ocena: [accent]{0}
launcheditems = [accent]Wystrzelone przedmioty launcheditems = [accent]Wystrzelone przedmioty
@@ -388,7 +389,7 @@ toolmode.fillteams.description = Wypełniaj drużyny zamiast bloków.
toolmode.drawteams = Rysuj Drużyny toolmode.drawteams = Rysuj Drużyny
toolmode.drawteams.description = Rysuj drużyny zamiast bloków. toolmode.drawteams.description = Rysuj drużyny zamiast bloków.
filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej. filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej.
filter.distort = Zniekształcanie filter.distort = Zniekształcanie
filter.noise = Szum filter.noise = Szum
filter.median = Mediana filter.median = Mediana
@@ -531,6 +532,8 @@ error.crashtitle = Wystąpił błąd
blocks.input = Wejście blocks.input = Wejście
blocks.output = Wyjście blocks.output = Wyjście
blocks.booster = Wzmacniacz blocks.booster = Wzmacniacz
blocks.tiles = Wymagane Pola
blocks.affinities = Uwydajnienie
block.unknown = [lightgray]??? block.unknown = [lightgray]???
blocks.powercapacity = Pojemność mocy blocks.powercapacity = Pojemność mocy
blocks.powershot = moc/strzał blocks.powershot = moc/strzał
@@ -1085,7 +1088,7 @@ item.copper.description = Przydatny materiał budowlany. Szeroko używany w praw
item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy? item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
item.metaglass.description = Wyjątkowo wytrzymały stop szkła. Szeroko używany w transporcie i przechowywaniu płynów. item.metaglass.description = Wyjątkowo wytrzymały stop szkła. Szeroko używany w transporcie i przechowywaniu płynów.
item.graphite.description = Zmineralizowany węgiel, wykorzystywany do amunicji i izolacji elektrycznej. item.graphite.description = Zmineralizowany węgiel, wykorzystywany do amunicji i izolacji elektrycznej.
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne. item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne.
item.coal.description = Zwykły i łatwo dostępny materiał energetyczny. Używany powszechnie jako paliwo oraz w produkcji surowców. item.coal.description = Zwykły i łatwo dostępny materiał energetyczny. Używany powszechnie jako paliwo oraz w produkcji surowców.
item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan! item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan!
item.thorium.description = Zwarty i radioaktywny materiał używany w strukturach i paliwie nuklearnym. Nie trzymaj go w rękach! item.thorium.description = Zwarty i radioaktywny materiał używany w strukturach i paliwie nuklearnym. Nie trzymaj go w rękach!
@@ -1169,13 +1172,13 @@ block.bridge-conveyor.description = Zaawansowany blok transportujący. Pozwala n
block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości. block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odległości.
block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przechodzi dalej, jeśli nie - to przechodzi na boki. block.sorter.description = Sortuje przedmioty. Jeśli przedmiot pasuje to przechodzi dalej, jeśli nie - to przechodzi na boki.
block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki. block.inverted-sorter.description = Sortuje przedmioty jak zwykły sortownik, ale odpowiednie surowce wyciągane są na boki.
block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów. block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródła do wielu celów.\n\n[scarlet]Nigdy nie używaj przy punkcje wejścia materiałów produkcyjnych, ponieważ zostaną one zatkane przez materiały wyjściowe.[]
block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków. block.distributor.description = Zaawansowany rozdzielacz, rozdzielający przedmioty do 7 innych kierunków.
block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepełniona
block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości. block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odległości.
block.mechanical-pump.description = Tania pompa o niskiej wydajności. Nie wymaga prądu. block.mechanical-pump.description = Tania pompa o niskiej wydajności. Nie wymaga prądu.
block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale wymaga zasilania. block.rotary-pump.description = Zaawansowana pompa. Pompuje więcej cieczy, ale wymaga zasilania.
block.thermal-pump.description = Najlepsza pompa. Trzy razy szybsza od mechanicznej pompy i jedyna, która może wypompować lawę. block.thermal-pump.description = Najlepsza pompa.
block.conduit.description = Podstawowy blok do transportowania cieczy. Używany w połączeniu z pompami i innymi rurami. block.conduit.description = Podstawowy blok do transportowania cieczy. Używany w połączeniu z pompami i innymi rurami.
block.pulse-conduit.description = Zaawansowany blok do transportowania cieczy. Transportuje je szybciej i magazynuje więcej niż standardowe rury. block.pulse-conduit.description = Zaawansowany blok do transportowania cieczy. Transportuje je szybciej i magazynuje więcej niż standardowe rury.
block.plated-conduit.description = Przesyła ciecze z taką samą szybkością co rura tytanowa, ale jest bardziej odporna. Wejściami bocznymi mogą być tylko inne rury.\nWycieka z niej mniej cieczy. block.plated-conduit.description = Przesyła ciecze z taką samą szybkością co rura tytanowa, ale jest bardziej odporna. Wejściami bocznymi mogą być tylko inne rury.\nWycieka z niej mniej cieczy.
@@ -1223,7 +1226,7 @@ block.lancer.description = Średniej wielkości wieżyczka, która po naładowan
block.arc.description = Mała wieża bliskiego zasięgu. Wystrzeliwuje wiązki elektryczne w kierunku wroga. block.arc.description = Mała wieża bliskiego zasięgu. Wystrzeliwuje wiązki elektryczne w kierunku wroga.
block.swarmer.description = Średniej wielkości wieżyczka, która wystrzeliwuje rakiety samonaprowadzające. block.swarmer.description = Średniej wielkości wieżyczka, która wystrzeliwuje rakiety samonaprowadzające.
block.salvo.description = Większa, bardziej zaawansowana wersja Podwójnego Działka, strzelająca szybkimi salwami. block.salvo.description = Większa, bardziej zaawansowana wersja Podwójnego Działka, strzelająca szybkimi salwami.
block.fuse.description = Duża wieża, która strzela potężnymi wiązkami krótkiego zasięgu. block.fuse.description = Duża wieża bliskiego zasięgu. Wystrzeliwuje trzy przeszywające wiązki w pobliskich wrogów.
block.ripple.description = Duża wieża artyleryjska, która strzela jednocześnie kilkoma strzałami. block.ripple.description = Duża wieża artyleryjska, która strzela jednocześnie kilkoma strzałami.
block.cyclone.description = Duża szybkostrzelna wieża. block.cyclone.description = Duża szybkostrzelna wieża.
block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne. block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne.
@@ -1239,7 +1242,7 @@ block.dagger-factory.description = Produkuje podstawowe jednostki lądowe.
block.crawler-factory.description = Produkuje szybkie jednostki lądowe typu "kamikaze". block.crawler-factory.description = Produkuje szybkie jednostki lądowe typu "kamikaze".
block.titan-factory.description = Produkuje zaawansowane, opancerzone jednostki lądowe. block.titan-factory.description = Produkuje zaawansowane, opancerzone jednostki lądowe.
block.fortress-factory.description = Produkuje naziemne jednostki ciężkiej artylerii. block.fortress-factory.description = Produkuje naziemne jednostki ciężkiej artylerii.
block.repair-point.description = Bez przerw ulecza najbliższą zniszczoną jednostkę w jego zasięgu. block.repair-point.description = Bez przerw naprawia najbliższą uszkodzoną jednostkę w jego zasięgu.
block.dart-mech-pad.description = Umożliwia transformację w podstawowego mecha bojowego.\nUżyj klikając podczas stania na nim. block.dart-mech-pad.description = Umożliwia transformację w podstawowego mecha bojowego.\nUżyj klikając podczas stania na nim.
block.delta-mech-pad.description = Opuść swój obecny statek i zamień go na szybki, lekko opancerzony mech stworzony do ataków typu uderz-uciekaj.\nUżyj, klikając dwukrotnie podczas stania na lądowisku. block.delta-mech-pad.description = Opuść swój obecny statek i zamień go na szybki, lekko opancerzony mech stworzony do ataków typu uderz-uciekaj.\nUżyj, klikając dwukrotnie podczas stania na lądowisku.
block.tau-mech-pad.description = Opuść swój obecny statek i zamień go na mech wsparcia który może leczyć sojusznicze struktury i jednostki.\nUżyj, klikając dwukrotnie podczas stania na lądowisku. block.tau-mech-pad.description = Opuść swój obecny statek i zamień go na mech wsparcia który może leczyć sojusznicze struktury i jednostki.\nUżyj, klikając dwukrotnie podczas stania na lądowisku.

View File

@@ -328,7 +328,7 @@ public class NetServer implements ApplicationListener{
votes += d; votes += d;
voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP); voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP);
Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted to kick[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /vote <y/n>[] to agree.", Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted on kicking[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /vote <y/n>[] to agree.",
player.name, target.name, votes, votesRequired())); player.name, target.name, votes, votesRequired()));
} }

View File

@@ -26,8 +26,8 @@ public class Units{
* Validates a target. * Validates a target.
* @param target The target to validate * @param target The target to validate
* @param team The team of the thing doing tha targeting * @param team The team of the thing doing tha targeting
* @param x The X position of the thing doign the targeting * @param x The X position of the thing doing the targeting
* @param y The Y position of the thing doign the targeting * @param y The Y position of the thing doing the targeting
* @param range The maximum distance from the target X/Y the targeter can be for it to be valid * @param range The maximum distance from the target X/Y the targeter can be for it to be valid
* @return whether the target is invalid * @return whether the target is invalid
*/ */

View File

@@ -82,6 +82,9 @@ public class Rules{
public boolean lighting = false; public boolean lighting = false;
/** Ambient light color, used when lighting is enabled. */ /** Ambient light color, used when lighting is enabled. */
public Color ambientLight = new Color(0.01f, 0.01f, 0.04f, 0.99f); public Color ambientLight = new Color(0.01f, 0.01f, 0.04f, 0.99f);
/** Multiplier for solar panel power output.
negative = use ambient light if lighting is enabled. */
public float solarPowerMultiplier = -1f;
/** team of the player by default */ /** team of the player by default */
public Team defaultTeam = Team.sharded; public Team defaultTeam = Team.sharded;
/** team of the enemy in waves/sectors */ /** team of the enemy in waves/sectors */

View File

@@ -230,7 +230,7 @@ public class Administration{
} }
/** /**
* Returns list of all players with admin status * Returns list of all players which are banned
*/ */
public Array<PlayerInfo> getBanned(){ public Array<PlayerInfo> getBanned(){
Array<PlayerInfo> result = new Array<>(); Array<PlayerInfo> result = new Array<>();

View File

@@ -172,6 +172,7 @@ public class CustomRulesDialog extends FloatingDialog{
number("$rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200)); number("$rules.enemycorebuildradius", f -> rules.enemyCoreBuildRadius = f * tilesize, () -> Math.min(rules.enemyCoreBuildRadius / tilesize, 200));
title("$rules.title.experimental"); title("$rules.title.experimental");
number("$rules.solarpowermultiplier", f -> rules.solarPowerMultiplier = f, () -> rules.solarPowerMultiplier);
check("$rules.lighting", b -> rules.lighting = b, () -> rules.lighting); check("$rules.lighting", b -> rules.lighting = b, () -> rules.lighting);
main.addButton(b -> { main.addButton(b -> {

View File

@@ -17,7 +17,7 @@ public class SolarGenerator extends PowerGenerator{
@Override @Override
public void update(Tile tile){ public void update(Tile tile){
tile.<GeneratorEntity>ent().productionEfficiency = state.rules.lighting ? 1f - state.rules.ambientLight.a : 1f; tile.<GeneratorEntity>ent().productionEfficiency = state.rules.solarPowerMultiplier < 0 ? (state.rules.lighting ? 1f - state.rules.ambientLight.a : 1f) : state.rules.solarPowerMultiplier;
} }
@Override @Override