Compare commits

...
2072 Commits
Author SHA1 Message Date
Anuken 69ed90bb9d Directional unloader read fix 2026-09-30 18:02:13 -04:00
Anuken e337452d46 Reverted #12722 on master branch (will be back on v9)
This reverts commit 9f70386466.
2026-09-30 17:59:01 -04:00
Twcash 9f70386466 fix Copper ore color to match item color (#12722) 2026-09-30 17:56:38 -04:00
Cardillan e7de4e1a10 Fix empty statement fields shifting the remaining parameters (#12715)
* Fix empty statement fields shifting remaining parameters

* Fixed unit tests
2026-09-30 17:55:18 -04:00
WayZer 4cc15b84f6 Do not let content JSON set Effect#initialized (#12724) 2026-09-29 14:29:43 -04:00
Anuken f3bfa418a5 Fixed rare physics crash 2026-09-27 18:45:23 -04:00
Anuken 663b0b8737 Backported patch loading in mods from v9 for future compatibility 2026-09-25 16:47:42 -04:00
Anuken 3a54813513 Fixed some schema generation bugs 2026-09-20 18:40:01 -04:00
Anuken 3e43d88374 WIP re-generation of regions on server 2026-09-20 17:27:51 -04:00
Anuken 580f8f5217 Fixed #12697 2026-09-20 13:55:06 -04:00
Github Actions 067c720a88 Automatic bundle update 2026-09-20 13:22:06 +00:00
Kevin Vilyan 2541682bee Update Bundle ID (#12693) 2026-09-20 09:21:29 -04:00
Vector 78921a064e Update bundle_es.properties (#12672)
* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* sensor descriptions

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties
2026-09-20 09:21:19 -04:00
Sunky.MP3G 92d53b01fc More RU translations (#12639)
* New RU translations and proper processor ones

* Finished

* Typo
2026-09-20 09:21:11 -04:00
Anuken 8f1a4c5541 Merge remote-tracking branch 'origin/master' 2026-09-20 09:21:00 -04:00
Anuken e2ccb6ea96 Fixed #12691 2026-09-20 09:20:54 -04:00
EggleEgg 2f3a3979a4 Bugfix lightning chain distance (again) (#12695) 2026-09-20 09:19:40 -04:00
Anuken 9f065cea59 Do not add liquid bars to blocks with 0 liquid capacity 2026-09-19 23:24:54 -04:00
Anuken d2c5e09413 Fixed popups not respecting hidden UI state 2026-09-19 11:43:05 -04:00
Anuken 1cc5d54fde Fixed #12690 2026-09-19 10:53:14 -04:00
Anuken 4ef2a6d81e CADisableMinimumFrameDurationOnPhone on iOS 2026-09-18 18:04:25 -04:00
Anuken be14e4173e Null check for displayFlow 2026-09-18 13:58:24 -04:00
Anuken c58aac5f67 Version-specific release fetching for mods 2026-09-18 12:47:14 -04:00
Anuken cada4b2543 Logic parsing tests 2026-09-18 11:11:56 -04:00
summoner ccc5bebc3b Translation: Update bundle_hu.properties (#12679)
Follow the changes of the english bundle
Minor fixes
2026-09-18 10:47:37 -04:00
Anuken 8b80186320 Merge remote-tracking branch 'origin/master' 2026-09-18 10:47:15 -04:00
Anuken 1e8317fbac Fixed #12683 2026-09-18 10:47:09 -04:00
Cardillan 6500b5b6de Improve hex and binary literal parses (#12678)
* Improve hex and binary literal parses

* Moved the specialized unsigned long parsing routine from Strings directly to LAssembler
2026-09-18 10:46:33 -04:00
Anuken eff677e112 Merge remote-tracking branch 'origin/master' 2026-09-18 10:17:56 -04:00
Anuken 543dae701c Updated PR template 2026-09-18 10:17:43 -04:00
Anuken ec2bc54339 Fixed #12677 2026-09-18 10:17:43 -04:00
EggleEgg ca2c51896d Bugfix: scaled crafters unable to dump fast enough (#12669) 2026-09-17 11:10:16 -04:00
Anuken c640ae21ad Merge remote-tracking branch 'origin/master' 2026-09-17 10:54:56 -04:00
Anuken b8f392a116 Fixed #12674 2026-09-17 10:54:49 -04:00
EggleEgg bfa31bf184 Bugfix: attributecrafter yield string format (#12675)
* Bugfix: attributecrafter yield string format

* imports
2026-09-17 10:51:59 -04:00
Anuken 088486c1ad Fixed #12673 2026-09-17 10:51:38 -04:00
Anuken acf891e419 Mod matching release WIP 2026-09-16 15:40:41 -04:00
Anuken ca90af5f56 Updated steamworks 2026-09-16 12:42:44 -04:00
Anuken 45b82b9fa2 Merge remote-tracking branch 'origin/master' 2026-09-16 10:18:06 -04:00
Anuken 22cf431170 Fixed incorrect texture removal 2026-09-16 10:17:59 -04:00
Acts1631 b513d92456 Deduplicate requested assets during handshake (#12667)
* Deduplicate requested assets during handshake

* Use Bits for asset request deduplication
2026-09-15 20:34:09 -04:00
Anuken b3be63437e Better player name wrapping in player list 2026-09-15 12:13:12 -04:00
Anuken c801b625ac Merge remote-tracking branch 'origin/master' 2026-09-15 00:39:53 -04:00
Anuken 0bbc4c6777 Fixed #12660 2026-09-15 00:39:46 -04:00
sora54 4eed142ccc Fix cluster array dimension to use costTypes size (#12658) 2026-09-15 00:19:59 -04:00
EggleEgg 42ec5c9685 Bugfix: cap lightning distance (#12659) 2026-09-15 00:03:44 -04:00
summoner ca9876544e Translation: Update bundle_hu.properties (#12661)
* Translation: Update bundle_hu.properties

Fixing sentences
Fixing wording

* Translation: Update bundle_hu.properties

More fixes
2026-09-15 00:03:23 -04:00
Cardillan 73d5865908 Fix processor text/graphics buffer holding old content on restart (#12663) 2026-09-15 00:03:16 -04:00
NiTiSonandNiTiSon f474eab926 fix: Renderer update cause blocks to lose their extra and floor data (#12664)
Co-authored-by: NiTiSon <NiTiSon@users.noreply.github.com>
2026-09-15 00:03:02 -04:00
Anuken b76147ec50 Antialias + linear filter bleed on data patch images 2026-09-14 10:48:08 -04:00
Anuken 22ca0ce33f Avoidance radius clamp 2026-09-13 22:53:38 -04:00
Anuken 4368c6e60e Fixed #12657 2026-09-13 21:20:47 -04:00
Anuken 7591c51b60 More dummy validation + Pathfinder fixes 2026-09-13 21:15:29 -04:00
Anuken 93c88fea8c Merge remote-tracking branch 'origin/master' 2026-09-13 09:15:04 -04:00
Anuken 9de4deed37 Fixed redundant mod browser mod icons being cached 2026-09-13 09:14:58 -04:00
Thinker8832 254fd3e28d Fix typo in split.container description (#12651) 2026-09-12 23:46:25 -04:00
EggleEgg 9a886aa582 Bugfix: overdriable dummy sddeq3e (#12653) 2026-09-12 23:46:09 -04:00
Anuken a51047a80d Merge remote-tracking branch 'origin/master' 2026-09-12 23:45:59 -04:00
Anuken 55dba0c156 Fixed #12650 2026-09-12 23:45:53 -04:00
WMF a98a7ba227 yet another requiredPlanets fix (#12649) 2026-09-12 23:28:09 -04:00
Anuken 56348b3e31 Fixed #12652 2026-09-12 23:21:40 -04:00
Anuken 89527f879b Fixed #12632 2026-09-12 12:41:42 -04:00
Anuken 78646f512e Made small data patch sounds load as one-shot wavs instead of streams 2026-09-12 11:50:15 -04:00
Anuken fd4eac0f81 Merge remote-tracking branch 'origin/master' 2026-09-12 11:00:55 -04:00
Anuken 60cc6a1839 Fixed #12647 2026-09-12 11:00:48 -04:00
summoner 3d56fefb51 Translation: Update bundle_hu.properties (#12637)
Translate new strings
Follow the changes of the english bundle
2026-09-12 10:55:02 -04:00
Anuken a5c178ae5a Merge remote-tracking branch 'origin/master' 2026-09-12 10:49:51 -04:00
Anuken 06163708bd Fixed misleading build UI for team-specific infinite resources 2026-09-12 10:49:45 -04:00
Github Actions 137c6201c0 Automatic bundle update 2026-09-12 14:37:17 +00:00
redloong a341cff83f Refine Chinese translations in bundle_zh_CN.properties (#12631)
* Refine Chinese translations in bundle_zh_CN.properties

Updated various translations in the properties file for improved clarity and accuracy.

* Update Chinese localization for various labels

* Rename animated water settings to dynamic effects

Updated animated water settings to reflect dynamic effects.

* Update Chinese translations in bundle_zh_CN.properties
2026-09-12 10:36:26 -04:00
Anuken 7501697f02 Fixed #12644 2026-09-12 10:36:11 -04:00
Anuken 776214f7bb Merge remote-tracking branch 'origin/master' 2026-09-12 10:04:50 -04:00
Anuken 6df25c8308 Reverted fix for #12223 2026-09-12 10:04:44 -04:00
Cardillan ab51304dd6 Fixes #12640: Unset keybinding not saved (#12641) 2026-09-12 10:01:41 -04:00
Anuken e751e240db Fixed #12636 2026-09-12 09:59:07 -04:00
Anuken e675535cb7 Fixed fetch instruction layout 2026-09-11 03:02:08 -04:00
Anuken 84cdf2bbfe Fixed heal beam discontinuity 2026-09-11 02:40:28 -04:00
Anuken 6f4914d5cb arc 2026-09-11 01:56:19 -04:00
Anuken c7945610ee More dummy value validation 2026-09-11 01:50:09 -04:00
Anuken c6512c0b00 Fixed #12626 (by disallowing dummies in payloads) 2026-09-11 01:38:27 -04:00
Anuken cc5a63109a SoundControl crash fix 2026-09-11 00:56:38 -04:00
Anuken 43aa0d95f5 Closes Anuken/Mindustry-Suggestions/issues/6541 2026-09-11 00:49:24 -04:00
Anuken 42ad617bbd Temporary workaround for some mods crashing 2026-09-11 00:45:34 -04:00
Anuken e433d5f334 Fixed #11477 causing particle effects to be twice as big 2026-09-11 00:41:00 -04:00
Anuken 0ac15152d8 Fixed iOS crash 2026-09-10 21:02:40 -04:00
Anuken 4af4824ad0 arc 2026-09-10 20:29:29 -04:00
Anuken 83b93eafbb Don't animate conveyors in editor 2026-09-10 20:14:11 -04:00
Anuken 7f8f08d2c5 Merge remote-tracking branch 'origin/master' 2026-09-10 20:07:39 -04:00
Anuken 85e6db44c1 Map submission updates 2026-09-10 20:07:32 -04:00
Github Actions b430eaa239 Automatic bundle update 2026-09-11 00:01:29 +00:00
Александр Голомшток 889c581d73 Add descriptions for all logic sensor choices (#12622)
Only about 15 of the ~75 senseable LAccess values had a bundle entry, so
the rest fell through LCanvas.tooltip() (which has no lenum.* fallback for
them) and showed no tooltip on hover/long-press in the sensor picker.
A few also resolved to an unrelated lenum.* string of the same name -
for example @building showed "Building in a specific group".

Add a laccess.<name> line for every remaining senseable value, including
the privileged camera sensors, worded from the sense() implementations in
BuildingComp / UnitComp / BulletComp and the turret blocks.

Closes Anuken/Mindustry-Suggestions#5222
2026-09-10 20:00:11 -04:00
Anuken 6163278161 Merge remote-tracking branch 'origin/master' 2026-09-10 19:59:56 -04:00
Anuken ae9bb643e4 Closes #12624 2026-09-10 19:59:49 -04:00
Github Actions 2af44b5f5e Automatic bundle update 2026-09-10 23:52:49 +00:00
redloong 00ee86a1b7 fix for bundle (#12621)
* new

* Translate 'seconds' to '秒' in properties file
2026-09-10 19:51:59 -04:00
Sunky.MP3G 9e4d2e67d2 (WIP) RU translations (#12614)
* Wip translations

* Should be it

* small warning

* Typo

* Boss radar line

* Same for en

* `jump` fix
2026-09-10 19:51:28 -04:00
Anuken 34fa2bc52a Merge remote-tracking branch 'origin/master' 2026-09-10 19:51:13 -04:00
Anuken da4be8f848 Fixed #12623 2026-09-10 19:51:06 -04:00
Github Actions acd8682f40 Automatic bundle update 2026-09-10 23:37:35 +00:00
phinner 0e3ca1d2c6 French Translation: Just In Time... (#12625)
* french translation (pass 1)

* machine translation + ai

* french translation (pass 2)

* automated corrections + manual corrections

* french translation (pass 3)

* final manual corrections + consistency tweaks

* Prefer plurals
2026-09-10 19:36:51 -04:00
Github Actions 7c5f29e6fb Automatic bundle update 2026-09-10 15:45:35 +00:00
summoner 760fcb2e23 Translation: Update bundle_hu.properties (#12612)
* Translation: Update bundle_hu.properties

Translate new string
Follow the changes of the english bundle
Fix coherence
Fix line wrapping

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle
2026-09-10 11:44:54 -04:00
Kevin VilyanandAnuken ded8eb762f Update Bundle ID + Fixed Main Bundle (#12617)
* Bundle ID Major Fixes

* lil

* gahhh,

* Add missing string + fixed "Jump" Token

* add  radartarget.label.boss  line

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-09-10 11:44:33 -04:00
Anuken ef5d3cb26b Fixed logic localization PR issues 2026-09-10 11:43:51 -04:00
Anuken b3317f3d4d Fixed #12620 2026-09-09 19:57:43 -04:00
Anuken 63b2069e96 Merge remote-tracking branch 'origin/master' 2026-09-09 18:10:41 -04:00
Anuken 52232dc2ee Fixed print statement field width 2026-09-09 18:10:35 -04:00
Github Actions 64bc6d3ac0 Automatic bundle update 2026-09-09 16:47:29 +00:00
Anuken 124dcc67aa Merge remote-tracking branch 'origin/master' 2026-09-09 12:46:48 -04:00
Anuken 2276f471f2 Merge branch 'logic-editor-autowrap'
# Conflicts:
#	core/src/mindustry/logic/LStatements.java
2026-09-09 12:45:27 -04:00
Anuken 2837f2cad2 More layout fixes 2026-09-09 12:43:04 -04:00
Anuken 6407a48973 Major cleanup of layout 2026-09-09 11:20:20 -04:00
Cardillan f02d919b64 Properly compute UTF16 sizes for escapes (#12616) 2026-09-09 10:17:14 -04:00
Anuken 5566674c29 Fixed #12615 2026-09-09 10:15:55 -04:00
Anuken 80a99eb031 More UI fixes 2026-09-09 09:07:37 -04:00
Anuken cfe01850aa UI bugfixes 2026-09-09 08:51:33 -04:00
Anuken 48158883c1 Fixed inconsistent search bar in rules 2026-09-08 23:41:14 -04:00
Anuken d71be5ecb1 Fixed #12613 2026-09-08 17:57:31 -04:00
Anuken 1ba71a14f7 Merge remote-tracking branch 'origin/master' 2026-09-08 10:10:57 -04:00
Anuken 12157feeca Logic \uXXXX escape support 2026-09-08 10:10:48 -04:00
Github Actions 200f4d42be Automatic bundle update 2026-09-08 06:42:43 +00:00
EggleEgg 201f606383 Crucible output scales with attribute boost (#11552) 2026-09-08 02:42:02 -04:00
Anuken cf8b1c6b34 Escape round-trip fix 2026-09-08 02:29:31 -04:00
Anuken 04452e6ba8 Logic parser improvements for quote/escape handling + unit tests 2026-09-08 01:35:36 -04:00
Anuken 9ca00b5935 Merge remote-tracking branch 'origin/master' 2026-09-08 01:01:41 -04:00
Anuken 05999c9759 Pathfinding fixes 2026-09-08 01:01:34 -04:00
Jason d23f113806 update allure to latest commit (#12610) 2026-09-07 22:21:00 -04:00
Anuken cc36b51bad Fixed #12611 2026-09-07 22:20:32 -04:00
Anuken 3787b6308c minor tweaks 2026-09-07 19:32:15 -04:00
Anuken 7e2d57247d minor tweaks 2026-09-07 14:25:41 -04:00
Anuken 80a2eef239 Removed row() 2026-09-07 14:17:48 -04:00
Anuken 16ee499f75 Longer fields, width cap 2026-09-07 13:55:49 -04:00
Anuken a9ff32df12 Merge branch 'master' of https://github.com/Anuken/Mindustry into logic-editor-autowrap
# Conflicts:
#	gradle.properties
2026-09-07 13:37:49 -04:00
Anuken 37c1b6ac1e Merge remote-tracking branch 'origin/master' 2026-09-07 13:01:55 -04:00
Anuken 54e5f3bcf6 Reduced standard conveyor to 5 items/sec (https://github.com/Anuken/Mindustry/pull/12369#issuecomment-4984396153) 2026-09-07 13:01:41 -04:00
Vector 2290685999 Update bundle_es.properties (#12455)
* Update bundle_es.properties

* Update bundle_es.properties

* Atolls tutorial

* Frozen Forest tutorials

Updated Spanish translations for various game mechanics and instructions.

* Scathe ammo

* Update bundle_es.properties

* logic strings

* Update bundle_es.properties

* some settings translations

* Update bundle_es.properties

* Update bundle_es.properties

* there we go

* locale config

* test

* ucontrol test

Updated Spanish translations for various labels and objectives.

* target dummy

* Update bundle_es.properties

* Update bundle_es.properties

sensor and effect translations

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties
2026-09-07 12:43:56 -04:00
Anuken f3cbb54af5 Merge remote-tracking branch 'origin/master' 2026-09-07 12:41:19 -04:00
Anuken 85446f3284 Fixed unit movement regression caused by #11613 / Alternate unit mining effect (closes #12605) 2026-09-07 12:41:05 -04:00
Jason ba93ccfc3e update Allure to an archive public repo (#12607)
* update Allure to an archive public repo

* updated SHA

Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com>

---------

Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com>
2026-09-07 12:35:53 -04:00
EggleEgg a1e7aad19d Bugfix: show random lightning length in corvus stats (#12606) 2026-09-07 12:35:41 -04:00
redloong 9d07ba06ab Update unbindKey translation to '解绑' (#12608) 2026-09-07 12:19:29 -04:00
Anuken 5a0c4bfc41 Texture streaming Android compat fix 2026-09-06 17:03:39 -04:00
Anuken 58ed13fc96 Mining color alternative 2026-09-06 16:19:42 -04:00
Anuken 1f6c9eac65 Fixed wiki crash 2026-09-06 12:23:14 -04:00
Anuken bf3d400ca5 Merge remote-tracking branch 'origin/master' 2026-09-06 10:48:44 -04:00
Anuken e37c2f1ec2 Fixed #12603 2026-09-06 10:48:38 -04:00
Github Actions d95a3ef6aa Automatic bundle update 2026-09-06 14:39:33 +00:00
JniTrRny c2f7bddb0f Update bundle_th.properties (#12599)
* quick update

* 2much2translate
2026-09-06 10:38:42 -04:00
Anuken ec656a63eb Merge remote-tracking branch 'origin/master' 2026-09-06 10:38:03 -04:00
Anuken 06f2dc7032 Fixed #12600 2026-09-06 10:37:54 -04:00
summoner 0e5189e1b7 Translation: Update bundle_hu.properties (#12601)
* Translation: Update bundle_hu.properties

Translate new strings
Fix translation

* Translation: Update bundle_hu.properties

Fixing line wrapping
fix wording
2026-09-06 10:32:42 -04:00
Cardillan c477c767c5 Make the Back button first in the keybind dialog (#12604) 2026-09-06 10:32:35 -04:00
Anuken c81d0eb025 Merge remote-tracking branch 'origin/master' 2026-09-05 16:14:42 -04:00
Anuken 7494e9a1a8 Update bundle_id_ID (#12580) 2026-09-05 16:14:34 -04:00
Github Actions ccf6b81ed6 Automatic bundle update 2026-09-05 20:12:11 +00:00
summoner 171899596f Translation: Update bundle_hu.properties (#12592)
* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings

* Fix translation

Fix translation
2026-09-05 16:11:24 -04:00
Anuken 953c58fc49 Mod description wrap fix 2026-09-05 16:11:00 -04:00
Github Actions ec4fe559f5 Automatic bundle update 2026-09-05 20:04:57 +00:00
Cardillan 8079274531 Allow selecting a version when reinstalling a mod (#12589)
* Mod reinstall select version

* Support for JSON mods with/without releases

* Removed commented-out code
2026-09-05 16:04:23 -04:00
Anuken ca3c0f30b8 Fixed tests 2026-09-05 14:09:24 -04:00
Anuken a7955970ff Fixed some map multipliers 2026-09-05 12:49:40 -04:00
Anuken dbbd03f4cd Merge remote-tracking branch 'origin/master' 2026-09-05 12:39:13 -04:00
Anuken 788ead37fb Fixed #12598 2026-09-05 12:39:06 -04:00
Github Actions 83dd62f2ad Automatic bundle update 2026-09-05 13:52:41 +00:00
Cardillan 5ee6debb2a Restore failed mod indicator (#12596) 2026-09-05 09:51:52 -04:00
redloong 07a080931d Something to fix (maybe?) (#12595)
* Update cutsceneaction.label.active to 'active'

* Update translations in bundle_zh_CN.properties

Updated translations for dynamic effects and markers.

* Modify Chinese translations for UI elements

Updated translations for dynamic effects and target dummy.

* Translate prioritize filter labels to Chinese

* new
2026-09-05 09:51:27 -04:00
Anuken 0c44604a0f Fixed overgrowth rules 2026-09-05 09:43:07 -04:00
Anuken a9dfed098a Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-09-05 09:41:26 -04:00
Anuken 71aa9230bf arc 2026-09-05 09:41:23 -04:00
EggleEgg 666978f9e1 foos will probably bypass this (#12594) 2026-09-04 18:13:02 -04:00
EggleEgg 9fe9344dfd Disallow conveyor bridge/phase bridge from accepting items when disabled (#12585)
* Disallow conveyor bridge/phase bridge from accepting items when disabled

* re23rwsdwed
2026-09-04 12:14:29 -04:00
Anuken f2e1e2ad4f Initial network entity sync fixes 2026-09-04 11:28:17 -04:00
Anuken ca6b369b85 Grouped targeting (closes #11537) 2026-09-03 19:02:51 -04:00
Anuken ef65b1f5b3 Merge remote-tracking branch 'origin/master' 2026-09-03 17:50:06 -04:00
redloong 962a3d859f Update bundle_zh_CN (#12584)
* Update cutsceneaction.label.active to 'active'

* Update translations in bundle_zh_CN.properties

Updated translations for dynamic effects and markers.

* Modify Chinese translations for UI elements

Updated translations for dynamic effects and target dummy.

* Translate prioritize filter labels to Chinese
2026-09-03 17:50:03 -04:00
Anuken daf36fc2a2 Removed redundant option 2026-09-03 17:49:59 -04:00
EggleEgg 52a10f6898 Bugfix: Fix target dummy velocity upon knockback under lower fps (#12588) 2026-09-03 17:48:49 -04:00
Github Actions a8b1dda1a1 Automatic bundle update 2026-09-03 14:05:58 +00:00
Anuken dbd527dbdf Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-09-03 10:05:08 -04:00
Anuken ddbdfbb447 Merge branch 'cardillan-pr/unbind-keys-2' 2026-09-03 10:05:03 -04:00
Anuken fda8db5562 Fixed ; 2026-09-03 10:05:00 -04:00
Github Actions b515773fbf Automatic bundle update 2026-09-03 14:03:13 +00:00
redloong a5dc717ff9 Fix cutsceneaction.label.active value (#12583)
* Update cutsceneaction.label.active to 'active'

* Update translations in bundle_zh_CN.properties

Updated translations for dynamic effects and markers.
2026-09-03 10:02:35 -04:00
cardillan 13bc8aa881 Move the unset button to the keybind dialog 2026-09-03 10:35:26 +02:00
Anuken f958406e5e Closes Anuken/Mindustry-Suggestions/issues/6502 2026-09-02 23:06:39 -04:00
Anuken 3ebd0c9f4f Merge remote-tracking branch 'origin/master' 2026-09-02 22:01:11 -04:00
Anuken 66e47fdc57 Fixed typo 2026-09-02 22:00:47 -04:00
Github Actions 33bc4c9e6f Automatic bundle update 2026-09-03 01:40:21 +00:00
Anuken a360416946 Better map sorting/filter system (Closes #12349) 2026-09-02 21:39:38 -04:00
Anuken 95f600e87a Merge remote-tracking branch 'origin/master' 2026-09-02 19:09:48 -04:00
Anuken c492376c87 Reduced rotation speed of several larger serpulo turrets to be less ridiculous 2026-09-02 19:09:18 -04:00
SomeonesShade 53b9d15993 Arc Changes and Adding PierceCap for Lightning (#11768) 2026-09-02 18:49:07 -04:00
Anuken 115551b4f4 Merge remote-tracking branch 'origin/master' 2026-09-02 17:48:04 -04:00
Anuken 9e95a4bbc4 No lightning status chance 2026-09-02 17:47:58 -04:00
Github Actions fa59008448 Automatic bundle update 2026-09-02 21:02:23 +00:00
Anuken a298ccfd45 Merge branch 'JasonP01-statusChance' 2026-09-02 17:01:40 -04:00
Anuken ee6c9ae1ab Merge branch 'statusChance' of https://github.com/JasonP01/Mindustry into JasonP01-statusChance 2026-09-02 17:01:37 -04:00
Anuken 8238b9d2c1 Merge remote-tracking branch 'origin/master' 2026-09-02 16:33:14 -04:00
Anuken 49dbd44604 PR Cleanup 2026-09-02 16:33:07 -04:00
Github Actions 553c2beeea Automatic bundle update 2026-09-02 20:32:14 +00:00
CardillanandAnuken 7c0f19a520 Allow automatically disabled mods to be restored (#12263)
* Allow automatically disabled mods to be restored

* Indicate failed status

* Apply suggestion from @Anuken

* Update bundle.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-09-02 16:31:31 -04:00
Github Actions cbf0025712 Automatic bundle update 2026-09-02 20:22:52 +00:00
summoner 5af84b4ad5 Translation: Update bundle_hu.properties (#12575)
Translate new strings
fix translation
2026-09-02 16:22:08 -04:00
redloong 0bb475a54d Translation: Update bundle_zh_CN.properties (#12578) 2026-09-02 16:22:00 -04:00
Anuken db8d9669c2 Fixed #12579 2026-09-02 16:21:26 -04:00
Anuken f7ededb3a1 Removed server list tests 2026-09-02 13:05:13 -04:00
Anuken 69257a2eb4 Removed legacy server lists
(There was only one server group online for v7, and it had 0 players)
2026-09-02 12:58:56 -04:00
Anuken 2b3fee983c Fixed bugs related to invalid overlay floors + map colors 2026-09-02 12:46:15 -04:00
Anuken e4045fb8a5 Merge remote-tracking branch 'origin/master' 2026-09-02 10:24:40 -04:00
Anuken 6ef175cb29 Building afterReadAll fix + Send entities over network (possibly unstable) 2026-09-02 10:24:31 -04:00
SITUVNgcd 63e839c67c Fixed campaign.rework.serpulo invisible characters (#12574) 2026-09-02 09:52:47 -04:00
Anuken ccae400bcf Stealing from foos but done properly 2026-09-02 09:48:58 -04:00
JasonP01 dc75f996b0 Merge upstream/master into statusChance 2026-09-02 02:41:19 +02:00
JasonP01 e567777179 revert testing values, and fix stat render 2026-09-02 02:36:14 +02:00
Anuken 667907009d Merge remote-tracking branch 'origin/master' 2026-09-01 20:20:28 -04:00
Anuken b9189a5570 LAccess cleanup 2026-09-01 20:20:21 -04:00
Eric W.andAnuken fac33d08d7 allow memory blocks to store any object (#12459)
* allow memory blocks to store any object

This changes the way memory blocks are stored in save files.

* fix memory block contents not being restored

`afterReadAll()` seems to require `update` being set to `true`
for being called.

* add myself as a contributor

* reduce boxing when reading/writing memory buildings

This includes some changes to `TypeIO` to prevent
duplicating its reading/writing logic.

* Update TypeIO.java

* Update MemoryBlock.java

* Update TypeIO.java

* Apply suggestion from @Anuken

* Apply suggestion from @Anuken

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-09-01 20:18:03 -04:00
JasonP01 182db13909 fix? stat value 2026-09-02 02:17:48 +02:00
EggleEgg d2ee7cdf42 Bugfix: laserbolt pierces plast walls (#12573)
* Bugfix: laserbolt pierces plast walls

* whether ugh
2026-09-01 19:59:09 -04:00
Github Actions cf41adda2b Automatic class mapping and map name update 2026-09-01 23:55:33 +00:00
Github Actions 5720f8b9b6 Automatic bundle update 2026-09-01 23:54:40 +00:00
Anuken b8917ff608 Merge branch 'EggleEgg-dps-dummy' 2026-09-01 19:53:57 -04:00
EggleEgg b3e8aa9294 more or less. Still missing engines
done I think?

applied revisions from jason

okay should be enough fallbacks

better team getter

dont use multiple configs under saveConfig, the game does not like that

Minor tweaks to DPS dummy
2026-09-01 19:53:26 -04:00
JasonP01 69cb000395 fix chance in remote places 2026-09-02 01:13:48 +02:00
JasonP01 e115a4a0a0 fix stat values 2026-09-02 00:40:20 +02:00
JasonP01 01fcc9d674 Merge branch 'statusChance' of https://github.com/JasonP01/Mindustry into statusChance 2026-09-02 00:05:46 +02:00
JasonP01 664b7a3e45 update to comply 2026-09-02 00:05:39 +02:00
JasonP01 aeba3e1f63 Merge remote-tracking branch 'upstream/master' into statusChance 2026-09-01 23:20:43 +02:00
Anuken 27d7a2917e Merge remote-tracking branch 'origin/master' 2026-09-01 17:18:41 -04:00
Anuken 023a4ff1ae Fixed logic privileged access check 2026-09-01 17:18:34 -04:00
SomeonesShade 7509cb1375 Nova Buff (#11769)
* Nova Changes v3

* merging from egglegg

* Removed randomTimer

* Adjusted Nova Stats

* That reload change wasn't a good idea

* Nova Heal Rate nerf (15 hp/s -> 10 hp/s) same inter-nova heal and Hp nerf (240 -> 200 hp)

* Nerfed Nova DPS (2x32.5 -> 2x26)
 Lowered smart downtime for novas
2026-09-01 16:54:58 -04:00
Github Actions bc3a701b93 Automatic bundle update 2026-09-01 20:51:26 +00:00
Anuken 6be1d664b0 Merge branch 'summoner001-master' 2026-09-01 16:50:45 -04:00
Anuken aa929b9c61 Merge branch 'master' of https://github.com/summoner001/Mindustry into summoner001-master 2026-09-01 16:50:37 -04:00
Github Actions 2504e6a93c Automatic bundle update 2026-09-01 20:50:26 +00:00
redloong 0d5c83f928 Make #12158 feature toggleable (#12569) 2026-09-01 16:49:47 -04:00
EggleEgg 79c314a983 Bugfix: maxHealth sort ui clipping (#12572) 2026-09-01 16:45:36 -04:00
Alone 0352ae9bf3 Improved banned and patched content indicators in the database (#12570) 2026-09-01 11:29:06 -04:00
Anuken ae291be0a1 Fixed #12565 2026-09-01 11:26:28 -04:00
Anuken 7e80948b58 Merge remote-tracking branch 'origin/master' 2026-09-01 11:11:58 -04:00
Anuken dcc54faa93 Fixed #12566 2026-09-01 11:11:51 -04:00
Sunky.MP3G 1f5fe1ae13 Duct caps (#12568) 2026-09-01 11:05:01 -04:00
summoner 6deaea5356 Translation: Update bundle_hu.properties
Translate new strings
Fix coherence
Follow the changes of the english bundle
2026-09-01 16:20:53 +02:00
Github Actions 7f009df50f Automatic bundle update 2026-09-01 02:14:53 +00:00
Anuken e69d827f72 Merged #12158 2026-08-31 22:14:02 -04:00
Github Actions b4cd02137d Automatic bundle update 2026-09-01 02:03:49 +00:00
Anuken f7f002b786 Merge remote-tracking branch 'origin/master' 2026-08-31 22:03:11 -04:00
Anuken 2564190ae3 Fixed duplicate bundle key 2026-08-31 22:03:04 -04:00
Efsfse2280 6732c14779 High Tier Armor Buffs+Spiroct (#12027)
* Update UnitTypes.java

* edit

* spiroct lifesteal counternerf

* milder values for now

* final

* keep arkyid HP
2026-08-31 21:44:42 -04:00
Github Actions 76877127b8 Automatic class mapping and map name update 2026-09-01 01:17:29 +00:00
Sunky.MP3G 6cccf21960 Improved Basin missile and fixed markers (#12348) 2026-08-31 21:16:13 -04:00
Anuken b934bfc4f1 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-08-31 21:08:15 -04:00
Anuken 25fe0cc9f9 Merge branch 'MEEPofFaith-improved-reactor-explosion' 2026-08-31 21:08:11 -04:00
Anuken 06d527a7ca Generator explosion tweaks 2026-08-31 21:08:01 -04:00
Anuken e386a2c85b Merge branch 'improved-reactor-explosion' of https://github.com/MEEPofFaith/Mindustry into MEEPofFaith-improved-reactor-explosion 2026-08-31 21:00:05 -04:00
42ce901da2 Balancing Payload Logistics: PMD, Assorted Changes, and Deconstructor Behavioral Changes (#12182)
* Payload Changes 3 (final)

* Deconstructor Behavior Changes Final

* Added full-storage icon

* adjustments

* removed fontello file

* Removed full-storage.png

* Tweaked itemBuffer

* Update IconConverter.java

* Apply suggestion from @Anuken

---------

Co-authored-by: EggleEgg <125359838+EggleEgg@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-31 20:57:06 -04:00
EggleEgg 616cc98098 Ability to see and grab what's inside of bridge blocks (#11605)
* just this

* swapConfigInventory

* fixed
2026-08-31 20:42:13 -04:00
Anuken 87c5e27f50 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-08-31 20:40:29 -04:00
Anuken 3271d9d72e Merge branch 'EggleEgg-no-payload-conveyor-for-payenter' 2026-08-31 20:40:25 -04:00
Anuken 87d27b3070 PR bugfixes 2026-08-31 20:40:14 -04:00
Anuken df06d44c19 Merge branch 'no-payload-conveyor-for-payenter' of https://github.com/EggleEgg/Mindustry into EggleEgg-no-payload-conveyor-for-payenter 2026-08-31 20:25:54 -04:00
Github Actions 8b965dd872 Automatic bundle update 2026-09-01 00:19:43 +00:00
JniTrRny 01849ef1b3 Update bundle_th.properties (#12562) 2026-08-31 20:19:07 -04:00
summoner 0ac6fcca16 Translation: Update Hungarian.properties (#12563)
Translate new strings
Follow the changes of the english bundle
Fix translation coherence
2026-08-31 20:18:58 -04:00
Anuken c48b239de0 Fixed #12560 2026-08-31 20:18:02 -04:00
Anuken da3b3358cd Merge remote-tracking branch 'origin/master' 2026-08-31 10:11:05 -04:00
Anuken 8538190e80 Fixed research desc wrapping 2026-08-31 10:10:57 -04:00
Cardillan 4df53b8e04 Force display update when copying (#12418) 2026-08-30 16:17:00 -04:00
Github Actions 06dd6d98b2 Automatic class mapping and map name update 2026-08-30 20:14:59 +00:00
Anuken e87793968a Merge remote-tracking branch 'origin/master' 2026-08-30 16:13:23 -04:00
Anuken 0dcad1261c Fixed compilation 2026-08-30 16:13:17 -04:00
Bujandbuj d6fd7a0977 bullet create event (#11444)
Co-authored-by: buj <buj351@outlook.com>
2026-08-30 16:08:47 -04:00
Anuken 97a438cab3 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-08-30 16:06:45 -04:00
Anuken 48e56fcd7b Merge branch 'EggleEgg-bridge-link-any' 2026-08-30 16:06:40 -04:00
Anuken 81e18df994 Merge branch 'bridge-link-any' of https://github.com/EggleEgg/Mindustry into EggleEgg-bridge-link-any 2026-08-30 16:06:36 -04:00
Github Actions 12d7492708 Automatic bundle update 2026-08-30 20:04:45 +00:00
efa856226d Add missing pt_BR (Brazilian Portuguese) localization (#11935)
* Add most of missing pt_BR localization strings

Still missing:
- sector descriptions (around lines 970)
- bullet/damage descriptions (around lines 1220)
- checking consistency on block names (around lines 1800)

* Apply suggestions from DinoWattz

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>

* Apply missing suggestions from DinoWattz

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>

* Update bullet/damage descriptions

---------

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-30 16:04:09 -04:00
Efsfse2280 3b0548d42e that's about it (for now) (#11765) 2026-08-30 15:58:31 -04:00
Github Actions cf4a69cb33 Automatic bundle update 2026-08-30 19:39:53 +00:00
Redstonneur1256andAnuken 37bf2d8c2d Allow markers to be used as light sources (#10762)
* Allow markers to be used as light sources

* Better light source markers

* Move PointMarker drawLight to LightMarker

* Add a rule for unit lights

* Optimize marker rendering

* Update core/assets/bundles/bundle.properties

* Fix compatibility with existing saves

* Fix incorrect light radius

* Apply suggestion from @Anuken

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-30 15:39:13 -04:00
Github Actions 66d80f8b8c Automatic bundle update 2026-08-30 19:27:37 +00:00
Anuken c3c231ff6c Merge remote-tracking branch 'origin/master' 2026-08-30 15:26:54 -04:00
Anuken 0de5cb7e6b Revert "init (#11355)"
This reverts commit e46deae1b1.
2026-08-30 15:26:37 -04:00
Github Actions 124640e23a Automatic bundle update 2026-08-30 19:24:25 +00:00
xX_404BrainNotFound_XxandAnuken e46deae1b1 init (#11355)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-30 15:23:41 -04:00
Github Actions 19322f91f5 Automatic bundle update 2026-08-30 19:05:48 +00:00
SITUVNgcd 168dcb1dd2 Update Vietnamese translation (#12558)
https://github.com/Anuken/Mindustry/commit/b452ac48f74327f671929d22250eb92a1cd005cb
2026-08-30 15:05:03 -04:00
Pyratite No Lead 48978acc47 Update Simplified Chinese Translation (#12559) 2026-08-30 15:04:15 -04:00
Github Actions eb4d7f1de6 Automatic bundle update 2026-08-29 22:23:59 +00:00
笙歌andAnuken da16465961 Update zh_TW string (#12492)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-29 18:23:15 -04:00
Anuken 25b42157a9 Merge remote-tracking branch 'origin/master' 2026-08-29 18:15:54 -04:00
Anuken 2fa2fc9bf1 Fixed potential crash 2026-08-29 18:15:48 -04:00
Github Actions b452ac48f7 Automatic bundle update 2026-08-29 22:04:58 +00:00
EggleEggandAnuken 0e956a1f8e More db entry qol (#12548)
* dammit

* stats.timePeriod disappeared huh

* Update bundle.properties

* Update bundle.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-29 18:04:15 -04:00
Github Actions 460debfa0c Automatic bundle update 2026-08-29 22:03:10 +00:00
Anuken adbb931d93 Merge remote-tracking branch 'origin/master' 2026-08-29 18:02:28 -04:00
Anuken f4307e8db3 Bundle cleanup 2026-08-29 18:02:21 -04:00
Github Actions 60c35280f1 Automatic bundle update 2026-08-29 21:58:10 +00:00
DozhamandAnuken b843a50c4b Add more extensive descriptions for settings (bundle.properties) (#11335)
* Add more extensive descriptions for settings

* add/modify descriptions

* Update bundle.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-29 17:57:34 -04:00
Github Actions 19544d1e51 Automatic bundle update 2026-08-29 21:29:28 +00:00
Anuken 8b4cf3e3be Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-08-29 17:28:43 -04:00
Anuken 8824d36dd2 Merge branch 'giannir1988-master' 2026-08-29 17:28:39 -04:00
Anuken ea7a69c637 Merged 2026-08-29 17:28:37 -04:00
spentcud cb3fd27cce navanax dmg buff (#12189) 2026-08-29 17:26:34 -04:00
Facundo Esteban Lemo 6e19c7e6e5 [TRANSLATION] Steam page and achievements to Spanish and Latam Spanish. (#11288)
* spanish steam page

* latam spanish steam page
2026-08-29 17:24:46 -04:00
summoner be25b94242 Translataion: Update bundle_hu.properties (#12551)
Translate new strings
2026-08-29 14:40:43 -04:00
Anuken d16ec09793 Fixed #12549 2026-08-29 14:39:38 -04:00
Anuken 4db3cd713c Merge remote-tracking branch 'origin/master' 2026-08-28 18:33:50 -04:00
Anuken 8553bb7ecc Revert "Fix mod browser null listing crash (#12546)"
This reverts commit 77e2ce7274.
2026-08-28 18:33:32 -04:00
Jason 12a22933dc Merge branch 'Anuken:master' into statusChance 2026-08-29 00:20:55 +02:00
Cardillan 9d49b58571 More tileable display fixes (#12514) 2026-08-28 18:15:49 -04:00
Anuken f29235ebf3 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-08-28 18:11:48 -04:00
Anuken f761cdc79a Merge branch 'Adleanogare-dob_json' 2026-08-28 18:11:43 -04:00
Anuken a750252c02 Fixed PR 2026-08-28 18:11:31 -04:00
Github Actions 456adc6a4f Automatic bundle update 2026-08-28 21:46:47 +00:00
Anuken 89587e378b Merge remote-tracking branch 'origin/master' 2026-08-28 17:46:08 -04:00
Anuken 19186c677c Closes #12173 2026-08-28 17:46:02 -04:00
DinoWattz c1c4781f22 Add missing store localization for Brazilian Portuguese (#11743)
* Add steam translations

* Add google play translations

* Fix typo in achievement's name
2026-08-28 17:25:23 -04:00
EggleEgg db54e4f350 requested. Whoever wants this change fight for it. Good luck. (#11846) 2026-08-28 17:24:32 -04:00
Anuken 4be3f27d5c Merge remote-tracking branch 'origin/master' 2026-08-28 17:20:47 -04:00
Anuken a1975a40b6 Do not kill GL context on uiMode Android change 2026-08-28 17:20:40 -04:00
Pyratite No Lead 5112fb9a0e Update Simplified Chinese Translation (#12545)
* Update Simplified Chinese Translation

* Fix typo

* Update Simplified Chinese Translation

* Update Simplified Chinese Translation

* Update Simplified Chinese Translation
2026-08-28 17:19:08 -04:00
Anuken e2cecffec3 Fixed #12544 2026-08-28 17:18:43 -04:00
Anuken 3f65bdd383 Fixed #12541 2026-08-28 17:04:22 -04:00
Anuken 98cec2df46 Merge remote-tracking branch 'origin/master' 2026-08-28 16:54:29 -04:00
Anuken e6b66673a3 Fixed #12543 2026-08-28 16:54:22 -04:00
Github Actions 756439ce66 Automatic bundle update 2026-08-28 20:51:52 +00:00
EggleEgg 84b3c3d809 Account for liquid heat when extinguishing + more (#11664)
* Account for liquid heat when extinguishing + more

* always keep at least 1

* use a gamerule instead

* team changer gamerule

* typo + rename

* use baseteams e340'ri3490turgw4
2026-08-28 16:50:57 -04:00
EggleEgg 332cd6d118 some adjustments for #12527 just in case (#12540) 2026-08-28 16:50:32 -04:00
ZenthXSin 77e2ce7274 Fix mod browser null listing crash (#12546)
* Fix mod browser null listing crash

* Fix lambda capture after null list fallback
2026-08-28 16:50:14 -04:00
EggleEgg 6ed7a905a4 recon stance 2026-08-28 03:02:18 +02:00
Anuken f92db080ed Merge remote-tracking branch 'origin/master' 2026-08-27 18:45:45 -04:00
Anuken 02dea62c26 Fixed #12539 2026-08-27 18:45:38 -04:00
Github Actions dc32943612 Automatic class mapping and map name update 2026-08-27 16:46:49 +00:00
Vladislav SuchkovandAnuken e981ce8faf Add more spacing to map objectives (#11790)
* add spacing

* more line break

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-27 12:44:54 -04:00
WMF 0699ae305e new event™️ (#11827) 2026-08-27 12:44:21 -04:00
Github Actions 2ebd548170 Automatic class mapping and map name update 2026-08-27 16:37:22 +00:00
Rylid-UmilandAnuken b05d9a11f1 Add lifeRnd and extraLife for Weapons and more (#11477)
* lifeRnd and extraLife

like velocityRnd and extraVelocity but with bullet lifetimes. random is applied before the scaling with scaleLife.

* Update contributors

* particle aspect ratio system

* fix bug

* seperate fin and color fin

* Update ParticleEffect.java

* New Triangle effect 

i'm trying my best bro

* ok i found the bug and i fixed it

* bug squashed 2

* addede extraLife and lifeRnd, and extraVelocity for turrets

* Okay okay, one last change.

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-27 12:34:23 -04:00
Anuken e488a79096 Merge remote-tracking branch 'origin/master' 2026-08-27 12:31:11 -04:00
Anuken 428785494d Fixed input handler switch not updating quadtrees 2026-08-27 12:31:04 -04:00
DeterMination 7efe3b2ea7 Increase map editor undo history limit (#12536) 2026-08-27 12:12:27 -04:00
Anuken 894bab4ecd Merge remote-tracking branch 'origin/master' 2026-08-26 15:17:09 -04:00
Anuken d69229a333 Fixed #12531 2026-08-26 15:17:01 -04:00
EggleEgg 7ecd2f4249 Qol: .info descriptions to unit weapons (#12527) 2026-08-26 15:06:22 -04:00
Anuken 17f3d89300 Removed camera sensors from non-privileged logic 2026-08-26 15:00:48 -04:00
Anuken 82ac6a98a5 Fixed 'escelating' objective typo in existing saves 2026-08-26 09:36:24 -04:00
MCxzfwq 27ba9d7cd2 Call afterDestroyed method on build in destroyed() (#12525) 2026-08-24 03:10:18 -04:00
Anuken 0194398a81 Update bug_report.yml 2026-08-22 05:04:38 -04:00
Anuken a4974ec8e3 Merge remote-tracking branch 'origin/master' 2026-08-20 09:43:13 +02:00
Anuken 3086ea6ecf Fixed save load text wrapping 2026-08-20 09:43:04 +02:00
buthed010203 872e967a12 Fix PlacementFragment at large ui scales. (#12515) 2026-08-20 03:42:27 -04:00
Anuken 727dacf9bb Fixed #12512 2026-08-19 21:13:42 +02:00
Anuken d5218ad160 Merge remote-tracking branch 'origin/master' 2026-08-19 18:49:07 +02:00
Anuken 7517d89964 Fixed #12509 2026-08-19 18:48:54 +02:00
Kaleinova f5d06edefc Add armor value access to Block and BuildingComp (#12510) 2026-08-19 12:45:23 -04:00
buthed010203 6ce1a323ab Fix preview generation leaking buildings into world (#12511)
This wasn't ever noticed before but now that world logic can do crazy stuff, it causes a lot of issues.
2026-08-19 12:45:07 -04:00
buthed010203 5184b5e6e1 Fix texture streaming races: (#12505)
- Double sending (large texture followed by small texture with same name, large one could arrive after small one and overwrite it).
- Add then remove (a large texture could be removed before it was done being added).
2026-08-19 04:38:34 -04:00
buthed010203 ce6e4f02e0 Support color in stack. (#12507) 2026-08-19 04:37:31 -04:00
Anuken e130c34a61 Merge remote-tracking branch 'origin/master' 2026-08-19 10:37:20 +02:00
Anuken 71f4ec957f Fixed #12506 2026-08-19 10:37:10 +02:00
西红柿汤 9d6379dbf8 Update getblock description for accuracy (#12485) 2026-08-18 14:55:33 -04:00
Anuken 809cf8baad Fixed #12496 2026-08-18 12:08:02 +02:00
Anuken da911f3877 Fixed #12498 2026-08-18 11:37:58 +02:00
Anuken ff580d8a06 Fixed #12491 2026-08-18 11:12:22 +02:00
Anuken d38ec52faa Fixed #12497 2026-08-18 11:07:55 +02:00
Anuken abebad2f5f Fixed #12495 2026-08-18 11:00:55 +02:00
Anuken e8bf80a1d2 Fixed mod icons not displaying when newly imported 2026-08-14 12:12:52 -04:00
Anuken f695ad7e60 Fixed UiTreeBuilder stack ID bug 2026-08-13 21:03:59 -04:00
Anuken 58d1c3265e Merge remote-tracking branch 'origin/master' 2026-08-13 14:55:37 -04:00
Anuken 774b2b64d3 Remote methods for tile fill 2026-08-13 14:55:29 -04:00
Anuken 099971d8f6 RoboVM update 2026-08-13 12:39:55 -04:00
Github Actions 275d357b6c Automatic bundle update 2026-08-13 15:42:47 +00:00
Anuken 11d79aceec Merge remote-tracking branch 'origin/master' 2026-08-13 11:42:02 -04:00
Anuken f6fa8fb326 PR cleanup 2026-08-13 11:41:55 -04:00
Github Actions 6b849a4017 Automatic bundle update 2026-08-13 15:39:23 +00:00
方而静 8ac7087adf core: input: Optimize bridge placement with DP and unify bridge handling (#11908)
* core: input: Optimize bridge placement with DP and unify bridge handling

Refactor `Placement.calculateBridges` to use dynamic programming for
smarter bridge insertion when dragging conveyor lines across obstacles.
Introduce a `BridgePlacer` interface to consolidate logic for
`ItemBridge` and `DirectionBridge`, reducing code duplication and
improving maintainability.

The DP algorithm considers conveyor, junction, and bridge costs to
minimize placement steps while avoiding unnecessary gaps.

Signed-off-by: szdytom <szdytom@qq.com>

* core: add setting option for smarter conveyor bridge placement

Introduce a new "Smarter Bridge Placement (Experimental)" setting that
toggles between the legacy bridge calculation and an optimized DP-based
algorithm. Preserve the original placement logic to maintain stability
while allowing users to test the improved pathfinding behavior.

Add localized strings for the new setting for English and
Simplified Chinese in the respective bundles.

Suggested-by: loleczkowo <loleczkowo@loleczkowo.com>
Signed-off-by: szdytom <szdytom@qq.com>

---------

Signed-off-by: szdytom <szdytom@qq.com>
2026-08-13 11:38:47 -04:00
The4codeblocks 9cb67b15da add+implement LDrawable interface, for modding purposes (#12056)
* add+implement LDrawable interface

* * imports

* cleanup

* tiled
2026-08-13 11:36:52 -04:00
Github Actions 313e80448a Automatic class mapping and map name update 2026-08-13 15:31:57 +00:00
Github Actions be90286451 Automatic bundle update 2026-08-13 15:31:03 +00:00
buthed010203 0f444a8ad7 Implement image streaming API (#12482) 2026-08-13 11:30:23 -04:00
Joan Josep c5d6814c50 Update bundle_ca.properties (#12474)
* Update bundle_ca.properties

* Update bundle_ca.properties
2026-08-13 11:30:16 -04:00
SITUVNgcd 491cd90af8 Update Vietnamese translation (#12469)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/6b431ece1b8a9e9fdfb7d4162eae9c7a5471c24c

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/6b431ece1b8a9e9fdfb7d4162eae9c7a5471c24c
2026-08-13 11:30:07 -04:00
wan fb1cde88d8 Update bundle_ja.properties (#12480) 2026-08-13 11:28:32 -04:00
wan a1fe1f7a9e Update bundle_ja.properties (#12470)
* Update bundle_ja.properties

* Update bundle_ja.properties
2026-08-13 11:25:09 -04:00
Anuken d27480312a Fixed #12484 2026-08-13 11:24:15 -04:00
Anuken 43d3aa6460 Fixed layout issues with outdated servers / .d.ts generation script 2026-08-12 14:11:59 -04:00
Anuken a819f80520 Proper interface override support for iOS in Javascript 2026-08-12 01:32:04 -04:00
Anuken 5c7e462e9c Rhino update 3 2026-08-11 21:55:19 -04:00
Anuken 92219de5b7 Rhino update, again 2026-08-11 21:34:20 -04:00
Anuken 02e789687d Updated Rhino 2026-08-11 21:09:07 -04:00
Anuken 3f3c0d4911 Moved fancy checkbox to separate class 2026-08-11 14:24:30 -04:00
Anuken ab0cc53ae7 Fixed #12477 2026-08-11 14:05:33 -04:00
Anuken e7d214d43b JSON schema generation tweaks / Logic link name fixes 2026-08-10 22:38:45 -04:00
Anuken a5c6b9d240 ItemModule.empty capacity check 2026-08-10 15:58:58 -04:00
Anuken ec02e87d94 Fixed #12471 2026-08-10 15:53:40 -04:00
Anuken 90eb03cf78 Fixed #12472 2026-08-10 14:39:57 -04:00
Anuken 4aa0c64567 Merge remote-tracking branch 'origin/master' 2026-08-10 14:34:53 -04:00
Anuken c800574c4c Fixed #12473 2026-08-10 14:34:44 -04:00
The4codeblocks 1c4245d070 add+use LPrintable interface, for modding purposes (#12047)
* the beginnings of LPrintable.java

* implement interface
2026-08-09 21:17:02 -04:00
Anuken 59ca250593 Unloader item crash fix 2026-08-09 16:40:31 -04:00
Anuken 269a3f5841 Merge remote-tracking branch 'origin/master' 2026-08-08 14:40:16 -04:00
Anuken 9302dc1f44 Fixed spurious commits 2026-08-08 14:40:09 -04:00
Github Actions 694e722ce8 Automatic class mapping and map name update 2026-08-08 17:46:47 +00:00
Anuken 9fc5b187bf Merge remote-tracking branch 'origin/master' 2026-08-08 13:44:55 -04:00
Anuken beb45688b2 Fixed message block edit misalignment on mobile 2026-08-08 13:44:49 -04:00
Github Actions 9dd19c7559 Automatic class mapping and map name update 2026-08-08 17:27:12 +00:00
Anuken c018a6feb0 Updated minimum iOS version as per Apple's requirements 2026-08-08 13:25:56 -04:00
Github Actions 1d8da1531d Automatic class mapping and map name update 2026-08-08 15:55:48 +00:00
Anuken 38a921558d Fixed 'escelating' bundle typo 2026-08-08 11:54:40 -04:00
Github Actions f0d29df1d8 Automatic bundle update 2026-08-08 15:50:10 +00:00
Ademdu136andAnuken 40951ad576 Update bundle_fr.properties (#12199)
* Update bundle_fr.properties

Added more french titles for zones and re-did some of them.

* Update bundle_fr.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-08 11:49:27 -04:00
Blabla31i be15bdee46 Update bundle_tr.properties (#12084)
Some typo's are fixed and made one translation from "modded" to "modlanmış"
2026-08-08 11:45:46 -04:00
wan d499f67839 Update bundle_ja.properties (#12468) 2026-08-08 11:44:57 -04:00
1ue999and1ue999 53dba45410 i sensed some memory (#12465)
Co-authored-by: 1ue999 <1ue999owo@gmail.com>
2026-08-08 11:41:20 -04:00
Anuken 26e3452f7c Fixed tests 2026-08-08 11:40:55 -04:00
Anuken 52d23725a7 Fixed #12467 2026-08-08 11:31:26 -04:00
Anuken b88591c51b Fixed mirror filter line clip issue after PR 2026-08-07 23:32:29 -04:00
Anuken 49f5e584eb Merge remote-tracking branch 'origin/master' 2026-08-07 23:26:18 -04:00
Anuken 15641b7f2d Minor cleanup & JSON mod folder loading fix 2026-08-07 23:26:09 -04:00
bd75e7bb27 Make mirror axis draggable (#11993)
* Add draggable mirror axis

* Add comments for mirror axis

---------

Co-authored-by: DeterMination-Wind <228482103+DeterMination-Wind@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-07 23:25:51 -04:00
Github Actions 6b431ece1b Automatic bundle update 2026-08-08 03:19:50 +00:00
Pyratite No Lead dbecd74428 Update Simplified Chinese Translation (#12452)
* Update Simplified Chinese Translation

* Fix typo

* Update Simplified Chinese Translation
2026-08-07 23:19:07 -04:00
Sunky.MP3G e58c886d60 Ru translation (#12445)
* Update bundle_ru.properties

* forgor

* wowowowowow mod warning haha turn your device into brick
2026-08-07 23:19:00 -04:00
Zaxerf1234 70f92077b5 Update uk_UA bundle translation (#12438)
* Update contributors

* Update bundle_uk_UA.properties

* Translate new fields
2026-08-07 23:18:52 -04:00
Kevin Vilyan 5c60109a88 Update Bundle ID (#12433)
* Translate New String. Bundle ID

* server.sort

* Update bundle_id_ID.properties

* noticed inconsistency

* minor revision

* translate mod warn
2026-08-07 23:18:42 -04:00
SITUVNgcd 04bb82d622 Update Vietnamese translation (#12431)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/96393067bf38070aa56c83a5fa90a0445c4828e8

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/c9fe48f6bb945b26fff315bca917cce5c322882b

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/65e932039bacee625158c322fec41084130eacdb
2026-08-07 23:18:35 -04:00
summoner 0b13529061 Translation: Update bundle_hu.properties (#12425)
* Translation: Update bundle_hu.properties

Translate new string

* Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings
Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Fix wording

* Translation: update bundle_hu.properties

Translate new strings
2026-08-07 23:18:28 -04:00
VireVeonix 3ffdba4ee1 Update ForceProjector.java (#12463)
let people define forceShrink themselves in order to not have this effect be hardcoded to always display 6 sides
2026-08-07 16:55:43 -04:00
Anuken 257a28e4d7 Button checked for UI builder 2026-08-07 12:43:12 -04:00
Anuken 220b965d3c Button group for UI builder 2026-08-07 10:30:33 -04:00
Anuken 9eea0969cd Closes #11273 2026-08-06 22:05:04 -04:00
Anuken 424b4ba8a7 Misc cleanup & minor fixes 2026-08-06 21:53:08 -04:00
Anuken 5a9603cf48 Do not update units when in editor 2026-08-06 18:08:33 -04:00
Anuken 54105ce586 Fixed #12457 2026-08-06 17:43:36 -04:00
Anuken 96cd2e20fe UI builder stack support 2026-08-06 16:29:03 -04:00
Anuken fb16df23af Fixed MapIO#generatePreview failing or corrupting current world 2026-08-06 14:40:10 -04:00
Anuken c27cd836d8 Docs & UI hot reload line number preview 2026-08-06 14:14:23 -04:00
Cardillan 68bfae2cf3 Finish processor link changes optimization / avoid unwanted 'wait' resets (#12232)
* Finish processor link changes optimization

* Convert links to normal variables and back
2026-08-06 14:11:31 -04:00
JasonP01 491e2d923b fix renaming
todo: ensure it doesnt write the status chance twice
2026-08-06 20:11:30 +02:00
JasonP01 3b658e0fc5 fix the values 2026-08-06 19:51:17 +02:00
JasonP01 9b357dbe8c possible lighting bullet fix 2026-08-06 19:22:51 +02:00
JasonP01 5f77b10bf9 fix status value 2026-08-06 19:20:35 +02:00
Anuken 3d7a930dcd Display lines in UI parser 2026-08-06 12:27:02 -04:00
Anuken d7baddecdd Fixed drawables being cached after data image reload 2026-08-06 11:55:40 -04:00
EggleEgg 2724337aad back, probably 2026-08-06 06:26:47 +02:00
JasonP01 42b02ec944 fix problems 2026-08-06 05:44:04 +02:00
JasonP01 10968885c6 merge origin 2026-08-06 05:33:14 +02:00
JasonP01 cf7dbf1090 ; 2026-08-06 05:32:38 +02:00
Jason 116c2f9300 Merge branch 'Anuken:master' into statusChance 2026-08-06 05:26:44 +02:00
JasonP01 e38d49399b merge upstream 2026-08-06 05:25:38 +02:00
Anuken 1e14d37387 Fixed seeking mp3 files 2026-08-05 23:11:34 -04:00
Anuken 83f8d89bf3 Fixed \n parsing in UI DSL 2026-08-05 23:11:22 -04:00
Anuken d7714654f1 sgdsgsdg 2026-08-05 22:52:12 -04:00
Anuken eae749bbf1 iOS fixes 2 2026-08-05 22:49:19 -04:00
Anuken 20eee370ff iOS task fixes 2026-08-05 22:45:17 -04:00
Anuken cbf3ca6650 arc 2026-08-05 17:23:32 -04:00
Anuken 8718814bff Fixed UI hot reload not updating background 2026-08-05 14:59:37 -04:00
Github Actions fc0113c887 Automatic bundle update 2026-08-05 15:54:40 +00:00
Anuken 82951f6855 More UI DSL fields 2026-08-05 11:53:34 -04:00
Anuken 467f61583b Utility class for DSL UI hot reloading 2026-08-05 03:21:25 -04:00
Anuken 97b9afb85a Fixed #12453 2026-08-04 23:33:37 -04:00
Anuken 16c9fbe148 arc 2026-08-04 21:48:52 -04:00
Anuken 21ea978455 Stricter JSON allow-list 2026-08-04 21:42:53 -04:00
Anuken 170cf7f8c0 UI builder system fixes and cleanup 2026-08-04 16:33:03 -04:00
Anuken 7ebfe8990d Fixed #12449 2026-08-04 14:05:14 -04:00
Anuken 390dfad960 Scheam generator cleanup 2026-08-04 13:44:38 -04:00
Anuken c197382955 Conditional UI building for servers (e.g. portrait/landscape) 2026-08-04 12:37:27 -04:00
Anuken b6a2725c77 Schema cleanup 2026-08-04 02:27:01 -04:00
Anuken 5b8f7d5c93 Schema generator moved to separate class 2026-08-03 23:30:53 -04:00
Anuken 355ea97b50 Schema default 2026-08-03 20:21:01 -04:00
Anuken 0e4883c228 Merge remote-tracking branch 'origin/master' 2026-08-03 17:11:36 -04:00
Anuken 2fd3ae7d88 Scripts updated 2026-08-03 17:11:25 -04:00
Github Actions addf1ddf6d Automatic class mapping and map name update 2026-08-03 20:09:55 +00:00
Anuken 75515288cd Dialog UI builder for servers 2026-08-03 16:07:46 -04:00
Anuken 81d2043d06 Floor edge crash fix 2026-08-02 02:27:02 -04:00
Anuken 9809cb149a Merge remote-tracking branch 'origin/master' 2026-08-02 02:16:06 -04:00
Anuken 1fdb6ce3db Fixed #12443 2026-08-02 02:16:00 -04:00
Github Actions 65e932039b Automatic bundle update 2026-08-02 06:13:28 +00:00
SITUVNgcd a2ac8bf0d2 Correct description to large shield projector block (#12444) 2026-08-02 02:12:40 -04:00
Anuken cf1b2e38c2 Merge remote-tracking branch 'origin/master' 2026-08-01 18:39:50 -04:00
Anuken f9ab9e6f96 Fixed maxPhysicsTime reset 2026-08-01 18:39:44 -04:00
Github Actions c9fe48f6bb Automatic bundle update 2026-08-01 21:53:53 +00:00
EggleEgg 574506507f Mixtech thor reactor balancing (#11600)
* mixtech thor reactor heat balancing

* consume thor like crazyyy

* per side

* only produce heat when working instead, since increasing or reducing ambient cooldown doesnt do much

* dont break ratios thanks

* pontentially

* potentially god fucking dammit

* slower and safer reactor

* slower and safer reactor

* do not

* db entry stuff
2026-08-01 17:53:03 -04:00
Anuken d91028a376 Merge remote-tracking branch 'origin/master' 2026-08-01 17:43:31 -04:00
Anuken b7148edba5 Minor doc fixes 2026-08-01 17:43:24 -04:00
Github Actions b2876d5916 Automatic bundle update 2026-08-01 21:18:46 +00:00
Jonathan "Not quite" TempoandAnuken ad2bae37f1 Update bundle_it.properties (#12177)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-01 17:18:09 -04:00
Vladislav SuchkovandAnuken 5330e8d45d Translation: Update bundle (en) & bundle_ru (#11777)
* update bundle, bundle_ru

* typo

* more tweaks

* forgor a line break

* remove usage of a var (removed in #1bdac35)

* Apply suggestions from code review

Co-authored-by: Anuken <arnukren@gmail.com>

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-01 16:27:33 -04:00
Github Actions 3f59a53024 Automatic bundle update 2026-08-01 20:24:51 +00:00
6e5b3e519b Update bundle.properties (#11911)
* Update bundle.properties

added descriptions to editor only blocks

* Update bundle.properties

best i could try

* '⚠' != '⚠️'

* Apply suggestion from @Anuken

---------

Co-authored-by: 50275 <68676339+50275@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-01 16:24:04 -04:00
Github Actions e962ed5a25 Automatic bundle update 2026-08-01 19:59:59 +00:00
The4codeblocksandAnuken caa6801ec4 Not privileged setrate [POSTREFORMAT] (#10520)
* npsr

* npsr deconflict

* npsr cat

* anuke is not a modder

* Update LExecutor.java

* Update LogicBlock.java

* remove nopriv reset

* fix

* avoid credit duplication

* fix version conflict

* Apply suggestion from @Anuken

* Apply suggestion from @Anuken

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-01 15:59:22 -04:00
Anuken 6c7bf7511a Separate perf counters for unit physics and waiting for physics completion 2026-08-01 14:03:51 -04:00
Anuken 6f3e4d7f25 Minor HUD hide fix 2026-08-01 02:32:28 -04:00
Redstonneur1256andAnuken 2ca5d373d5 Logic cutscene improvements (#10861)
* Logic cutscene improvements

* Add `cutscene shake`

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-08-01 02:31:31 -04:00
Anuken fb3fff9894 Fixed tests 2026-08-01 02:31:22 -04:00
Anuken e5e417265d Do not force LogicAI for unbind/within 2026-08-01 01:11:37 -04:00
Anuken 94453c127c Merge remote-tracking branch 'origin/master' 2026-08-01 01:02:33 -04:00
Anuken 0408389fda arc 2026-08-01 01:02:31 -04:00
Anuken 6ab65f735d Workaround for TimeControl-specific NaN bug 2026-08-01 01:02:15 -04:00
Anuken 296d6cbdb9 misc fixes 2026-08-01 00:36:51 -04:00
Anuken 474f486980 Physics refactor 2026-08-01 00:18:15 -04:00
Anuken 3af897de1d Physics refactor 2026-07-31 23:58:40 -04:00
Jason 2a72d5e3bf fix NaN (#12436) 2026-07-31 22:32:26 -04:00
Anuken 20da6a38ab Fixed tests 2026-07-30 19:02:04 -04:00
Anuken 0e2f071d63 Fixed #12430 2026-07-30 16:31:42 -04:00
Anuken 37194ce6ab Merge remote-tracking branch 'origin/master' 2026-07-30 15:47:04 -04:00
Anuken fa2b202dcf MinAPI Android cleanup 2026-07-30 15:46:51 -04:00
Kaleinova d07016eea9 Translation: Update zh_CN translation (#12399)
* Translation: Update zh_CN translation

* Translation: Update zh_CN translation

Updated the synchronization description.
2026-07-29 17:40:47 -04:00
BalaM314 71c15e996f Fix push direction of offset arc shields (#12429) 2026-07-29 17:40:33 -04:00
Anuken e56227b2b0 Fixed #12428 2026-07-29 17:40:15 -04:00
Yura Bobalo 6f2af6013c Fix translation for advanced launch pad description (#12426)
Fixed a typo in the Ukrainian translation for the advanced launch pad description.
2026-07-27 15:28:16 -04:00
BalaM314 384c8d576b Fix rotation of hover parts (#12424) 2026-07-27 12:19:48 -04:00
Github Actions 96393067bf Automatic bundle update 2026-07-27 16:08:25 +00:00
Anuken 8ce8423758 Merge remote-tracking branch 'origin/master' 2026-07-27 12:07:27 -04:00
Anuken d3a50f6951 Added button to sort servers by player count 2026-07-27 12:07:21 -04:00
Github Actions 048ea6e56f Automatic bundle update 2026-07-26 16:13:15 +00:00
Anuken 4e85807aa9 Fixed #12421 2026-07-26 12:12:28 -04:00
Anuken c407e38516 Merge remote-tracking branch 'origin/master' 2026-07-25 22:09:15 -04:00
Anuken 8a1b3c291c Fixed #12419 2026-07-25 22:09:06 -04:00
Jhonnata André ef294666ae Add jhonnata.andre to contributors list (#12412)
Commit b0f5740
Finalizes pending translations and synchronizes the pt_BR bundle with the latest bundle.properties (English). (#12283)
2026-07-24 21:26:59 -04:00
Cardillan d2c35d7b4b Fixes tileable displays not working with marker texture after map load (#12415) 2026-07-24 21:26:43 -04:00
EggleEgg 330ddc1c23 Revert "Fix fortress and collaris bullets dying before reaching their intende…" (#12414)
This reverts commit 3434c35334.
2026-07-24 21:26:27 -04:00
Kirill 3434c35334 Fix fortress and collaris bullets dying before reaching their intended position (#12408)
* Fix fortress/collaris bullets dying before reaching intended range

* Lower maxRange/rangeOverride to match actual bullet travel distance
2026-07-24 13:31:49 -04:00
ThePullerCell bae93299c7 Demixeled large shield projector (#12413)
* Rename large-shield-projector.png to large-shield-projector-to-delete.png

* Add files via upload

* Rename large-shield-projector-improved.png to large-shield-projector.png

Demixeled large shield projector

* forgot to upload team sprite

* Delete core/assets-raw/sprites/blocks/defense/large-shield-projector-to-delete.png

ISTG DID I NOT DELETE THE DAMN TO DELETE SPRITE
2026-07-24 13:31:07 -04:00
Anuken 62b8bdd7e3 Fixed #12410 2026-07-24 13:30:29 -04:00
Anuken 729a4f50ba Fixed #12409 2026-07-24 13:17:28 -04:00
Anuken 9af6cc0c6a Merge remote-tracking branch 'origin/master' 2026-07-23 23:20:11 -04:00
Anuken b91800d821 Closes #11356 2026-07-23 23:20:02 -04:00
EggleEgg 5cbdd3ef0c possible patch 1: least risk (#12008) 2026-07-23 23:15:33 -04:00
Github Actions de1584ece7 Automatic bundle update 2026-07-24 03:04:48 +00:00
Anuken 21b98b809f Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-07-23 23:04:00 -04:00
Anuken 2235e35939 arc 2026-07-23 23:03:57 -04:00
Jhonnata André b0f574071a Finaliza traduções pendentes e sincroniza o bundle pt_BR com o bundle.properties (inglês) mais recente. (#12283)
Translated various English strings to Portuguese in the properties file, enhancing localization for Portuguese-speaking users.

Alterações

Traduzido conteúdo que ainda estava em inglês (~67 chaves), incluindo:

Textos de UI (área de transferência, pausa, importação de mods, tela de erro de mod)
Descrições de setores de campanha (Ravine, Facility 32M, Tainted Woods, Sunken Pier, Atolls, Frontier, Infested Canyons, Testing Grounds, Perilous Harbor, Weathered Channels, Mycelial Bastion, Littoral Shipyard)
Descrições de habilidades e balas
Seção técnica de lógica (lglobal.*, lst.*, graphicstype.print) usada pelos processadores de mundo

Adicionadas 90 chaves que estavam ausentes (não existiam no bundle pt_BR), sincronizando com o bundle.properties atual — principalmente o novo sistema de Data Patches & Assets (asset.*, patch.*, content.*), além de export.file, import.file, copy.clipboard, workshop.browse, edit.menu, settings.dev, rules.hidespawns, lst.playmusic, entre outras.
Nenhuma chave existente foi removida. Chaves que não existem mais no bundle em inglês (ex: schematic.copy, editor.patches.*, waves.edit) foram mantidas por compatibilidade.

Terminologia usada
Consistente com o restante do arquivo: horda = wave, núcleo = core, torreta = turret, unidade = unit, bloco = block, ativo = asset, Patches mantido em inglês (já usado no arquivo original).
2026-07-23 23:03:44 -04:00
1ue999and1ue999 0fb3c6183e implement https://github.com/Anuken/Mindustry-Suggestions/issues/6426 (#12373)
* implement something

* turns out we had no vars for status effects

* seconds, not frames

* @status-name, setprop status

* lossyless?

* secondary commit

* status changes

* ui uiing

---------

Co-authored-by: 1ue999 <1ue999owo@gmail.com>
2026-07-23 23:00:25 -04:00
SITUVNgcd 7f484c34a4 Update Vietnamese translation (#12394)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/a39660ec88961476c110e9e6073ef6b041beea9b

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/a39660ec88961476c110e9e6073ef6b041beea9b
2026-07-23 22:58:48 -04:00
Anuken efb218653b Logic field layout autowrap 2026-07-23 15:52:44 -04:00
Anuken a7f53421e3 Merge remote-tracking branch 'origin/master' 2026-07-22 15:37:57 -04:00
Anuken 55908f9112 Public flow rate measurement parameters 2026-07-22 15:37:47 -04:00
Sunky.MP3G 8a183e72d4 Ru translations (#12400)
* Music logic, block limit

* Better "workshop" translation and some untranslated lines

* Why did I only do this now
2026-07-21 19:10:52 -04:00
Anuken 8b672526e5 Fixed tab selection 2026-07-21 19:09:25 -04:00
Anuken 4d39837cf3 Merge branch 'sound-selector-tabs' of https://github.com/Abdullah-Ajeebi/Mindustry into Abdullah-Ajeebi-sound-selector-tabs 2026-07-21 18:34:10 -04:00
Anuken ae274d35c7 Fixed #12397 2026-07-21 18:31:17 -04:00
Abdullah 2fd3ab74a0 Actually use play(..., AudioBus) because IDEA is trying to be funny and whatnot (it somehow never updated Arc) 2026-07-21 10:52:53 +03:00
Anuken 62dbbe39d1 Patches below stack trace 2026-07-20 17:42:38 -04:00
Anuken 6425f37e68 arc 2026-07-20 15:41:26 -04:00
Anuken d120f1d730 Merge remote-tracking branch 'origin/master' 2026-07-20 15:41:18 -04:00
Anuken 21290057f0 Fixed #12392 2026-07-20 15:41:08 -04:00
WMF feab7aa908 datapatch planet requirement fix (#12389) 2026-07-20 15:30:48 -04:00
Cardillan 7e416f4251 Set result to null when sensor fails (#12391) 2026-07-20 15:30:13 -04:00
BalaM314 d23f072922 Unbork bug report template description (#12393)
the text has been totally wrong for years and i never noticed
2026-07-20 15:29:49 -04:00
Github Actions c9686eb5d0 Automatic bundle update 2026-07-19 21:31:33 +00:00
西红柿汤 509cafe386 Add files via upload (#12379) 2026-07-19 17:30:48 -04:00
summoner 58642efa83 Translation: Update bundle_hu.properties (#12367)
* Translation: Update bundle_hu.properties

Fix string

* Translation: Update bundle_hu.properties

translate new string

* Translation: Update bundle_hu.properties

Translate new string
2026-07-19 17:30:40 -04:00
adex345 4bddbfa9ca Changed incorrect "Prąt" to "Prąd" in Polish translation. (#12385) 2026-07-19 17:28:24 -04:00
AbdullahandCopilot 8713c41741 Make sounds actually play first try, stop sounds on dialog close, and add playback indicator.
Use temporary UI bus for preview playback, retry start on next frame and after short delay, stop preview when dialog closes, update UI icon to indicate playback.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-18 05:42:06 +03:00
Github Actions a39660ec88 Automatic bundle update 2026-07-17 16:18:36 +00:00
Anuken 81655bbc99 Block placement limits rule for servers 2026-07-17 12:17:28 -04:00
Anuken 5779583a65 Replacement when outlining certain content 2026-07-16 18:46:11 -04:00
Anuken db14d9f086 Rules margin fix 2026-07-16 18:37:51 -04:00
Anuken 366e54784a Fixed sector icon generation 2026-07-16 00:05:42 -04:00
Anuken fc8d70b12f Cleanup 2026-07-15 16:41:29 -04:00
Anuken 2e74261566 Removed redundant URL handling in iOS 2026-07-15 16:21:32 -04:00
Anuken 09a45ee2fb Fixed mysterious missing conveyors in schematics / Better schematics import handling 2026-07-15 15:44:37 -04:00
Anuken aa7c39636c Merge remote-tracking branch 'origin/master' 2026-07-15 15:30:03 -04:00
Anuken 786194b0b9 Fixed #12370 2026-07-15 15:29:57 -04:00
Github Actions 23fb20abe3 Automatic bundle update 2026-07-15 18:42:10 +00:00
Anuken 5e426a60c1 Support for mindustry:// URLs for joining servers on Android 2026-07-15 14:41:28 -04:00
Anuken 91c3e50771 Android file chooser fixes & support for save loading from file browser 2026-07-15 14:21:38 -04:00
Anuken cef447356b Cleanup 2 2026-07-15 12:07:18 -04:00
Anuken 965550ab0d Antialiasing cleanup 2026-07-15 12:04:34 -04:00
Anuken 4133f3fa48 Sector icon outlines (untested) 2026-07-15 11:47:04 -04:00
Anuken 75e0f20964 Somehow this fixed unloader centering 2026-07-15 08:52:53 -04:00
Anuken c0dd4d09f9 Merge remote-tracking branch 'origin/master' 2026-07-15 08:42:23 -04:00
Anuken d5b8726c8c Data editor UI layout fixes 2026-07-15 08:42:17 -04:00
Github Actions 167be4e4a5 Automatic bundle update 2026-07-15 02:29:35 +00:00
summoner 21bc2a108b Translation: Update bundle_hu.properties (#12356)
Translate new strings
Follow the changes of the english bundle
2026-07-14 22:28:51 -04:00
motorhce 3820baa885 Update bundle_bg.properties (#12361)
I have read and retranslated the untranslated lines. Also fixed some mistakes.
2026-07-14 22:28:44 -04:00
Github Actions 665e458409 Automatic class mapping and map name update 2026-07-15 02:26:53 +00:00
Anuken 39a056e09f Fixed maps (again?) 2026-07-14 22:25:50 -04:00
Anuken 823a61670a Map fixes 2026-07-14 22:20:59 -04:00
Anuken 8a60e96f0e Don't generate misleading blank block icons 2026-07-14 22:16:42 -04:00
Anuken 1ee1d4398a Merge remote-tracking branch 'origin/master' 2026-07-14 22:05:48 -04:00
Anuken 3aff70b948 Fixed #12365 2026-07-14 22:05:43 -04:00
Github Actions bf3316b110 Automatic class mapping and map name update 2026-07-15 01:57:52 +00:00
Anuken f26fe0e821 Fixed #12363 2026-07-14 21:56:20 -04:00
Anuken 4e3e232a30 Fixed wrong rule write for music 2026-07-14 11:36:14 -04:00
Anuken e60474c7d0 Let SoundControl#findMusic load modded assets 2026-07-14 11:25:05 -04:00
Anuken 993737a5c5 Temporary workaround for 263 being broken 2026-07-13 13:30:45 -04:00
Anuken 56efff6a0a Removed leftover debug logging 2026-07-13 13:24:25 -04:00
Anuken 3580c2b63d Allow console in editor (desktop) 2026-07-13 12:42:59 -04:00
Anuken e93430019c Submission updates 2026-07-13 12:22:17 -04:00
Anuken dab3f8ef16 Fixed #12355 2026-07-13 12:04:42 -04:00
Anuken 53d602c294 Fixed audio bus assignment issues 2026-07-13 11:54:32 -04:00
Anuken abf52f737a Merge remote-tracking branch 'origin/master' 2026-07-13 11:39:25 -04:00
Anuken 6d51b2e0a0 Fixed 263 not having attack mode 2026-07-13 11:39:18 -04:00
Github Actions 3a527c1292 Automatic bundle update 2026-07-13 15:16:13 +00:00
Kevin Vilyan e1fde4fcfd Translate New Music Rules (#12353) 2026-07-13 11:15:27 -04:00
Anuken 282f21e903 Music volume rule & current playing music var 2026-07-13 11:15:11 -04:00
Anuken 0e87cdafd5 Merge remote-tracking branch 'origin/master' 2026-07-13 10:54:16 -04:00
Anuken 3b29a4877f Fixed #12354 2026-07-13 10:54:09 -04:00
KienNgoo aef729eef6 Fixing minor text issue in bundle_vi.properties (#12342)
Currently, the string for Casual difficulty has rendering issues in Vietnamese - the actual text in-game doesn't match to what's seen in bundle_vi.properties because of shifted diacritics.
My retype fixes that (extremely) minor issue that could annoy a small group of people.
2026-07-13 09:06:03 -04:00
summoner c10cdbe1fc Translation: Update bundle_hu.properties (#12337)
* Translation: Update bundle_hu.properties

Translate new strings
Follow te changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

Translate new string
2026-07-13 09:05:15 -04:00
sergij098123 c5853eade6 Updated Ukrainian localization (#12343) 2026-07-13 09:05:04 -04:00
SITUVNgcd f90829457a Update Vietnamese translation (#12344)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/fcfc42e057bdea64d523e49ab15ad5d8eef03f0f

* Font display issue due to Decomposed Unicode
2026-07-13 09:04:57 -04:00
Sunky.MP3G 4a825a31ae Ru translations (#12330)
* Small fix

* Yet another bunch of translations

* Tweaked Onset text and temoved unnecessary part of payload conv. desc

* Same for ru
2026-07-13 09:04:50 -04:00
Pyratite No Lead 207cfba2bd Update Simplified Chinese Translation (#12346)
* Update Simplified Chinese Translation

* Fix typo
2026-07-13 09:04:31 -04:00
Anuken 2c066e9c8c Merge remote-tracking branch 'origin/master' 2026-07-13 09:04:07 -04:00
Anuken 9cf425164e Made map fixer automatically hide objectives and remove unlocalized prints 2026-07-13 09:04:00 -04:00
Alessandro Suha 56defd8e02 heat: disabled HeatConductors no longer redirect heat (#12352) 2026-07-13 08:50:47 -04:00
Alone c124414aba Fix issue where afterReadAll in Building is never called (#12351)
* "Add a multiPacker parameter to AtlasPackEvent, allowing listeners to add custom textures through the multiPacker parameter."

* introduces a new hook method packSprites(MultiPacker packer) to the Mod class.

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* d

* Update Vars.java

* Refactor mod icon loading for Steam Workshop

* Refactor mod icon loading for Steam Workshop

* Fix issue where afterReadAll in Building is never called

* Fix issue where afterReadAll in Building is never called
2026-07-13 08:30:26 -04:00
Efsfse2280 cc86657f62 Titanium Conveyor-related transport blocks displaySpeed polishing (#12350)
* numbers

* less code

* bruh
2026-07-13 08:29:19 -04:00
Anuken 28d1b99444 Fixed #12347 2026-07-13 08:26:52 -04:00
Anuken d4305f0287 Fixed #12345 2026-07-13 08:25:16 -04:00
Anuken 0b3300397b JS import tweaks 2026-07-12 11:41:56 -04:00
Anuken 6e4903f8c6 Fixed Steam stats not fetching 2026-07-12 09:20:29 -04:00
Anuken 0d92ef53ec Merge remote-tracking branch 'origin/master' 2026-07-11 23:00:40 -04:00
Anuken 8a1775ab3f Removed autoFindTarget assignment (not shooting while moving) now that 'hold fire' exists 2026-07-11 23:00:34 -04:00
SomeonesShadeandAnuken 907b4edbf0 A functional not so buggy reload fix (#12336)
* Added handleReload

* Update core/src/mindustry/world/blocks/defense/turrets/Turret.java

Co-authored-by: Anuken <arnukren@gmail.com>

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-07-11 11:50:06 -04:00
Anuken 58118440b9 Fixed music fade issue 2026-07-11 09:11:56 -04:00
Anuken ebfaf13bed Merge branch 'steam-networking-sockets' of https://github.com/Anuken/Mindustry 2026-07-11 08:46:37 -04:00
Anuken 1de3e80525 Fixed sector 20 objectives 2026-07-10 22:29:24 -04:00
Anuken 664e3b96f8 Fixed tests 2026-07-10 22:28:57 -04:00
Github Actions fcfc42e057 Automatic bundle update 2026-07-11 02:21:47 +00:00
Anuken 4a41b50065 Fixed some connection issues 2026-07-10 22:20:52 -04:00
Anuken d1baaad955 Merge branch 'master' of https://github.com/Anuken/Mindustry into steam-networking-sockets
# Conflicts:
#	gradle.properties
2026-07-10 21:59:34 -04:00
Anuken 3cd72e9e34 Submission updates 2026-07-10 21:58:42 -04:00
Anuken c39e2384ec Fixed #12333 2026-07-10 21:51:41 -04:00
Anuken 57309b63a9 Fixed #12332 2026-07-10 21:48:25 -04:00
Anuken ff1bcdef35 Fixed #12334 2026-07-10 21:40:51 -04:00
Anuken 1a3605761c Cleanup 2026-07-10 21:39:46 -04:00
Anuken b195a4a8e5 Cleanup 2026-07-10 19:17:16 -04:00
Anuken 6f11fd4269 Fixed large world sending 2026-07-10 14:00:20 -04:00
Anuken 48556228df Updated steamworks hash 2026-07-10 10:29:00 -04:00
Anuken 81d1554166 Updated steamworks version hash 2026-07-09 21:25:28 -04:00
Anuken 58c942116b Steam networking sockets implementation 2026-07-09 21:20:48 -04:00
Anuken 439799ce8f Merge remote-tracking branch 'origin/master' 2026-07-09 16:50:02 -04:00
Anuken b5b6b55f51 Added natives to dependency jar 2026-07-09 16:49:56 -04:00
Github Actions b48cd24118 Automatic bundle update 2026-07-09 20:47:25 +00:00
Anuken 05aa271ba0 Added music playback rules to UI 2026-07-09 16:46:18 -04:00
Anuken 069f495746 Fixed logic music playback bug 2026-07-09 16:12:10 -04:00
Anuken 9b0b96e1cc Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-07-09 15:34:46 -04:00
Anuken 0ba4359e55 arc 2026-07-09 15:34:43 -04:00
Github Actions 65705cf86e Automatic bundle update 2026-07-09 19:27:43 +00:00
Anuken 38fd53b544 Mod update checker + 'update all' button + SpawnUnit effect parameter 2026-07-09 15:26:26 -04:00
Anuken 5e47aa3bb2 Moved mod browser into separate class 2026-07-09 12:58:48 -04:00
Anuken f194df5f80 Fixed #12321 2026-07-09 12:55:10 -04:00
Anuken 25a5263c21 Fixed #12325 2026-07-09 12:44:23 -04:00
Anuken 86e63beb14 Fixed #12320 2026-07-09 12:38:16 -04:00
Anuken d329a7bed9 Fixed #12319 2026-07-09 12:37:18 -04:00
Anuken 613d5b44e2 Merge remote-tracking branch 'origin/master' 2026-07-09 12:28:31 -04:00
Anuken 179a74ce49 Increased block sprite cache cap 2026-07-09 12:28:25 -04:00
guiY f9f9369082 Update CommandAI.java (#12328) 2026-07-09 12:17:35 -04:00
Anuken 4c2d9d791d Fixed #12324 2026-07-09 12:17:01 -04:00
Anuken 335306f478 Fixed generated regions having a dp- prefix 2026-07-09 11:59:45 -04:00
Anuken b8984db2f7 Fixed incorrect revealed blocks on some maps 2026-07-09 09:01:06 -04:00
Anuken 90464c55cf Caching for mod icons in browser 2026-07-08 22:37:13 -04:00
Anuken 114db448dd Minor naval path cost fix 2026-07-08 09:38:10 -04:00
Anuken 6398fa4e1b Fixed #12313 2026-07-08 09:35:18 -04:00
Anuken e34d3d29e7 arc 2026-07-07 21:21:27 -04:00
Anuken 11e88fe009 Fixed #12310 2026-07-07 18:02:28 -04:00
Anuken 36ca01a1a3 Fixed #12311 2026-07-07 17:59:29 -04:00
Abdullah ad4cd7c54a Use asset names in sound selector 2026-07-07 22:19:45 +03:00
Abdullah 93260d4662 Improve sound selector UI 2026-07-07 22:06:28 +03:00
Anuken fc2f39f44c Fixed data patch content displaying as a mod 2026-07-07 14:13:01 -04:00
Anuken a018d53496 Fixed assets jar not including sprites 2026-07-07 14:02:00 -04:00
Anuken 1ddc69bb60 Fixed incorrect block config offset 2026-07-07 10:13:37 -04:00
Anuken 544f63e101 Fixed incorrect inventory offset 2026-07-07 10:00:06 -04:00
Anuken 92fe219e78 Fixed #12304 / Fixed #12307 2026-07-07 09:35:34 -04:00
Anuken 6d9601b579 Bundle fix 2026-07-07 09:23:49 -04:00
Anuken 567434fe99 arc 2026-07-07 09:16:10 -04:00
Anuken 094726e916 Label ID fix 2026-07-07 09:11:47 -04:00
Anuken e0996e29f4 Fixed #12306 / Fixed #12305 2026-07-07 09:00:38 -04:00
Anuken e25b728089 Fixed #12302 / Fixed #12303 / Fixed #12299 2026-07-07 08:48:43 -04:00
Anuken 8051a5c8d4 Merge remote-tracking branch 'origin/master' 2026-07-06 18:32:34 -04:00
Anuken 8b3d9504c9 Fixed NoiseEffect clipping 2026-07-06 18:32:28 -04:00
Github Actions f8e804d3cb Automatic bundle update 2026-07-06 21:51:02 +00:00
Denzy 0c96b3f7ed Update Belarusian translation (#12133)
* Update bundle_be.properties

minor changes

* Update bundle_be.properties

* Update bundle_be.properties

* Update bundle_be.properties

* Update bundle_be.properties

* Update bundle_be.properties
2026-07-06 17:50:25 -04:00
Anuken 7af809496e Merge remote-tracking branch 'origin/master' 2026-07-06 17:41:37 -04:00
Anuken b9331331a7 Don't cap reloadCounter in turrets 2026-07-06 17:41:30 -04:00
Cardillan 5e78db1a11 Allow reading links from a processor (#11838)
* Allow reading links from a processor

* Add support for numerical indexes
2026-07-06 17:21:07 -04:00
summoner 72f947634e Translation: Update bundle_hu.properties (#12297)
* Translation: Update bundle_hu.properties

Translate new string

* Translation: Ubdate bundle_hu.properties

Follow the changes of the english bundle
2026-07-06 16:55:44 -04:00
Anuken ed33b04bfc Possible schematics search reset fix 2026-07-06 15:41:40 -04:00
Anuken 44dee9b285 Removed zoom value rounding 2026-07-06 00:19:48 -04:00
Anuken 80b18bf793 Repack sprites when switching v9/v8 branches 2026-07-06 00:02:45 -04:00
Anuken 0b3ba6f94a More CI updates 2026-07-05 14:16:26 -04:00
Anuken cb3ee2112f More CI updates 2026-07-05 14:15:46 -04:00
Anuken 4d72af7d30 Removed jitpack repo updating, updated CI scripts 2026-07-05 14:13:40 -04:00
Anuken 9704bf37cc Removed jitpack repo updating, updated CI scripts 2026-07-05 14:12:48 -04:00
Anuken 112ec4bdff Merge remote-tracking branch 'origin/master' 2026-07-05 13:25:21 -04:00
Github Actions 85aa1f5e34 Automatic class mapping and map name update 2026-07-05 17:25:16 +00:00
Anuken 4e92cd8b5c what? 2026-07-05 13:25:15 -04:00
Kevin Vilyan 717aa69293 Translate asset.exists.audio (#12295) 2026-07-05 13:22:49 -04:00
Anuken 97fce0735d Merge remote-tracking branch 'origin/master' 2026-07-05 13:22:29 -04:00
Anuken 8b64aebe27 Script for updating map names 2026-07-05 13:22:23 -04:00
Github Actions a9258f99d4 Automatic bundle update 2026-07-05 17:05:58 +00:00
Anuken 2fb28e589a Bundle cleanup 2026-07-05 13:04:34 -04:00
Anuken dddce86ec7 Fixed #12296 2026-07-05 12:04:51 -04:00
Anuken a64aae1d78 Updated sector submissions, fixed crash 2026-07-05 12:00:04 -04:00
Anuken 028f1036fb Merge remote-tracking branch 'origin/master' 2026-07-05 11:17:18 -04:00
Anuken 0c2e006cc8 Audio bugfixes & data patch logic sound play support 2026-07-05 11:17:12 -04:00
Github Actions f42b519f20 Automatic bundle update 2026-07-05 14:47:20 +00:00
JniTrRnyandAnuken 41c6f389c7 Update bundle_th.properties (#12289)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-07-05 10:46:03 -04:00
Sunky.MP3G db02b63be6 Fixed ru translations (#12292)
* Fixed ru translations

* Fixed old typo
2026-07-05 10:45:41 -04:00
Github Actions 4805c77eac Automatic bundle update 2026-07-05 14:45:10 +00:00
Anuken 71b1428fbe Fixed #12290 2026-07-05 10:43:47 -04:00
Anuken cbd3bea792 Merge remote-tracking branch 'origin/master' 2026-07-05 09:46:50 -04:00
Anuken e24d63c971 Fixed #12293 2026-07-05 09:46:44 -04:00
Anuken bdc4ed311c Update CONTRIBUTING.md 2026-07-04 14:29:38 -04:00
Anuken 05c3c856a9 Merge remote-tracking branch 'origin/master' 2026-07-04 13:01:31 -04:00
Anuken e58782c838 Bulk-serialization optimization 2026-07-04 13:01:24 -04:00
Kevin Vilyan 6ad776ca7a Fixed Minor Thing in Bundle ID (#12286) 2026-07-04 11:22:25 -04:00
Anuken 3c2004a2e7 Merge remote-tracking branch 'origin/master' 2026-07-04 11:18:12 -04:00
Anuken e3a877c948 Sync cleanup + player-local entities/labels 2026-07-04 11:18:07 -04:00
Github Actions 33814d2339 Automatic bundle update 2026-07-04 14:47:20 +00:00
Anuken c756faddac Fixed un-sanitized filenames being used in file chooser 2026-07-04 10:45:55 -04:00
Zoe Chen eed063af2f Update Chinese translations in bundle_zh_TW.properties (#12268) 2026-07-04 10:44:51 -04:00
BalaM314 382ca559eb Entity serialization optimization, part 1 (#12285)
* Share entity snapshots where possible

* Serialize per-team when FoW enabled

* small fixes

* PR review fixes

* don't spam toByteArray
* Keep snapshot timer in netServer, delete it from NetConnection and TeamData
* formatting
2026-07-04 10:44:32 -04:00
Github Actions e0ed93ed8a Automatic class mapping update 2026-07-04 00:51:28 +00:00
EggleEgg bb62a3163a drawNoise/drawNoiseLayers as an effect so that json can use them (#12152)
* drawNoise/drawNoiseLayers as an effect so that json can use them

* .* import

* dont call everytime

* use getOrNull

* probably still wrong somewhere

* just in case
2026-07-03 20:49:13 -04:00
CardillanandAnuken cc850dd75e Sensing heat (#12191)
* Sensing heat

* Returning null instead of 0 for turrets that do not use heat

* Apply suggestions from code review

Co-authored-by: Anuken <arnukren@gmail.com>

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-07-03 20:45:35 -04:00
kay 5ad9a65a15 unhardcode logic display background color (#12178) 2026-07-03 20:43:27 -04:00
2B2M22 c2103247ed Spawn on core doesnt ignore "possessionAllowed" rule (#12183)
* Make player cannot control building when possession disabled

* check is core best
2026-07-03 20:36:08 -04:00
Github Actions 6a6ed90473 Automatic bundle update 2026-07-04 00:33:11 +00:00
Anuken 478e3a2109 Merge remote-tracking branch 'origin/master' 2026-07-03 20:31:53 -04:00
Anuken cf1c08c66e Removed unused bundle entry 2026-07-03 20:31:46 -04:00
BalaM314 689d8c9e48 Blacklist UDP address along with TCP address (#12274) 2026-07-03 20:30:38 -04:00
Github Actions 3ff15ff7e9 Automatic bundle update 2026-07-04 00:27:00 +00:00
Pyratite No Lead 6d855fef24 Update Simplified Chinese Translation (#12215)
* Update Simplified Chinese translation

* Update Simplified Chinese translation 2

* Fix typo

* Revert "Fix typo"

This reverts commit 9a097d8e19.

* Fix typo

* Update Simplified Chinese Translation

* Update Simplified Chinese translation 2

* Fix typo

* Fix typo
2026-07-03 20:25:36 -04:00
Y-Yes 7b8347a9c2 Updated translations in bundle_lt.properties (#12248) 2026-07-03 20:24:11 -04:00
EggleEgg 713e796da6 Serpulo nano-rebalance: conveyor and junction (#11767) 2026-07-03 20:24:00 -04:00
Github Actions 780449edee Automatic bundle update 2026-07-04 00:23:52 +00:00
Sunky.MP3GandAnuken 2736ec96fb Ru translations (#12218)
* Update bundle_ru.properties

* Fall damage lololol

* forgot

* Update bundle_ru.properties

* Other

* Update bundle_ru.properties

* Fixed #12254

* Dev and patch stuff

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-07-03 20:22:37 -04:00
SITUVNgcdandAnuken 4691696afe Update Vietnamese translation (#12139)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/ed9ad45332397b58884ffd3d4c42db2a2b274a63

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/eae56c4230bf24ac6c732f31d46ca5acb1d85c78

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/e9c06482409d057a58a5952081c66bfe0f123846

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/2bdedfed25932ebf11330d3584092c50e2e26d96

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-07-03 20:21:48 -04:00
alecthe2nd 66d0019063 Add icon formatting to content descriptions and details (#12266) 2026-07-03 20:21:06 -04:00
summoner 86683d60cd Translation: Update bundle_hu.properties (#12138)
* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

Translate new string
Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Fix typo

* Translation: Update bundle_hu.properties

Translate new strings
Follow the changes of the english bundle
Fix translation

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new strings
fix translation
Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new strings

* Tranlastion: Update bundle_hu.properties

translate new strings
2026-07-03 20:20:43 -04:00
Kevin Vilyan 7b9f564f74 update bundle id (final) (#12147)
* Add files via upload

* decided to revision some texts

* unit fact activation

* update hideSpawns & revision campaign introduction

* minor revision

* game \-\ permainan

* data pacher new

* addition

* finish the messages

* revision

* screenshot error

* steamFriendsOnly

* Update bundle_id_ID.properties

* Some New Settings

* hmph
2026-07-03 20:20:28 -04:00
Anuken 9e2851aa0b Fixed ground zero unit kill objective 2026-07-03 13:51:39 -04:00
Anuken 1af06f58ce Merge remote-tracking branch 'origin/master' 2026-07-02 15:41:02 -04:00
Anuken 03abf9dc0d Fixed incorrect perf bar scaling 2026-07-02 15:40:56 -04:00
EggleEgg 12509e6225 Make all research prioritize resources outside of the currently active sector (#12153)
* Make all research prioritize resources outside of the currently active sector

* YOU DONT EVEN NEED THIS STOP IMPORTING RANDOM CLASSES

* hopefully I m not stupid enough to mess this up

* STOP IMPORTING

* did I screw up somewhere? who knows
2026-07-02 10:08:45 -04:00
Anuken 58e21f32b4 Fixed #12280 2026-07-02 10:06:10 -04:00
Anuken 735cb143ae Fixed #12276 2026-07-02 09:47:44 -04:00
Anuken 7b7c1190cf Merge remote-tracking branch 'origin/master' 2026-07-02 09:30:14 -04:00
Anuken f9fdbaae9b Fixed #12279 2026-07-02 09:30:07 -04:00
Github Actions bcb080aa42 Automatic class mapping update 2026-07-02 00:58:23 +00:00
Anuken 81b217dadc Assigned more accurate difficulty for submissions 2026-07-01 20:56:13 -04:00
Anuken e48790de77 Fixed some horrible JSON hacks 2026-07-01 13:57:53 -04:00
Anuken a4178e4c18 Fixed #12267 2026-07-01 01:36:58 -04:00
Anuken 5ae986a6dd Fixed #12270 2026-07-01 00:25:27 -04:00
Anuken a07ded343c Merge remote-tracking branch 'origin/master' 2026-06-29 23:10:40 -04:00
Anuken c990822abb Submission updates 2026-06-29 23:10:33 -04:00
EggleEgg dca67a8996 Bugfix: wreck/explosive damage bypassing shields (#12269) 2026-06-29 22:54:52 -04:00
Anuken dc2020f328 Updated rhino 2026-06-29 18:34:52 -04:00
Anuken 7370173f63 Show truncated stack trace in crash dialog 2026-06-28 21:40:15 -04:00
Anuken c423d24834 Updated several map submissions 2026-06-28 21:31:19 -04:00
Anuken b58bddbd03 Merge remote-tracking branch 'origin/master' 2026-06-27 12:20:18 -04:00
Anuken 2361f9a630 Fixed mismatched end() call 2026-06-27 12:20:12 -04:00
Github Actions 4334710289 Automatic bundle update 2026-06-27 15:44:43 +00:00
Anuken c764999d75 Toggleable performance metrics display 2026-06-27 11:43:24 -04:00
Anuken 6b416f7187 Moved unit updating to separate performance counter 2026-06-27 10:20:22 -04:00
Anuken b3b59a5f6a Shuffle servers on load + Crash fix 2026-06-26 17:26:17 -04:00
Anuken 5d252515e2 Merge remote-tracking branch 'origin/master' 2026-06-26 15:47:30 -04:00
Anuken 37ac3c9e70 ID check fix 2026-06-26 15:47:24 -04:00
Cardillan 32e95a69a9 Fix mod settings not displayed correctly (#12255) 2026-06-26 14:40:57 -04:00
NeilGreenFly c054ffeb2b Fix the issue where the icon for UnlockableContent characters in the text isn't centered on the character (#12262)
* Let the logic display enable allowRectanglePlacement.

* Fix the issue where the icon for UnlockableContent characters in the text isn't centered on the character
2026-06-26 14:40:01 -04:00
Anuken 027ea766e6 Clean previews on data import 2026-06-26 14:39:29 -04:00
Anuken 4e8a7d98af Fixed #12258 2026-06-26 14:38:49 -04:00
Anuken b50716362b Merge remote-tracking branch 'origin/master' 2026-06-26 14:31:06 -04:00
Anuken 4e57366960 Removed unused keybind 2026-06-26 14:31:00 -04:00
Github Actions 52822246e8 Automatic bundle update 2026-06-26 18:06:08 +00:00
Anuken 25c7067664 Key for teleporting to cursor in the editor 2026-06-26 14:04:36 -04:00
Anuken 6b89eabfee arc 2026-06-26 13:55:31 -04:00
Anuken 0571faa350 Less hacky editor building updates 2026-06-26 13:55:11 -04:00
Anuken e3da9fed6e Slightly more conservative max delta values 2026-06-26 12:37:49 -04:00
Anuken c74cfb63a6 More config for uuidChangeLimit 2026-06-26 12:11:10 -04:00
Anuken 9b13d85b46 cleanup 2026-06-26 11:50:57 -04:00
Anuken 25a542759d Check for changing UUID many times on the same IP 2026-06-26 11:09:45 -04:00
Anuken 6d625167a5 arc 2026-06-26 10:33:05 -04:00
Anuken 5ef7c8bce8 Reverted fixed timestep changes 2026-06-25 02:33:07 -04:00
Anuken 692c4c65e4 cleanup 2026-06-25 02:18:24 -04:00
Anuken de5c858903 cleanup 2026-06-24 22:39:27 -04:00
Anuken 2effc25ad0 fixed timestep insanity 2026-06-24 19:45:10 -04:00
Anuken ca7f9662e2 Fixed some update bugs 2026-06-24 13:42:19 -04:00
Anuken b56d235233 Minor conveyor draw optimization 2026-06-24 13:02:38 -04:00
Anuken 60b4e9a0d7 Fixed duct updates/interpolation 2026-06-24 12:50:56 -04:00
Anuken 0e5d6d1252 Reverted buggy conveyor interpolation 2026-06-24 12:30:38 -04:00
Anuken 4da35f91d9 Moved ambient audio to new thread 2026-06-24 12:20:23 -04:00
Anuken e6b17adf3a wip 2026-06-24 11:01:29 -04:00
Anuken d22a2995a3 Merge remote-tracking branch 'origin/master' 2026-06-23 13:19:42 -04:00
Anuken 32dd187421 Fixed timestep interpolation for some blocks 2026-06-23 13:19:36 -04:00
Github Actions 2bdedfed25 Automatic bundle update 2026-06-22 21:57:37 +00:00
Anuken 9d967277cd Developer options + checkbox settings change + fixed building timestep option 2026-06-22 17:55:57 -04:00
Anuken d925a0a1b2 Moved entity updates into separate methods 2026-06-22 15:57:34 -04:00
Anuken b1135371ac arc 2026-06-22 12:26:29 -04:00
Anuken 40bf89df32 Merge remote-tracking branch 'origin/master' 2026-06-22 12:25:56 -04:00
Anuken 84d23af453 Fixed incorrect resource calculations 2026-06-22 12:25:49 -04:00
Cardillan 4e28dbbf09 Make read/write object fields wider (#12251) 2026-06-22 12:00:54 -04:00
Anuken 5ce1b5acb3 Fixed #12252 2026-06-22 11:52:19 -04:00
Anuken 0c31df6630 Fixed LOD for power nodes at max zoomout on mobile 2026-06-21 23:48:58 -04:00
Anuken f681ce9036 arc 2026-06-21 17:04:02 -04:00
Anuken 9147b69c3a Merge remote-tracking branch 'origin/master' 2026-06-21 13:02:27 -04:00
Anuken 2ecc7ff340 Raised minSdkVersion 14 -> 21 for Android due to NDK no longer supporting 14 2026-06-21 13:02:18 -04:00
Github Actions 991310be92 Automatic bundle update 2026-06-21 16:32:07 +00:00
Anuken 7359e05412 Misc bugfixes for data patches 2026-06-21 12:30:49 -04:00
Anuken f5133aa8e3 Support for autotiled destructible walls 2026-06-21 10:56:33 -04:00
Anuken 35306423b5 Fixed #12250 2026-06-21 10:07:52 -04:00
Anuken 69f95ee396 Stop trying to pack when env atlas is full 2026-06-21 09:52:10 -04:00
Anuken 559b64b3ac Fixed #12185 2026-06-20 21:53:38 -04:00
Anuken 4747ee35be Fixed #12209 2026-06-20 21:51:13 -04:00
Anuken ff84208703 Merge remote-tracking branch 'origin/master' 2026-06-20 21:43:56 -04:00
Anuken 1f1df02356 Fixed #12214 2026-06-20 21:43:51 -04:00
wan 143585bd39 Update bundle_ja.properties (#12246) 2026-06-20 21:29:50 -04:00
Anuken 59347a3de1 Fixed #12167 2026-06-20 21:29:10 -04:00
Anuken ac25174a95 Fixed #12198 2026-06-20 21:27:16 -04:00
Anuken b6b42bad9d Fixed #12148 2026-06-20 21:20:12 -04:00
Anuken ffffd5751d Fixed #12188 2026-06-20 21:10:37 -04:00
Anuken fc867d38e6 Fixed #12190 2026-06-20 21:05:04 -04:00
Anuken 9c98602f9a Fixed #12208 2026-06-20 21:00:46 -04:00
Anuken cc278a3a6e Fixed #12223 2026-06-20 20:53:41 -04:00
Anuken 2dd86456cf Fixed #12240 2026-06-20 20:48:09 -04:00
Anuken e43d2db0d6 Merge remote-tracking branch 'origin/master' 2026-06-20 20:29:29 -04:00
Anuken 33a8406bd3 Reverted #12243 2026-06-20 20:29:24 -04:00
EggleEgg 66be97ee47 Erekir nano-rebalance: small heat redirector buff (#12137)
* Erekir nano-rebalance: small heat redirector buff

* redirector original cost + 6 tung but acts like a node

* Just go for the easy option for now. 3 surge
2026-06-20 20:19:46 -04:00
buthed010203 45e44fd8bc Add dedicated steam server support (#12166)
* Add dedicated steam server support.

* Fixup

* Add cancel button
2026-06-20 20:18:27 -04:00
buthed010203 479b3854ba Refactor Call.label to use WorldLabel (#12164)
* Refactor Call.label to use WorldLabel

* Don't serialize duration
2026-06-20 20:17:28 -04:00
BalaM314 0293c2a3a8 Re-order tech tree to remove unnecessary prerequisites (#12179)
* Mass driver gated behind Tar Fields as intended, instead of Impact 0078
* Plastanium conveyor can be researched without thorium
2026-06-20 20:15:40 -04:00
Valera a10f4455f7 Made plans' animation framerate-independent (#12187)
A minor fix of InputHandler#drawOtherBuildPlans
2026-06-20 20:14:00 -04:00
Anuken a586a34f36 Merge remote-tracking branch 'origin/master' 2026-06-20 20:12:52 -04:00
Anuken fcf3f83737 Fixed unit assembler afterPatch 2026-06-20 20:12:46 -04:00
BalaM314 24adf22c53 Fix wiki builds failing (#12205) 2026-06-20 20:09:58 -04:00
StesNiash 0e4d0f6216 Update UnitAssembler.java (#12227)
Now units can payenter in assemblers.
2026-06-20 20:08:50 -04:00
Adham Hakki 3e4de7df52 Add mindustry:// URL scheme intent filter for Android (#12238) 2026-06-20 20:04:52 -04:00
NeilGreenFly ed130b1bac Let the logic display enable allowRectanglePlacement. (#12247) 2026-06-20 20:04:05 -04:00
Anuken 96e73c89d8 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-06-20 19:34:46 -04:00
Anuken b8fc1a70ed Reset public game visibility value to false because people keep making it public by accident 2026-06-20 19:34:44 -04:00
Github Actions 6175104b0e Automatic bundle update 2026-06-20 23:29:32 +00:00
Anuken d6400c573a Moved Steam hosting public checkbox to paused dialog + disabled global ban list in private lobbies 2026-06-20 19:28:09 -04:00
Anuken a96611a68c Merge remote-tracking branch 'origin/master' 2026-06-20 17:33:36 -04:00
Anuken aa82a26e1d Crash fix 2026-06-20 17:33:27 -04:00
Anuken dfcfabec66 Crash fix 2026-06-20 17:33:24 -04:00
ZenthXSinand488254306 04e74cba01 Fix NullPointerException in LogicBlock.updateLinks() when linksVar is null (#12241)
Co-authored-by: 488254306 <488254306@qq.com>
2026-06-20 16:35:56 -04:00
Wu Shuwen 7542587558 fix: skip unrecognized block IDs in client plan deserialization (#12244)
Prevent NullPointerException when a client sends a plan with a
block ID the server doesn't recognize (e.g. from a modded client).
Skip the plan entry instead of crashing.

Fixes #12243
2026-06-20 16:34:21 -04:00
Anuken 5a83175d96 Fixed NaN black screen after editor 2026-06-20 16:21:25 -04:00
Anuken 4f43020509 Removed accidental debug 2026-06-20 16:04:52 -04:00
Anuken 81841ad35a Merge remote-tracking branch 'origin/master' 2026-06-20 10:39:38 -04:00
Anuken 82d1df7445 Fixed quitting editor not resetting data patches 2026-06-20 10:39:32 -04:00
Github Actions b7b8c61d47 Automatic class mapping update 2026-06-19 01:21:56 +00:00
Anuken 0672e7f37e Removed unused/broken block classes 2026-06-18 21:19:40 -04:00
Anuken 7f67b1dbce Misc minor fixes 2026-06-18 21:16:32 -04:00
Anuken 368e787f89 Hide editor when joining a game 2026-06-18 09:59:50 -04:00
Anuken de2cba940d Fixed node unlink not updating power graph 2026-06-18 09:50:47 -04:00
Anuken 54e2c15ae4 Reverted building sleep changes 2026-06-17 11:46:48 -04:00
Anuken fad7afb97e Minor block optimizations 2026-06-16 17:13:17 -04:00
Anuken d5c78639f3 Minor turret optimization 2026-06-16 16:00:11 -04:00
Anuken b91d26c509 Better PerfCounter average display 2026-06-16 10:54:49 -04:00
Anuken 051a2b6548 Fixed duct/conduit proximity recache 2026-06-15 16:44:07 -04:00
Anuken dfd08a8b69 Boulder shadow rendering fix 2026-06-15 16:25:30 -04:00
Anuken 3f40a4a63d Optimizations for specific Erekir block rendering 2026-06-15 16:21:04 -04:00
Anuken a782e23e57 Optimizations for specific Erekir block rendering 2026-06-15 16:20:56 -04:00
Anuken b74a466157 Duct optimization 2026-06-15 16:03:21 -04:00
Anuken c7e7f7e58c More block rendering optimization 2026-06-15 15:07:18 -04:00
Anuken 760440fd24 Fixed annotation processor warnings 2026-06-15 11:27:18 -04:00
Anuken 856ea50676 Fixed map dialog crash 2026-06-15 11:05:59 -04:00
Anuken dbd90bf843 zoom-out LOD system + bugfixes 2026-06-15 10:20:30 -04:00
Anuken 8daf0a6619 Fixed fog recache 2026-06-15 01:57:36 -04:00
Anuken 6a9d23a2ef Generate icons for content in data patch editor 2026-06-15 01:50:48 -04:00
Anuken 4d3cb54f7e Load sounds on demand (saves ~200mb RAM on startup) 2026-06-14 14:38:12 -04:00
Anuken 22444e2d8e Merge remote-tracking branch 'origin/master' 2026-06-14 08:59:48 -04:00
Anuken 11a2016412 Crash fix 2026-06-14 08:59:42 -04:00
Github Actions 39588af3e4 Automatic bundle update 2026-06-14 06:37:41 +00:00
Anuken 99faf69fca Log errors for failed screenshots 2026-06-14 02:36:19 -04:00
Anuken 0eec03c366 Fixed shielded walls not drawing 2026-06-14 02:18:23 -04:00
Anuken 950e46e360 Crash fix 2026-06-14 02:13:02 -04:00
Anuken 489d3d4777 Merge branch 'static-block-optimization' of https://github.com/Anuken/Mindustry 2026-06-14 02:00:13 -04:00
Anuken 07f17b1538 Mend projector optimization 2026-06-13 23:41:07 -04:00
Anuken f42ba5adc8 More minor fixes 2026-06-13 22:44:23 -04:00
Anuken 6313b5b589 API fix 2026-06-13 22:33:28 -04:00
Anuken 77d15c71cc arc 2026-06-13 22:22:11 -04:00
Anuken 5ffc3aca6a arc 2026-06-13 22:22:03 -04:00
Anuken ffe6d8b356 Merge branch 'master' of https://github.com/Anuken/Mindustry into static-block-optimization 2026-06-13 22:12:43 -04:00
Anuken 13ee5512b2 Fixed insane GC spam in weather rendering 2026-06-13 22:08:52 -04:00
Anuken 3c36fccdf4 Merge remote-tracking branch 'origin/static-block-optimization' into static-block-optimization 2026-06-13 22:02:01 -04:00
Anuken cd626b5718 Fixed a few details 2026-06-13 22:01:56 -04:00
Github Actions a684e5b864 Automatic class mapping update 2026-06-14 01:34:38 +00:00
Anuken e919f0d60a Experimental static drawing optimization 2026-06-13 21:32:29 -04:00
Anuken 35b883c065 Updated some asset-related bundle keys 2026-06-13 10:07:39 -04:00
Anuken fe95be6bd2 Fixed sound assets playing over editor music 2026-06-12 22:50:47 -04:00
Anuken 2bec423fd7 arc 2026-06-12 20:05:03 -04:00
Github Actions 5ddbc7d25e Automatic class mapping update 2026-06-12 23:13:19 +00:00
Anuken 7b829e3c3f Merge remote-tracking branch 'origin/master' 2026-06-12 19:10:51 -04:00
Github Actions e9c0648240 Automatic bundle update 2026-06-12 22:57:47 +00:00
Anuken 8a2b01fb27 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-12 18:56:28 -04:00
Anuken 3fa77d326c Fixed some issues with bundle assets 2026-06-12 18:56:22 -04:00
Github Actions 651886db35 Automatic bundle update 2026-06-12 19:51:56 +00:00
Anuken 0a4e5ca80e Many content asset fixes 2026-06-12 15:50:33 -04:00
Anuken ef6a54580d Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-11 18:41:37 -04:00
Anuken ff3907d6f4 File chooser system refactor 2026-06-11 18:41:25 -04:00
Github Actions d36e7e5e45 Automatic bundle update 2026-06-11 02:50:11 +00:00
Anuken e9cb036af1 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-10 22:48:51 -04:00
Anuken ed8fc1fa1b Semi-functional tab for adding/viewing map content 2026-06-10 22:48:45 -04:00
Github Actions c9b1c3f5ff Automatic bundle update 2026-06-10 18:01:50 +00:00
Anuken 3f16c75e06 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-10 14:00:28 -04:00
Anuken 9ab30eda4a Audio asset view, other misc fixes 2026-06-10 14:00:21 -04:00
EggleEgg bdc7a62c39 linkSameType field for ItemBridge 2026-06-10 14:16:49 +02:00
Github Actions 467327b5b0 Automatic bundle update 2026-06-10 04:27:15 +00:00
Anuken 32da99fcc1 WIP asset view dialog 2026-06-10 00:25:51 -04:00
Anuken 178cd16010 Optimizations that don't even belong in this branch 2026-06-08 23:47:46 -04:00
Anuken 7357cef274 Asset type reordering 2026-06-08 19:04:44 -04:00
Anuken 033e489904 Proper sound icon for settings 2026-06-08 13:26:00 -04:00
Anuken 6de284f6eb Updated font with new icons 2026-06-08 12:52:36 -04:00
Anuken 776c5bcb82 WIP asset view 2026-06-06 16:35:55 -04:00
Anuken 8779326e78 Unit tests 2026-06-04 13:36:44 -04:00
Anuken 4dfa4a2348 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-03 18:26:06 -04:00
Anuken 39cc6cfd6d Misc minor fixes 2026-06-03 18:25:58 -04:00
Github Actions 98ef75a581 Automatic bundle update 2026-06-03 15:55:27 +00:00
Anuken ab69f947ef Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-03 11:54:04 -04:00
Anuken a9bc173016 Incremental asset downloading 2026-06-03 11:53:56 -04:00
Github Actions 72181c154d Automatic bundle update 2026-06-03 01:24:40 +00:00
Anuken acc8eda33f Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-02 21:23:18 -04:00
Anuken a5ea0ee39e Faster asset transfer & asset transfer loading bar 2026-06-02 21:23:11 -04:00
Github Actions ee44bc3143 Automatic bundle update 2026-06-02 18:38:50 +00:00
Anuken c9106ef256 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-06-02 14:37:25 -04:00
Anuken d44b9ae317 Various fixes related to content assets 2026-06-02 14:37:01 -04:00
Github Actions dd29c202ef Automatic bundle update 2026-06-01 16:16:17 +00:00
Anuken 1ed80c59fd Embed assets when exporting save 2026-06-01 12:14:53 -04:00
Anuken 17d8aa5dc2 Server embedded asset fix 2026-06-01 02:52:23 -04:00
Anuken dc490696ac WIP: External asset cache 2026-06-01 02:41:25 -04:00
Anuken 8764208045 Merge remote-tracking branch 'origin/data-patch-assets' into data-patch-assets 2026-05-31 15:44:26 -04:00
Anuken 536e460fce Misc data patching fixes 2026-05-31 15:44:19 -04:00
Github Actions b1dc1513e5 Automatic bundle update 2026-05-30 20:23:40 +00:00
Anuken fdef57d38f Server rule file, planet data patch support, logic script class 2026-05-30 16:21:57 -04:00
Anuken e11ada7ef2 Rule/planet/server/logic music playing support 2026-05-30 12:46:28 -04:00
Cardillan 4a925237ae Fix wrong allowed size displayed in an error message (#12151) 2026-05-30 10:34:40 -04:00
Anuken 62ee68679d Better validation for content 2026-05-30 01:16:59 -04:00
Anuken 01d1d3adf0 Actually functional asset addition system 2026-05-29 20:45:06 -04:00
Anuken 67c9b2d276 WIP data patch asset system 2026-05-29 17:07:52 -04:00
Github Actions eae56c4230 Automatic bundle update 2026-05-29 15:55:16 +00:00
EggleEggandAnuken d02fcfad46 Display 10/s movespeed in conveyor instead of 11/s (#11978)
* Display 10/s movespeed in conveyor instead of 11/s

* Apply suggestions from code review

Co-authored-by: Anuken <arnukren@gmail.com>

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-05-29 11:53:41 -04:00
EggleEgg 317fef8887 Hide enemy spawns instead of show enemy spawns (#12093)
* Hide enemy spawns instead of show enemy spawns

* hidespawns not hidepawns smh

* remove old stupid comment from pull
2026-05-29 11:52:29 -04:00
zvenios 7ecec5548e Remove flare from units.omura.description in bundles (#12136) 2026-05-29 11:48:37 -04:00
Anuken f42b6d58ec Merge remote-tracking branch 'origin/master' 2026-05-29 11:39:57 -04:00
Anuken bce8c14efb Fixed #12131 2026-05-29 11:39:51 -04:00
Github Actions c68ca5ee87 Automatic class mapping update 2026-05-29 15:12:43 +00:00
Anuken 8e21f0a113 Fixed #12140 2026-05-29 11:10:41 -04:00
Anuken 03dc7b0ac5 Merge remote-tracking branch 'origin/master' 2026-05-29 10:53:04 -04:00
Anuken 5afb043fb2 Fixed #12127 2026-05-29 10:52:58 -04:00
Space 389b748395 Fixed issue(ammoParts don't work if parts.size == 0) (#12144) 2026-05-29 10:44:02 -04:00
Github Actions 6103e5b664 Automatic bundle update 2026-05-29 03:18:57 +00:00
Anuken ac10d2b082 Objective text for unit factories activating 2026-05-28 23:17:36 -04:00
Anuken 47c398f744 Triggering CI 2026-05-28 13:39:16 -04:00
Anuken b192b13250 Fixed assets jar + added CI scripts for it 2026-05-28 13:36:15 -04:00
Anuken ae0c0966d3 arc 2026-05-28 11:51:45 -04:00
Anuken a1330c444c arc 2026-05-28 11:13:31 -04:00
Anuken f4f7f3cc1d Target java 17 for annotations subproject 2026-05-28 11:04:35 -04:00
Anuken 8927383d7b Merge remote-tracking branch 'origin/master' 2026-05-27 16:50:06 -04:00
Anuken 506647e70b Server jline support 2026-05-27 16:50:00 -04:00
Github Actions ed9ad45332 Automatic bundle update 2026-05-27 20:29:17 +00:00
Anuken 07ded59fb8 Merge remote-tracking branch 'origin/master' 2026-05-27 16:28:01 -04:00
Anuken c2e1e97862 Show message when no files are imported 2026-05-27 16:27:35 -04:00
Anuken 66257c15af RoboVM compilation fix 2026-05-27 16:15:42 -04:00
Anuken d6ecbcdf11 Triggering build CI 2026-05-27 15:37:39 -04:00
Anuken 52da06729b Upgrading to Java 17 target without jabel (seeing if CI fails) 2026-05-27 15:30:19 -04:00
Anuken c04a67bc85 Use STB-based image reading for pixmaps in patch images 2026-05-27 15:17:19 -04:00
Anuken 47a477dedd Merge remote-tracking branch 'origin/master' 2026-05-27 14:53:34 -04:00
Anuken 45ae083eea Removed unused sprite 2026-05-27 14:53:04 -04:00
Anuken 4040d1995a Merge branch 'data-patch-images' of https://github.com/Anuken/Mindustry
# Conflicts:
#	core/assets/bundles/bundle_cs.properties
2026-05-27 14:52:19 -04:00
Anuken a620647376 Data patch save format changes 2026-05-27 14:50:59 -04:00
Anuken 3d970138ca Merge remote-tracking branch 'origin/data-patch-images' into data-patch-images 2026-05-27 10:08:15 -04:00
Anuken 385c147975 Minor structural refactoring 2026-05-27 10:08:04 -04:00
Github Actions 29f67110be Automatic bundle update 2026-05-26 20:47:10 +00:00
Anuken 0eb8dd5170 Data patch image dialog 2026-05-26 16:45:40 -04:00
Anuken 3b85f6a499 Fixed previews 2026-05-26 13:25:52 -04:00
Anuken b907b839bf Full data patch image support 2026-05-26 11:57:51 -04:00
Anuken 16fb1154ef WIP data patch image support 2026-05-25 23:20:14 -04:00
zvenios c4622772f8 Update omura bundle_ru.properties (#12126) 2026-05-25 19:51:35 -04:00
WarmWooly c994662b97 Bugfix: Held items turn into ghost copper when respawning (#12121)
* unitClear(): droppingItem = false

* Undone change (wrong file!)

* droppingItem = false (desktop respawn)

* droppingItem = false (mobile respawn)
2026-05-25 19:46:28 -04:00
Anuken 017b6e86f7 Fixed #12124 2026-05-25 19:45:28 -04:00
EggleEgg a86146faa2 Bugfix: Md timeToArrive not accounting for timescale in bullet (#12117) 2026-05-25 01:28:59 -04:00
Anuken 05b2ecd4eb Fixed #12112 2026-05-24 20:09:08 -04:00
Anuken 430a4ce59e Fixed #12113 2026-05-24 20:03:57 -04:00
Anuken 4fff0f9af7 Better status effect display 2026-05-24 19:49:17 -04:00
Anuken e830e65247 Merge remote-tracking branch 'origin/master' 2026-05-24 16:07:27 -04:00
Anuken 990fe2bdf8 Display shields stacked on health for payload units 2026-05-24 16:07:17 -04:00
Anuken 0358038b71 Revert "Added shield health bar when commanding a shielded unit. (#12043)"
This reverts commit 7b541c72c9.
2026-05-24 15:54:36 -04:00
IYanHuaandAnuken 9ad195b68b Fixed the issue where pop-ups left after logging out of the server could not be closed. (#12111)
* Fixed the issue where pop-ups left after logging out of the server could not be closed.

* Apply suggestion from @Anuken

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-05-23 23:49:55 -04:00
Anuken ed54566a14 Merge remote-tracking branch 'origin/master' 2026-05-23 18:29:39 -04:00
Anuken 13b549d4b1 Fixed circling check for CommandAI 2026-05-23 18:29:34 -04:00
Github Actions 512fa38e38 Automatic bundle update 2026-05-23 22:06:24 +00:00
Vojtěch OramandAnuken 865536ebf4 Finished czech translation (#11999)
* finished czech translation - fix mistakes at existing strings and translated the rest

* Update outdated czech translations to match current bundle.properties

- Migrate tutorial strings from old \uXXXX icon escapes to :icon-name: syntax
- Extend block/unit descriptions with newer clauses
  (e.g. "Optionally uses X to boost efficiency", "Capable of carrying 2x2 structures")
- Fix factual drift in logic system descriptions
  (lst.makemarker limit 20 -> 20,000; lst.sync 10/s -> 20/s;
  lenum.colori "indexed position" -> "indexed color")
- Fix typos and mixed-language strings
  (lst.applystatus, lglobal.@clientMobile, onset.attack,
  block.silicon-arc-furnace.name)
- Translate remaining untranslated english strings
  (graphicstype.print, onset.arcfurnace/power/graphite, atolls.mega6,
  liquid.ozone.description, unit.emanate.description, split.acquire,
  split.pickup, rules.airUseSpawns)
- Correct materials in block.large-cliff-crusher.description
  (ozone+tungsten -> hydrogen+graphite per current bundle)

* Fix pre-existing czech translation bugs

- mods.browser.latest: restore stripped [lightgray] color code
- wave.guardianwarn.one: restore missing {0} placeholder
- locales.info: replace stray @ with {0} in time-left example
- sectors.underattack: remove spurious {0}% placeholder not in english source
- announce.nuclearstrike: restore dropped second line about backup cores

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-05-23 18:05:11 -04:00
JniTrRny c634488b6e Update bundle_th.properties (#12109)
* v8 description changes and stuff

* spelling
2026-05-23 18:00:52 -04:00
Anuken 9fde5f1a64 Closes Anuken/Mindustry-Suggestions/issues/6319 2026-05-23 13:25:47 -04:00
Anuken 4058485677 Fixed #12107 2026-05-23 13:08:46 -04:00
Anuken 8a6ee5b440 Merge remote-tracking branch 'origin/master' 2026-05-23 01:39:45 -04:00
Anuken 06f557409f Fixed #12106 2026-05-23 01:39:38 -04:00
Github Actions e4a3574155 Automatic bundle update 2026-05-23 05:24:08 +00:00
summoner 3f649aea1f Translation: Update bundle_hu.properties (#11975)
* Translation: Update bundle_hu.properties

Translate new strings
Fix coherency

* Fix translation

* Translation: Update bundle_hu.properties

Translate new strings

* Fix spacing in confirmation message for planet campaign saves

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Fix Hungarian translations for clarity and accuracy

* Translation: Update bundle_hu.properties

Translate new string
2026-05-23 01:22:56 -04:00
SITUVNgcd 1f355cb662 Update Vietnamese translation (#11976)
* Update Vietnamese translation

* Clear Planet Data

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/9c6f00e5859225af3eb64d13a7ee2459b65b182f
2026-05-23 01:22:50 -04:00
Space fac37627aa Update bundle zh_CN.properties (#12090)
* translation

* fixed wrong

* update logic.error.toolong
2026-05-23 01:22:44 -04:00
Kevin Vilyan eaee988a0f update bundle id (#12095)
* update bundle id

* why missclicked ARGH

* is this thw right one?

* some minor changes
2026-05-23 01:22:37 -04:00
Anuken 51b22124bb Fixed #12099 2026-05-23 01:21:59 -04:00
Anuken 469a392936 Fixed #12097 2026-05-23 01:15:37 -04:00
Anuken 9053f1ea9e Typo 2026-05-23 01:05:19 -04:00
Anuken 8b045667a6 Merge remote-tracking branch 'origin/master' 2026-05-23 01:00:58 -04:00
Anuken 6d1caaf4d8 Fixed #12103 2026-05-23 01:00:51 -04:00
wan 837aa17e03 Update bundle_ja.properties (#12096) 2026-05-20 02:26:36 -04:00
EggleEgg 9f9d5ea45b Show schematic description in schematic info (and scroll) (#11357)
* Show schematic description in schematic info (and scroll)

* dont cut off
2026-05-20 02:26:05 -04:00
Anuken d4cbf1252b Redundant check removed 2026-05-20 02:24:27 -04:00
Anuken c55ac244b7 Fixed #12094 2026-05-20 02:22:57 -04:00
Anuken 5911a7a0f5 WIP data patcher IO changes 2026-05-18 21:06:28 -04:00
Anuken d2dbc5e7d5 Fixed #12091 2026-05-18 15:17:31 -04:00
Anuken a052b8bd30 Merge remote-tracking branch 'origin/master' 2026-05-18 11:27:07 -04:00
Anuken 050848932f Fixed #12092 2026-05-18 11:27:01 -04:00
Github Actions 9c6f00e585 Automatic bundle update 2026-05-18 14:39:09 +00:00
Anuken 9d48c430e5 Merge remote-tracking branch 'origin/master' 2026-05-18 10:37:46 -04:00
Anuken 986e99a4c5 Fixed #12081 2026-05-18 10:37:37 -04:00
SpaceandAnuken c457c3023b Allow DrawTurret draw different parts fot Turret (#12046)
* allow DrawTurret draw different parts fot ItemTurret

* fixed issue

* parts can not be null!

* fixed new issues

* minor format change

* Apply suggestions from code review

Co-authored-by: Anuken <arnukren@gmail.com>

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-05-17 23:39:47 -04:00
Github Actions 0c7d763464 Automatic bundle update 2026-05-18 02:58:34 +00:00
zvenios 9350cf230f Fix typo bundle_ru.properties (#12028) 2026-05-17 22:57:11 -04:00
EggleEgg 8d576eb58c Block.ammo.info description (#12082)
* does this break on mobile ui? idfk, welcome to hell anuke

* use .info
2026-05-17 22:56:34 -04:00
HingusPingusandHimgus 7b541c72c9 Added shield health bar when commanding a shielded unit. (#12043)
* hud shield sidebar added, needs testing

* shield health bar tested on oct and quasar

* discarded the new shield hp bar next to the right hp bar and replaced the left hp bar for the shield hp bar

---------

Co-authored-by: Himgus <alumno26.messina.esquivel.gabriel@ipm.edu.ar>
2026-05-17 22:55:22 -04:00
Github Actions 302a25cfe0 Automatic bundle update 2026-05-17 23:03:46 +00:00
Geodafence 2135bb15c0 Upload edited file (#12089) 2026-05-17 19:02:20 -04:00
MaKarastY 16b6f6b018 Remove outdated server IP (servers_v7.json) (#12086)
* Update ArmyOfUkraine servers_v7.json

* Update servers_v7.json

added future servers (inactive for now), removed unused one. All servers now run on one main host

* Update servers_v7.json

Not all DNS servers are able to resolve the IP address of the domain

* Remove outdated server IP
2026-05-17 16:09:19 -04:00
Anuken 5def371c61 Merge remote-tracking branch 'origin/master' 2026-05-17 16:08:54 -04:00
Anuken ed0906e39d Updated PLT submission 2026-05-17 16:08:48 -04:00
Alone 26e653766f Don't put two icons in the mod. (#12072)
* "Add a multiPacker parameter to AtlasPackEvent, allowing listeners to add custom textures through the multiPacker parameter."

* introduces a new hook method packSprites(MultiPacker packer) to the Mod class.

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* d

* Update Vars.java

* Refactor mod icon loading for Steam Workshop

* Refactor mod icon loading for Steam Workshop
2026-05-17 15:52:35 -04:00
EggleEgg 04441ad3a7 Allow replacing assemblers (#12078) 2026-05-17 15:51:06 -04:00
Anuken f52b2fc78d Fixed #12085 2026-05-17 15:41:45 -04:00
Anuken fa8ed48a7c Merge remote-tracking branch 'origin/master' 2026-05-17 15:39:34 -04:00
Anuken 1095b26251 Fixed #12080 2026-05-17 15:39:28 -04:00
SomeonesShade ab1b941c8f ArmorMultiplier now correctly works on splash (#12030)
* ArmorMultiplier now correctly works on splash

* armmult-fix: better safe than sorry
2026-05-17 15:34:48 -04:00
Anuken 2b8788935d Merge remote-tracking branch 'origin/master' 2026-05-14 09:34:07 +09:00
Anuken 667368f00d Updated littoralShipyard.msav 2026-05-14 09:33:53 +09:00
Kevin Vilyan 7d7d32d157 Update Bundle ID (#11974)
* new streings

* some minor changes

* planet data setting

* Update bundle_id_ID.properties

* notice missing spacegap

* h

* noticed inconsistency

* inconsistency again
2026-05-13 20:15:41 -04:00
Github Actions 47a66fed5f Automatic bundle update 2026-05-14 00:08:56 +00:00
Patou e328491f45 Update bundle_fr.properties: Fixed a few french translations that we see all the times (#12014)
* Fixed 3 french translations too big for buttons and an outdated one

* Update french translation (minor typos and an outdated translation pointed out by Attilasher on Discord)

* Fix 1 french translation
2026-05-13 20:07:36 -04:00
CergC4888 a6e7f11d6a Updated Ukrainian translation (#12039)
* виправлення помилок, переклад

шкодаза

* Cleanup

* update strings

* Update
2026-05-13 20:05:10 -04:00
spentcud 78e782becf disperse oxide buff (#12063) 2026-05-13 20:04:49 -04:00
BalaM314 9c811a604a Allow patching world processors to be destructible (#12062) 2026-05-13 20:04:25 -04:00
Github Actions 0c06e0488c Automatic bundle update 2026-05-14 00:04:19 +00:00
Pyratite No Lead d70f3e9dd7 Fix inconsistency in modding & Update Simp Chinese translation (#12035) 2026-05-13 20:03:02 -04:00
EggleEgg c713117d97 Mass driver show important stats in db (#12057)
* Mass driver show important stats in db

* at least 3 people asked for this feature so whatever
2026-05-13 20:02:19 -04:00
wan 282cf043c2 Update bundle_ja.properties (#12058)
meow
2026-05-13 20:01:03 -04:00
Anuken 48ca2c29fd Merge remote-tracking branch 'origin/master' 2026-05-14 09:00:24 +09:00
Anuken a278d4db32 Fixed #12064 2026-05-14 09:00:09 +09:00
Cardillan b6bf978a1f Refuse duplicate labels (#12040) 2026-05-13 19:46:45 -04:00
buthed010203 e0c5c816d0 Fix label removal with null message (#12045)
* Fix label removal with null message

* Apply to popups as well

Removed null check for message parameter in infoPopup.
2026-05-13 19:46:15 -04:00
TheRadioactiveBanana bb2524c296 remove eradication from v7, we host only v8 (#12048)
I should have done this a while ago
2026-05-13 19:45:54 -04:00
Anuken de2202eb1c Fixed #12042 2026-05-14 08:44:55 +09:00
Anuken 1678613135 Merge remote-tracking branch 'origin/master' 2026-05-14 08:30:07 +09:00
Anuken 622c449a55 Fixed #12054 2026-05-14 08:29:37 +09:00
Cardillan 18db37cb68 Tiled display optimizations and fixes (#12068)
* Tiled display optimizations and fixes

* Fixes #12052 (tiled display frame not shown when displays disabled)
2026-05-13 19:09:31 -04:00
Anuken aa7d4270a7 Fixed #12041 2026-05-14 08:07:46 +09:00
Anuken 0d129b2b9b Fixed #12031 2026-05-14 08:06:09 +09:00
Anuken d13afc1439 Optimized processor link changes 2026-05-12 07:35:28 +09:00
Anuken 54443b9517 Fixed save corruption caused by big build queues 2026-05-11 08:20:54 +09:00
Anuken 51b1a4c97f World label flag for only being visible to the parent 2026-05-07 08:11:19 +09:00
Anuken f3ad7b8570 Fixed unit assembler crash with incorrect unit type 2026-05-05 23:48:20 +09:00
Anuken 15c9ea4cc9 Fixed BuildTurret unitType being assignable 2026-05-05 10:15:09 +09:00
Anuken a0153214dd Increased max map size to 800 2026-05-04 09:10:09 +09:00
Beonicwulf ff4d02ec8d Fixed Issue 12024 (#12026) 2026-05-02 12:07:05 -04:00
Github Actions 4bd8fcc495 Automatic bundle update 2026-05-01 23:19:22 +00:00
DenzyandAnuken d9d072e2c1 Update Belarusian translation (#11950)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-05-01 19:18:07 -04:00
Anuken 68f32020f6 Fixed #12021 2026-05-01 13:06:50 -04:00
Anuken d9cf2cf8bc Fixed liquid floors under walls counting towards resource list 2026-05-01 00:42:36 -04:00
Anuken 92f09adbe3 Fixed #12020 2026-04-30 18:20:03 -04:00
Anuken af8983ea88 Merge remote-tracking branch 'origin/master' 2026-04-30 14:36:25 -04:00
Anuken 325e4aa576 Turret ammo display fix / Other team ping display rule 2026-04-30 14:30:49 -04:00
Github Actions fe487fbbcf Automatic class mapping update 2026-04-30 01:45:47 +00:00
Anuken 72da0c492d Minor capacity default value fix 2026-04-29 21:43:36 -04:00
Anuken 6a1f6c295b Finally removed the deprecated unit ammo system 2026-04-29 21:41:59 -04:00
Anuken f323fc323e Fixed #12018 2026-04-29 21:08:42 -04:00
Anuken 164971c257 Merge remote-tracking branch 'origin/master' 2026-04-29 21:05:02 -04:00
Anuken 83a6edeed1 Fixed campaign building achievements requiring player unit 2026-04-29 21:04:55 -04:00
Github Actions 2525a68e5f Automatic bundle update 2026-04-30 01:01:53 +00:00
EggleEgg e56f9fbfff Erekir nano rebalance: avert dont melt unit armor or be weak against building armor (#11917)
* wip stats for now

* should be it
2026-04-29 21:00:30 -04:00
thedimas 347ca2ffcb remove thedimas network from v7 list (#12010) 2026-04-27 17:59:21 -04:00
WMF d60bffb712 planet requirement option for patches & a few new sorts (#12001)
* funny planet requirement option for patches & a few new sorts

* only dedicated servers should care about this
2026-04-27 17:59:13 -04:00
Adleanogare 7ee15b1ffd Merge branch 'master' into dob_json 2026-04-27 12:16:23 +02:00
wan c4b4630b5a Update bundle_ja.properties (#11998) 2026-04-26 17:14:17 -04:00
vovan2055 bab236b421 Fix formatting in RU bundle (#11924)
* Fix formatting

* more
2026-04-26 17:12:53 -04:00
Anuken 3da84f7ad5 Merge remote-tracking branch 'origin/master' 2026-04-26 17:09:54 -04:00
Anuken f0a472359e Fixed #12000 2026-04-26 17:09:47 -04:00
Larofeticus a31e812cd3 Delete Conservatory server from servers_v7.json (#11989)
Removed Conservatory server entry from JSON.
2026-04-26 16:54:33 -04:00
OGalaxy 623678d885 Update servers_v7.json (#11980) 2026-04-25 16:15:15 -04:00
Anuken e787b36a4b Merge remote-tracking branch 'origin/master' 2026-04-25 16:09:26 -04:00
Anuken 8c81bdbe50 Fixed #11982 / Fixed #11981 2026-04-25 16:08:27 -04:00
Space 3f7d81b563 Add data setting which allows clearing saves/research for only one planet & Fixed #11977 (#11985)
* add setting which can clear saves or research for only one planet

* add bundles

* add bundles and fixed issue

* Fixed #11977
2026-04-25 15:08:31 -04:00
Anuken 24d04ddebf Fixed #11987 2026-04-25 15:06:38 -04:00
Anuken 327464ba82 Optimization to bulk team changes (reduces campaign core destruction lag) 2026-04-24 14:25:22 -04:00
Anuken ea730cd91e Merge remote-tracking branch 'origin/master' 2026-04-23 19:59:54 -04:00
Anuken 12a9ced070 Closes Anuken/Mindustry-Suggestions/issues/6258 2026-04-23 19:59:47 -04:00
Github Actions 3d6947b94b Automatic bundle update 2026-04-23 23:56:46 +00:00
Anuken 04ce31c5ff Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-04-23 19:56:21 -04:00
Anuken 0526a69901 Updated MessageBlock limit to reflect writeUTF byte size 2026-04-23 19:56:15 -04:00
Space 11febe49cd Add a new mode for fill tool: Fill Under Liquids (#11967)
* add fillunderliquid tool

* add toolmode.fillunderliquid into bundles

* fixed
2026-04-23 19:55:32 -04:00
CergC4888 7fb278cbbc Updated Ukrainian translation v8 (#11953)
* updated translation  v8

* fix

* Update bundle_uk_UA.properties

* fix
2026-04-23 19:54:47 -04:00
ItsKirby69 a4f29c749f Add new Map Planet Filter option (#11968)
* Filter by planet selection for maps

* Use existing "<Any>" bundle
2026-04-23 19:54:35 -04:00
Anuken d095d526b2 More conservative max read network plans 2026-04-23 19:46:31 -04:00
Anuken ccfb280293 Slightly less conservative message block max length 2026-04-22 18:45:35 -04:00
Anuken ecc873096e Merge remote-tracking branch 'origin/master' 2026-04-22 13:41:49 -04:00
Anuken b69eb3cb1a Cap message block contents at 250 chars/1000 bytes (#11963) 2026-04-22 13:41:41 -04:00
bendn f8d13af736 add which unitcommand it is to unitcommand actiontype (#11962) 2026-04-22 09:51:24 -04:00
Anuken 4fed863744 Merge remote-tracking branch 'origin/master' 2026-04-22 09:48:55 -04:00
Anuken b77b0039cf Fixed #11959 2026-04-22 09:48:49 -04:00
Github Actions d859e2badf Automatic bundle update 2026-04-22 13:46:18 +00:00
Anuken 071dfb6ddb Merge remote-tracking branch 'origin/master' 2026-04-22 09:44:54 -04:00
Anuken 68145c1bac Fixed #11958 2026-04-22 09:44:46 -04:00
Pyratite No Lead be7180af39 Update Simplified Chinese translation (#11948) 2026-04-22 09:44:06 -04:00
Anuken 6442f9ebe9 why 2026-04-21 22:14:21 -04:00
buthed010203 caf6658dcd Only host needs to fetch admin list (#11956)
Not really an issue but saves a few api calls.
2026-04-21 21:16:16 -04:00
Anuken c2b6ce9135 Merge remote-tracking branch 'origin/master' 2026-04-21 21:14:42 -04:00
Anuken e20857bb0c Refactored query instruction to use an enum for shape 2026-04-21 21:14:35 -04:00
buthed010203 c1562c3236 Add cache bust to steam ban list. (#11955)
* Add cache busting

Github caches raws for a few minutes.

* Apply cache busting to refresh on admin join.

Also fix log message parameter order.
2026-04-21 20:13:45 -04:00
Anuken 3956e888f6 Fixed #11954 2026-04-21 20:13:00 -04:00
Anuken 2c6a17644d Merge remote-tracking branch 'origin/master' 2026-04-21 19:44:34 -04:00
Anuken 68f909c868 Instantly spawn/respawn when joining server 2026-04-21 19:44:17 -04:00
SITUVNgcd 6c2c1fdf1a Update Vietnamese translation (#11930)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/7efa8596c14b21e493440afc68c83a2c1a1139ea

* Units/building queries

https://github.com/Anuken/Mindustry/commit/afc6aece47d0b84b528087ea4075e1acb990235c

* Units/building queries

https://github.com/Anuken/Mindustry/commit/afc6aece47d0b84b528087ea4075e1acb990235c
2026-04-21 15:14:39 -04:00
Ademdu136 213c108634 Update bundle_fr.properties (#11949)
Changed some areas name and the steam lobbies ban message
2026-04-21 14:33:21 -04:00
Github Actions 45ea60b0d3 Automatic bundle update 2026-04-21 18:32:26 +00:00
summoner b0d670ac4c Translation: Update bundle_hu.properties (#11927)
* Translation: Update bundle_hu.properties

* Translation: Update bundle_hu.properties

* Translation: Update bundle_hu.properties

Fix coherency -> rewording a sentence because drop zone = Spawn point and all other texts are using spawn or spawn point.

leszállóhely -> kezdőpont

* Translation: Update bundle_hu.properties
2026-04-21 14:31:01 -04:00
Anuken 5b399eee49 Merge remote-tracking branch 'origin/master' 2026-04-21 14:10:03 -04:00
Anuken ece51a1bdb Steam ban fixes 2026-04-21 14:09:58 -04:00
buthed010203 a4103c83b5 Fetch ban list on admin join (#11951)
Allows "propagating" ban list by joining every lobby for a brief time.
2026-04-21 14:08:23 -04:00
Anuken de540655bb Fixed #11946 2026-04-21 14:07:23 -04:00
Anuken 453bcb06aa Fixed #11944 2026-04-21 14:06:07 -04:00
Anuken c8cb70ee8e Merge remote-tracking branch 'origin/master' 2026-04-21 12:29:59 -04:00
Anuken c462d228ae Fixed others' build plans not showing when not respawned 2026-04-21 12:29:53 -04:00
Github Actions afc6aece47 Automatic bundle update 2026-04-20 18:57:56 +00:00
Anuken df32347c4d Documentation for query instruction 2026-04-20 14:56:36 -04:00
Anuken 9b55f270db Serpulo earlygame hint & research fixes / Logic query instruction 2026-04-20 14:51:31 -04:00
Anuken 07e0291685 Fixed #11941 2026-04-20 10:35:19 -04:00
Anuken aa8339d45f Pan to damaged core when clicking notification / Wall rendering gap fix 2026-04-19 01:07:18 -04:00
Anuken 732866c98d Fixed #11934 2026-04-18 21:39:54 -04:00
Arthur Schifano 7f7117187e The global variable was still needed, for the button. 2026-04-18 22:57:50 +02:00
Arthur Schifano 3b4c78ca4a Patched a bug where when changing editor you could still copy a previous objective, leading to reference issue 2026-04-18 22:54:50 +02:00
Anuken 2ddf32f718 Fixed #11929 / Fixed #11931 2026-04-18 12:09:26 -04:00
Adleanogare 0d62cbd7c5 Merge branch 'master' into dob_json 2026-04-18 16:54:29 +02:00
Arthur Schifano 21d6494923 Adding the ctrl-c ctrl-v copy for keyboard device. The behaviour changed in some small ways. 2026-04-18 16:20:25 +02:00
SITUVNgcd 5b0ab3ebb4 Update Vietnamese translation (#11904)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/b7f990b3532d77ec8c41a7aad15f08adf88ce954

* Bullet spawns
2026-04-17 20:55:39 -04:00
Anuken 37f2a2d893 Merge remote-tracking branch 'origin/master' 2026-04-17 20:55:09 -04:00
Anuken c64823b85b Fixed #11920 2026-04-17 20:55:04 -04:00
Kevin Vilyan b345322ee3 Update Bundle ID (#11910)
* Another Bundle ID Update

* some minor changes

* status efc
2026-04-17 20:51:39 -04:00
Darkness d6d9073fd2 Update bundle_ru.properties (#11909) 2026-04-17 20:51:30 -04:00
summoner 587e0f56e7 Translation: update bundle_hu.properties (#11918) 2026-04-17 20:51:22 -04:00
EggleEgg 08edc135d6 Bugfix: Keepvel dont increase range when kiting (moving backwards) (#11922)
* testing for now

* this works

* dont increase lifetime instead
2026-04-17 20:51:00 -04:00
Anuken 80dd28e26c Fixed #11926 2026-04-17 20:50:24 -04:00
Anuken 0e01c36c63 Merge remote-tracking branch 'origin/master' 2026-04-17 20:47:08 -04:00
Anuken fd261d5007 Fixed #11925 2026-04-17 20:47:02 -04:00
Github Actions 7efa8596c1 Automatic bundle update 2026-04-18 00:43:38 +00:00
Anuken f0ee7c4a15 Ban database fix 2026-04-17 20:42:20 -04:00
Anuken 3b670ba348 Merge remote-tracking branch 'origin/master' 2026-04-17 19:58:16 -04:00
Anuken a1a871028f Steam ban database 2026-04-17 19:58:09 -04:00
Github Actions caa6a16b67 Automatic bundle update 2026-04-17 01:54:09 +00:00
Anuken c93c48831d Merge remote-tracking branch 'origin/master' 2026-04-16 21:52:49 -04:00
Anuken 3d691529dd Added spawn bullet logic instruction & ping sensors 2026-04-16 21:52:42 -04:00
Github Actions c8ab4f5cf8 Automatic bundle update 2026-04-16 22:27:47 +00:00
wan 4aa5908180 Translate bundle_ja.properties (#11906)
* Update bundle_ja.properties

* Update bundle_ja.properties
2026-04-16 18:26:29 -04:00
Anuken 621f3a8fd0 Fixed #11913 2026-04-16 13:35:50 -04:00
Anuken 24ff2de2da Fixed #11903 2026-04-15 13:41:09 -04:00
Github Actions c5e57683c9 Automatic bundle update 2026-04-15 17:23:00 +00:00
Vector 92459d89ac Update bundle_es.properties (#11869)
* Update bundle_es.properties

* Update bundle_es.properties

Translated sector descriptions

* Translate new string + some small fixes

* Update bundle_es.properties
2026-04-15 13:21:38 -04:00
summoner 80174768ec Translation: Update bundle_hu.properties (#11902) 2026-04-15 13:21:30 -04:00
rand0mized 18905691a6 Translation: Update bundle_ru.properties (#11892) 2026-04-15 13:21:22 -04:00
Space 53b0408e0d rules and databasetag translation(zh_CN) (#11900) 2026-04-15 13:21:13 -04:00
loleczkowo 774a2d7afe correct polish translation bundle_pl.properties (#11899)
Fixes #11898
2026-04-15 13:21:05 -04:00
wan a77afab556 Add files via upload (#11896) 2026-04-15 13:20:58 -04:00
Anuken 3c583d9126 (fixed uncomitted map) 2026-04-15 13:18:15 -04:00
Anuken c8b0d6a245 Merge remote-tracking branch 'origin/master' 2026-04-15 13:17:38 -04:00
Anuken 378ab92a91 Fixed #11897 2026-04-15 13:17:32 -04:00
Github Actions b7f990b353 Automatic bundle update 2026-04-15 16:56:44 +00:00
Anuken 3e6d6c2cb4 Names for missing status effects 2026-04-15 12:55:22 -04:00
IYAYII-hhgs 3193fd8168 global.properties restored(( (#11815) 2026-04-14 17:02:07 -04:00
Arktcode a5ecc2fc92 Translate various properties to Spanish - Arksource (#11886)
* Translate various properties to Spanish

Minor translations and others that are very necessary for the game in Spanish

* Update bundle_es.properties
2026-04-14 16:26:02 -04:00
summoner 2a29653e99 Translation: Update bundle_hu.properties (#11890)
Fixing some wording mistakes
Fix coherency
Make some sentences more understandable
Cleaning some sentences
2026-04-14 16:25:53 -04:00
SeuEarth 9464c7b743 Final bundle_ko.properties updates for 157.1 (#11894)
* Fix description for windswept islands sector

* another fix
2026-04-14 16:25:13 -04:00
Anuken 3273a15f52 Merge remote-tracking branch 'origin/master' 2026-04-14 16:25:00 -04:00
Anuken f5be90867f Fixed #11888 / Minor sector submission fixes 2026-04-14 16:24:54 -04:00
SITUVNgcd a31eccff18 Fix gammar on waves.spawn.first (#11885)
https://github.com/Anuken/Mindustry/commit/2639b2efbc6a96088dcdaf3d4ec06e9da47b2fc7#diff-6de391efc1c5322bc53143d47041a3a95a4c6dbe12def4b3144ef5c3553d6d46R526
2026-04-13 17:16:15 -04:00
Anuken be70941529 Merge remote-tracking branch 'origin/master' 2026-04-13 17:15:26 -04:00
Anuken d480021fac Fixed #11884 / Fixed some minor tech tree issues 2026-04-13 17:15:20 -04:00
Arthur Schifano a5d076decc The copy blocks now only appear for mobile. (Stilled need to be compilled and tested, desktop ctrl-c ctrl-v will come soon.) 2026-04-13 18:13:32 +02:00
summoner 5fe879da5d Translation: Update bundle_hu.properties (#11875) 2026-04-12 23:41:25 -04:00
Github Actions b7e5ac5784 Automatic bundle update 2026-04-13 03:40:53 +00:00
Kevin Vilyan 59a72ba22e Another Bundle ID Update 🗣️ (#11882)
* Another Bundle ID Update

* some minor changes
2026-04-12 23:39:37 -04:00
SITUVNgcd 2639b2efbc Update Vietnamese translation (#11881)
https://github.com/Anuken/Mindustry/commit/478c5cf2401d89678e92e2e1fde501037ab3a55e
2026-04-12 23:39:27 -04:00
Phinner cf12dfd4d3 French Translation: The sloppy remake (#11872)
* initial slop pass

* unslopiffy bundle_fr.properties

* unslopiffy metadata files

* use consistent case in achievements

* some more changes

* last tweaks I guess

* corrections from oveurnone on discord

* some more tweaks and consistency changes
2026-04-12 23:39:17 -04:00
red 8d64ef63e6 Translate indexed position description to Portuguese (#11879) 2026-04-12 23:38:57 -04:00
JniTrRny 4988f68b6b Update bundle_th.properties (#11878)
* Update bundle_th.properties

* Update bundle_th.properties
2026-04-12 23:38:51 -04:00
RTOmega 6bfc716325 Final TR Strings for v157.1 (#11876) 2026-04-12 23:38:45 -04:00
SeuEarth a4c27722bd Update bundle_ko.properties (#11857)
* Update bundle_ko.properties

* Small change

* other small change

* It is done

Updated Korean translations for various game content.
2026-04-12 23:38:35 -04:00
Anuken b3c1a5441a Fixed #11880 2026-04-12 21:51:51 -04:00
Anuken a131df1669 Merge remote-tracking branch 'origin/master' 2026-04-12 13:06:39 -04:00
Anuken 7c0564c0d1 beta no more 2026-04-12 13:06:33 -04:00
Github Actions 478c5cf240 Automatic bundle update 2026-04-12 17:01:35 +00:00
math-idiot 8a450f5b2c Translate rules in bundle_zh_TW.properties to Chinese (#11723) 2026-04-12 13:00:19 -04:00
67c06d167d Sync and improve Polish translations with upstream updates (#11852)
* Initial plan

* Translate 321 Polish localization entries from English

Translated UI text, descriptions, messages, sector names, block names,
difficulty settings, rules, logic editor tooltips (lglobal/laccess/lenum),
keybindings, database categories/tags, and tutorial text.

Proper game names (unit names, planet names, team names), technical
abbreviations (FPS, TPS, PvP, OK), and terms identical in Polish are
intentionally unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Polish translation typos and translate remaining English entries

Co-authored-by: Szpieg0 <166158045+Szpieg0@users.noreply.github.com>

* Update core/assets/bundles/bundle_pl.properties

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update core/assets/bundles/bundle_pl.properties

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Initial plan

* Fix merge conflicts: add missing entries with Polish translations to bundle_pl.properties

Co-authored-by: Szpieg0 <166158045+Szpieg0@users.noreply.github.com>

* Sync bundle_pl.properties: apply 330 improved translations + translate 29 new upstream keys

- Applied 330 Polish translation improvements from community fork (Szpieg0/Mindustry)
- Translated 29 new keys added to upstream since the fork diverged
- Restored 4 Polish translations that the fork had reverted to English
  (slot, marker.quad.name, difficulty.casual, sector.frontier.name)
- Removed 4 obsolete keys no longer in upstream
  (sector.craters.*, setting.borderlesswindow.*, setting.crashreport.name,
   bullet.armorpiercing, command.boost, keybind.unit_command_boost.name)

Agent-Logs-Url: https://github.com/Szpieg0/Mindustry/sessions/3e53dd9b-9cbe-4a83-8cda-d8a8bcc6084d

Co-authored-by: Szpieg0 <166158045+Szpieg0@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-12 12:59:41 -04:00
Jun Hyeok Lee 5be35858b1 Improve Korean localization wording and localize hardcoded UI text (#11851)
* Improve Korean localization and bundle hardcoded UI text

* Revert editor-only localization changes
2026-04-12 12:59:10 -04:00
Kevin Vilyan 656f2554f5 Update Bundle ID 🗣️ (#11859)
* perisai

* di atas

* some minor changes

* new campaign notice

* dari

* shielded

* New Sector Descriptions goes brrrrrr 🗣

* checks up Pelajari

* no more word 'teliti'

* lil

* another minor changes

* nah
2026-04-12 12:58:12 -04:00
summoner a66764afee Translation: Update bundle_hu.properties (#11860)
* Translation: Update bundle_hu.properties

Translate new strings
Fixing a mistranslation

* Translation: Update bundle_hu.properties

Fix translation of the word threat. Ellenállás more accurate here.
2026-04-12 12:58:01 -04:00
SITUVNgcd 9b41c38503 Update Vietnanese translation (#11861)
https://github.com/Anuken/Mindustry/commit/17582011461f00973ed3ea81679873364d3e9b7b
2026-04-12 12:57:52 -04:00
Github Actions 0b8733a956 Automatic bundle update 2026-04-12 16:57:28 +00:00
Denzy 627e2fc5a5 Update bundle_be.properties (#11868) 2026-04-12 12:56:11 -04:00
XingHui-XH e53aaa6b52 Update bundle_zh_CN.properties (#11862) 2026-04-12 12:55:58 -04:00
1ue999and1ue999 ed3635dd40 stuff(tm) (#11867)
Co-authored-by: 1ue999 <1ue999owo@gmail.com>
2026-04-12 12:55:50 -04:00
RTOmega b64be10500 TR Translation for beta v8 (#11865) 2026-04-12 12:55:23 -04:00
Anuken 14f0399b7d Merge remote-tracking branch 'origin/master' 2026-04-12 12:54:03 -04:00
Anuken 4e9a66cfe5 Impact reactor power-less crash fix / Planet JSON ruleSetter support 2026-04-12 12:53:57 -04:00
Naths6andNathan Bombardier dd1f009765 Add range stats entry (#11874)
Co-authored-by: Nathan Bombardier <nathan.bombardier7@etu.univ-lorraine.fr>
2026-04-12 12:52:32 -04:00
Alone d1443a034f Add Mod#packSprites hook for dynamic texture packing (#11873)
* "Add a multiPacker parameter to AtlasPackEvent, allowing listeners to add custom textures through the multiPacker parameter."

* introduces a new hook method packSprites(MultiPacker packer) to the Mod class.

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* formatting Mods.java

* d

* Update Vars.java
2026-04-12 12:52:13 -04:00
Anuken a059d86f5a Closes Anuken/Mindustry-Suggestions/issues/6231 2026-04-11 21:06:33 -04:00
Anuken 932d480ec8 Merge remote-tracking branch 'origin/master' 2026-04-11 17:15:24 -04:00
Anuken d537bb9929 Possible fix for empty UDP packets causing DC 2026-04-11 17:15:18 -04:00
ItsKirby69 bce079f71c Rotation for text in Drawf.text (#11870)
* Implements rotation for text in Drawf.text

* Adds method with original parameters just in case

* remove duplicate text creation
2026-04-11 16:02:17 -04:00
Anuken e22d4cbf99 arc 2026-04-10 18:33:09 -04:00
Anuken a7ba06f122 arc 2026-04-10 18:27:44 -04:00
Anuken 2b028e4371 arc 2026-04-10 16:09:32 -04:00
Anuken 521b47f546 Merge remote-tracking branch 'origin/master' 2026-04-10 16:04:40 -04:00
Anuken 9d840144ed Fixed naval pathfinding around destructible blocks 2026-04-10 16:04:34 -04:00
EggleEgg f5f33d8e63 If this breaks something somewhere somehow anywhere sometime I m killing santa (#11864) 2026-04-09 21:53:12 -04:00
Anuken a29b6505df Fixed #11855 2026-04-09 15:32:55 -04:00
Anuken bc725eeddc Merge remote-tracking branch 'origin/master' 2026-04-09 15:26:46 -04:00
Anuken b30cbd57ce Fixed #11854 / Fixed #11863 2026-04-09 15:26:40 -04:00
Anuken 8f4ad7bfca Update deployment.yml 2026-04-08 22:06:04 -04:00
Github Actions 1758201146 Automatic bundle update 2026-04-09 01:36:49 +00:00
Anuken 4aef9965af Research layout fixes 2026-04-08 21:35:27 -04:00
Anuken a1d76e7529 Merge remote-tracking branch 'origin/master' 2026-04-08 21:34:11 -04:00
Anuken cf6de53ee4 New descriptions for sectors / Many various sector tweaks 2026-04-08 21:33:59 -04:00
Github Actions c41ab26aba Automatic bundle update 2026-04-08 22:39:13 +00:00
Anuken 74c8953300 Merge branch '157' of https://github.com/Anuken/Mindustry 2026-04-08 18:37:33 -04:00
Anuken f3b7a5e65e Fixed names and objective text for many sectors 2026-04-08 18:37:23 -04:00
Anuken 950d195dc7 Merge remote-tracking branch 'origin/master' 2026-04-08 18:16:17 -04:00
Anuken 1df1276201 Sector submission name fixes 2026-04-08 18:16:11 -04:00
SITUVNgcd fcc3a40ed6 Update Vietnamese translation (#11816)
https://github.com/Anuken/Mindustry/commit/4628b294d584ff04dbe7898a679411db561ee5e0
2026-04-08 18:08:45 -04:00
Github Actions 0d8304fd4e Automatic bundle update 2026-04-08 22:06:41 +00:00
DenzyandAnuken 81432ba841 Update bundle_be.properties (#11820)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-04-08 18:05:20 -04:00
Github Actions d734538db8 Automatic bundle update 2026-04-08 22:04:58 +00:00
summoner ae82103543 Translation: Update bundle_hu.properties (#11796)
* Translation: Update bundle_hu.properties

Follow the english bundle changes

* Fix translation

* Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new strings

* Fix typo in campaign rework title

Corrected a typo in the campaign rework title.

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new string
2026-04-08 18:03:38 -04:00
Arthur Schifano 02ce0bc8a5 Slight change to text 2026-04-08 18:35:43 +02:00
Arthur Schifano fe5ca2614e Adding myself as a contributor if my pr is good enough 2026-04-08 17:54:24 +02:00
Arthur Schifano 066e1b39ab Adding a map objective copy/paste through the JSON copy mechanism 2026-04-08 17:40:03 +02:00
Anuken b716d7a27b Fixed #11844 2026-04-07 21:48:33 -04:00
Anuken 4cc9d8263a Merge remote-tracking branch 'origin/master' 2026-04-07 18:35:06 -04:00
Anuken b9d5a81ff1 Replace glowing red wire tiles with dark variants upon Serpulo sector capture 2026-04-07 18:34:57 -04:00
Github Actions d3f66b9828 Automatic bundle update 2026-04-07 06:00:33 +00:00
Anuken ef4dff5693 Megabase resized; WIP center submission added 2026-04-07 01:59:02 -04:00
Anuken 2f378c46b2 Fixed UDP network error allowance 2026-04-06 16:41:20 -04:00
Anuken 9c088ff44a Triggering build 2026-04-06 00:29:20 -04:00
Github Actions ef975835cf Automatic class mapping update 2026-04-05 03:03:08 +00:00
Anuken 93e053edb6 Merge remote-tracking branch 'origin/master' 2026-04-04 23:01:05 -04:00
Anuken b3573aa284 Removed unused events 2026-04-04 23:00:57 -04:00
Github Actions 24fe96de10 Automatic bundle update 2026-04-04 03:00:24 +00:00
Anuken 082aff3972 Removed unnecessary bundle entries 2026-04-03 22:58:55 -04:00
Anuken aea5d09faa Fixed #11835 2026-04-03 22:57:59 -04:00
Anuken cae337b781 Fullscreen system cleanup 2026-04-03 22:30:52 -04:00
Anuken db3cf1fba3 Write null when ReadI fails to prevent confusion 2026-04-02 18:07:24 -04:00
Anuken 4a3bc3ec98 Fixed #11832 2026-04-02 16:39:35 -04:00
Anuken c12324d678 Fixed #11821 2026-04-02 12:45:59 -04:00
Anuken 377d98e2e4 Fixed #11824 2026-04-02 12:15:14 -04:00
Anuken 87468ce565 Fixed #11822 2026-04-02 11:53:21 -04:00
Anuken d0f070717f Sync block inventories when opened / WorldLabel parent 2026-03-31 20:29:38 -04:00
Anuken 5c5c2e3dbd Merge remote-tracking branch 'origin/master' 2026-03-31 19:59:34 -04:00
Anuken a7dcba8ed7 Possible fix for remote units exploding near walls on non-headless servers 2026-03-31 19:59:03 -04:00
Cardillan b3e009b6b4 Fix ConditionOp.strictEqual handling (#11813) 2026-03-31 15:33:53 -04:00
Github Actions 8276f65314 Automatic class mapping update 2026-03-30 21:39:18 +00:00
Anuken 1b9b4e7c0c Added DrawBlockParts 2026-03-30 17:36:58 -04:00
Anuken 5ef346d94e Alternate fix for #11809 / Updated Littoral Shipyard submission 2026-03-30 14:00:52 -04:00
Anuken 18b428577f Triggering build 2026-03-30 00:35:21 -04:00
Anuken fc7ad9c579 Merge remote-tracking branch 'origin/master' 2026-03-29 22:52:01 -04:00
Anuken 41bfecbe1c Fixed #11808 2026-03-29 22:51:56 -04:00
Github Actions 4628b294d5 Automatic bundle update 2026-03-29 23:52:56 +00:00
Anuken 073f112bf3 Merge remote-tracking branch 'origin/master' 2026-03-29 19:51:35 -04:00
Anuken 21b5101267 Added a warning related to the campaign rework 2026-03-29 19:51:29 -04:00
Alone 48399b7772 "Add a multiPacker parameter to AtlasPackEvent, allowing listeners to add custom textures through the multiPacker parameter." (#11806) 2026-03-29 10:57:38 -04:00
Anuken 16af1627ee Triggering build 2026-03-29 10:56:39 -04:00
Anuken 772e693f08 Triggering build 2026-03-29 10:45:11 -04:00
Anuken 3e7fc6482d Made mobile console available in menu 2026-03-28 17:36:28 -04:00
Anuken 6447b26a9d Fixed ambient sounds restarting when paused 2026-03-28 17:17:41 -04:00
Anuken d24b2c4bfe Fixed local server host padding 2026-03-28 15:33:32 -04:00
Anuken 5223f088e7 Minor console fixes 2026-03-28 15:27:16 -04:00
Anuken d8a5c0ba27 arc 2026-03-28 15:12:18 -04:00
Anuken 3a82ebf4d8 Added mobile console support 2026-03-28 14:56:56 -04:00
Anuken dc6a56b7d1 Merge remote-tracking branch 'origin/master' 2026-03-28 11:13:42 -04:00
Anuken e7875cc10a Fixed #11802 2026-03-28 11:13:36 -04:00
Github Actions ef60fb1d57 Automatic bundle update 2026-03-28 01:51:25 +00:00
Anuken 9828ab6b25 Removed unused setting 2026-03-27 21:50:00 -04:00
Anuken 1ef97e7329 Fixed blacklist check for class loading 2026-03-27 18:01:54 -04:00
Anuken 41805bd3bb Increased max rule byte size 2026-03-27 14:03:31 -04:00
Anuken 02d07aa4f8 e 2026-03-27 12:51:35 -04:00
Anuken f413931239 Blacklisted older scheme-size versions 2026-03-27 12:51:03 -04:00
Anuken 062a8aa240 Updated littoral shipyard 2026-03-27 11:04:04 -04:00
Anuken 09e3daecd5 Removed power turret 'reload fix' 2026-03-26 11:04:25 -04:00
Anuken cda5296c02 Scale status effects correctly 2026-03-25 20:30:33 -04:00
Anuken 846121bc17 Fixed #11795 2026-03-25 19:55:32 -04:00
Anuken e4c2b3ee41 Fixed #11797 2026-03-25 19:42:26 -04:00
Anuken d11f372850 Allow occasional UDP errors on the client 2026-03-25 15:06:45 -04:00
Anuken b0d2c9a932 Merge remote-tracking branch 'origin/master' 2026-03-25 11:44:15 -04:00
Anuken cf43f0862d Fixed minimap ping position being offset for notched phones 2026-03-25 11:44:10 -04:00
SITUVNgcd c3a58fbbc9 Update Vietnanese translation (#11788)
* Update Vietnanese translation

https://github.com/Anuken/Mindustry/commit/6850704072ff86b21f39c9b160c277dc66b00cc7

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/b7196b15f9f85dcdf23178763a4d0d1660d4296c

* Fix some typo, title text

https://github.com/Anuken/Mindustry/pull/11757
2026-03-25 11:35:04 -04:00
summoner 07b60dc305 Translation: Update bundle_hu.properties (#11787)
Translate untranslated strings
2026-03-25 11:34:16 -04:00
Anuken 1beb1c073f Fixed #11793 2026-03-25 11:33:09 -04:00
Anuken b0d6e213fb Fixed sorting of maps in list 2026-03-25 01:01:37 -04:00
Anuken cfb9d69ec3 oh dear 2026-03-24 23:24:48 -04:00
Anuken 3935b72df5 Fixed some plan rendering bugs 2026-03-24 23:15:39 -04:00
Anuken 094af9280f Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-03-24 21:48:31 -04:00
Anuken c8c49aa0f2 Fixed tests 2026-03-24 21:48:29 -04:00
Phinner 6daa82ac14 chore: Update kotlin plugin (#11792) 2026-03-24 21:47:48 -04:00
Anuken 915c7b04bb Moved 150 to 157 / Fixed drill item color 2026-03-24 17:31:37 -04:00
Anuken e17a93121a Merge remote-tracking branch 'origin/master' 2026-03-24 16:40:09 -04:00
Anuken a19935de51 Added another megabase side-submission 2026-03-24 16:40:00 -04:00
Github Actions f10496f5b7 Automatic bundle update 2026-03-24 16:51:33 +00:00
math-idiot 48e71fd828 Translate dependency-related messages to Chinese (#11719)
更改一些未翻譯的物件
2026-03-24 12:49:56 -04:00
XaphironiusandAnuken a714efa93c Translate sector names to Filipino and contextualize previous translations (#11667)
Updated sector names and descriptions to Filipino translations

Co-authored-by: Anuken <arnukren@gmail.com>
2026-03-24 12:49:43 -04:00
Github Actions dcab1acfa7 Automatic bundle update 2026-03-24 16:48:26 +00:00
vide017andAnuken c1de0a342b Update and added some polish translations (#11746)
Co-authored-by: Anuken <arnukren@gmail.com>
2026-03-24 12:47:06 -04:00
Adleanogare c4c67d80bc Update bundle_fr.properties by adding translation. (#11734) 2026-03-24 12:46:31 -04:00
AdleanogareandAnuken 9e7d0cce7e Update French translation (in bundle_fr.properties) (#11737)
* Update French translation (in bundle_fr.properties)

- Added translation for isolated components before line 1000.
- Some small adjusments of previous translations.

* Adding back a forgotten colored marker in french translation.

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-03-24 12:46:19 -04:00
Github Actions 2e29567170 Automatic bundle update 2026-03-24 16:29:34 +00:00
SITUVNgcdandAnuken 0d4675dd33 Update Vietnanese translation (#11702)
* Update Vietnanese translation

https://github.com/Anuken/Mindustry/commit/6850704072ff86b21f39c9b160c277dc66b00cc7

* new line?

* Translate sector names, stance, sector rename, large canvas

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-03-24 12:28:00 -04:00
Github Actions 45d651d3d0 Automatic bundle update 2026-03-24 16:27:16 +00:00
Darkness a16387323d Update bundle_ru.properties (#11760)
* Update bundle_ru.properties

* Some small fixes

* Some more fixes

* Revert stell name
2026-03-24 12:25:52 -04:00
KienNgoo 2ffe1be0ad Update bundle_vi.properties (#11757)
* Update bundle_vi.properties

Added translation for 'Stance: Hold Position'.
Fixed inconsistency at the 'Logic' section in Gamerule menu.

* Update bundle_vi.properties

Fixed spelling mistake on server disclaimer.
A title should not have full stop.

* Update bundle_vi.properties

Capitalized 'google'.
2026-03-24 12:25:00 -04:00
summoner db1c449cbc Translation: Update bundle_hu.properties (#11695)
* Translation: Update bundle_hu.properties

Translate new string
Fixing a mistake

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings
Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

* Translation: Update bundle_hu.properties

* Translation: Update bundle_hu.properties

* Translation: Update bundle_hu.properties

Fix rewording mistake

* Translation: Update bundle_hu.properties

Translate new strings
Following the changes of the english bundle

* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

* Translation: 

Fix sentences

* Translation: Update bundle_hu.properties

Reverting a deleted word

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings
2026-03-24 12:24:44 -04:00
EggleEgg 7763c4b568 I hate mobile ui (#11782) 2026-03-24 12:24:32 -04:00
JniTrRny daca3f0ee0 Update bundle_th.properties (#11779)
* Keeping up with the changes

* I saw a complaint in 2021 about my choice of vocabulary
2026-03-24 11:59:25 -04:00
Kevin Vilyan 68ee42f7cd Update Bundle ID (#11783)
* Update bundle_id_ID.properties

* ff tutor

* filter map & armor stat

* fix ⚠️ & rename perisai -> penghalang

* New Stance Command

* KETAHUAN LUWH - hubung_sambung ahh

* new sector

* several new settings

* lil space

* New Rules & New Obj string

* forgor this two

* Update bundle_id_ID.properties

* sync
2026-03-24 11:58:46 -04:00
SeuEarth 3165d258f1 Update bundle_ko.properties (#11786)
* Update bundle_ko.properties

* guh

* another one

* third
2026-03-24 11:58:35 -04:00
Anuken 10c9a9dcb6 Fixed #11785 2026-03-24 11:56:04 -04:00
Anuken a3bf73e583 Fixed #11784 2026-03-24 11:49:36 -04:00
Anuken 8efec20cc0 Misc bugfixes and plan optimizations 2026-03-24 11:46:27 -04:00
Anuken 1773a4d0bc Removed reference to unused task 2026-03-23 15:38:50 -04:00
Anuken 53865d09fa Some more netcode fixes 2026-03-23 15:35:21 -04:00
Anuken 88663f6ca8 Merge remote-tracking branch 'origin/master' 2026-03-23 14:42:53 -04:00
Anuken f90cf8196d Minor mobile UI layout fixes 2026-03-23 14:42:46 -04:00
Github Actions b7196b15f9 Automatic bundle update 2026-03-23 01:21:54 +00:00
Anuken ed5ad8310a Added prompt for adjusting difficulty 2026-03-22 21:20:31 -04:00
Anuken d53faf5c98 Merge remote-tracking branch 'origin/master' 2026-03-22 18:30:41 -04:00
Anuken 6e8fbaa1f6 Made pings display the same size regardless of zoom 2026-03-22 18:30:16 -04:00
Github Actions d29b1c1982 Automatic bundle update 2026-03-22 22:13:23 +00:00
Anuken eaa6ee74f1 Nerfed several endgame attack maps 2026-03-22 18:11:51 -04:00
Anuken 324aaaf7f7 Class deserialization check 2026-03-22 16:47:01 -04:00
Anuken 194020de79 Player world reload plan fix 2026-03-22 13:04:04 -04:00
Anuken d619a05556 A wide range of bugfixes 2026-03-22 12:32:39 -04:00
Anuken 6342f499e4 Added a pause building button on mobile 2026-03-22 10:41:48 -04:00
Anuken 975ea198f7 Fixed #11774 2026-03-22 08:57:15 -04:00
Anuken e3174156a6 Fixed some plan sync bugs 2026-03-21 20:42:23 -04:00
Anuken 71e347a4f9 Updated littoralShipyard 2026-03-21 18:19:49 -04:00
Anuken 27d2fd8f78 Merge remote-tracking branch 'origin/master' 2026-03-21 18:17:05 -04:00
Anuken 4851440c10 Network serialization size limit fixes 2026-03-21 18:16:54 -04:00
alecthe2nd f4d155a0eb Fixed UnitAssembler canPlaceOn check using the placed block's getRect() to create the bounding box of the other assembler. (#11773)
* Fixed target ore check requiring wall-only miners to check for floor ore versions when deciding whether to mine the respective ore.

* Fixed UnitAssembler canPlaceOn check using the placed block's getRect() to create the bounding box of the other assembler.
It should now check if the other block is an assembler, and if it is, it will use that assembler's getRect method. If the other block is not an assembler, that block will be ignored.
2026-03-21 17:55:22 -04:00
Anuken 2bfe73da57 TypeIO array length limits 2026-03-21 17:03:36 -04:00
Anuken 6dd29baf0e Better player plan syncing 2026-03-21 11:03:58 -04:00
Anuken 22baa344df Merge remote-tracking branch 'origin/master' 2026-03-21 01:09:06 -04:00
Anuken e48e570d25 Added pings to minimap 2026-03-21 01:08:50 -04:00
Github Actions 4df2ef3926 Automatic bundle update 2026-03-21 04:25:36 +00:00
Anuken 55bd4df422 Ping marker text / Mobile & chat location ping support 2026-03-21 00:24:16 -04:00
Anuken 10095ac4ff Merge remote-tracking branch 'origin/master' 2026-03-20 21:36:02 -04:00
Anuken e002746617 Do not sync player plans across teams 2026-03-20 21:35:56 -04:00
Github Actions 5a62316f57 Automatic bundle update 2026-03-21 01:10:03 +00:00
Anuken d69a002349 Merge remote-tracking branch 'origin/master' 2026-03-20 21:08:43 -04:00
Anuken c41fc53202 Syncing of other player's build plans 2026-03-20 21:08:29 -04:00
Github Actions 2f28e54877 Automatic bundle update 2026-03-20 22:53:36 +00:00
Anuken ef430040b3 Added location ping button 2026-03-20 18:52:14 -04:00
Anuken 5df5471b99 Merge remote-tracking branch 'origin/master' 2026-03-20 13:59:11 -04:00
Anuken c100188ad9 Updated submission for 92 2026-03-20 13:58:57 -04:00
Github Actions 5d649e1b74 Automatic bundle update 2026-03-20 17:54:46 +00:00
Anuken 4f95349e3a Merge remote-tracking branch 'origin/master' 2026-03-20 13:53:20 -04:00
Anuken 6ca7a80c2a Added planet unit factory activation delay rule 2026-03-20 13:53:06 -04:00
buthed010203 5aebcdca58 Allow any version to join hidden steam lobbies (#11770) 2026-03-20 11:32:53 -04:00
Anuken 84c03b3bc0 Merge remote-tracking branch 'origin/master' 2026-03-20 11:10:55 -04:00
Anuken 8c9a4dede4 Cleanup 2026-03-20 11:10:48 -04:00
Github Actions 179a224877 Automatic bundle update 2026-03-20 15:09:58 +00:00
Anuken 6c86aafe5f Merge remote-tracking branch 'origin/master' 2026-03-20 11:08:23 -04:00
Anuken a35fb2d560 Slightly clearer core requirement message 2026-03-20 11:08:16 -04:00
EggleEgg 5c7415da1f Disable pausing gamerule (#11592)
* Enable pausing gamerule

* disable pausing

* wproc gamerule

* player list, skip waves, show message

* state.gameOver && state.isCampaign() check just in case
2026-03-20 11:07:47 -04:00
Anuken 650055d605 Possible game over layout fix 2026-03-19 21:42:09 -04:00
Anuken 6aa3e6027b Fixed maps with item/power sources 2026-03-19 15:05:07 -04:00
Anuken 30777e314e Internally renamed all maps to match sector name / Added unit tests to check for item/power sources 2026-03-19 12:21:09 -04:00
Anuken f989f5609c Test fixes 2026-03-19 11:05:54 -04:00
Anuken 71dd8587a6 Sector submission updates 2026-03-18 21:18:10 -04:00
Anuken 602f2b8557 Upload dependency jar along with releases 2026-03-18 16:13:00 -04:00
Anuken aa6809b16a Dependency order fix 2 2026-03-18 10:58:30 -04:00
Anuken 88a8647570 Minor dependency order fix 2026-03-18 10:47:10 -04:00
Anuken 31b3a88404 Made depsJar include sources 2026-03-18 10:46:44 -04:00
Anuken 2fe23966f9 Fixed tests / Removed win32 packr builds 2026-03-17 23:37:58 -04:00
Anuken e7ba494bfc Triggering a test build 2026-03-17 22:09:50 -04:00
Anuken 60f2c61346 Updated sector submissions / Added x/y to more drawer types 2026-03-17 21:20:34 -04:00
Anuken 98a9bf1e3c Merge remote-tracking branch 'origin/master' 2026-03-17 20:14:08 -04:00
Anuken aecf80c08c Fixed sector 13's objective display 2026-03-17 20:13:47 -04:00
Github Actions 1ca9582296 Automatic bundle update 2026-03-17 23:16:27 +00:00
Felipe Jovino 18c57bb9a3 Add UI edge padding setting (#11741)
* feat(ui): added edge padding support and translations

* Bundles: added uiEdgePadding translations

* add Jovinull in contributors

* refactor(ui): extract updateMargins and apply padding to longest axis

* refactor(settings): use Intc and call updateMargins directly
2026-03-17 19:15:09 -04:00
Anuken 29b54f0a93 Possible fix for #11758 2026-03-15 11:57:18 -04:00
Anuken ddfe45856f Merge remote-tracking branch 'origin/master' 2026-03-15 00:29:05 -04:00
Anuken f1372ded5d Added large canvas to tech tree 2026-03-15 00:29:00 -04:00
Github Actions 3ede4618fe Automatic bundle update 2026-03-15 04:28:01 +00:00
Anuken 26175c65b3 Added large canvas block & canvas image export/import 2026-03-15 00:26:40 -04:00
Anuken c920fe2d21 Removed usage of BoostAI in enter payload command 2026-03-14 02:05:23 -04:00
Anuken 5fd7f68510 Sector submission updates 2026-03-14 01:55:01 -04:00
Anuken 55d567395e Merge remote-tracking branch 'origin/master' 2026-03-14 00:15:56 -04:00
Anuken b8e3a9cd7f Fixed beam drill speed bar not reflecting power 2026-03-13 23:53:13 -04:00
Anuken 54bfc2baad Enable planet atmosphere on mobile by default 2026-03-13 18:40:27 -04:00
buthed010203 d15da6e07e Label ids, deletable labels & popups (#11753)
* Label ids, deletable labels & popups

* Add Nullable annotations
2026-03-13 18:06:41 -04:00
Github Actions deeecfda25 Automatic bundle update 2026-03-13 22:06:31 +00:00
OSPx 5eacd810a6 Added clipboard copy API to Call (#11756) 2026-03-13 18:05:13 -04:00
Anuken 4380f3ec09 Enable animated shields on Android by default 2026-03-13 18:02:30 -04:00
Anuken 06af1faf5b Merge remote-tracking branch 'origin/master' 2026-03-12 22:18:07 -04:00
Anuken 1fb6c0976d Canvas block dialog refactored / Fixed crateredBattleground being in the wrong place 2026-03-12 22:18:01 -04:00
Github Actions d107b264d8 Automatic bundle update 2026-03-12 21:56:29 +00:00
Anuken ab14f3dfb4 Merge remote-tracking branch 'origin/master' 2026-03-12 17:55:02 -04:00
Anuken f5c59ff54c Added a new "preparation" sector before PLT / Renamed "The Craters" 2026-03-12 17:54:51 -04:00
buthed010203 16bbcb62e6 Allow mods to mark themselves as legacy compatible meaning that mods from v7 which still work in v8 can continue to use an old repo and work in both versions. (#11752) 2026-03-12 17:03:10 -04:00
buthed010203 04465c4abc Implement popup id system so that popups don't flicker. (#11751) 2026-03-12 16:46:43 -04:00
Anuken 9fa69c59f9 Static field fix 2026-03-12 16:40:02 -04:00
Anuken f62c344d7a Merge remote-tracking branch 'origin/master' 2026-03-12 16:16:57 -04:00
Anuken 09e30bac71 Massive optimizations to build plan rendering (~100x) 2026-03-12 16:16:47 -04:00
Cardillan 6cc7ea5e57 Gracefully handle string value size exceeding 65535 bytes (#11750) 2026-03-11 19:09:05 -04:00
Anuken b3561933f7 Fixed Perilous Harbor walls blocking enemies 2026-03-11 15:01:03 -04:00
Anuken 37357154f8 Merge remote-tracking branch 'origin/master' 2026-03-10 14:44:23 -04:00
Anuken 9c9980c329 Removed leftover message blocks from Fallen Vessel submission 2026-03-10 14:44:17 -04:00
Github Actions 7210bdc0c9 Automatic bundle update 2026-03-10 06:52:11 +00:00
Felipe JovinoandDinoWattz a7e97c06c6 Completes the Brazilian Portuguese localization (#11742)
* locales: update Brazilian Portuguese (pt_BR) translations for v7 and Erekir contente

* add Jovinull in contributors

* Apply suggestion from @DinoWattz

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>

* Apply suggestions from code review part2

* Update bundle_pt_BR.properties part 4

* Update bundle_pt_BR.properties part 5

* Update bundle_pt_BR.properties part 6

* Apply suggestions from code review

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>

* Update launch pad names to match English bundle

---------

Co-authored-by: DinoWattz <116862698+DinoWattz@users.noreply.github.com>
2026-03-10 02:50:37 -04:00
Anuken 00cc2cd1bf Fixed #11744 2026-03-10 02:06:52 -04:00
Anuken 7858e29b21 Merge remote-tracking branch 'origin/master' 2026-03-09 21:24:55 -04:00
Anuken 6e793a1c1d Fixed #11747 2026-03-09 21:24:27 -04:00
Github Actions 3bf47520a0 Automatic bundle update 2026-03-09 02:01:39 +00:00
Anuken 19ab8423eb Added 'hold position' stance (closes Anuken/Mindustry-Suggestions/issues/6157) 2026-03-08 22:00:02 -04:00
Anuken 45e5ca3612 More stat tracking 2026-03-07 20:58:04 -05:00
Anuken b85056a493 WIP campaign stat tracking (not displayed yet) 2026-03-07 20:55:24 -05:00
Anuken 2b74317b34 Fixed sector remapping in JSON mods / New 76 submission 2026-03-07 20:11:11 -05:00
Anuken 63f0776079 Fixed attribute check with placeableLiquid blocks 2026-03-06 20:54:16 -05:00
Anuken ac361d4e8f Merge remote-tracking branch 'origin/master' 2026-03-06 11:57:04 -05:00
Anuken 319593e0b6 Tweaks to Atolls tutorial and bases 2026-03-06 11:56:57 -05:00
Github Actions 86dc36a372 Automatic bundle update 2026-03-06 04:56:15 +00:00
Anuken 79a991a2a0 Made boosting a stance 2026-03-05 23:54:35 -05:00
Anuken 70c2010ea5 Fixed GenericCrafter patch crash 2026-03-04 23:57:42 -05:00
Anuken 65e4a22c84 Fixed Japanese font being displayed incorrectly 2026-03-04 23:48:49 -05:00
Anuken 0215cabda8 Added fallback for monospace font 2026-03-04 19:16:22 -05:00
Anuken 2ed9fa8834 Fixed #11735 2026-03-04 17:14:17 -05:00
Anuken d3b4943c55 Removed unused stat 2026-03-03 22:05:27 -05:00
Anuken 8232e5aa52 Minor sector submission update 2026-03-03 21:06:49 -05:00
Anuken 785054d28b Renamed Erekir editor-only shield projector to "barrier projector" 2026-03-02 21:56:40 -05:00
Anuken fe620796b4 Merge remote-tracking branch 'origin/master' 2026-03-01 14:19:51 -05:00
Anuken c9efe991df Fixed #11728 2026-03-01 14:19:46 -05:00
Gureumi df9d6bbfda Delete Korea server entry from servers_v7.json (#11729) 2026-03-01 14:18:40 -05:00
Anuken 1c2a3eb2e5 Merge remote-tracking branch 'origin/master' 2026-02-28 00:05:32 -05:00
Anuken d0005aea7f Turret reload 'fix' moved to PowerTurret 2026-02-28 00:05:22 -05:00
Cardillan f9fa92afc1 Fix draw image bug with tiled displays. (#11721) 2026-02-28 00:01:56 -05:00
Efsfse2280 ef5d5abfff Update UnitTypes.java (#11727) 2026-02-28 00:01:27 -05:00
Anuken 5a2a1658ce Fixed #11717 2026-02-27 22:48:02 -05:00
Anuken 6ad8d06015 Hacky wait time save/loading for processors 2026-02-26 23:50:52 -05:00
Anuken adb9a82d84 Fixed Ground Zero being land-able with IPA, leading to buggy behavior 2026-02-25 23:11:20 -05:00
Anuken 0d112fd655 Merge remote-tracking branch 'origin/master' 2026-02-25 22:32:36 -05:00
Anuken 4d8ebbcc15 Fixed some disabled image buttons being 'clickable' 2026-02-25 22:32:30 -05:00
SomeonesShade 3fd0d817e7 Armor Multiplier Display Adjustments (#11710)
* Made Armor Weakness a number rather than a % for display.

* Renamed to ArmorPiercing to PartialArmorPierce

* ArmorMult doesn't display if Pierce Armor is On
renamed the bundle to "% armor pierce"

* Just In Case
2026-02-25 22:31:30 -05:00
Github Actions 515c7e9f72 Automatic bundle update 2026-02-26 03:26:59 +00:00
ItsKirby69 9cb2ae259c Add new Map Filter Options (#11712)
* bundles

* Add new filters
2026-02-25 22:25:27 -05:00
Anuken 4462f1bea4 Fixed #11714 2026-02-25 22:20:32 -05:00
Anuken 2fa5cf5dab Added sounds for picking up and dropping payloads 2026-02-24 22:01:41 -05:00
Anuken 8d16c1768e Fixed tests 2026-02-24 12:19:23 -05:00
Anuken 769e45e65a Merge remote-tracking branch 'origin/master' 2026-02-24 12:13:42 -05:00
Anuken cc1cea5b93 Fixed #11709 2026-02-24 12:13:36 -05:00
Github Actions 36076eb7f8 Automatic class mapping update 2026-02-24 17:03:55 +00:00
Anuken d1e512e7c8 Fixed push script 2026-02-24 12:01:34 -05:00
Anuken f0df12127f Added actions task to automatically update class mappings 2026-02-24 11:54:47 -05:00
Anuken 628efdc6f2 Fixed packing 2026-02-24 11:39:37 -05:00
Anuken 41edbd338d Updated to Gradle 9 2026-02-24 00:32:22 -05:00
Anuken eedfb62cf2 Fixed banned units on Coastline 2026-02-23 22:31:00 -05:00
Anuken f5e83e1e20 Possible power fix for derelict structures 2026-02-22 20:51:17 -05:00
Anuken f20e3ff946 Fixed #11705 2026-02-22 20:09:44 -05:00
Anuken 7da63ac504 Fixed #11697 2026-02-20 17:03:47 -05:00
Anuken 76dc529d23 Fixed #11698 2026-02-20 16:19:39 -05:00
Anuken 74b9589eb6 Merge remote-tracking branch 'origin/master' 2026-02-20 15:58:09 -05:00
Anuken 3b179315c1 Better attribute parsing error message 2026-02-20 15:58:03 -05:00
Github Actions 6850704072 Automatic bundle update 2026-02-20 03:54:05 +00:00
Anuken fd00f3fae3 New basic frozen forest tutorial 2026-02-19 22:52:36 -05:00
Anuken b00b88476b Fixed a crash with width/height == 0 2026-02-19 22:05:15 -05:00
Anuken f8ab28196b Merge remote-tracking branch 'origin/master' 2026-02-19 22:01:31 -05:00
Anuken 26bae55830 Fixed #11694 2026-02-19 22:01:25 -05:00
Github Actions 85b44f02b3 Automatic bundle update 2026-02-19 03:42:15 +00:00
EggleEgg 061b12ed80 Stat info entry (#11674)
* Stat info entry

* oop cleanup imports
2026-02-18 22:40:44 -05:00
Github Actions b72031e62f Automatic bundle update 2026-02-19 03:38:07 +00:00
SITUVNgcd 56a7588736 Update Vietnamese translation (#11677)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/58fe731e7021dcaddc61d1e18b60e416218d8745

* Something went wrong while export from translation tool. Fixed
2026-02-18 22:36:25 -05:00
Anuken a7f2bb3b79 Merge remote-tracking branch 'origin/master' 2026-02-18 21:43:33 -05:00
Anuken 4fcb89cb28 Fixed #11690 2026-02-18 21:43:25 -05:00
Alone 9127d8a8ac Replace '@category.' + cat.name with cat.localized() to achieve better compatibility with StatCat. I don't understand why localized was written but not used. (#11687) 2026-02-17 16:51:19 -05:00
Github Actions 75155f7304 Automatic bundle update 2026-02-17 21:47:15 +00:00
Anuken 50f6b1675e Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-02-17 16:45:28 -05:00
Anuken 40ca70ae26 arc 2026-02-17 16:45:25 -05:00
summoner 34ee406445 Translation: Update bundle_hu.properties (#11685)
* Translation: Update bundle_hu.properties

Fix mistakes

* Translation: Update bundle_hu.properties. Follow the changes of the english bundle.
2026-02-17 16:45:10 -05:00
Fu'ad Husnan 3f8fe03003 Update Prcessors' description for Indonesian translation (#11678)
Updated descriptions for micro, logic, and hyper processors to use 'perulangan' (means 'iteration') instead of 'lingkaran' (means 'circle').
2026-02-17 16:45:01 -05:00
Anuken 07d5b03e35 More achievement fixes 2026-02-16 13:30:21 -05:00
Anuken 3c239e8af0 Defer even firing until after unit is added 2026-02-16 13:22:32 -05:00
Anuken 9d759d03eb Correctly fire UnitCreateEvent in UnitAssembler 2026-02-16 13:21:56 -05:00
Anuken 6c53474479 Apparently zenity is still needed, marvelous 2026-02-16 12:59:43 -05:00
SomeonesShade 10e9655a43 Copper Salvo: 50% Armor Weakness with 5x Ammo Mult (#11686) 2026-02-16 12:53:07 -05:00
Anuken 13ad318ad9 Buffer fixes 2026-02-16 12:50:34 -05:00
Anuken 4aa78c6a11 Fixed #11649 2026-02-16 12:47:54 -05:00
Anuken f34ddc8d9b Earlier version and logging initialization 2026-02-16 12:27:10 -05:00
Anuken 59fb89c243 Merge remote-tracking branch 'origin/master' 2026-02-16 11:58:47 -05:00
Anuken e5202a8f92 Fixed #11672 2026-02-16 11:58:42 -05:00
Github Actions 5ddff4ce22 Automatic bundle update 2026-02-16 16:45:12 +00:00
Anuken 1ae0f6171b 32-bit messages cleaned up 2026-02-16 11:43:36 -05:00
Anuken 550bc0c311 Fixed #11688 2026-02-16 11:40:02 -05:00
Anuken ca04662341 Fixed #11680 2026-02-16 11:38:56 -05:00
Anuken a3682756dc Revert "Removed borderless fullscreen option (window should always be borderless fullscreen anyway)"
This reverts commit d4cda24fb8.
2026-02-16 11:30:35 -05:00
Anuken 4f52ec4846 Fixed #11681 2026-02-16 11:27:20 -05:00
Anuken b26685f05e Fixed #11679 2026-02-16 11:24:41 -05:00
Anuken a6743e8217 Fixed core database search being broken 2026-02-16 11:23:27 -05:00
Anuken 0580e1afbb SDL3 is broken, reverting to SDL2 (Closes #11671, #11676) 2026-02-16 10:58:34 -05:00
Jason e5e19f0a44 Formatting
Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com>
2026-02-16 05:41:53 +02:00
Anuken d8e94923d6 Merge remote-tracking branch 'origin/master' 2026-02-15 12:49:34 -05:00
Anuken b1d40fb039 Added error dialog when launching with 32-bit windows or Java 8 2026-02-15 12:49:28 -05:00
JasonP01 6e43281ee4 Remove testing changes 2026-02-15 06:56:06 +02:00
JasonP01 394f6b8170 changes, needs revision 2026-02-15 06:52:31 +02:00
JasonP01 b8e9683c81 Rework status chance 2026-02-15 04:40:45 +02:00
Chorus dc0ced3ca3 Added some translations (#11513) 2026-02-13 20:35:58 -05:00
Anuken f6266db2bc Triggering BE build 2026-02-13 20:31:08 -05:00
Anuken f5b2b81c21 Fixed attempts to load folders as maps in mods 2026-02-13 20:20:31 -05:00
Anuken 50c40be5e2 Buildscript updates 2026-02-13 13:58:38 -05:00
Anuken fa13d108d9 Buildscript fixes 2026-02-13 11:29:36 -05:00
Anuken 8069a7b306 Merge remote-tracking branch 'origin/master' 2026-02-13 11:17:48 -05:00
Anuken 42fe38c2aa Fixed improperly initialized mods crashing the database 2026-02-13 11:17:43 -05:00
summoner 87b71295f2 Translation: Update bundle_hu.properties (#11475)
* Translation: Update bundle_hu.properties

Fix mistranslations
Fix typos
Finetune sentences for ingame coding consistency

* Translation: Update bundle_hu.properties

Translate new strings

* Follow the changes of the english bundle

* Translation: Follow the changes of the english bundle

Follow the changes of the english bundle

* Fix translation

fix the word "projector" translation

kivetítő -> vetítő

* Fine tune latest building names

* Fix mistakes

* Translate new strings

* Translate new string

* Update bundle_hu.properties

Fixing mistakes and typos

* Update bundle_hu.properties

Add missed sentence to string

* Update bundle_hu.properties

add missing .

* Update bundle_hu.properties

Fix consistency and coherency

* Update bundle_hu.properties

fix . dot

* Update bundle_hu.properties

fix translation of the word pause
Fix consistency

* Fix "x" -> db, fix consistency

* Fix spaces

* Fix some words translation: duct, shield, utility / csatorna, pajzs, fenntartó

* Fix translation

* Update bundle_hu.properties

Fine-tune translation

* Fine tuning strings

* Translate new string

* Translation: Update bundle_hu.properties

Translate new strings
Fix translation of rebuild and respawn words -> újjáépítés and újjáéledés

* Translation: Update bundle_hu.properties

Delete dupe line

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings.
Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Follow the english bundle changes

Coastline -> Humid Coastline
Partvidék -> Párás partvidék

* Translation: Update bundle_hu.properties

Fix Partvonal -> Partvidék

* Translation: Update description.txt

Fix consistency and coherency with the bundle_hu.properties

* Translation: Update achievements.vdf

Fix coherency and consitency with the bundle_hu properties

* Translation: Update bundle_hu.properties

* Translation: Update hu-hu.json

Translate new strings.
Follow the changes of the english bundle.

* Translation: Update bundle_hu.properties

Translate new strings

* Update bundle_hu.properties

fixing words
2026-02-13 11:13:46 -05:00
Anuken 03bea6b291 Updated scripts to match the proper SDL backend name 2026-02-13 11:06:24 -05:00
Anuken 0aa091b212 Fixed #11666 2026-02-13 10:01:37 -05:00
Giovanni Ruotolo ca3b71d2b8 Merge branch 'master' into master 2026-02-13 15:54:50 +01:00
Giovanni Ruotolo 5dfd76427b micro fix 2026-02-13 15:52:16 +01:00
Anuken dec4913090 No AI-generated PRs 2026-02-13 00:42:16 -05:00
TheCuber222 c01a35d410 Translate:Removed outdated description (#11659)
Omura will no longer produce Flare; this information is outdated.
2026-02-12 16:41:08 -05:00
Anuken 15f5885b0f arc 2026-02-12 13:06:14 -05:00
Anuken c3ccee72a7 Triggering build 2026-02-12 12:40:12 -05:00
Anuken 139d7626b2 Proper shield arc velocity nullification 2026-02-12 12:22:00 -05:00
Anuken d285dd6855 Merge remote-tracking branch 'origin/master' 2026-02-12 09:12:28 -05:00
Anuken 0a066fbef7 Another wayland fix attempt 2026-02-12 09:12:19 -05:00
Giovanni Ruotolo e421b6f896 Full Italian localization
Complete and fix the Italian localization (file bundle_it.properties) align more with the original english one.
Added the translation for Android and Steam.
2026-02-12 13:37:44 +01:00
Anuken 4d70395204 Update deployment.yml 2026-02-11 21:00:45 -05:00
Anuken 98d4130222 Update deployment.yml 2026-02-11 20:55:27 -05:00
Anuken 24ee7a6af3 Log driver and remove useless wayland workaround 2026-02-11 20:21:36 -05:00
Anuken 9a40c949d5 localArc should now work without jitpack 2026-02-11 19:56:40 -05:00
Anuken 633105305a WIP jitpack-less build 2026-02-11 19:42:39 -05:00
Cryofluid b22cfa0c74 Update BulletType.java (#11656) 2026-02-11 19:31:45 -05:00
Anuken 58c1aee0df (jitpack) 2026-02-11 14:47:25 -05:00
Anuken 3d7b55c01e Another attempt at fixing #11657 2026-02-11 14:07:50 -05:00
Anuken 2510dcabb4 ????? 2026-02-10 21:37:09 -05:00
Anuken 756e553b31 and again 2026-02-10 21:36:04 -05:00
Anuken 82443db8ec jitpack strikes again 2026-02-10 21:33:08 -05:00
Anuken de6dd91277 Re-triggering build 2026-02-10 21:09:05 -05:00
Anuken ce532f25f7 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-02-10 20:58:16 -05:00
Anuken 8df1d96a2e arc 2026-02-10 20:58:14 -05:00
EggleEgg 7deb20ab65 Bugfix: Precept bullet (#11650)
* HOW OR WHEN DID I WRITE THIS

* IT S 120 YOU MORON
2026-02-10 19:38:16 -05:00
Anuken 219689a74f Merge remote-tracking branch 'origin/master' 2026-02-10 19:37:51 -05:00
Anuken 3426904a60 Possible fix for #11653 2026-02-10 19:37:45 -05:00
EggleEgg 9e76806e90 Bugifx: unloader dont backflow into unlinked container (#11652) 2026-02-10 19:32:04 -05:00
Cardillan 3f5d963068 No timeout on drop to air (#11068) 2026-02-10 12:13:25 -05:00
Github Actions 58fe731e70 Automatic bundle update 2026-02-10 17:07:04 +00:00
EggleEggandAnuken 121afa0c95 Various database entry stats (#11583)
* Add Firerate Stat to Lustre and sublimate

* 8 votes

* forgot comment

* Show shock mine damage stats

* make spawnBullets appear in core database

* spawned instead

* typo h

* fuck impact stats

* segment and point defense stuff

* Change repair & shieldregen field's shown stats

* Grant "Airborne" achievement when commanding units

* more database entries

* navanax entries (holy hell there are so many)

* boosting speed entry

* add arrow icon and stuff

* dont break tests

* junction storage per side

* Apply suggestion from @Anuken

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-02-10 12:05:42 -05:00
Github Actions cb1ba51238 Automatic bundle update 2026-02-10 16:32:35 +00:00
belezoroandAnuken 98a7e08624 Update translations in bundle_eu.properties (#11462)
* Update translations in bundle_eu.properties

* Translate properties to Basque

Updated various property translations to Basque.

* Update translations in bundle_eu.properties

* Translate game properties to Basque

Translated various difficulty and sector descriptions from English to Basque.

* Add Basque translations for sectors and statuses

Translated sector and status descriptions to Basque.

* Translate settings and abilities to Basque

Updated various settings and ability descriptions to Basque language.

* Translate properties in bundle_eu to Basque

* Update bundle_eu.properties

* Translate block names to Basque

Updated block names and descriptions to Basque translations.

* Translate hints in bundle_eu.properties to Basque

* Translate hints in bundle_eu.properties to Basque

* Translate hints and instructions to Basque

Translated various hints and instructions from English to Basque in the properties file.

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-02-10 11:31:15 -05:00
EggleEgg 43a913fa78 Remove shooteffect when missile unit dies without target (#11644) 2026-02-10 10:53:28 -05:00
Anuken dd4b07b2a2 Fixed #11647 2026-02-10 10:47:57 -05:00
Anuken b587253ac0 Potential bright screen fix (in arc) 2026-02-09 23:37:34 -05:00
Anuken d4cda24fb8 Removed borderless fullscreen option (window should always be borderless fullscreen anyway) 2026-02-09 20:39:24 -05:00
Anuken 51a2588c4e Fixed #11646 2026-02-09 20:25:02 -05:00
Anuken de3c2430c0 Fixed #11645 2026-02-09 20:08:29 -05:00
Anuken 4073ffbbb6 Fixed keyboard focus remaining on cancel button after loading hides 2026-02-09 19:51:12 -05:00
Anuken a55e0a3d53 Merge remote-tracking branch 'origin/master' 2026-02-09 13:36:08 -05:00
Anuken d90c830b27 Fixed #11636 2026-02-09 13:36:01 -05:00
Kevin Vilyan e53047854f Update Bundle ID (#11557)
* Update Bundle ID

* Add files via upload

* Fungal Pass & Frontier Tutorials

* Fix Unicode

* Fix tutorial text for ground factory placement

* data patch hint

* Update Indonesian translations for properties

Updated translations for coastline and max units.

* Fixed word buat -> produksi

* still found inconsistency

* node

* zone

* spotted inconsistency

* SAKELAR URAGH

* translate latest changes from erekir balance
2026-02-09 13:21:43 -05:00
MCxzfwq cfabcaa871 Some minor modifications (#11575)
* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Update ForceProjector.java
2026-02-09 13:16:13 -05:00
Cardillan b3c8a8ec4f Fix draw image bug with tiled displays. (#11638) 2026-02-09 13:14:42 -05:00
EggleEgg 78e2b1d3be Bugfix: fortress real range too small (#11640)
* dont thread the needle

* even less
2026-02-09 13:12:13 -05:00
Anuken b663f71640 Gradle is awful 2026-02-08 22:38:41 -05:00
Anuken 31301a7c34 Player JSON revision 2026-02-08 22:29:32 -05:00
Anuken 40395ef039 Merge remote-tracking branch 'origin/master' 2026-02-08 22:25:49 -05:00
Anuken 96af273bb5 Fixed nonsensical logic filter code 2026-02-08 22:25:43 -05:00
Github Actions e600d9bc02 Automatic bundle update 2026-02-09 03:20:46 +00:00
酪桦姬andAnuken da40fabeaa Update bundle_zh_CN.properties (#11478)
* Update bundle_zh_CN.properties

* Update Chinese localization for various terms

* Update bundle_zh_CN.properties

* Update launch candidate message in Chinese properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-02-08 22:19:42 -05:00
Joan JosepandAnuken 2641e0c1cc Translation: Update bundle_ca.properties (#11518)
* Translation: Update bundle_ca.properties

* Translation: Update bundle_ca.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2026-02-08 22:18:54 -05:00
Vector 2bddc9a00f Update bundle_es.properties (#11578)
* Update bundle_es.properties

* Update bundle_es.properties
2026-02-08 22:17:22 -05:00
SITUVNgcd 87ae076950 Update Vietnamese translation (#11586)
* Translate new strings

Patch guide & Fields view

* Translate new strings

* Translate new strings

Build logic, team rules,...

* Translate new strings

Core unloaders rule

* Translate new strings & update

Database subcategory & draw copy

* Translate new strings

* Update Vietnamese translation

Map tutorial strings
2026-02-08 22:17:07 -05:00
EggleEggandJason b2aefdd4cf Bugfix: shieldarc unit removal on multiplayer (#11634)
* Bugfix: shieldarc unit removal on multiplayer

* update description

* Update core/src/mindustry/entities/Units.java

Co-authored-by: Jason <131086642+JasonP01@users.noreply.github.com>

---------

Co-authored-by: Jason <131086642+JasonP01@users.noreply.github.com>
2026-02-08 21:33:29 -05:00
EggleEgg 88f1e0c4af Erekir rebalance v5 (#11511)
* werwe

* phase scathe + minor tweak to surge scathe

* bs changes

* yay

* scathe bs

* 45t

* applied correctly now

* 343rfe

* whatever

* a

* Idk what I m doing

* idk

* bs

* tecta + titan balance changes

* tiny fix

* some reverts + cyanosub nerf

* oop

* better

* boring vanq buffs

* no, stop

* now

* -100% build mult

* revert tecta nerf

* better tecta bvb but -15% dps

* armor rend effect

* some reverts

* more

* more

* more

* avert changes

* avert shenanigans

* more balance ig

* PLEASE FREE ME

* more vanq changes

* more stuff

* flux buff

* conquer buff and stuff

* I m starting to like this

* finally fragOnLastHit fixed

* more tecta shield buffs

* done

* shieldarc json support just in case

* revert reflect convex spread

* fixes, dont override bullet.type

* cleanup + more tecta shield changes

* screw it, 0.5

* fix chance to deflect db entry
2026-02-07 20:57:51 -05:00
Redstonneur1256 47d28c0d20 Logic sensor (#10795)
* Add `selectedBlock` logic sensor

* Add `buildX`/`buildY`/`building` logic sensors

* Change `building` from boolean to the building

* `breaking`

* Make `breaking`/`building` more consistent

* Allow blocks/content to be null

* Change `selectedBlock` from air to null

* Change `selectedBlock` from air to null

* Make `selectedBlock` SyncLocal

* Add `selectedRotation`
2026-02-07 20:52:33 -05:00
Anuken b2a574eb66 Merge remote-tracking branch 'origin/master' 2026-02-07 20:48:38 -05:00
Anuken 08c136f4ee Fallen Vessel submission updated 2026-02-07 20:48:31 -05:00
Cardillan 9c0446a053 Fix the disparity between acccumulator increase and time waited in WaitI (#11631) 2026-02-07 20:30:34 -05:00
Github Actions ef4e93c396 Automatic bundle update 2026-02-08 01:23:47 +00:00
WMF efb9acce1b New map rule to disable unit control via logic (#11627)
* map rule to disable unit control via logic

* syntaxn't
2026-02-07 20:22:29 -05:00
Anuken 80d2ddfab9 Merge remote-tracking branch 'origin/master' 2026-02-06 22:46:23 -05:00
Anuken 67d3a9feb0 Added field for running logic code upon objective completion 2026-02-06 22:46:17 -05:00
Sputnuc 3dd3cf5a28 True placement efficiency percentages text in ThermalGenerator (#11597) 2026-02-06 18:40:10 -05:00
SomeonesShade 7bbb81cd17 Salvo Buff (#11625) 2026-02-06 18:38:58 -05:00
laomoze a5080a3faf Fix rotation (#11624) 2026-02-06 18:20:00 -05:00
Anuken 7d88eeee77 File picker cleanup 2026-02-06 01:30:16 -05:00
Anuken 52baac3fe9 Merge remote-tracking branch 'origin/master' 2026-02-06 00:51:18 -05:00
Anuken 5fe8170e7c Testing SDL-based file chooser 2026-02-06 00:51:13 -05:00
SomeonesShade a2825a08a9 Added descentSpeed to UnitType.java (#11490)
plus fixing up descriptions for accuracy on what they do
2026-02-05 22:50:31 -05:00
Github Actions 6a2ef5a8ca Automatic bundle update 2026-02-06 03:50:28 +00:00
SeuEarth 04b38dd103 Update bundle_ko.properties (#11499)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Add files via upload

* Update bundle_ko.properties

* yeah oops

* Update bundle_ko.properties
2026-02-05 22:49:22 -05:00
Anuken a7a3aaf06a Merge remote-tracking branch 'origin/master' 2026-02-05 22:29:10 -05:00
Anuken 9f21a98923 Fixed #11574 2026-02-05 22:29:04 -05:00
SomeonesShade ab64677ea9 Balancing Train: Pyra Power Production Buffs, Pyra Scorch Ammo Nerfs, Crawler Building Damage Nerf (#11520)
* added itemDurationMultipliers for Pyra Combustion and Pyra Steam

* Pyratite Scorch Damage Nerf

* Crawler Building Damage Nerf

* Compromise: AP on Pyra Scorch

* 30 dmg, 0 ap scorch

* Pyra Scorch: 6x -> 10x ammo mult
2026-02-05 22:15:08 -05:00
Anuken dced8834b6 Fixed bridges not linking when landing 2026-02-05 07:15:44 -05:00
Anuken 9ffc9cb4f4 Fixed non-objects being accepted as object values 2026-02-04 21:51:10 -05:00
Anuken 05771f4337 Correct key names based on keyboard layout 2026-02-04 21:34:19 -05:00
Anuken 82dfc3eba3 Merge remote-tracking branch 'origin/master' 2026-02-04 21:03:32 -05:00
Anuken 6b029cf8dd Possible lwjgl natives fix 2026-02-04 21:03:25 -05:00
Mars a8e829e3ee Ensure onNewPlan() is also called on mobile when placing schematics (#11581) 2026-02-04 14:23:24 -05:00
Cardillan 025ac78e27 Clear buffer on drawflush (#11582) 2026-02-04 14:22:55 -05:00
Anuken 4a3e9593fd Merge remote-tracking branch 'origin/master' 2026-02-04 14:13:45 -05:00
Anuken f92e7fffac Fixed #11603 2026-02-04 14:13:39 -05:00
Pyratite No Lead 637b02c42e Add real opposites and affinities to JSON StatusEffect (#11596) 2026-02-04 14:10:57 -05:00
BalaM314 9e091eaf06 Disarmed units should not crush fragile (#11611) 2026-02-04 14:00:02 -05:00
EggleEgg 3e0aafea36 Bugfix: selection size area text on mobile (#11590)
* I m blaming foos devs for my all mistakes and problems and global warming and the price of housing

* STOP IMPORTING RANDOM CLASSES VSCODE

* huh
2026-02-04 13:55:16 -05:00
Cardillan 89e89efac6 draw print statement fix (#11604) 2026-02-04 13:55:01 -05:00
Anuken 1381291256 Fixed #11608 2026-02-04 13:53:42 -05:00
Anuken f7a0c59c53 Fixed #11612 2026-02-04 13:46:58 -05:00
Anuken 4c9a1538f7 Fixed #11607 2026-02-04 13:42:23 -05:00
Anuken b9da705564 Fixed #11601 2026-02-04 13:36:15 -05:00
Anuken 764c38c71e Fixed #11593 2026-02-04 13:29:15 -05:00
Anuken b0e0b46d2f Fixed #11588 2026-02-04 13:23:59 -05:00
Anuken 964810add9 Fixed #11587 2026-02-04 13:22:52 -05:00
Anuken 14fe0a4c85 Fixed #11585 2026-02-04 13:19:17 -05:00
Anuken 4497e34bbb Save file drop support for desktop 2026-02-04 12:36:40 -05:00
Anuken 5a9e8cbcac arc 2026-02-03 22:32:03 -05:00
Anuken 912f2942a6 Framework update 2026-02-03 16:19:16 +09:00
Anuken 4890453214 Arc hash update 2026-01-27 16:14:52 +09:00
Anuken fd6a98f9db Experimental SDL3 backend 2026-01-27 16:06:08 +09:00
Anuken 2ad41a9047 Map submission updates 2026-01-25 09:22:24 +09:00
Anuken 9150360f74 Added temporary credit text for sector submissions 2026-01-19 08:50:29 +09:00
Anuken 08c1a7aa29 Merge branch 'master' of https://github.com/Anuken/Mindustry 2026-01-18 06:25:23 -05:00
Anuken 8b1c028b2a Added credit for extractionOutpost 2026-01-18 06:24:35 -05:00
Github Actions 895cea805e Automatic bundle update 2026-01-17 20:47:16 +00:00
Anuken 364fb579be Moved credits to global.properties 2026-01-17 15:40:38 -05:00
Anuken 88cfc7ad66 Merge remote-tracking branch 'origin/master' 2026-01-16 21:38:05 -05:00
Anuken 7c8ad05bc2 buffer fix 2026-01-16 21:38:00 -05:00
Github Actions 14aef11a11 Automatic bundle update 2026-01-17 01:35:04 +00:00
Anuken 5ce539f6c5 updateBundles fix 2026-01-16 20:33:54 -05:00
Anuken 078e467fb2 Merge remote-tracking branch 'origin/master' 2026-01-16 20:29:20 -05:00
Anuken c12371ea12 Moved certain strings into global.properties 2026-01-16 20:29:14 -05:00
Github Actions 2ec973b12c Automatic bundle update 2026-01-17 00:52:34 +00:00
Anuken 88acbbdc84 Added credits for each map to bundle (not displayed yet) 2026-01-16 19:51:19 -05:00
Anuken 4f9ea8b70d JSON Unit type requirements cache fix / Better FlyingAI flag targeting 2026-01-16 17:31:18 -05:00
Anuken d6495dda32 Merge remote-tracking branch 'origin/master' 2026-01-15 23:42:37 -05:00
Anuken b2cd1adf46 Slightly less buggy planet arc rendering? 2026-01-15 23:42:30 -05:00
SITUVNgcd 2a6cd86bad Update Vietnamese translation (#11476)
* Translate new strings

Patch guide & Fields view

* Translate new strings

* Translate new strings

Build logic, team rules,...

* Translate new strings

Core unloaders rule

* Translate new strings & update

Database subcategory & draw copy

* Translate new strings
2026-01-15 23:00:41 -05:00
Github Actions 6ae882fd3e Automatic bundle update 2026-01-16 03:59:54 +00:00
Valerio BozzolanandAnuken a00dd8023b Translations: improve Italian (#11554)
I browsed through some parts of the interface in IT, and noticed some missing strings. Now added.

P.S. "Obbiettivo" (2 "b") should not be used. "Obiettivo" (1 "b") is more correct.

https://accademiadellacrusca.it/it/consulenza/obiettivo---obbiettivo--obiezione--obbiezione/37

Co-authored-by: Anuken <arnukren@gmail.com>
2026-01-15 22:58:41 -05:00
1ue999and1ue999 91b52f34a7 idk remove inconsistency when client/server outdated (#11560)
* Fix server ping never timing out when out of range gamemode is returned by server

* dunno why there were empty strings

---------

Co-authored-by: 1ue999 <1ue999owo@gmail.com>
2026-01-15 22:57:56 -05:00
Cardillan f4fb105adc Preserve accumulator on yield (#11568) 2026-01-15 22:52:23 -05:00
Anuken ee3be887cd Fixed #11567 2026-01-15 22:51:29 -05:00
Anuken 7f564e8ddf Stormrider testing grounds remake added; original submission moved to a hidden sector 2026-01-15 22:36:28 -05:00
Anuken 2362420f4d Merge remote-tracking branch 'origin/master' 2026-01-15 12:31:41 -05:00
Anuken f7ae03ead7 Coastline updated 2026-01-15 12:31:33 -05:00
Github Actions 1ce89c5306 Automatic bundle update 2026-01-15 05:49:41 +00:00
Anuken f0186853ec Closes Anuken/Mindustry-Suggestions/issues/6060 2026-01-15 00:48:23 -05:00
Anuken 06de790dc2 Coastline name changed 2026-01-15 00:39:00 -05:00
Anuken e76d33fd51 New Coastline remake / Added missing hidden sectors (Closes #11565) 2026-01-15 00:35:56 -05:00
Anuken 475b8d4f15 Organized map files by planet 2026-01-14 20:18:45 -05:00
Anuken a0a06c450b Merge remote-tracking branch 'origin/master' 2026-01-14 18:40:42 -05:00
Anuken 7b9c4bb249 Made Tar Fields unlock fewer things / Fungal pass watering demonstration 2026-01-14 18:40:36 -05:00
Github Actions 34dbb868dd Automatic bundle update 2026-01-14 23:39:45 +00:00
MinRi2 1ce9b117cc Display hint for patched content (#11551)
* Display hint for patched content

* Use icon for patched hint

* Add disclaimer / Use file icon

* Rename bundle key
2026-01-14 18:38:31 -05:00
Github Actions 0e684f1a32 Automatic bundle update 2026-01-14 23:00:48 +00:00
Anuken 569bbedf7d Merge remote-tracking branch 'origin/master' 2026-01-14 17:59:39 -05:00
Anuken d8d85ebeef Alternate extraction outpost submission / Louder wave spawn noise 2026-01-14 17:59:33 -05:00
Cardillan 120fe61980 Zero wait yields (#11561)
* Zero wait yields

* Zero wait yields (fix)
2026-01-14 13:33:58 -05:00
Anuken dc7e984fbe Merge remote-tracking branch 'origin/master' 2026-01-14 00:13:23 -05:00
Anuken d7062322ac Slightly more impactful block explosions 2026-01-13 23:39:59 -05:00
Github Actions ac42a20f55 Automatic bundle update 2026-01-14 04:30:13 +00:00
Anuken b7da1b955a Merge remote-tracking branch 'origin/master' 2026-01-13 23:28:55 -05:00
Anuken c226dfd624 Frontier text moved to bundle 2026-01-13 23:28:49 -05:00
Github Actions c61bff0904 Automatic bundle update 2026-01-14 04:15:46 +00:00
Anuken 6891ac58f2 Merge remote-tracking branch 'origin/master' 2026-01-13 23:14:32 -05:00
Anuken c064587d5c Fungal pass expanded / Hint overlap fixes 2026-01-13 23:14:26 -05:00
Github Actions 13665de064 Automatic bundle update 2026-01-14 03:52:06 +00:00
Anuken a6c2718354 Core zone tutorial hint 2026-01-13 22:50:47 -05:00
Anuken 6b4643f8e8 Fixed fallen vessel lighting 2026-01-13 22:38:11 -05:00
Anuken 7b17caf131 Merge remote-tracking branch 'origin/master' 2026-01-13 22:32:28 -05:00
Anuken b50b922d3a Fixed replacement of preset sectors in JSON 2026-01-13 22:32:22 -05:00
Github Actions dce2e0ec17 Automatic bundle update 2026-01-13 06:17:27 +00:00
Anuken 772404a494 Merge remote-tracking branch 'origin/master' 2026-01-13 01:16:11 -05:00
Anuken bda421680f Sea Port renamed 2026-01-13 01:16:05 -05:00
Github Actions b6ff695c4c Automatic bundle update 2026-01-13 05:54:14 +00:00
Anuken 524cb8a78b Merge remote-tracking branch 'origin/master' 2026-01-13 00:52:58 -05:00
Anuken 42edaceafc Fixed Atolls localization with new tutorial 2026-01-13 00:52:53 -05:00
Github Actions de4d4aa0ed Automatic bundle update 2026-01-13 04:27:45 +00:00
Anuken 6313a2b5cc Atolls tutorial finalized & moved into bundles 2026-01-12 23:26:22 -05:00
Anuken a86761fea6 Merge remote-tracking branch 'origin/master' 2026-01-12 19:36:07 -05:00
Anuken bf5be69df3 Fixed Polar Aerodrome tests 2026-01-12 19:36:01 -05:00
1ue999and1ue999 cee2f0babc Fix server ping never timing out when out of range gamemode is returned by server (#11556)
Co-authored-by: 1ue999 <1ue999owo@gmail.com>
2026-01-12 19:28:39 -05:00
Anuken 2b6df1d328 Some more 'fragile' blocks 2026-01-12 13:10:05 -05:00
Anuken 03260f60cd Made T2+ tanks instantly kill nodes 2026-01-12 12:55:40 -05:00
Anuken 3c95419987 Erekir heat-boosted efficiency cap now displays as 100% 2026-01-12 12:21:59 -05:00
Anuken f325e37ce9 Hidden sector difficulty definition 2026-01-11 23:21:18 -05:00
Anuken e658a430f4 Polar Aerodrome moved to hidden sector 2026-01-11 18:55:04 -05:00
Anuken 038b549e03 Merge remote-tracking branch 'origin/master' 2026-01-11 14:48:52 -05:00
Anuken e4c2397097 Minor rune language fix 2026-01-11 14:48:42 -05:00
ItsKirby69 dc5921b988 Editor Favoriting Blocks (#11538)
* Add system for block favorites

* Favorite custom sound

* Update sounds

* Use one sound for favorites

* Sound changes

* Last sound changes i promise

* Use get/putJson for favorite blocks

* Give favoriting blocks a more unique sound effect
2026-01-10 21:53:42 -05:00
Github Actions f56cd4f164 Automatic bundle update 2026-01-11 02:53:23 +00:00
Anuken 6b4b90bffd arc 2026-01-10 21:51:18 -05:00
Anuken efbec69b3c Added Fallen Vessel sector submission 2026-01-10 21:48:53 -05:00
Anuken 4969e382f6 Laser pierce & crash fixes 2026-01-09 22:02:24 -05:00
Anuken 06589cd77f Merge remote-tracking branch 'origin/master' 2026-01-09 20:20:30 -05:00
Anuken 8ab249b815 Better turret ammo entry search 2026-01-09 20:20:24 -05:00
Cardillan a8bf71b12a Fix tileable display not being updated when the root tile is not shown (#11544) 2026-01-09 19:50:13 -05:00
Anuken ac2401daf1 Fixed #11548 2026-01-09 19:42:03 -05:00
Anuken fc1bfe0b24 Graphite wall ore 2026-01-09 00:59:47 -05:00
Anuken dc27a0951c Fixed broken keyboard focus after loading 2026-01-08 22:02:57 -05:00
Anuken c23a0a1e62 Special border for challenge sectors (WIP) 2026-01-07 23:30:58 -05:00
Anuken a0e37f3f37 Cruxscape and GS moved off of tech tree 2026-01-06 02:08:26 -05:00
Anuken 57b1cfa3fa Made IPA accept extra loadouts 2026-01-06 01:56:13 -05:00
Anuken acb4118f82 Merge remote-tracking branch 'origin/master' 2026-01-05 22:08:11 -05:00
Anuken d88fc9b652 Fixed #11532 2026-01-05 22:08:02 -05:00
Agzam4andTempUser 08c3de06e2 Serverlist cheats (#11541)
* Mass driver bullets explosions like the blocks

* Better code style

* Fixed new lines server-cheat

* Update contributors

"Serverlist ui" contribute
"Massdrivers" contribute

---------

Co-authored-by: TempUser <temp@mail>
2026-01-05 21:51:08 -05:00
Anuken e890363345 Fixed #11540 2026-01-05 21:50:02 -05:00
Anuken b5392c1cc1 Fixed #11530 2026-01-05 21:44:07 -05:00
Anuken 10a432d244 Fixed #11529 2026-01-05 21:38:27 -05:00
Anuken 58b6c994d5 Fixed #11527 2026-01-02 18:12:56 -05:00
Anuken 189ee293d3 Fixed #11526 2026-01-01 20:47:04 -05:00
Anuken 9cc687efca Fixed #11522 2026-01-01 11:55:43 -05:00
Anuken ac95b2b9fa Merge remote-tracking branch 'origin/master' 2026-01-01 11:14:05 -05:00
Anuken 0bf2eea358 Disabled line rotation lock on mobile / Disabled command queue 'stealing' 2026-01-01 11:13:57 -05:00
Github Actions 4e00176c98 Automatic bundle update 2025-12-31 19:40:40 +00:00
SomeonesShadeandAnuken 4122a9d51d Reactivity and Assorted Changes (#11245)
* Implemented turretDepositCooldown (1)

* Implemented activationTime for Turrets (1)

* activationTime for Turrets Fixes (2)
readSync() line isn't needed,
Overdrive should not make the cooldown go faster, it stays as is unless there is a good argument against it.

* activationTime (3): Descriptions and SetBars()
Updated arc and lancer descriptions.
Added setBars() stuff for clearness.

* turretDepositCooldown (2):
now depositCooldown and is now on a per turret basis if needed... will potentially need further iteration

* turretDepositCooldown (3): made it opt in
added an internal gamerule (long name, need to reduce it later) to enable the balance (oriented for pvp)
depositCooldown = 0 by def
added depositCooldown entries in Blocks.java

* activationTime (4): Minor Adjustments to UI

* activitationTime (5): Implemented drawInactive() and inactiveColo, and arc/lancer sprite
Thinking if I should set the sprites to be white, then use Color.gray...

* turretDepositCooldown (4): Made the cooldown only affect turrets

* Reload Turret Coolant Fixes (1)
Made coolant and overdrive effects not get chopped off from Math.min when its too high

* activationTime (6): activationTime is now at the Base Turret Level
Also implemented the code for TractorBeamTurret thanks to the code changes
Parallax can have the feature if needed for future balancing.
Hopefully nothing was screwed up in the transition...

* Counterbalance (1): Swarmer 8 -> 7 firerate nerf, and Cyclone 7.5 -> 6 firerate nerf [First Attempt]

* Reload Turret Coolant Fixes (2): added a buffer if the excessReload exceeds more than 2 reloads.

* Reload Turret Coolant Fixes (3): hotfix, the buffer actually works this time

* turretDepositCooldown (5): Made the cooldown seperate from itemDepositCooldown

* Implemented armorMultiplier (1)

* fixing a merge

* (AT:7a) Reverted Saving Capability

* (AT:7b) Removed activation timer from lancer and arc as well as sprites

* (AT:7c) Removed visuals for activation timer
will be reimplemented via a greyscale effect if returned rather than via sprites

* (AT:7aa) oops

* Made the default value 0 when placed - Activation Timer (8)

* (depositCooldown : 6) Moved depositCooldown to Blocks.java, cleaned up canDepositItem(), removed enableTurretDepositCooldown

* armorMultiplier (2) - oops, made armorMultipler = 0 correspond to 100% armorPiercing

* Update core/src/mindustry/input/InputHandler.java

* Reload Turret Coolant Fixes (4): A bit too high

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-12-31 14:39:22 -05:00
Anuken 87e2dc69a2 Merge remote-tracking branch 'origin/master' 2025-12-31 11:15:35 -05:00
Anuken d6619b9055 Fixed some tiled floor/wall bugs 2025-12-31 11:15:29 -05:00
EggleEgg d368a73464 scale most consumers with timescale (#11516) 2025-12-30 22:18:22 -05:00
EggleEgg 2906181f37 please no overrange (#11517) 2025-12-30 22:13:41 -05:00
Anuken 8db5ec0247 TiledFloor and TiledWall implementation classes 2025-12-30 19:19:23 -05:00
Anuken 4d57e9fbdb Block category rename 2025-12-30 01:10:53 -05:00
Github Actions 1beadcf73b Automatic bundle update 2025-12-30 06:09:00 +00:00
酪桦姬andAnuken 4981300476 Core Database Content Classification Subdivison (#11506)
* test

* test

* test

* Core database content subdivision

* Core database content subdivision

* undo some old change

* Revert "test"

This reverts commit ada9dca787.

* Revert "test"

This reverts commit d7c81185

* undo some old change

* cleanup

* Update core/assets/bundles/bundle.properties

* Format and Cleanup

* Format and Cleanup

* gradle toggle

* Update core/assets/bundles/bundle.properties

* Update core/assets/bundles/bundle.properties

* Update core/assets/bundles/bundle.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-12-30 01:08:00 -05:00
Anuken b143b05ad7 Possible texture packing hang fix 2025-12-29 19:55:58 -05:00
Anuken 91d4fcd2c3 Merge remote-tracking branch 'origin/master' 2025-12-29 19:46:41 -05:00
Anuken b5d77dc7cf Possible crash fix with editor saving 2025-12-29 19:46:35 -05:00
Mars 3d91b63f1f Increase operations count even on headless (#11510) 2025-12-29 11:02:20 -05:00
Anuken c1058ec351 Fixed #11512 2025-12-29 11:00:47 -05:00
Anuken 7416bc3bb7 Fixed #11509 2025-12-29 10:45:19 -05:00
Anuken 90d32abd6b Fixed #11508 2025-12-29 10:38:11 -05:00
Anuken b7049f35e6 Merge remote-tracking branch 'origin/master' 2025-12-28 20:46:22 -05:00
Anuken 011713cd25 Minor fixes for markers and empty floor edges 2025-12-28 20:46:17 -05:00
The4codeblocks 43a3c3a340 update translation placeholders (#11505)
* fix placeholder

* fix placeholder

* again

* again

* again

* again

* again

* Clarify graphicstype.image description

Updated the description for graphicstype.image to clarify usage examples.

* again

* again

* again
2025-12-28 10:46:27 -05:00
Anuken c0d0419016 Merge remote-tracking branch 'origin/master' 2025-12-28 10:45:58 -05:00
Anuken 4fa45154bb Fixed #11504 2025-12-28 10:45:53 -05:00
EggleEgg 54ea4acf22 Unloader fixed stupid bug (#11452)
* aaaaaaa

* unloader fixed stupid bug (check #development)

* a
2025-12-27 21:43:02 -05:00
Anuken 8fb7aa34e3 Cleanup 2025-12-27 21:42:22 -05:00
Redstonneur1256 1a89fc9f8e Allow displays on draw image (#11140)
* Display on display drawing

* Update draw image description
2025-12-27 21:38:44 -05:00
Redstonneur1256andAnuken 59c3b18a6f Allow markers to use content/displays as textures (#11142)
* Allow markers to use content/displays as textures

* Don't process empty commands

* Allow canvases to be used as marker textures

* Proper Json serialization

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-12-27 21:37:03 -05:00
blackberry2093 7d3e3155f7 BuilderAI fixing/improving (#11502) 2025-12-27 12:43:24 -05:00
Anuken db3c4fd8f7 Fixed #11498 2025-12-27 10:48:18 -05:00
Anuken c3b8abf3e5 Made beam drills rotate on mobile again / Server player name regex blacklist 2025-12-26 15:09:17 -05:00
Anuken a226d98116 Fixed #11487 2025-12-25 19:05:55 -05:00
Anuken e3ed17e7e9 Merge remote-tracking branch 'origin/master' 2025-12-25 19:02:50 -05:00
Anuken 6cdc054446 Fixed #11493 2025-12-25 19:02:44 -05:00
EggleEgg 34d276ff43 Dont buff liquid capacity in turrets, this is cancerous (#11491)
* Dont buff liquid capacity in turrets, this is cancerous

* liquid capacity 120 spectre, 60 to fs and meltdown
2025-12-25 18:56:19 -05:00
EggleEgg fe8db2f978 Omura flare description change (#11492) 2025-12-25 18:55:51 -05:00
Anuken e8b56fa91e arc 2025-12-24 11:54:32 -05:00
Anuken 7886e9fe52 AA turret placement overlap fix 2025-12-24 11:53:33 -05:00
Anuken 60eb3afb8d Play core destroy sound even when core capture is enabled 2025-12-23 21:52:50 -05:00
Anuken 383b793576 Merge remote-tracking branch 'origin/master' 2025-12-23 21:28:19 -05:00
Anuken 3c3b2dd7f1 Updated LZ4 library 2025-12-23 21:28:13 -05:00
EggleEgg fc8056343b maxheatefficiency display hotfix (#11486) 2025-12-23 14:50:56 -05:00
Anuken c425828f4e Merge remote-tracking branch 'origin/master' 2025-12-22 18:34:31 -05:00
Anuken f474d2b688 Java 25 packr JDK compatibility 2025-12-22 18:34:25 -05:00
Jakub Jagiello 1c917da75c Switch pathfinder refresh to timestamp-based interval (#11482) 2025-12-22 15:21:30 -05:00
Anuken d88c3f7f33 147 -> 154 in bundles 2025-12-22 10:24:10 -05:00
Anuken cab20173c2 Fixed #11479 2025-12-22 10:22:40 -05:00
Anuken 2545becb68 Merge remote-tracking branch 'origin/master' 2025-12-21 18:22:10 -05:00
Anuken a7cdadf65c prebuildBase is now true for Serpulo 2025-12-21 18:21:49 -05:00
Github Actions 41dd28c197 Automatic bundle update 2025-12-21 21:02:48 +00:00
Anuken 861678fd71 Rule for Serpulo core unloaders taking items from the core 2025-12-21 16:01:27 -05:00
summoner f64279fb75 Translation update bundle_hu.properties (#11463)
* Translation update bundle_hu.properties

Fix consistency throughout the text
Fix életpont plurals
Fix sentences -> clearer sentence structure without using the words maximum/minimum
Sentences that can be understood more clearly without the abbreviation RTS attack ai -> Stratégikus MI here is clear to everyone, even those who don't understand the RTS, because it is an english abbreviation.

* Translation: Update bundle_hu.properties

Translate new strings
Follow the changes of the english bundle deleting deprecated string: logic.nounitbuild
Fix consistency of szorzó across the text

* Consistency: rewording and apply spelling rules for strings which contain: szorzó

* Translation

Translate new strings
Fix mistakes
2025-12-21 10:01:18 -05:00
Anuken 6c3b6aeea5 Fixed #11471 2025-12-21 00:00:13 -05:00
Anuken 012eeabc87 Merge remote-tracking branch 'origin/master' 2025-12-20 14:07:40 -05:00
Anuken d889acba16 Fixed core launch sound playing regardless of volume settings 2025-12-20 14:07:34 -05:00
Github Actions 26cf72b0c5 Automatic bundle update 2025-12-20 16:17:49 +00:00
WMF a1b47b1188 per-team toggles for core no-build radius / placement range check (#11448)
* per-team toggles for core no-build radius / placement range check

* oops

* fair enough
2025-12-20 11:16:28 -05:00
EggleEgg 85b69d3afd Anuke please dont kill ratios of schems, 33% higher cost is no joke (#11459)
* Anuke please dont kill ratios of schems, 33% less eff is no joke

* air factory nerf
2025-12-19 21:51:19 -05:00
Anuken 266c5a541b Do not allow patching hasItems/liquids/power
There is no good reason to change these, and setting them to false usually just makes the game crash. Consumers set them up automatically.
2025-12-19 20:07:34 -05:00
Anuken cf6b7b5aa3 Updated Rhino version 2025-12-19 18:46:50 -05:00
Anuken 3edd934564 Merge remote-tracking branch 'origin/master' 2025-12-19 12:56:20 -05:00
Anuken 7ca16fee2a Fixed #11465 2025-12-19 12:56:13 -05:00
Github Actions 930ab20004 Automatic bundle update 2025-12-19 17:06:13 +00:00
Anuken fb94d9777a Merge remote-tracking branch 'origin/master' 2025-12-19 12:04:53 -05:00
Anuken f0fac538ac Rule dialog entries for logic unit build/deconstruct rules 2025-12-19 12:04:47 -05:00
Github Actions ba21ed19ef Automatic bundle update 2025-12-19 05:37:05 +00:00
Anuken b84d12407f Rule & control for logic unit deconstruction (off by default) 2025-12-19 00:35:41 -05:00
Anuken f391126b5b Don't pack sprites for mods that don't have any 2025-12-18 19:13:42 -05:00
Anuken b8c7c2f740 Merge remote-tracking branch 'origin/master' 2025-12-18 17:27:42 -05:00
Anuken 8e7eeb2573 Testing a 'iOS compatible' flag for script mods 2025-12-18 17:27:32 -05:00
SomeonesShade 8e907f714a Small Balancing Set: Graph Duo changes and Coolant Adjustments (#11461)
* Coolant Duo and Hail Changes

* Graph Duo Reload Nerf
2025-12-18 12:21:51 -05:00
EggleEgg 4e9461adde how max heat eff in turrets (#11458) 2025-12-18 11:45:57 -05:00
Anuken 6a13f2ef08 Fixed weapon velocity delta calculations 2025-12-17 22:09:53 -05:00
Anuken 3d34d95c74 No more assetsJar until jitpack is fixed 2025-12-17 19:11:24 -05:00
Vector be4dd84a13 Update bundle_es.properties (#11334)
* Update bundle_es.properties

* te fallé español

* Update bundle_es.properties

* Update bundle_es.properties

* sector wave simulation string

* last changes I guess

* Update bundle_es.properties

* Translate some sector names
2025-12-17 19:03:16 -05:00
SITUVNgcd a3c0c39615 Update Vietnamese translation (#11456)
* Translate new strings

Patch guide & Fields view

* Translate new strings
2025-12-17 19:02:45 -05:00
summoner 5784b3207b Translation: Update bundle_hu.properties (#11457)
* Translation: Update bundle_hu.properties

Updated various terms to use 'életpont' instead of 'életerő' for consistency in the Hungarian localization for the word health.

Follow the changes of the english bundle minimum game version: 147 -> 154

* Translation: Update bundle_hu.properties

fix typo (add missing letter)
2025-12-17 19:02:39 -05:00
Anuken 87399ef1a9 Bigger liquid capacity for reconstructors 2025-12-17 18:55:07 -05:00
Anuken 670e9467da Flare nerf / More liquid capacity increase considerations 2025-12-17 18:51:24 -05:00
EggleEgg 425b154e3b I bet this will break shit somewhere (#11292) 2025-12-17 18:32:53 -05:00
Anuken 8d734d70cd arc 2025-12-17 14:55:49 -05:00
Anuken 48d3329b07 Merge remote-tracking branch 'origin/master' 2025-12-17 14:54:29 -05:00
Anuken 6986bcbf90 Possible crash fix 2025-12-17 14:54:23 -05:00
Anuken c30e3d2cd7 Fixed iOS building with intelliJ plugin 2025-12-17 14:14:38 -05:00
Anuken a552908d76 Java mod minGameVersion increased 2025-12-17 10:49:51 -05:00
Anuken 4f0ebdc4f3 Updating android natives with new alignment 2025-12-17 10:08:52 -05:00
Anuken 9b9c7d5f5a Merge remote-tracking branch 'origin/master' 2025-12-16 23:57:57 -05:00
Anuken 5b74ef6e65 Unused bullet volume code cleanup 2025-12-16 23:57:31 -05:00
BalaM314 3343c02997 Remove debug message (#11453)
this must have slipped through in development, it is in the released version v154
2025-12-16 23:56:01 -05:00
summoner d1e0307d39 Translation: Update bundle_hu.properties (#11450)
* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

fix typo

* Translation: Update bundle_hu.properties

Fix translation

* Translation: Update bundle_hu.properties

Fix translation
2025-12-16 17:30:32 -05:00
Anuken ac23bf8301 Merge remote-tracking branch 'origin/master' 2025-12-16 11:27:58 -05:00
Anuken 06b0bc03cb Fixed #11451 2025-12-16 11:27:52 -05:00
Github Actions 65244782a2 Automatic bundle update 2025-12-16 02:18:43 +00:00
Anuken 041f98d22a Merge remote-tracking branch 'origin/master' 2025-12-15 21:17:30 -05:00
Anuken 2c6a650856 Minor sound tweaks / Limited launches to not-in-progress sectors 2025-12-15 21:17:22 -05:00
summoner 9c6daf129a Translation: Update bundle_hu.properties (#11341)
* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Translation: Update bundle_hu.properties

Follow the english bundle changes
Translate new strings

* Translation

Fix translation
2025-12-15 20:14:59 -05:00
Kevin Vilyan 3ba889b8c1 Update Bundle id_ID (#11434)
* Bundle ID minor fixes

* Fixes

* neo

* reaktif

* Update bundle_id_ID.properties

* Update bundle_id_ID.properties

* Update bundle_id_ID.properties

* Update bundle_id_ID.properties
2025-12-15 20:14:46 -05:00
EggleEgg 9f388baf59 show constructor build speed stat (#11364) 2025-12-15 20:14:34 -05:00
Anuken a0fdf07f1e Fixed #11447 2025-12-15 14:30:17 -05:00
Anuken 8fca45468e Data patcher unit controller support / Warnings for invalid sounds in JSON/DP 2025-12-15 11:19:47 -05:00
Anuken f795007715 Merge remote-tracking branch 'origin/master' 2025-12-15 00:33:19 -05:00
Anuken 2106bcd30f Risso hasn't had a trail for years and nobody noticed 2025-12-15 00:33:10 -05:00
DX-36 7e0fb2707b shale buff (#11419) 2025-12-15 00:07:10 -05:00
SeuEarth 65d6c1cc9e Update bundle_ko.properties (#11433)
* Update bundle_ko.properties

* Update bundle_ko.properties
2025-12-14 21:25:12 -05:00
Anuken 626398f10c Changed data patch guide link 2025-12-14 20:25:47 -05:00
Anuken 3f2647eea3 Reduced scepter shoot sound bass slightly 2025-12-14 19:39:39 -05:00
Anuken 5dc1e290e8 Scepter secondary sounds 2025-12-14 19:36:42 -05:00
Anuken c0c5360d70 Merge remote-tracking branch 'origin/master' 2025-12-14 19:25:46 -05:00
Anuken 97d3f6f63f UI sound effect rename 2025-12-14 19:25:39 -05:00
EggleEggandAnuken 076193f2c2 Scepter buff anuke please dont remove the secondaries (#11415)
* Scepter buff anuke please dont remove the secondaries

* I dont care stop importing PartProgress vscode

* space

* now without lag

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-12-14 19:25:25 -05:00
Anuken fcd4e5a737 Merge remote-tracking branch 'origin/master' 2025-12-14 13:51:16 -05:00
Anuken d6c1ab50ae Naval unit movement sounds 2025-12-14 13:51:10 -05:00
Github Actions b761c78145 Automatic bundle update 2025-12-14 15:32:23 +00:00
Anuken 1bdac35d90 Removed background sector wave simulation 2025-12-14 10:30:48 -05:00
Anuken 0ebe105ddd Two more sector submissions 2025-12-13 11:44:37 -05:00
Anuken 6054c84fcd Merge remote-tracking branch 'origin/master' 2025-12-13 11:37:37 -05:00
Anuken fce9bc3701 Fixed #11441 2025-12-13 11:37:31 -05:00
Jason ccabe381d9 Enable core incineration by default (#11437) 2025-12-13 11:12:31 -05:00
Anuken 209352d3ed Movement sound adjustments & movement pitch modulation system 2025-12-13 02:08:29 -05:00
Anuken 739ac72af5 Hovering sounds for large flying units 2025-12-12 23:09:20 -05:00
Anuken 1cf734855b Minor changes to step sounds 2025-12-12 21:06:21 -05:00
Anuken a65325d676 Slightly less terrible build sound 2025-12-12 20:47:35 -05:00
Anuken 4dfe23748f Wave & shield ability sounds 2025-12-12 15:29:42 -05:00
Anuken dc96457ac4 Cultivator noise 2025-12-11 16:48:28 -05:00
Anuken 90796d041d Core launch/land SFX 2025-12-11 13:29:32 -05:00
Anuken 034392c231 Interplanetary accelerator launch sounds 2025-12-10 21:46:37 -05:00
Anuken e58f4b0da3 Updated some sound loops 2025-12-10 19:02:05 -05:00
Anuken dc4eada23f Rotation & repair sounds / Explosion sound rename 2025-12-10 11:55:00 -05:00
Anuken c5656278ad Breach sounds 2025-12-09 15:14:31 -05:00
Anuken e77a1e2f2a Sound file reorganization 2025-12-09 14:59:40 -05:00
Anuken 58eee2b61a Startup error log fix 2025-12-09 00:24:58 -05:00
Anuken f53abd0b3d More sound effects 2025-12-09 00:22:48 -05:00
Anuken 2fb59eb099 Better Cleroi sound effects 2025-12-08 21:40:01 -05:00
Anuken cae67b7897 New unit death, wreck and creation noises 2025-12-08 19:30:09 -05:00
Anuken 6d2b324f81 Different intel GPU check 2025-12-08 13:40:50 -05:00
Anuken 128851a127 Fixed selection hexes for legged units not being visible 2025-12-07 23:09:51 -05:00
Anuken 1a9b9669d7 Closes Anuken/Mindustry-Suggestions/issues/5967 2025-12-07 23:06:53 -05:00
Anuken 281115a3ab Fixed save loading error with certain data patches 2025-12-07 20:04:03 -05:00
Anuken 9db792ccc9 Fixed #11421 2025-12-07 11:29:15 -05:00
Anuken 8900967afe Fixed #11425 2025-12-07 11:18:49 -05:00
Anuken 3e29667f90 Fixed #11422 2025-12-07 11:15:02 -05:00
Anuken 9d157976db More unit movement fixes 2025-12-07 10:06:13 -05:00
Anuken 0fb86699a3 arc 2025-12-06 23:15:39 -05:00
Anuken e255912156 More sound effects + core destruction sound 2025-12-06 23:14:08 -05:00
Anuken 65c63c292e WIP tank sounds 2025-12-05 21:01:12 -05:00
Anuken 06943d822d Merge remote-tracking branch 'origin/master' 2025-12-05 20:36:09 -05:00
Anuken 2aeebb5aea Step sounds for smaller mechs (bad) 2025-12-05 20:35:59 -05:00
EggleEgg a01e4be75d Fs no maxDamageFraction (#11416) 2025-12-02 15:06:16 -05:00
わん e05ef341d9 translate japanese (#11410) 2025-12-02 15:05:58 -05:00
Anuken ee8a258447 Revert "Log an error and skip shadows instead of crashing when mods set maxSchematicSize too high"
This reverts commit 1dedefd56c.
2025-12-01 19:59:19 -05:00
Anuken 87f7e1f1c2 Revert "Defer shadow buffer init"
This reverts commit 34be5ffc6c.
2025-12-01 19:59:19 -05:00
Anuken 34be5ffc6c Defer shadow buffer init 2025-11-30 15:32:44 -05:00
Anuken 1dedefd56c Log an error and skip shadows instead of crashing when mods set maxSchematicSize too high 2025-11-30 14:49:16 -05:00
Anuken 3acbd1afed Merge remote-tracking branch 'origin/master' 2025-11-30 12:10:15 -05:00
Anuken 8b9fc34811 Enforce map image import sizes 2025-11-30 12:10:09 -05:00
EggleEgg a0fe9e8415 Shootpattern allow replacing per bullet (ammo type support) (#11402) 2025-11-30 12:04:44 -05:00
EggleEgg da6aecf695 change pneumatic drill's water usage from 3.6/s to 3.5/s (#11412) 2025-11-30 12:02:15 -05:00
Anuken 3791a7f375 Fixed #11403 2025-11-30 11:50:10 -05:00
Anuken 15efb721a0 Fixed #11399 2025-11-30 11:10:13 -05:00
Anuken 7130b6155c Fixed #11395 2025-11-30 11:04:47 -05:00
Anuken 44428c1f60 Fixed #11409 2025-11-30 11:03:20 -05:00
Anuken f2232c15b1 Fixed #11404 2025-11-30 11:01:40 -05:00
Anuken 460d3a0b44 Fixed #11384 2025-11-30 10:54:21 -05:00
Anuken 43d4deb801 Shield and shockwave tower sounds 2025-11-29 17:43:36 -05:00
Anuken 3e0eb4a875 Various sound tweaks 2025-11-25 16:27:01 -05:00
Anuken e399ae9182 arc 2025-11-24 18:30:03 -05:00
Anuken b3f0e9399d Fixed tests 2025-11-24 17:29:36 -05:00
Anuken 134167cb2e Merge branch 'new-sounds' of https://github.com/Anuken/Mindustry 2025-11-23 19:58:39 -05:00
Anuken 848fcfad1f Insect/leg unit step sound 2025-11-20 21:06:59 -05:00
Anuken f14f8eff83 Sounds for all serpulo insect leg units 2025-11-20 01:13:29 -05:00
Anuken 10bb45de31 Fixed #11379 2025-11-19 19:31:01 -05:00
Anuken 774443c960 Flare AI fixes & unit research const reduced 2025-11-19 12:25:21 -05:00
Anuken d8106cb886 Tests fixed (fine I'll make the canvas support non-pot palettes) 2025-11-17 20:11:52 -05:00
Anuken ef2736b3be Merge remote-tracking branch 'origin/master' 2025-11-17 14:00:23 -05:00
Anuken 6b2825954b Fixed #11373 2025-11-17 14:00:12 -05:00
WMFandAnuken f48900d6de Quality of Life changes (#11370)
* overlay light support, bulk Call.setItem implementations, Call.setLiquid implementations

* Update core/src/mindustry/graphics/BlockRenderer.java

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-11-16 23:43:54 -05:00
Anuken bb4534afde Fixed #11371 2025-11-16 23:42:22 -05:00
Anuken e8fc33ca9e Fixed #11366 2025-11-16 23:34:52 -05:00
Anuken 11542f8e17 Fixed #11350 2025-11-16 23:26:51 -05:00
Anuken 45e744949e Fixed #11361 2025-11-16 23:23:24 -05:00
Anuken d4d2a5e54c More sounds 2025-11-16 23:18:19 -05:00
Anuken 98b6ac2d94 Various new sounds 2025-11-16 12:19:58 -05:00
Anuken ed860e8395 Flare AI changed 2025-11-15 23:04:08 -05:00
Anuken cc693f97b6 Various new sounds 2025-11-15 15:16:28 -05:00
Anuken 11773a5991 Goodbye, omura flare spawners 2025-11-14 21:24:44 -05:00
Anuken d33d355aa2 A lot more sounds 2025-11-14 11:04:52 -05:00
Anuken 67495e628b A lot more sound effects 2025-11-12 17:37:51 -05:00
Anuken dd8c06192e More sounds 2025-11-11 20:15:08 -05:00
Anuken d934a02791 More sounds 2025-11-10 22:48:01 -05:00
Anuken 3b10100ae4 More sounds, shrapnel bullet visuals tweak, ambient reactor cooldown 2025-11-09 22:07:36 -05:00
Anuken bec2ca3821 . 2025-11-08 19:32:10 -05:00
Anuken 2042d6ef29 More sounds 2025-11-08 19:31:46 -05:00
Anuken fddc6e53f3 Made the beta unit's rotating guns less ugly 2025-11-08 10:01:13 -05:00
Anuken 3f2aba4123 Progress on new SFX (WIP)
Pitch is broken in the sound engine - this has already been fixed, but I haven't updated the natives
2025-11-07 15:53:13 -05:00
Anuken 5397d8426c Triggering another build in case the last one failed 2025-11-06 15:44:50 -05:00
Anuken 573db7d532 arc 2025-11-06 15:42:59 -05:00
Anuken b393b053d0 Merge remote-tracking branch 'origin/master' 2025-11-06 15:37:22 -05:00
Anuken 28ba7f0bb3 Audio engine improvements (WIP) 2025-11-06 15:37:14 -05:00
Anuken 3ae1d9c273 iOS xcframework update 2025-11-06 15:35:17 -05:00
Anuken 11a7a41648 Better patcher multi-dimensional array support 2025-11-04 23:54:39 -05:00
MEEPofFaith bb144185a1 Skip propagation if unnecessary 2025-11-04 16:54:55 -08:00
MEEPofFaith 947375ba52 Option for breaking props 2025-11-04 16:52:24 -08:00
MEEPofFaith c02fba3719 Explosion time switched to speed, optimize fire spread 2025-11-04 16:49:02 -08:00
Anuken 3656e90ae1 Merge remote-tracking branch 'origin/master' 2025-11-04 18:05:25 -05:00
Anuken 03f6a7f590 Patcher requirement re-initialization fixes 2025-11-04 18:05:17 -05:00
MEEPofFaith 30d02787a6 Slower default time, don't apply to boulders 2025-11-04 13:10:37 -08:00
MEEPofFaith 2a360a8113 Explosion propagation time 2025-11-04 13:07:23 -08:00
MEEPofFaith e87687ea04 Break boulders 2025-11-04 12:49:54 -08:00
MEEPofFaith 9cafff14c6 Less 2025-11-04 12:34:20 -08:00
MEEPofFaith debae7c6a1 Tiny radius, raise chance 2025-11-04 12:32:15 -08:00
MEEPofFaith 11e3f522b3 Apply to generators 2025-11-04 12:30:32 -08:00
MEEPofFaith 5a3304d006 Better chance scaling 2025-11-04 12:21:25 -08:00
MEEPofFaith 515a3073d5 Ignition 2025-11-04 12:10:46 -08:00
MEEPofFaith 9d8168dbf5 Scorch effect 2025-11-04 12:03:07 -08:00
Github Actions b4aa16285e Automatic bundle update 2025-11-04 15:45:30 +00:00
EggleEgg 56b7e6357f Random assorted changes (#11338)
* shield stat changes

* shield stats + leg crush stats + apply floormultiplier to comp
2025-11-04 10:44:08 -05:00
Anuken 38d9bc83a3 New serpulo core unit bullet effects 2025-11-03 16:28:46 -05:00
Anuken 7a18e676fd Fixed some gaps in NPC map 2025-11-02 23:05:24 -05:00
Anuken 15ea1a08f7 arc 2025-11-01 23:16:33 -04:00
Anuken 813106eae1 arc 2025-11-01 23:04:03 -04:00
Anuken 7a5a22389f Fixed #11326 2025-11-01 22:58:07 -04:00
Anuken 06ab01a4dc Removed unused sprites 2025-11-01 19:29:50 -04:00
Anuken c7ef1535aa Fixed thorium reactor heat output again 2025-11-01 11:31:39 -04:00
Anuken 986cbe1d25 arc 2025-11-01 10:04:11 -04:00
Anuken 1de633b009 Patcher support for array fields in object braces 2025-11-01 10:01:48 -04:00
Anuken f60b892029 Patcher support for icon regions 2025-10-31 23:31:24 -04:00
Anuken 5257ae26a3 Patcher ObjectFloatMap support 2025-10-31 13:13:05 -04:00
Anuken 1df6c5d0ca Allow desktop players to configure blocks and view inventories when dead 2025-10-31 02:14:18 -04:00
Anuken fc10ea5b0b Submission for sector 20 2025-10-31 01:06:44 -04:00
Anuken 579ba5cac2 Don't log entire GPU detection errors 2025-10-30 20:07:08 -04:00
SITUVNgcd 5ea0ebbf2a Translate new strings (#11323)
Patch guide & Fields view
2025-10-30 13:24:16 -04:00
Github Actions 19ee3baa18 Automatic bundle update 2025-10-30 16:32:12 +00:00
summoner 1e80f9e867 Translation: Update bundle_hu.properties (#11253)
* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new string
Fix translation coherence with the new string

* Translation: Update bundle_hu.properties

Fix long sentence -> add \n linebreak

* Translation: Update bundle_hu.properties

Translate new string

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle.properties

* Translation: Update bundle_hu.properties

Translate new strings

* Translation: Update bundle_hu.properties

Translate new strings
2025-10-30 12:31:05 -04:00
SITUVNgcdandAnuken bd492bfda4 Update Vietnamese translation (#11255)
* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/72524a72895257bead10237b20d95d9f69dfd240

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/94fc6482e2eb79be776c3a187c726877e9c95393

* Translate new string

https://github.com/Anuken/Mindustry/commit/17663aee3f0b4a894e3b177d71a7f64086ef96f8

* Remove translation

https://github.com/Anuken/Mindustry/commit/ea72441958afcb632448689a1baaa67228d348db

* Translate new strings

Content patches https://github.com/Anuken/Mindustry/commit/a9a061541009ea36e13338b0dbc38ccc63c0c71c

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-30 12:30:58 -04:00
ulwepo 09b5a0bb3b Update servers_v7.json (#11257)
Hello, this is a great sandbox server made by Kei2.
2025-10-30 12:30:33 -04:00
redloong b6b7403a52 优化并完善中文翻译/Optimize and improve Chinese translation (#11267)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Delete core/assets/bundles/bundle_zh_CN.properties

* Add files via upload

* Update contributors

* Add files via upload

* Add files via upload

* Add files via upload

* Update bundle_zh_CN.properties

* Add files via upload

* “挤压伤害”变为“碾压伤害”

* “庇护”变“保护”

* “被超速的倍率”变为“超速效果倍率”

* 翻译更改

“返回控制方地址或领队,其他情况返回自身”变为“返回控制方的地址或其领队,其他情况返回自身”
修复原仓库“单位命令单位命令:”为“单位命令:”
上一个更改:删除所有”(正负表方向)“

* 同步https://github.com/Anuken/Mindustry/pull/11243

若不希望这样请联系我

* 中文翻译更改

更新`lenum.emod`的翻译
`反射概率`变为`弹射概率`
`解除武器`变为`缴械武器`
`fetch.team`和`explosion.team`的`阵营`变为`队伍`

* 翻译更改

`缴械武器`变为`缴械`
`弹射概率`变为`反弹概率`

* 尝试修复问题

* `地面`变为`地板`

* 中文翻译更改

添加`sectors.attempts =尝试次数:`
`Sunken Pier`变为`沉没码头`
2025-10-30 12:30:16 -04:00
Anuken ce63479d2d Merge remote-tracking branch 'origin/master' 2025-10-30 12:20:01 -04:00
Anuken 30a5761182 Closes Anuken/Mindustry-Suggestions/issues/5843 2025-10-30 12:19:55 -04:00
Kevin Vilyan 5045f38054 Update Bundle_id_ID.properties (#11321)
* Add files via upload

* Add files via upload
2025-10-30 11:48:50 -04:00
Anuken a7a0450fa2 Merge remote-tracking branch 'origin/master' 2025-10-30 11:46:31 -04:00
Anuken 7ecebef57e Better unit assembler patcher support 2025-10-30 11:46:25 -04:00
EggleEgg 5ae6ffae8e consider efficiency in reactor heat (#11322)
* whatever

* final touches maybe

* well forget that, I m stupid

* no
2025-10-30 00:43:15 -04:00
Anuken 6f1287e11f 20 heat is a bit much 2025-10-29 14:13:09 -04:00
Anuken 1c0458041e Merge remote-tracking branch 'origin/master' 2025-10-29 10:33:55 -04:00
Anuken 04bc7b1f22 Fixed #11320 2025-10-29 10:33:49 -04:00
Github Actions 83d79ce348 Automatic bundle update 2025-10-29 02:32:50 +00:00
HungGaming b3b8e557af Update servers_v7.json (#11311) 2025-10-28 22:31:41 -04:00
SeuEarthandAnuken a4500b29f9 Update bundle_ko.properties (#11258)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Sorts

* Update bundle_ko.properties

Updated various Korean translations for editor and block names.

* another small fix

* Update bundle_ko.properties

---------

Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-28 22:31:31 -04:00
ursteiner 0658da9290 Update bundle_de.properties (#11305)
* Update bundle_de.properties

Noticed some untranslated texts while playing the tutorial.

* removed unnecessary spaces
2025-10-28 22:30:44 -04:00
GRaf-NEETandAnuken dd0a4d1c47 Translate content patch messages to Russian (#11318)
Co-authored-by: Anuken <arnukren@gmail.com>
2025-10-28 22:30:26 -04:00
EggleEgg 99df6527f2 imagine mixtech buff lmfao (#11319) 2025-10-28 22:29:26 -04:00
Github Actions d6806e546d Automatic bundle update 2025-10-28 23:52:05 +00:00
Anuken ecd10623fe Merge remote-tracking branch 'origin/master' 2025-10-28 19:50:57 -04:00
Anuken 7d5478ec1d Link to patch guide 2025-10-28 19:50:51 -04:00
Github Actions 1fe0a14183 Automatic bundle update 2025-10-28 23:34:32 +00:00
Anuken 3d4b432540 Button for viewing content fields on wiki + More tests and fixes 2025-10-28 19:33:04 -04:00
Anuken c06c76d296 Moved more packing logic to asset thread to prevent ANRs 2025-10-27 21:01:10 -04:00
Anuken a226a74578 Prohibit arbitrary class resolution in content patches 2025-10-26 16:48:51 -04:00
Anuken ed36204bed Core database in multiplayer on mobile in pause menu 2025-10-26 15:43:01 -04:00
Anuken 8f6afcecfb Merge remote-tracking branch 'origin/master' 2025-10-26 14:04:54 -04:00
Anuken c3309bf3a9 Logic insert line button (from foo's client) 2025-10-26 14:04:49 -04:00
Anuken 686df5046a Update README.md 2025-10-26 13:55:13 -04:00
Anuken b34ceae965 Fixed tests 2025-10-26 10:47:36 -04:00
Anuken 50e2b828f7 More tests, fixed patcher error handler 2025-10-25 22:24:32 -04:00
Anuken 09783898aa More patcher tests + unit type reassign support 2025-10-25 16:39:07 -04:00
Anuken 4812f89161 Include patches in crash logs 2025-10-25 12:50:44 -04:00
Anuken 53c534eaa8 Better unknown field warnings for patcher 2025-10-25 11:39:58 -04:00
Anuken 472cacbb3b More disallowed patcher fields / Continuous liquid turret minimum ammo amount firing threshold 2025-10-25 10:34:43 -04:00
Anuken a305ac31e6 More patcher tests and fixes 2025-10-24 20:30:08 -04:00
Anuken 6ff28b5d31 0 2025-10-24 11:56:36 -04:00
Anuken b472fed36d More patcher tests and fixes 2025-10-24 11:51:39 -04:00
Anuken 93b3f47d84 Fixed map re-import not working 2025-10-24 02:11:36 -04:00
Anuken 85f5557270 More test fixes 2025-10-23 22:50:58 -04:00
Anuken 977f320122 More test fixes 2025-10-23 22:37:15 -04:00
Anuken bed851afe9 Additional unit tests for the patcher + many bugfixes 2025-10-23 22:31:06 -04:00
Anuken effbdecbd5 Block consumer patch support 2025-10-22 20:04:00 -04:00
Anuken f3cac6a6bc Fixed #11309 2025-10-22 08:58:23 -04:00
Anuken ddaf9e24ca Copy button for content patches 2025-10-22 08:56:41 -04:00
Anuken e7966fc6fd More minor patcher issue fixes 2025-10-22 07:19:57 -04:00
Anuken 386b0929d8 Merge remote-tracking branch 'origin/master' 2025-10-22 07:01:37 -04:00
Anuken 45db096f0f Patcher fixes 2025-10-22 07:01:26 -04:00
Github Actions a9a0615410 Automatic bundle update 2025-10-22 10:48:16 +00:00
Anuken 49bbd0b593 Fixed #11306 2025-10-22 06:47:01 -04:00
Anuken 9cc3105518 Content patch import dialog & server support 2025-10-22 06:42:01 -04:00
Anuken 9f7817f70e Fixed #11304 2025-10-21 14:22:37 -04:00
Anuken b78cd5bbd9 Content patcher progress 2025-10-21 11:38:02 -04:00
Anuken 8898cbe6e4 Map submission updated / WIP content patcher experiments 2025-10-20 22:47:35 -04:00
Anuken 34d994f384 Merge remote-tracking branch 'origin/master' 2025-10-20 00:42:23 -04:00
Anuken 6b56566ae1 Reset game stats upon map save in editor 2025-10-20 00:42:18 -04:00
Волшебник ab0c534946 Update servers_v7.json (#11296)
New host
2025-10-19 10:45:40 -04:00
vladtepesch 3c7de8d1ca Fix typo in surge-crucible and correct large-cliff-crusher descriptions (#11294)
ais -> aus
translation of large cliff said it optionaly needs wolfram (instead of graphite)
2025-10-19 10:44:14 -04:00
Anuken 16a01cbef3 Merge remote-tracking branch 'origin/master' 2025-10-18 18:04:34 -04:00
Anuken fb37ecd1a8 Fixed overlay floor placement checks in in-game editor 2025-10-18 18:04:25 -04:00
WMF c2c1271a4c use BoostAI for enterPayloadCommand & better onlyDepositCore handling (#11297) 2025-10-18 10:31:47 -04:00
abcxyzDustry c2108a3ce5 old dead addresses update new addresses for abcxyz (#11293)
Replaced one server address and added three new ones.
2025-10-16 22:21:32 -04:00
Github Actions 22f6244788 Automatic bundle update 2025-10-15 23:08:31 +00:00
LegalPopcorn d4cf0cf27a Update bundle_cs.properties (#11287)
Corrected typos, translated few things that were already translated elsewhere.
2025-10-16 08:07:17 +09:00
abcxyzDustry 5cd46ebce6 update ip for abcyxz (#11275)
i want update new ip address for abcxyz
2025-10-15 07:16:12 +09:00
Nazareno Bucciarelli 755c0286f4 [TRANSLATION] Translate a few sentences to Spanish (#11276)
* translate some sentences to spanish

* make improvements
2025-10-15 07:16:01 +09:00
Anuken 527e38c2b5 Fixed #11286 2025-10-14 11:03:35 +09:00
Anuken 46ee282fda Redundant field cleanup 2025-10-13 23:21:48 +09:00
Anuken 9edd31fad3 Map objective curve & unnecessary rebuild fix 2025-10-13 22:53:16 +09:00
Anuken 30da4c0f47 Fixed Android save export 'corruption'
This was caused by downright atrocious default Android API behavior. Read https://issuetracker.google.com/issues/180526528?pli=1
2025-10-13 22:25:12 +09:00
Anuken bf61e4d6c2 Closes Anuken/Mindustry-Suggestions/issues/5891 2025-10-13 20:50:17 +09:00
Anuken 0b4c4c4049 Fixed #11281 2025-10-13 20:29:52 +09:00
Anuken a35f7605f7 Fixed #11284 / Cap item turret ammo on save read 2025-10-13 20:27:47 +09:00
Github Actions ea72441958 Automatic bundle update 2025-10-12 08:15:50 +00:00
Anuken 872939454f Fixed #11278 / FPS limit changes on iOS 2025-10-12 17:13:00 +09:00
Anuken 197d8c4060 Updated min ios version 2025-10-11 22:45:04 +09:00
Anuken 703e0ecd75 arc 2025-10-09 22:45:34 +09:00
Github Actions 17663aee3f Automatic bundle update 2025-10-09 13:43:46 +00:00
Anuken 2daf41c7d7 iOS uncap framerate option 2025-10-09 22:40:52 +09:00
Anuken a0cf5b7265 Intel GPU/OpenGL 2.x planet normals fix 2025-10-08 08:45:40 +09:00
Anuken 576b7f6b6b Fixed #11272 2025-10-08 08:24:14 +09:00
Anuken fd0d864cb8 Fixed icosphere generator 2025-10-08 08:14:57 +09:00
Anuken 65c7acb31c Fixed #11268 2025-10-06 21:25:10 +09:00
RGBaaa c99758fe5a update LExecutor (#11271) 2025-10-06 20:53:25 +09:00
Anuken 1033b5f374 Fixed #11269 2025-10-06 20:49:07 +09:00
Github Actions 94fc6482e2 Automatic bundle update 2025-10-05 00:04:07 +00:00
Anuken 76c3ceb41d Closes Anuken/Mindustry-Suggestions/issues/5884 2025-10-05 09:03:01 +09:00
Anuken 1985d67f7a Closes Anuken/Mindustry-Suggestions/issues/5877 2025-10-03 18:41:12 +09:00
Anuken 155f0d50f7 Re-triggering build 2025-10-03 11:48:37 +09:00
Anuken 74b8c6d184 Possible crash fix 2025-10-03 08:31:43 +09:00
Anuken a1a880a208 Fixed #11259 2025-10-03 06:33:23 +09:00
Anuken b31df41018 Fixed rune font spacing & invalid unicode conversion method 2025-10-03 05:59:08 +09:00
Anuken 53ef8d5ea0 Fixed #11256 2025-10-02 11:19:58 +09:00
Anuken 66124b68b0 Quasar + minor Pulsar buff 2025-10-02 10:59:22 +09:00
Anuken aac086066e Fixed menu margins again 2025-09-30 10:28:38 -04:00
Anuken 3e854edf4b Merge branch 'master' of https://github.com/Anuken/Mindustry 2025-09-30 10:19:51 -04:00
Anuken 6712f23fe4 Switched to MetalANGLE for iOS 2025-09-30 10:18:58 -04:00
Anuken 843a215df5 Screen border fix in menu 2025-09-29 19:50:05 -04:00
Anuken 58909a06a5 Fixed #11254 2025-09-29 12:48:26 -04:00
Anuken acaed63c52 Merge remote-tracking branch 'origin/master' 2025-09-29 08:51:08 -04:00
Anuken 4d6334a941 A few more submission updates 2025-09-29 08:51:03 -04:00
Github Actions 72524a7289 Automatic bundle update 2025-09-29 12:49:09 +00:00
Anuken 081621936e Merge remote-tracking branch 'origin/master' 2025-09-29 08:48:07 -04:00
Anuken 32b9ff9f5d Added difficulty modifier for clearing sectors upon loss 2025-09-29 08:47:59 -04:00
Github Actions c6f9bc3b6f Automatic bundle update 2025-09-29 12:42:28 +00:00
summoner 8602fd57f6 Translation: Update bundle_hu.properties (#11189)
* Translation: Update bundle_hu.properties

Follow the changes of the english bundle
Translate new string

* Update bundle_hu.properties

Translate new strings.

Follow the changes of the english bundle

* Update bundle_hu.properties

Fixing status effects translations

* Translation: Update bundle_hu.properties

Follow the changes of the english bundle

* Transltion: Update bundle_hu.properties

Translate new strings
2025-09-29 08:41:27 -04:00
SITUVNgcd 24fd6950c1 Update Vietnamese translation (#11195)
* Update Vietnamese translation

stat.frequency https://github.com/Anuken/Mindustry/commit/fb9373535227b6ba3c82999b3024d1a7da231423

* Update Vietnamese translation

https://github.com/Anuken/Mindustry/commit/8884aec2488f393e2fcd292162b46c37d59250a7
2025-09-28 21:33:06 -04:00
Anuken 72ce49a753 More tests for saves 2025-09-28 16:41:36 -04:00
Anuken dd8db10e72 Minor tweaks to make Android inset area look less awful 2025-09-28 16:02:49 -04:00
Anuken 6c0884a8d9 More tests and sector fixes 2025-09-28 13:30:53 -04:00
Anuken adc1316444 Fixed some more broken submissions 2025-09-28 12:30:57 -04:00
Anuken bfd742e89b Turret construct preview fix 2025-09-28 10:49:56 -04:00
Anuken d6e408267e Fixed 116 infinite resources / Fixed #11251 2025-09-28 10:42:07 -04:00
Anuken dbe67b056f Fixed derelict plastanium conveyor repairs 2025-09-27 20:25:57 -04:00
Anuken 6d2c0c3863 Turret serverside rotation fix 2025-09-27 09:22:06 -04:00
Anuken f8d86ac840 Merge remote-tracking branch 'origin/master' 2025-09-27 01:45:33 -04:00
Anuken 20a96a9c5d Android inset support, API level upgrade & editor inset fix 2025-09-27 01:45:25 -04:00
1188 changed files with 70158 additions and 19680 deletions
+10 -6
View File
@@ -1,5 +1,5 @@
name: Bug report
description: The type of device you were playing on
description: An issue with the game.
labels: ["bug"]
body:
@@ -43,17 +43,17 @@ body:
id: mods
attributes:
label: Mods used
description: The mod repositories or zip files that are related to the issue, if applicable.
description: The mod repositories or zip files that are related to the issue, if applicable. If you are positive that you have none enabled, write 'none'.
validations:
required: false
required: true
- type: textarea
id: save-file
attributes:
label: Save file
description: The (zipped) save file you were playing on when the bug happened. If this happened in the campaign, specify the sector, and attach the file you get from Settings -> Game Data -> Export Data. For custom games, attach the .msav file exported from the save dialog, zipped.
placeholder: THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME. IF YOU DO NOT HAVE A SAVE, DON'T WASTE TIME OPENING THIS ISSUE.
placeholder: THIS IS REQUIRED FOR ANY IN-GAME ISSUE. IF YOU DO NOT HAVE A SAVE, DO NOT WASTE TIME OPENING THIS ISSUE.
validations:
required: false
required: true
- type: textarea
id: logs
attributes:
@@ -72,5 +72,9 @@ body:
required: true
- label: I have searched the closed and open issues to make sure that this problem has not already been reported.
required: true
- label: "I am not using Foo's Client, and have made sure the bug is not caused by mods I have installed."
- label: "I am not using Foo's Client."
required: true
- label: "This issue occurs with no mods enabled."
required: true
- label: "I have attached a valid save file."
required: true
+2 -1
View File
@@ -1,5 +1,6 @@
If your pull request is **not** translation or serverlist-related, read the list of requirements below and check each box:
If your pull request is **not** translation-related, read the list of requirements below and check each box:
- [ ] I have read the [contribution guidelines](https://github.com/Anuken/Mindustry/blob/master/CONTRIBUTING.md).
- [ ] I have ensured that my code compiles, if applicable.
- [ ] I have ensured that any new features in this PR function correctly in-game, if applicable.
- [ ] I affirm that this code was not written using generative AI/LLMs.
+20 -23
View File
@@ -14,10 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v1
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -30,28 +31,9 @@ jobs:
git tag ${RELEASE_VERSION}
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
cd ../Mindustry
- name: Update JITpack repo
run: |
cd ../
cp -r ./Mindustry ./MindustryJitpack
cd MindustryJitpack
git config --global user.name "Github Actions"
git config --global user.email "actions@github.com"
git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git
rm -rf .git
cp -r ./MindustryJitpack/.git ./.git
rm -rf MindustryJitpack
rm -rf .github
rm README.md
git add .
git commit --allow-empty -m "Updating"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
git tag ${RELEASE_VERSION}
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
cd ../Mindustry
- name: Create artifacts
run: |
./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
./gradlew desktop:dist server:dist core:depsJar core:assetsJar core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
- name: Update docs
run: |
cd ../
@@ -65,7 +47,7 @@ jobs:
cd docs
git add .
git commit --allow-empty -m "Update ${RELEASE_VERSION:1}"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
git push https://Anuken:${{ secrets.API_TOKEN_ORG_GITHUB }}@github.com/MindustryGame/docs
cd ../Mindustry
- name: Update F-Droid build string
run: |
@@ -91,3 +73,18 @@ jobs:
file: server/build/libs/server-release.jar
tag: ${{ github.ref }}
- name: Upload dependency JAR
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: core/build/libs/core-release-deps.jar
asset_name: dependencies.jar
tag: ${{ github.ref }}
- name: Upload assets JAR
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: core/build/libs/core-release-assets.jar
asset_name: assets.jar
tag: ${{ github.ref }}
@@ -6,5 +6,5 @@ jobs:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gradle/wrapper-validation-action@v2
- uses: actions/checkout@v7
- uses: gradle/actions/wrapper-validation@v3
+9 -5
View File
@@ -10,19 +10,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v1
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
- name: Fetch latest Arc
run: git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v6
- name: Run unit tests
run: ./gradlew tests:test --stacktrace --rerun
- name: Run unit tests and build JAR
run: ./gradlew desktop:dist
- name: Upload desktop JAR for testing
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: Desktop JAR (zipped)
name: Desktop JAR
archive: false
path: desktop/build/libs/Mindustry.jar
+18 -20
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v7
- name: Trigger BE build
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
@@ -22,15 +22,18 @@ jobs:
git config --global user.name "Github Actions"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
- name: Set up JDK 17
uses: actions/setup-java@v1
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
- name: Fetch latest Arc
run: git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v6
- name: Update bundles
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
./gradlew updateBundles
./gradlew -DcompileMethodParams updateBundles
if [ -n "$(git status --porcelain)" ]; then
git config --global user.name "Github Actions"
@@ -39,23 +42,18 @@ jobs:
git commit -m "Automatic bundle update"
git push
fi
- name: Update JITpack repo
- name: Update scripts, class mappings and map names
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
git config --global user.name "Github Actions"
git config --global user.email "actions@github.com"
cd ../
cp -r ./Mindustry ./MindustryJitpack
cd MindustryJitpack
git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git
rm -rf .git
cp -r ./MindustryJitpack/.git ./.git
rm -rf MindustryJitpack
rm -rf .github
rm README.md
git add .
git commit --allow-empty -m "Updating"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack
cd ../Mindustry
./gradlew -DcompileMethodParams updateScripts fixMaps
if [ -n "$(git status --porcelain)" ]; then
git config --global user.name "Github Actions"
git config --global user.email "actions@github.com"
git add core/assets/scripts/* core/src/mindustry/mod/ClassMap.java
git add core/assets/maps/*
git commit -m "Automatic class mapping and map name update"
git push
fi
- name: Run unit tests
run: ./gradlew tests:test --rerun --stacktrace
+7 -3
View File
@@ -20,6 +20,12 @@ Yes, there are occurrences of trailing spaces, extra newlines, empty indents, an
I **especially** do not want to see PRs that apply any kind of automated analysis to the source code to "optimize" anything - my IDE can do that already. If the PR doesn't actually change anything useful, I'm not going to review or merge it.
### Do not make AI "contributions".
If I see a PR with code that's obviously written by AI, I will reject your PR, and you will be blocked. Don't waste my time with slop.
Asking AI questions, and using that information to help you write code? Fine. Using it to actually write code? No.
## Style Guidelines
### Follow the formatting guidelines.
@@ -28,7 +34,7 @@ This means:
- Same-line braces.
- 4 spaces indentation
- `camelCase`, **even for constants or enums**. Why? Because `SCREAMING_CASE` is ugly, annoying to type and does not achieve anything useful. Constants are *less* dangerous than variables, not more. Any reasonable IDE should highlight them for you anyway.
- No underscores for anything. (Yes, I know `Bindings` violates this principle, but that's for legacy reasons and really should be cleaned up some day)
- No underscores for anything.
- Do not use braceless `if/else` statements. `if(x) statement else statement2` should **never** be done. In very specific situations, having braceless if-statements on one line is allowed: `if(cond) return;` would be valid.
- Prefer single-line javadoc `/** @return for example */` instead of multiline javadoc whenever possible
- Short method/variable names (multipleLongWords should be avoided if it's possible to do so reasonably, especially for variables)
@@ -61,7 +67,6 @@ What you'll usually need to change:
### Avoid boxed types (Integer, Boolean)
Never create variables or collections with boxed types `Seq<Integer>` or `ObjectMap<Integer, ...>`. Use the collections specialized for this task, e.g. `IntSeq` and `IntMap`.
### Do not allocate anything if possible.
Never allocate `new` objects in the main loop. If you absolutely require new objects, use `Pools` to obtain and free object instances.
Otherwise, use the `Tmp` variables for things like vector/shape operations, or create `static` variables for re-use.
@@ -71,7 +76,6 @@ If using a list, make it a static variable and clear it every time it is used. R
This is situational, but in essence, what it means is to avoid using any sort of getters and setters unless absolutely necessary. Public or protected fields should suffice for most things.
If something needs to be encapsulated in the future, IntelliJ can handle it with a few clicks.
### Do not create methods unless necessary.
Unless a block of code is very large or used in more than 1-2 places, don't split it up into a separate method. Making unnecessary methods only creates confusion, and may slightly decrease performance.
+3 -1
View File
@@ -11,7 +11,9 @@ _[Javadoc](https://mindustrygame.github.io/docs/)_
## Contributing
See [CONTRIBUTING](CONTRIBUTING.md).
See [CONTRIBUTING](CONTRIBUTING.md) for general code style and PR guidelines.
If you are a first-time contributor looking for features to implement or bugs to fix, see the issues tagged with 'candidate' [in the Mindustry-Suggestions repostiory](https://github.com/Anuken/Mindustry-Suggestions/issues?q=is%3Aissue%20state%3Aopen%20label%3Acandidate).
## Building
-3
View File
@@ -1,3 +0,0 @@
# Note: The v7 server list is frozen. No new servers will be accepted. All v8 server PRs should be made [here](https://github.com/Anuken/MindustryServerList).
*PRs to edit addresses of existing servers will still be accepted, although very infrequently.*
+25 -5
View File
@@ -8,13 +8,13 @@
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:enableOnBackInvokedCallback="false"
android:resizeableActivity="true"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:isGame="true"
android:theme="@style/ArcTheme"
android:usesCleartextTraffic="true"
android:appCategory="game"
android:label="@string/app_name"
android:fullBackupContent="@xml/backup_rules"
@@ -25,7 +25,8 @@
android:label="@string/app_name"
android:screenOrientation="user"
android:exported="true"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout">
android:launchMode="singleTask"
android:configChanges="uiMode|keyboard|keyboardHidden|orientation|screenSize|screenLayout">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@@ -35,10 +36,29 @@
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:mimeType="application/octet-stream" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.msav"/>
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mindustry"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="content" />
<data android:mimeType="application/octet-stream" />
<data android:mimeType="application/x-msav" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:host="*" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.msav" />
</intent-filter>
</activity>
</application>
+30 -23
View File
@@ -3,7 +3,6 @@ buildscript{
mavenLocal()
mavenCentral()
google()
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies{
@@ -17,7 +16,7 @@ configurations{ natives }
repositories{
mavenCentral()
maven{ url "https://maven.google.com" }
maven{ url = "https://maven.google.com" }
}
task deploy(type: Copy){
@@ -30,8 +29,8 @@ task deploy(type: Copy){
android{
namespace = "io.anuke.mindustry"
buildToolsVersion = '34.0.0'
compileSdk = 34
buildToolsVersion = '36.0.0'
compileSdk = 36
sourceSets{
main{
manifest.srcFile 'AndroidManifest.xml'
@@ -40,7 +39,12 @@ android{
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets', 'src/main/assets', '../core/assets/']
jniLibs.srcDirs = ['libs']
if(localArc){
jniLibs.srcDirs += ['../../Arc/natives/natives-android/libs', '../../Arc/natives/natives-freetype-android/libs']
}else{
jniLibs.srcDirs = ['libs']
}
}
androidTest.setRoot('tests')
@@ -56,9 +60,9 @@ android{
def versionNameResult = "$versionNumber-$versionType-${getBuildVersion().replace(" ", "-")}"
applicationId "io.anuke.mindustry"
minSdkVersion 14
targetSdkVersion 34
minSdkVersion 21
targetSdkVersion 36
versionName versionNameResult
versionCode = vcode
@@ -67,12 +71,12 @@ android{
}
props.store(file('../core/assets/version.properties').newWriter(), null)
multiDexEnabled true
multiDexEnabled = true
}
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
flavorDimensions = ["google"]
@@ -110,7 +114,7 @@ android{
if(project.hasProperty("RELEASE_STORE_FILE") || System.getenv("CI") == "true"){
buildTypes{
release{
signingConfig signingConfigs.release
signingConfig = signingConfigs.release
}
}
}
@@ -122,14 +126,15 @@ dependencies{
implementation arcModule("backends:backend-android")
implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3'
natives "com.github.Anuken.Arc:natives-android:$arcHash"
natives "com.github.Anuken.Arc:natives-freetype-android:$arcHash"
if(!localArc){
natives "com.github.Anuken.Arc:natives-android:$arcHash"
natives "com.github.Anuken.Arc:natives-freetype-android:$arcHash"
}
def version;
def highestVersion;
def version, highestVersion
new File((String)findSdkDir(), "/platforms").eachFileMatch ~/android-\d+/, {
version = it.name.find(/\d+/).toInteger();
highestVersion = version > highestVersion ? version : highestVersion;
version = it.name.find(/\d+/).toInteger()
highestVersion = version > highestVersion ? version : highestVersion
}
def sdkFile = new File((String)findSdkDir(), "/platforms/android-${highestVersion}/android.jar")
@@ -137,11 +142,13 @@ dependencies{
}
task copyAndroidNatives(){
configurations.natives.files.each{ jar ->
copy{
from zipTree(jar)
into file("libs/")
include "**"
if(!localArc){
configurations.natives.files.each{ jar ->
copy{
from zipTree(jar)
into file("libs/")
include "**"
}
}
}
}
@@ -5,20 +5,21 @@ import android.app.*;
import android.content.*;
import android.content.pm.*;
import android.net.*;
import android.os.Build.*;
import android.os.*;
import android.os.Build.*;
import android.telephony.*;
import arc.*;
import arc.backend.android.*;
import arc.files.*;
import arc.func.*;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.*;
import dalvik.system.*;
import mindustry.*;
import mindustry.game.Saves.*;
import mindustry.io.*;
import mindustry.game.EventType.*;
import mindustry.net.*;
import mindustry.ui.*;
import mindustry.ui.FileChooser.*;
import mindustry.ui.dialogs.*;
import java.io.*;
@@ -30,7 +31,7 @@ import static mindustry.Vars.*;
public class AndroidLauncher extends AndroidApplication{
public static final int PERMISSION_REQUEST_CODE = 1;
boolean doubleScaleTablets = true;
FileChooser chooser;
FileChooserDialog chooser;
Runnable permCallback;
@Override
@@ -97,8 +98,7 @@ public class AndroidLauncher extends AndroidApplication{
}
};
}catch(SecurityException e){
//`setReadOnly` to jar file in `/sdcard/Android/data/...` does not work on some Android 14 device
//But in `/data/...` it works
//`setReadOnly` to jar file in `/sdcard/Android/data/...` does not work on some Android 14 devices, but in `/data/...`, it does
if(Build.VERSION.SDK_INT < VERSION_CODES.O_MR1){
throw e;
@@ -127,27 +127,34 @@ public class AndroidLauncher extends AndroidApplication{
}
@Override
public void showFileChooser(boolean open, String title, String extension, Cons<Fi> cons){
showFileChooser(open, title, cons, extension);
}
void showFileChooser(boolean open, String title, Cons<Fi> cons, String... extensions){
public void showFileChooser(FileChooserParams params){
try{
String extension = extensions[0];
String extension = params.extensions[0];
if(VERSION.SDK_INT >= VERSION_CODES.Q){
Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT);
Intent intent = new Intent(params.open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(extension.equals("zip") && !open && extensions.length == 1 ? "application/zip" : "*/*");
intent.putExtra(Intent.EXTRA_TITLE, "export." + extension);
intent.setType(extension.equals("zip") && !params.open && params.extensions.length == 1 ? "application/zip" : "*/*");
intent.putExtra(Intent.EXTRA_TITLE, params.fileName);
if(params.allowMultiple){
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
}
addResultListener(i -> startActivityForResult(intent, i), (code, in) -> {
if(code == Activity.RESULT_OK && in != null && in.getData() != null){
Uri uri = in.getData();
Uri[] uris;
if(in.getClipData() != null){
uris = new Uri[in.getClipData().getItemCount()];
for(int i = 0; i < uris.length; i++){
uris[i] = in.getClipData().getItemAt(i).getUri();
}
}else{
uris = new Uri[]{in.getData()};
}
if(uri.getPath().contains("(invalid)")) return;
if(uris.length == 0 || uris[0].getPath().contains("(invalid)")) return;
Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(uri.getPath()){
Fi[] files = Seq.with(uris).map(uri -> new Fi(uri.getPath()){
@Override
public InputStream read(){
try{
@@ -160,23 +167,28 @@ public class AndroidLauncher extends AndroidApplication{
@Override
public OutputStream write(boolean append){
try{
return getContentResolver().openOutputStream(uri);
return getContentResolver().openOutputStream(uri, "rwt");
}catch(IOException e){
throw new ArcRuntimeException(e);
}
}
})));
@Override
public Writer writer(boolean append, String charset){
try{
return new OutputStreamWriter(write(append), charset);
}catch(IOException ex){
throw new ArcRuntimeException(ex);
}
}
}).toArray(Fi.class);
Core.app.post(() -> Core.app.post(() -> params.handleChooseResult(files)));
}
});
}else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED &&
checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> {
if(!open){
cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension));
}else{
cons.get(file);
}
});
chooser = FileChooser.createFallbackFileChooser(params);
ArrayList<String> perms = new ArrayList<>();
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
@@ -187,22 +199,13 @@ public class AndroidLauncher extends AndroidApplication{
}
requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE);
}else{
if(open){
new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show();
}else{
super.showFileChooser(open, "@open", extension, cons);
}
FileChooser.showFallbackFileChooser(params);
}
}catch(Throwable error){
Core.app.post(() -> Vars.ui.showException(error));
}
}
@Override
public void showMultiFileChooser(Cons<Fi> cons, String... extensions){
showFileChooser(true, "@open", cons, extensions);
}
@Override
public void beginForceLandscape(){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
@@ -218,7 +221,9 @@ public class AndroidLauncher extends AndroidApplication{
hideStatusBar = true;
useGL30 = true;
}});
checkFiles(getIntent());
var intent = getIntent();
Events.on(ClientLoadEvent.class, u -> handleIntent(intent));
try{
//new external folder
@@ -235,7 +240,6 @@ public class AndroidLauncher extends AndroidApplication{
Log.err("Failed to delete cached folder", t);
}
//move to internal storage if there's no file indicating that it moved
if(!Core.files.local("files_moved").exists()){
Log.info("Moving files to external storage...");
@@ -277,54 +281,45 @@ public class AndroidLauncher extends AndroidApplication{
}
}
private void checkFiles(Intent intent){
@Override
protected void onNewIntent(Intent intent){
super.onNewIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent){
if(intent == null) return;
try{
Uri uri = intent.getData();
if(uri != null){
File myFile = null;
String scheme = uri.getScheme();
if(scheme.equals("file")){
String fileName = uri.getEncodedPath();
myFile = new File(fileName);
}else if(!scheme.equals("content")){
//error
return;
}
boolean save = uri.getPath().endsWith(saveExtension);
boolean map = uri.getPath().endsWith(mapExtension);
InputStream inStream;
if(myFile != null) inStream = new FileInputStream(myFile);
else inStream = getContentResolver().openInputStream(uri);
Core.app.post(() -> Core.app.post(() -> {
if(save){ //open save
System.out.println("Opening save.");
Fi file = Core.files.local("temp-save." + saveExtension);
file.write(inStream, false);
if(SaveIO.isSaveValid(file)){
try{
SaveSlot slot = control.saves.importSave(file);
ui.load.runLoadSave(slot);
}catch(IOException e){
ui.showException("@save.import.fail", e);
}
}else{
ui.showErrorMessage("@save.import.invalid");
}
}else if(map){ //open map
Fi file = Core.files.local("temp-map." + mapExtension);
file.write(inStream, false);
//clear data (not sure if necessary?)
intent.setAction(Intent.ACTION_MAIN);
intent.setData(null);
setIntent(intent);
if("mindustry".equalsIgnoreCase(scheme)){ //open a server URL
String host = uri.getHost();
int port = uri.getPort();
if(host != null && !host.isEmpty()){
Core.app.post(() -> {
System.out.println("Opening map.");
if(!ui.editor.isShown()){
ui.editor.show();
}
ui.editor.beginEditMap(file);
ui.showConfirm(Core.bundle.format("servers.connect.confirm", host), () -> ui.join.connect(host, port != -1 ? port : 6567));
});
}
}));
}else{ //open a save file
Fi file = Core.files.cache("imported");
file.write(getContentResolver().openInputStream(uri), false);
ClientLauncher.handleFileImport(file);
}
}
}catch(IOException e){
e.printStackTrace();
}catch(Throwable e){
Log.err(e);
}
}
@@ -2,9 +2,7 @@ package mindustry.android;
import android.annotation.*;
import android.os.*;
import android.os.Build.*;
import arc.*;
import arc.backend.android.*;
import com.android.dex.*;
import com.android.dx.cf.direct.*;
import com.android.dx.command.dexer.*;
@@ -13,7 +11,6 @@ import com.android.dx.dex.cf.*;
import com.android.dx.dex.file.DexFile;
import com.android.dx.merge.*;
import dalvik.system.*;
import mindustry.mod.*;
import rhino.*;
import java.io.*;
@@ -159,8 +156,9 @@ public class AndroidRhinoContext{
}catch(IOException e){
e.printStackTrace();
}
android.content.Context context = (android.content.Context)((AndroidApplication)Core.app);
return new DexClassLoader(dexFile.getPath(), VERSION.SDK_INT >= 21 ? context.getCodeCacheDir().getPath() : context.getCacheDir().getAbsolutePath(), null, getParent()).loadClass(name);
var context = (android.content.Context)Core.app;
return new DexClassLoader(dexFile.getPath(), context.getCodeCacheDir().getPath(), null, getParent()).loadClass(name);
}
@Override
@@ -35,6 +35,10 @@ public class Annotations{
@Retention(RetentionPolicy.SOURCE)
public @interface NoSync{}
/** Indicates that a field should be synced, but not serialized */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.SOURCE)
public @interface NoSerialize{}
/** Indicates that a component field is imported from other components. This means it doesn't actually exist. */
@Target({ElementType.FIELD})
@@ -81,9 +85,11 @@ public class Annotations{
@Retention(RetentionPolicy.SOURCE)
public @interface GroupDef{
Class[] value();
Class[] exclude() default {};
boolean collide() default false;
boolean spatial() default false;
boolean mapping() default false;
boolean update() default false;
}
/** Indicates an entity definition. */
@@ -103,6 +109,8 @@ public class Annotations{
boolean genio() default true;
/** Whether I made a massive mistake by merging two different class branches */
boolean legacy() default false;
/** Groups to exclude. */
String[] excludeGroups() default {};
}
/** Indicates an internal interface for entity components. */
@@ -211,10 +211,7 @@ public abstract class BaseProcessor extends AbstractProcessor{
if(round++ >= rounds) return false; //only process 1 round
if(rootDirectory == null){
try{
String path = Fi.get(filer.getResource(StandardLocation.CLASS_OUTPUT, "no", "no")
.toUri().toURL().toString().substring(OS.isWindows ? 6 : "file:".length()))
.parent().parent().parent().parent().parent().parent().parent().toString().replace("%20", " ");
rootDirectory = Fi.get(path).parent();
rootDirectory = new Fi(new File(filer.getResource(StandardLocation.CLASS_OUTPUT, "no", "no").toUri())).parent().parent().parent().parent().parent().parent().parent().parent();
}catch(IOException e){
throw new RuntimeException(e);
}
@@ -232,7 +229,7 @@ public abstract class BaseProcessor extends AbstractProcessor{
@Override
public SourceVersion getSupportedSourceVersion(){
return SourceVersion.RELEASE_8;
return SourceVersion.RELEASE_17;
}
public void process(RoundEnvironment env) throws Exception{
@@ -13,6 +13,8 @@ import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
import java.lang.annotation.*;
import static mindustry.annotations.BaseProcessor.instanceOf;
public class EntityIO{
@@ -56,7 +58,8 @@ public class EntityIO{
Seq<FieldSpec> fields = typeFields.select(spec ->
!spec.hasModifier(Modifier.TRANSIENT) &&
!spec.hasModifier(Modifier.STATIC) &&
!spec.hasModifier(Modifier.FINAL)/* &&
!spec.hasModifier(Modifier.FINAL)
/* &&
(spec.type.isPrimitive() || serializer.has(spec.type.toString()))*/);
//sort to keep order
@@ -77,7 +80,7 @@ public class EntityIO{
}
}
void write(MethodSpec.Builder method, boolean write) throws Exception{
void write(MethodSpec.Builder method, boolean write, Seq<Svar> allFields) throws Exception{
this.method = method;
this.write = write;
@@ -89,6 +92,7 @@ public class EntityIO{
st("write.s($L)", revisions.peek().version);
//write uses most recent revision
for(RevisionField field : revisions.peek().fields){
if(fieldHasAnno(field, allFields, NoSerialize.class)) continue;
io(field.type, "this." + field.name, false);
}
}else{
@@ -106,6 +110,7 @@ public class EntityIO{
//add code for reading revision
for(RevisionField field : rev.fields){
if(fieldHasAnno(field, allFields, NoSerialize.class)) continue;
//if the field doesn't exist, the result will be an empty string, it won't get assigned
io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : "", false);
}
@@ -118,6 +123,11 @@ public class EntityIO{
}
}
boolean fieldHasAnno(RevisionField field, Seq<Svar> allFields, Class<? extends Annotation> type){
Svar var = allFields.find(s -> s.name().equals(field.name));
return var != null && var.has(type);
}
void writeSync(MethodSpec.Builder method, boolean write, Seq<Svar> allFields) throws Exception{
this.method = method;
this.write = write;
@@ -125,8 +135,7 @@ public class EntityIO{
if(write){
//write uses most recent revision
for(RevisionField field : revisions.peek().fields){
Svar var = allFields.find(s -> s.name().equals(field.name));
if(var == null || var.has(NoSync.class)) continue;
if(fieldHasAnno(field, allFields, NoSync.class)) continue;
io(field.type, "this." + field.name, true);
}
@@ -229,7 +238,7 @@ public class EntityIO{
s(type.equals("boolean") ? "bool" : type.charAt(0) + "", field);
}else if(instanceOf(type, "mindustry.ctype.Content") && !type.equals("mindustry.ai.UnitStance") && !type.equals("mindustry.ai.UnitCommand")){
if(write){
s("s", field + ".id");
s("s", field + " == null ? -1 : " + field + ".id");
}else{
st(field + "mindustry.Vars.content.getByID(mindustry.ctype.ContentType.$L, read.s())", BaseProcessor.simpleName(type).toLowerCase().replace("type", ""));
}
@@ -237,8 +246,8 @@ public class EntityIO{
st("$L(write, $L)", network ? serializer.getNetWriter(type, null) : serializer.writers.get(type), field);
}else if(serializer.mutatorReaders.containsKey(type) && !write && !field.replace(" = ", "").contains(" ") && !field.isEmpty()){
st("$L$L(read, $L)", field, serializer.mutatorReaders.get(type), field.replace(" = ", ""));
}else if(serializer.readers.containsKey(type) && !write){
st("$L$L(read)", field, serializer.readers.get(type));
}else if((serializer.readers.containsKey(type) || (network && serializer.netReaders.containsKey(type))) && !write){
st("$L$L(read)", field, network ? serializer.getNetReader(type, null) : serializer.readers.get(type));
}else if(type.endsWith("[]")){ //it's a 1D array
String rawType = type.substring(0, type.length() - 2);
@@ -20,6 +20,7 @@ import javax.lang.model.element.*;
import javax.lang.model.type.*;
import java.lang.annotation.*;
import java.util.*;
import java.util.regex.*;
@SupportedAnnotationTypes({
"mindustry.annotations.Annotations.EntityDef",
@@ -29,6 +30,11 @@ import java.util.*;
"mindustry.annotations.Annotations.TypeIOHandler"
})
public class EntityProcess extends BaseProcessor{
static final Pattern selfParamPattern = Pattern.compile("this\\.<(.*)>self\\(\\)");
static final Pattern selfPattern = Pattern.compile("self\\(\\)");
static final Pattern yieldPattern = Pattern.compile(" yield ");
static final Pattern missingPattern = Pattern.compile("\\/\\*missing\\*\\/");
Seq<EntityDefinition> definitions = new Seq<>();
Seq<GroupDefinition> groupDefs = new Seq<>();
Seq<Stype> baseComponents;
@@ -77,12 +83,12 @@ public class EntityProcess extends BaseProcessor{
for(Smethod elem : component.methods()){
if(elem.is(Modifier.ABSTRACT) || elem.is(Modifier.NATIVE)) continue;
//get all statements in the method, store them
methodBlocks.put(elem.descString(), elem.tree().getBody().toString()
.replaceAll("this\\.<(.*)>self\\(\\)", "this") //fix parameterized self() calls
.replaceAll("self\\(\\)", "this") //fix self() calls
.replaceAll(" yield ", "") //fix enchanced switch
.replaceAll("\\/\\*missing\\*\\/", "var") //fix vars
);
String body = elem.tree().getBody().toString();
body = selfParamPattern.matcher(body).replaceAll("this"); //fix parameterized self() calls
body = selfPattern.matcher(body).replaceAll("this"); //fix self() calls
body = yieldPattern.matcher(body).replaceAll(""); //fix enhanced switch
body = missingPattern.matcher(body).replaceAll("var"); //fix vars
methodBlocks.put(elem.descString(), body);
}
}
@@ -234,15 +240,21 @@ public class EntityProcess extends BaseProcessor{
return result;
});
Seq<Stype> exclusions = types(an, GroupDef::exclude).map(stype -> {
Stype result = interfaceToComp(stype);
if(result == null) throw new IllegalArgumentException("Interface " + stype + " does not have an associated component!");
return result;
});
//representative component type
Stype repr = types.first();
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
String name = group.name().startsWith("g") ? group.name().substring(1) : group.name();
String name = group.name();
boolean collides = an.collide();
groupDefs.add(new GroupDefinition(name,
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides));
ClassName.bestGuess(packageName + "." + groupType), types, exclusions, an.spatial(), an.mapping(), collides, an.update()));
TypeSpec.Builder accessor = TypeSpec.interfaceBuilder("IndexableEntity__" + name);
accessor.addMethod(MethodSpec.methodBuilder("setIndex__" + name).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC).addParameter(int.class, "index").returns(void.class).build());
@@ -258,7 +270,9 @@ public class EntityProcess extends BaseProcessor{
//all component classes (not interfaces)
Seq<Stype> components = allComponents(type);
Seq<GroupDefinition> groups = groupDefs.select(g -> (!g.components.isEmpty() && !g.components.contains(s -> !components.contains(s))) || g.manualInclusions.contains(type));
Seq<GroupDefinition> groups = groupDefs.select(g -> (!g.components.isEmpty() && !Structs.contains(ann.excludeGroups(), g.name)
&& !g.components.contains(s -> !components.contains(s)) && !g.excludedComponents.contains(s -> components.contains(s))));
ObjectMap<String, Seq<Smethod>> methods = new ObjectMap<>();
ObjectMap<FieldSpec, Svar> specVariables = new ObjectMap<>();
ObjectSet<String> usedFields = new ObjectSet<>();
@@ -505,7 +519,7 @@ public class EntityProcess extends BaseProcessor{
//SPECIAL CASE: I/O code
//note that serialization is generated even for non-serializing entities for manual usage
if((first.name().equals("read") || first.name().equals("write"))){
io.write(mbuilder, first.name().equals("write"));
io.write(mbuilder, first.name().equals("write"), allFields);
specialIO = true;
}
@@ -558,7 +572,15 @@ public class EntityProcess extends BaseProcessor{
String blockName = elem.up().getSimpleName().toString().toLowerCase().replace("comp", "");
//skip empty blocks
if(str.replace("{", "").replace("\n", "").replace("}", "").replace("\t", "").replace(" ", "").isEmpty()){
boolean empty = true;
for(int i = 0; i < str.length(); i++){
char c = str.charAt(i);
if(c != '{' && c != '}' && c != '\n' && c != '\t' && c != ' '){
empty = false;
break;
}
}
if(empty){
continue;
}
@@ -685,13 +707,18 @@ public class EntityProcess extends BaseProcessor{
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder groupUpdate = MethodSpec.methodBuilder("update")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder groupPoolUpdate = MethodSpec.methodBuilder("updatePooling")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
//free everything pooled at the start of each updaet
groupUpdate
groupPoolUpdate
.addStatement("for($T p : freeQueue) $T.free(p)", Poolable.class, Pools.class)
.addStatement("freeQueue.clear()");
groupUpdate.addStatement("updatePooling()");
//method resize
for(GroupDefinition group : groupDefs){
if(group.spatial){
@@ -700,7 +727,11 @@ public class EntityProcess extends BaseProcessor{
}
}
groupUpdate.addStatement("all.update()");
for(GroupDefinition group : groupDefs){
if(group.updates){
groupUpdate.addStatement("$L.update()", group.name);
}
}
for(GroupDefinition group : groupDefs){
if(group.collides){
@@ -709,6 +740,7 @@ public class EntityProcess extends BaseProcessor{
}
groupsBuilder.addMethod(groupResize.build());
groupsBuilder.addMethod(groupPoolUpdate.build());
groupsBuilder.addMethod(groupUpdate.build());
write(groupsBuilder);
@@ -984,17 +1016,18 @@ public class EntityProcess extends BaseProcessor{
class GroupDefinition{
final String name;
final ClassName baseType;
final Seq<Stype> components;
final boolean spatial, mapping, collides;
final ObjectSet<Selement> manualInclusions = new ObjectSet<>();
final Seq<Stype> components, excludedComponents;
final boolean spatial, mapping, collides, updates;
public GroupDefinition(String name, ClassName bestType, Seq<Stype> components, boolean spatial, boolean mapping, boolean collides){
public GroupDefinition(String name, ClassName bestType, Seq<Stype> components, Seq<Stype> excludedComponents, boolean spatial, boolean mapping, boolean collides, boolean updates){
this.baseType = bestType;
this.components = components;
this.excludedComponents = excludedComponents;
this.name = name;
this.spatial = spatial;
this.mapping = mapping;
this.collides = collides;
this.updates = updates;
}
@Override
@@ -142,6 +142,19 @@ public class AssetsProcess extends BaseProcessor{
.addParameter(int.class, "id")
.returns(Sound.class)
.addStatement("return (Sound)idToSound.get(id, () -> Sounds.none)").build());
type.addMethod(MethodSpec.methodBuilder("registerSound")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Sound.class, "sound")
.addParameter(int.class, "id")
.returns(void.class)
.addStatement("idToSound.put(id, sound); soundToId.put(sound, id);").build());
type.addMethod(MethodSpec.methodBuilder("unregisterSound")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Sound.class, "sound")
.returns(void.class)
.addStatement("int id = soundToId.get(sound); if(id != 0){ soundToId.remove(sound); idToSound.remove(id); }").build());
}
HashSet<String> names = new HashSet<>();
@@ -183,7 +196,11 @@ public class AssetsProcess extends BaseProcessor{
}
if(classname.equals("Sounds")){
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()")
.addJavadoc("Does not play anything.").build());
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "unset", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()")
.addJavadoc("Used a placeholder value for unset default values. This is usually reassigned in init() of the relevant block or unit. Does not play anything.").build());
}
type.addMethod(loadBegin.build());
@@ -56,6 +56,15 @@ public class CallGenerator{
packet.addMethod(writeHandleMethod(ent, true));
}
if(!(ent.where.isClient && ent.where.isServer)){
packet.addMethod( MethodSpec.methodBuilder("allow")
.addModifiers(Modifier.PUBLIC)
.addParameter(boolean.class, "server")
.addAnnotation(Override.class)
.returns(boolean.class)
.addCode("return " + (ent.where.isClient ? "server" : "!server") + ";").build());
}
//register packet
register.addStatement("mindustry.net.Net.registerPacket($L.$L::new)", packageName, ent.packetClassName);
@@ -193,7 +202,7 @@ public class CallGenerator{
builder.addStatement("$L = READ.$L()", varName, pname);
}else{
//else, try and find a serializer
String ser = serializer.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), false));
String ser = serializer.getNetReader(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), false));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + ent.targetMethod + "; " + serializer.readers, var);
@@ -16,7 +16,7 @@ public class TypeIOResolver{
* Maps fully qualified class names to their serializers.
*/
public static ClassSerializer resolve(BaseProcessor processor){
ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>());
ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>());
for(Stype type : processor.types(TypeIOHandler.class)){
//look at all TypeIOHandler methods
Seq<Smethod> methods = type.methods();
@@ -27,11 +27,11 @@ public class TypeIOResolver{
if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Writes")){
//Net suffix indicates that this should only be used for sync operations
ObjectMap<String, String> targetMap = meth.name().endsWith("Net") ? out.netWriters : out.writers;
targetMap.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name());
}else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){
//1 param, one is reader, returns type
out.readers.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
}else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){ //1 param, one is reader, returns type
//Net suffix indicates that this should only be used for sync operations
ObjectMap<String, String> targetMap = meth.name().endsWith("Net") ? out.netReaders : out.readers;
targetMap.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
}else if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid() && meth.ret().equals(meth.params().get(1).mirror())){
//2 params, one is reader, other is type, returns type - these are made to reduce garbage allocated
out.mutatorReaders.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name());
@@ -50,17 +50,22 @@ public class TypeIOResolver{
/** Information about read/write methods for class types. */
public static class ClassSerializer{
public final ObjectMap<String, String> writers, readers, mutatorReaders, netWriters;
public final ObjectMap<String, String> writers, readers, mutatorReaders, netWriters, netReaders;
public ClassSerializer(ObjectMap<String, String> writers, ObjectMap<String, String> readers, ObjectMap<String, String> mutatorReaders, ObjectMap<String, String> netWriters){
public ClassSerializer(ObjectMap<String, String> writers, ObjectMap<String, String> readers, ObjectMap<String, String> mutatorReaders, ObjectMap<String, String> netWriters, ObjectMap<String, String> netReaders){
this.writers = writers;
this.readers = readers;
this.mutatorReaders = mutatorReaders;
this.netWriters = netWriters;
this.netReaders = netReaders;
}
public String getNetWriter(String type, String fallback){
return netWriters.get(type, writers.get(type, fallback));
}
public String getNetReader(String type, String fallback){
return netReaders.get(type, readers.get(type, fallback));
}
}
}
@@ -6,6 +6,7 @@ atrax=1
beta=30
block=2
corvus=24
dummy=49
elude=45
flare=3
gamma=31
@@ -19,6 +20,7 @@ mindustry.entities.comp.DecalComp=8
mindustry.entities.comp.EffectStateComp=9
mindustry.entities.comp.FireComp=10
mindustry.entities.comp.LaunchCoreComp=11
mindustry.entities.comp.LocationPingComp=48
mindustry.entities.comp.PlayerComp=12
mindustry.entities.comp.PosTeam=27
mindustry.entities.comp.PosTeamDef=28
@@ -0,0 +1 @@
{version:2,fields:[{name:admin,type:boolean},{name:boosting,type:boolean},{name:color,type:arc.graphics.Color},{name:lastCommand,type:mindustry.ai.UnitCommand},{name:mouseX,type:float},{name:mouseY,type:float},{name:name,type:java.lang.String},{name:selectedBlock,type:mindustry.world.Block},{name:selectedRotation,type:int},{name:shooting,type:boolean},{name:team,type:mindustry.game.Team},{name:typing,type:boolean},{name:unit,type:Unit},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:flags,type:byte},{name:fontSize,type:float},{name:parent,type:mindustry.gen.Posc},{name:text,type:java.lang.String},{name:x,type:float},{name:y,type:float},{name:z,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:9,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:9,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:9,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:9,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq<mindustry.world.blocks.payloads.Payload>},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:9,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:8,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:aimX,type:float},{name:aimY,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue<mindustry.entities.units.BuildPlan>},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq<mindustry.entities.units.StatusEntry>},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
+90 -35
View File
@@ -4,7 +4,7 @@ buildscript{
ext{
arcHash = property("archash")
localArc = !project.hasProperty("release") && new File(rootDir.parent, 'Arc').exists() && !project.hasProperty("noLocalArc")
localArc = new File(rootDir.parent, 'Arc').exists() && !project.hasProperty("noLocalArc")
arcModule = { String name ->
//skip to last submodule
@@ -17,8 +17,7 @@ buildscript{
mavenLocal()
mavenCentral()
google()
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven{ url 'https://jitpack.io' }
maven{ url = 'https://jitpack.io' }
}
dependencies{
@@ -28,8 +27,8 @@ buildscript{
}
plugins{
id "org.jetbrains.kotlin.jvm" version "2.1.10"
id "org.jetbrains.kotlin.kapt" version "2.1.10"
id "org.jetbrains.kotlin.jvm" version "2.3.20"
id "org.jetbrains.kotlin.kapt" version "2.3.20"
}
allprojects{
@@ -40,11 +39,11 @@ allprojects{
ext{
versionNumber = '8'
if(!project.hasProperty("versionModifier")) versionModifier = 'beta'
if(!project.hasProperty("versionModifier")) versionModifier = 'release'
if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry'
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
rhinoVersion = '73a812444ac388ac2d94013b5cadc8f70b7ea027'
steamworksVersion = '185e76cfe630a6f0e1dd7b9bf57be41f6064a1f2'
rhinoVersion = '32395f942976a6d1d21ec9877664554cd5762306'
loadVersionProps = {
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
@@ -78,7 +77,8 @@ allprojects{
}
hasSprites = {
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists()
def file = new File(rootDir, "core/build/last_pack_version")
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists() && file.exists() && file.text == versionNumber
}
getModifierString = {
@@ -113,7 +113,7 @@ allprojects{
def output = 'en\n'
def bundles = new File(project(':core').projectDir, 'assets/bundles/')
bundles.list().sort().each{ name ->
if(name == "bundle.properties") return
if(name == "bundle.properties" || name == "global.properties") return
output += name.substring("bundle".length() + 1, name.lastIndexOf('.')) + "\n"
}
new File(project(':core').projectDir, 'assets/locales').text = output
@@ -181,9 +181,8 @@ allprojects{
repositories{
mavenLocal()
mavenCentral()
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven{ url "https://oss.sonatype.org/content/repositories/releases/" }
maven{ url 'https://jitpack.io' }
maven{ url = "https://central.sonatype.com/repository/maven-snapshots" }
maven{ url = 'https://jitpack.io' }
}
task clearCache{
@@ -195,7 +194,7 @@ allprojects{
}
tasks.withType(JavaCompile){
targetCompatibility = 8
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_17
options.encoding = "UTF-8"
options.compilerArgs += ["-Xlint:deprecation"]
@@ -216,16 +215,32 @@ allprojects{
configure(project(":annotations")){
tasks.withType(JavaCompile){
targetCompatibility = 8
sourceCompatibility = 8
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_17
options.fork = true
options.compilerArgs.addAll([
"--add-exports", "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
"--add-exports", "java.base/sun.reflect.annotation=ALL-UNNAMED"
])
}
}
//compile with java 8 compatibility for everything except the annotation project
configure(subprojects - project(":annotations")){
configure(subprojects - project(":annotations") - project(":tests")){
tasks.withType(JavaCompile){
options.compilerArgs.addAll(['--release', '8'])
options.compilerArgs.addAll(['--release', '17'])
}
tasks.withType(Javadoc){
@@ -247,6 +262,7 @@ project(":desktop"){
implementation arcModule("extensions:profiling")
implementation arcModule("extensions:discord")
implementation arcModule("natives:natives-filedialogs")
implementation arcModule("extensions:filedialogs")
implementation arcModule("natives:natives-desktop")
implementation arcModule("natives:natives-freetype-desktop")
@@ -255,7 +271,6 @@ project(":desktop"){
implementation "com.github.Anuken:steamworks4j:$steamworksVersion"
implementation arcModule("backends:backend-sdl")
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
}
}
@@ -267,7 +282,7 @@ project(":core"){
kapt{
javacOptions{
option("-source", "17")
option("-target", "1.8")
option("-target", "17")
}
}
@@ -305,41 +320,71 @@ project(":core"){
}
}
task depsJar(type: Jar, dependsOn: [classes, ":server:dist"]){
archiveClassifier = 'deps'
from files(sourceSets.main.output.classesDirs)
from{ configurations.runtimeClasspath.collect{ it.isDirectory() ? it : zipTree(it) } }
from zipTree("../server/build/libs/server-release.jar")
from files("src/")
from files("../../Arc/natives/natives-desktop/libs")
from files("../../Arc/arc-core/src/")
from files("../../Arc/extensions/arcnet/src/")
from files("../../Arc/extensions/g3d/src/")
from files("../../Arc/extensions/flabel/src/")
from files("../../Arc/extensions/freetype/src/")
from files("../server/src/")
exclude("META-INF/**")
exclude("vfxshaders/**")
exclude("maps/**")
exclude("baseparts/**")
exclude("vfxshaders/**")
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
task sourcesJar(type: Jar, dependsOn: classes){
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
task assetsJar(type: Jar, dependsOn: ":tools:pack"){
task assetsJar(type: Jar){
dependsOn ":tools:pack"
archiveClassifier = 'assets'
from files("assets"){
exclude "config", "cache", "music", "sounds", "sprites/fallback"
into('assets'){
from 'assets'
exclude 'config', 'cache', 'music', 'sounds', 'sprites/fallback'
}
into('assets-raw/sprites'){
from 'assets-raw/sprites_out'
include '**/*.png'
}
}
task musicJar(type: Jar){
archiveClassifier = 'music'
from files("assets"){
include "music/*", "sounds/*"
into('assets'){
from 'assets'
include '**/*.ogg', '**/*.mp3'
}
}
dependencies{
compileJava.dependsOn(preGen)
api "org.lz4:lz4-java:1.8.0"
api "at.yawk.lz4:lz4-java:1.10.2"
api arcModule("arc-core")
api arcModule("extensions:flabel")
api arcModule("extensions:freetype")
api arcModule("extensions:g3d")
api arcModule("extensions:fx")
api arcModule("extensions:arcnet")
implementation arcModule("extensions:filedialogs")
api "com.github.Anuken:rhino:$rhinoVersion"
if(localArc && debugged()) api arcModule("extensions:recorder")
if(localArc) api arcModule(":extensions:packer")
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
compileOnly project(":annotations")
if(!project.hasProperty("noKapt")) kapt project(":annotations")
}
@@ -384,7 +429,7 @@ project(":server"){
dependencies{
implementation project(":core")
implementation arcModule("backends:backend-headless")
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
implementation 'org.jline:jline:4.0.0'
}
}
@@ -398,11 +443,19 @@ project(":tests"){
testImplementation arcModule("backends:backend-headless")
testImplementation "org.json:json:20230618"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1"
testRuntimeOnly "org.junit.platform:junit-platform-launcher"
}
tasks.withType(JavaCompile){
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_17
options.compilerArgs.addAll(['--release', '17'])
}
test{
//fork every test so mods don't interact with each other
forkEvery = 1
jvmArgs = ["-XX:+HeapDumpOnOutOfMemoryError"]
useJUnitPlatform()
workingDir = new File("../core/assets")
testLogging{
@@ -422,8 +475,8 @@ project(":tools"){
implementation arcModule("natives:natives-freetype-desktop")
implementation arcModule("backends:backend-headless")
implementation("com.google.guava:guava:33.3.1-jre")
annotationProcessor 'com.github.Anuken:jabel:0.9.0'
implementation "com.google.guava:guava:33.3.1-jre"
implementation 'com.github.javaparser:javaparser-core:3.28.2'
}
}
@@ -446,9 +499,6 @@ configure([":core", ":server"].collect{project(it)}){
publications{
maven(MavenPublication){
from components.java
if(project.name == "core"){
artifact(tasks.named("assetsJar"))
}
}
}
}
@@ -469,7 +519,6 @@ task deployAll{
dependsOn cleanDeployOutput
dependsOn "desktop:packrLinux64"
dependsOn "desktop:packrWindows64"
dependsOn "desktop:packrWindows32"
dependsOn "desktop:packrMacOS"
if(versionModifier != "steam"){
dependsOn "server:deploy"
@@ -485,3 +534,9 @@ task resolveDependencies{
}
}
}
if(System.getProperty("compileMethodParams") != null){
project(":core").tasks.withType(JavaCompile).configureEach{
options.compilerArgs << '-parameters'
}
}
+195 -7
View File
@@ -308,12 +308,6 @@
"discord-logo-white"
]
},
{
"uid": "dd6df3b754e8d0dbf09d9b24088f0442",
"css": "box",
"code": 59422,
"src": "iconic"
},
{
"uid": "f08ba9f0e8f9b426a92efcaa59c1e932",
"css": "reddit-alien",
@@ -1069,6 +1063,200 @@
"search": [
"planet"
]
},
{
"uid": "ec43f846ca53702f30310718d627f2b5",
"css": "arrow-note",
"code": 59444,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M50 0L0 50V150 250 350 450 550 650L50 700H150 250 350 450 550 650 750L800 750 750 800 700 850V950L750 1000H850L900 950 950 900 1000 850 1050 800 1100 750 1150 700 1200 650V550L1150 500 1100 450 1050 400 1000 350 950 300 900 250 850 200H750L700 250V350L750 400 800 450 750 500H650 550 450 350 250L200 450V350 250 150 50L150 0Z",
"width": 1200
},
"search": [
"arrow-note"
]
},
{
"uid": "9ea0a737ccc45d6c510dcbae56058849",
"css": "music",
"code": 59402,
"src": "fontawesome"
},
{
"uid": "81db033e704eb7c586a365559d7c0f36",
"css": "file-audio",
"code": 61895,
"src": "fontawesome"
},
{
"uid": "e44601720c64e6bb6a2d5cba6b0c588c",
"css": "volume-off",
"code": 59404,
"src": "fontawesome"
},
{
"uid": "fee6e00f36e8ca8ef3e4a62caa213bf6",
"css": "volume-down",
"code": 59423,
"src": "fontawesome"
},
{
"uid": "76857a03fbaa6857fe063b6c25aa98ed",
"css": "volume-up",
"code": 59424,
"src": "fontawesome"
},
{
"uid": "3db5347bd219f3bce6025780f5d9ef45",
"css": "tag",
"code": 59425,
"src": "fontawesome"
},
{
"uid": "a3f89e106175a5c5c4e9738870b12e55",
"css": "tags",
"code": 59432,
"src": "fontawesome"
},
{
"uid": "69bd9dfe950d07d910f39c6988364e49",
"css": "battery-4",
"code": 62016,
"src": "fontawesome"
},
{
"uid": "7ab4ec24078133effbc4e923b65ef835",
"css": "battery-3",
"code": 62017,
"src": "fontawesome"
},
{
"uid": "e430a168b45ba40aa988ca1a5034a553",
"css": "battery-2",
"code": 62018,
"src": "fontawesome"
},
{
"uid": "99f4ea74adc24022106932d84a49b055",
"css": "battery-1",
"code": 62019,
"src": "fontawesome"
},
{
"uid": "9983d2489e028d659d196915a25ef3ca",
"css": "battery-0",
"code": 62020,
"src": "fontawesome"
},
{
"uid": "26613a2e6bc41593c54bead46f8c8ee3",
"css": "file-code",
"code": 61897,
"src": "fontawesome"
},
{
"uid": "dd69d9aa589ea7bc0a82a3fe67039f4b",
"css": "file-video",
"code": 61896,
"src": "fontawesome"
},
{
"uid": "e80ae555c1413a4ec18b33fb348b4049",
"css": "file-archive",
"code": 61894,
"src": "fontawesome"
},
{
"uid": "c95735c17a10af81448c7fed98a04546",
"css": "folder-open",
"code": 59438,
"src": "fontawesome"
},
{
"uid": "b091a8bd0fdade174951f17d936f51e4",
"css": "folder-empty",
"code": 61716,
"src": "fontawesome"
},
{
"uid": "6533bdc16ab201eb3f3b27ce989cab33",
"css": "folder-open-empty",
"code": 61717,
"src": "fontawesome"
},
{
"uid": "c7a75a25880928fe76981a53eca4f926",
"css": "inbox",
"code": 59439,
"src": "fontawesome"
},
{
"uid": "6fe95ffc3c807e62647d4f814a96e0d7",
"css": "sitemap",
"code": 61672,
"src": "fontawesome"
},
{
"uid": "2c413e78faf1d6631fd7b094d14c2253",
"css": "cloud",
"code": 59441,
"src": "fontawesome"
},
{
"uid": "de2fc7a5c986ab8c622f63455d7cf814",
"css": "upload-cloud",
"code": 61678,
"src": "fontawesome"
},
{
"uid": "f5999a012fc3752386635ec02a858447",
"css": "download-cloud",
"code": 61677,
"src": "fontawesome"
},
{
"uid": "e7a4824e79002c2d8ce3047b2da8b5a2",
"css": "rain",
"code": 59442,
"src": "typicons"
},
{
"uid": "ac10a3a3077eab1b9d66509eb25fb9b4",
"css": "cloud-sun",
"code": 59448,
"src": "typicons"
},
{
"uid": "6f200a5a449259c51cd0ccf56b4c1e93",
"css": "drizzle",
"code": 59452,
"src": "typicons"
},
{
"uid": "3cac7625657b10cf706e7f332749c912",
"css": "cloud-flash",
"code": 59456,
"src": "typicons"
},
{
"uid": "364cc69fb3edb8fb21caa6a2c0489589",
"css": "cloud-wind",
"code": 59457,
"src": "typicons"
},
{
"uid": "cc05df515bebe11df3ada0a5910a8f6d",
"css": "box",
"code": 59422,
"src": "entypo"
},
{
"uid": "d5f287ad8e3a2db8f808bc09980ec3dc",
"css": "chart-alt",
"code": 59459,
"src": "typicons"
}
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 B

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

After

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 633 B

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 B

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 B

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 B

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Some files were not shown because too many files have changed in this diff Show More