Compare commits

...
1542 Commits
Author SHA1 Message Date
Anuken 294ab0a81b Better initial bridge arrows 2021-08-04 19:16:14 -04:00
Anuken aa80f06f7b Cleanup & bullet bugfixes 2021-08-04 19:02:36 -04:00
Anuken dd738a0108 Removed puddle 'generation' 2021-08-04 18:32:10 -04:00
Anuken 3be5296572 Fixed #5699 2021-08-04 13:52:17 -04:00
Anuken cfa844f960 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-08-04 11:35:19 -04:00
Anuken 3b7afec360 arc 2021-08-04 11:35:15 -04:00
GaviTSRA a9412c4f62 Updated hub ip of TSR Server (#5698) 2021-08-04 09:27:21 -04:00
Arik 2f57705f13 Fix saving tags of overwritten schematic (#5696) 2021-08-04 09:27:01 -04:00
Anuken ee47bffb1c Merge remote-tracking branch 'origin/master' 2021-08-04 09:26:43 -04:00
Anuken 909c64468f Fixed #5695 / Fixed #5697 2021-08-04 09:26:39 -04:00
RebornTrack970 d7d7b73c54 Mindustry PvP 1v1 test server Added to Omega (#5692)
Fot testing.
2021-08-03 17:16:14 -04:00
Anuken f820121e08 Sector bugfixes / More sector info 2021-08-03 16:01:27 -04:00
Anuken 0b036acb75 Merge remote-tracking branch 'origin/master' 2021-08-03 10:10:46 -04:00
Anuken 4d4ae7b2db #5690 2021-08-03 10:10:42 -04:00
Darkness6030 7f896723be Small changes in reloadmaps command (#5687)
Idk is it useful, but why not
2021-08-03 09:33:27 -04:00
Anuken 36deb5e225 Fixed #5688 2021-08-03 09:25:41 -04:00
Anuken 116422f1e7 arc 2021-08-02 21:47:29 -04:00
Anuken a3d1dd91d9 Dispose display framebuffer on remove 2021-08-02 08:53:50 -04:00
Anuken 41964cd130 Unordered damaged building indices 2021-08-01 20:35:10 -04:00
Anuken d9a92dc10e Minor deployment script fixes 2021-08-01 18:01:36 -04:00
Anuken 9c1f897fff Fixed #5684 2021-08-01 17:00:24 -04:00
Anuken e64cd905d6 Fixed #5685 2021-08-01 13:27:21 -04:00
Anuken fc80c23dde Auto-generate block paletted team regions for mods 2021-07-31 21:31:36 -04:00
Anuken 84b69a683a PvP team color palettes 2021-07-31 18:50:55 -04:00
Anuken 79bf77f4be WIP team icons 2021-07-31 18:23:22 -04:00
Anuken 78c35221be arc 2021-07-31 11:22:18 -04:00
Anuken 1d257c1a35 Mod import progress bar 2021-07-31 10:58:09 -04:00
Anuken ef92236cb4 Gradle 7.1.1 2021-07-31 09:47:44 -04:00
Anuken 90bc18e1bd Fixed #5677 2021-07-31 08:38:03 -04:00
Anuken 9f6c45f4a0 Merge remote-tracking branch 'origin/master' 2021-07-30 22:49:55 -04:00
Anuken b7842bbb26 warmup = 1 for bridges without power 2021-07-30 22:49:51 -04:00
JrTRinny 589430055e translation update (#5670) 2021-07-30 22:19:27 -04:00
BlueWolf 8f6fe08b1c fix some misleading comments (#5676) 2021-07-30 21:51:35 -04:00
Anuken f354b6bcca pulverizer drawSpinSprite 2021-07-30 19:43:29 -04:00
Anuken d02a017c03 arc 2021-07-30 18:59:18 -04:00
Anuken 6d58997f71 arc 2021-07-30 18:35:50 -04:00
Anuken 7d72c4dc63 arc 2021-07-30 18:13:30 -04:00
Anuken 3b9700793c arc 2021-07-30 16:43:26 -04:00
Anuken 0c03c47eb9 Disabled crash sending + arc 2021-07-30 16:26:25 -04:00
Anuken 2d35a024e2 arc 2021-07-30 15:29:12 -04:00
Andrew Antsiferov eac11045ff Fix typo (#5674)
of the -> of the tile.
2021-07-30 14:57:23 -04:00
Anuken a7cc6185ad Proper name/impl for "borderless windowed" on Windows 2021-07-30 14:27:46 -04:00
Anuken d855840fe2 Fixed #5672 2021-07-30 13:05:12 -04:00
Anuken 81419eddbe Merge remote-tracking branch 'origin/master' 2021-07-30 11:58:06 -04:00
Anuken fc41ad36f7 Fixed damaged building memory leak 2021-07-30 11:58:01 -04:00
RebornTrack970 676a064b6b Updated TR bundle to Build 21565 (#5671) 2021-07-30 10:46:25 -04:00
Anuken 9e1ba3e235 Darkened chat background slightly 2021-07-30 09:33:35 -04:00
Anuken ad23544f24 Merge remote-tracking branch 'origin/master' 2021-07-29 11:26:07 -04:00
Anuken 296f9b9da5 Smoother bridge animation start/stop 2021-07-29 11:26:01 -04:00
buthed010203 47398f71a8 Utility method for mods (#5667)
* Utility method for mods

I don't want to have to read something this horrible ever again ![](https://aethex.is-a.fail/55DesOkHk.png)

* Update StorageBlock.java
2021-07-29 11:13:10 -04:00
Anuken a36f872b61 Use ModLoadException instead of IllegalArgumentException 2021-07-29 09:20:51 -04:00
Anuken dbebe2ab29 Merge remote-tracking branch 'origin/master' 2021-07-29 09:16:58 -04:00
Anuken ccb973d1dd Log incompatible mod class loaders 2021-07-29 09:16:53 -04:00
buthed010203 132b1fe0c4 This bothers me (#5664)
* This bothers me

absolutely horrible

* Update gradle.properties
2021-07-28 18:23:23 -04:00
Anuken 8702ebd706 Update deployment.yml 2021-07-28 18:20:08 -04:00
Anuken 4734261097 Fixed unit building not starting when some resources are missing 2021-07-28 18:08:17 -04:00
Anuken 78f55765c1 Clear fallback sprite for core thrusters 2021-07-28 17:49:01 -04:00
Anuken bdb4ae2f85 Typo fix 2021-07-28 17:28:01 -04:00
Anuken 850b0d0210 Merge remote-tracking branch 'origin/master' 2021-07-28 17:08:56 -04:00
Anuken fa0f161106 Minor swarmer range buff 2021-07-28 17:08:48 -04:00
Prosta4okua 59aff44a55 Update bundle_uk_UA.properties (#5540) 2021-07-28 16:58:06 -04:00
YellOw139 aa74679998 [Bundle][RO] Update (#5573)
* [Bundle][RO] Update

Changelog:

- New strings/changes up to commit 8041c305ad
- Typo fixes & various other improvements

* Update bundle_ro.properties

* Update bundle_ro.properties

* settings

* Update bundle_ro.properties

* new blocks

* new units I

* new units II

* Update bundle_ro.properties

* Update bundle_ro.properties
2021-07-28 16:57:54 -04:00
Anuken 61db253d4a Merge remote-tracking branch 'origin/master' 2021-07-28 11:51:25 -04:00
Anuken fef8ee925b Potential fix for #5660 2021-07-28 11:51:20 -04:00
Ksawi 5cb5434ffe Update bundle_pl.properties (#5572)
* Update bundle_pl.properties

Added translation of statuses and processor functions. Changed few translations.

* content.status.name

* Update bundle_pl.properties

* Update bundle_pl.properties

* Flares in omura.description

* Update bundle_pl.properties

* Now better?

* Update bundle_pl.properties

* Better names

* Update bundle_pl.properties

* bullet.lightning

* mods.browser

* Badania -> Zbadaj

* Final statuses names (I think)

* Ready to merge

* Tutorial (as in #5206)

* Research

* Final changes
2021-07-28 10:45:49 -04:00
Catchears 2f71a4092f german v7 update (#5631) 2021-07-28 10:45:15 -04:00
VizardAlpha a97573c5a9 Updates bundle_fr.properties (#5611)
* Updates bundle_fr.properties

Add and translate.
Commits on Jul 13, 2021
Commits on Jul 17, 2021 
Commits on Jul 18, 2021

* Minor. Correcting translation errors

* Add commit

* Add commit

* Add new commit

Translation not finish;
unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret.

* Translation finish

* Added hint & tooltip for derelict structures

* Correction of an error

hint.placeTurret = Placez des \fuf861 -> hint.placeTurret = Placez des \uf861

* Fixed #5645

servers.local.steam = Open Games & Serveurs Locaux 

Not finish

* Removed flow rate option
2021-07-28 10:45:02 -04:00
Sharlotte 108baa467d Update bundle_ko.properties (#5604)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* halha

* Update bundle_ko.properties
2021-07-28 10:44:44 -04:00
JrTRinny 193015f1cd update bundle_th.properties (#5591)
* separated from `#5491`

* follow latest changes

like settings tooltips, large launch pad removal and clean up team PvP

* follow latest changes

* descriptions for new content

* line spacings and edit errors

* derelict tooltips

* open games

* remove resource flow rate
2021-07-28 10:44:35 -04:00
Anuken b64432dafd Allow placing blocks with 0 requirements of an item 2021-07-28 08:38:45 -04:00
buthed010203 d66bb3a539 Better Plan Skipping 2: Electric Boogaloo (#5659)
Fixing a problem that I created. Just allows for plan switching when items are low when the player isnt in range of the building they were previously building.
Before: ![](https://aethex.is-a.fail/55tN9oFIC.png)
After: ![](https://extremely.questionable.link/55tNBlX8h.png)
2021-07-27 20:20:27 -04:00
Anuken 5ca5025fb1 Final core launch animation / Added option to skip core animations 2021-07-27 19:02:04 -04:00
Anuken 497a68e792 Merge remote-tracking branch 'origin/master' 2021-07-27 17:43:19 -04:00
Anuken 737fa4fa69 WIP launch animation progress 2021-07-27 17:43:12 -04:00
Volas171 3d3e33912e Mindustry Reborn CAMS (update servers_v7.json) (#5651)
* CAMS

* space
2021-07-27 17:09:50 -04:00
Sunny Kim 235fee091e keep v6 mod compatibility (#5655) 2021-07-27 17:08:29 -04:00
Anuken 00e3a59463 Land animation progress / IntelliJ android plugin hack 2021-07-27 16:26:13 -04:00
Anuken 269c48b65b AmmoType refactoring 2021-07-27 12:42:50 -04:00
Anuken adbe55b0db Minor cloud bugfixes / Removed flow rate option 2021-07-27 09:08:09 -04:00
Anuken f5222674ff Unused sprite cleanup 2021-07-26 19:54:22 -04:00
Anuken c19a7e8452 New core landing animation 2021-07-26 19:29:14 -04:00
Anuken aab79a90fb Fixed #5648 2021-07-25 20:55:59 -04:00
Anuken f3b6f0a29b Fixed #5647 2021-07-25 20:17:18 -04:00
Anuken d1fb436d6d Further bridge cleanup 2021-07-25 19:55:07 -04:00
Anuken 1734d02291 Bridge code cleanup 2021-07-25 19:21:13 -04:00
Anuken f8c7739d5a Removed unitModifier flag 2021-07-25 17:17:07 -04:00
Anuken 7a1f332731 Ammo system redesign 2021-07-25 17:15:39 -04:00
Anuken 9cd19c0470 Fixed generator time not saving / 128 compat break 2021-07-25 14:35:56 -04:00
Anuken c9ca08ff1c Merge remote-tracking branch 'origin/master' 2021-07-25 12:04:52 -04:00
Anuken c14532ecae Fixed #5645 2021-07-25 12:04:17 -04:00
EnderquakeYT b66cc8d8d7 Fixed stuff and added translation (#5440)
Fixed wave.enemy and added a translation for stat.charge
2021-07-25 09:08:16 -04:00
Anuken b6ed5fbd6f Disable keyboard option on iOS 2021-07-25 08:41:06 -04:00
Anuken 2fec2156f6 Fixed #5642 2021-07-24 23:14:28 -04:00
Anuken 35b3231b84 Merge remote-tracking branch 'origin/master' 2021-07-24 21:10:46 -04:00
Anuken f77c32cbb2 New flying unit targeting system 2021-07-24 21:10:39 -04:00
MEEP of Faith 7ec5aa28b3 Include time in status effect draw (#5640) 2021-07-24 20:10:41 -04:00
Anuken 373d004752 Merge remote-tracking branch 'origin/master' 2021-07-24 12:48:29 -04:00
Anuken 0ee137fe05 Added hint & tooltip for derelict structures 2021-07-24 12:48:25 -04:00
buthed010203 9c5d75c439 Typo Fix (#5639)
do
2021-07-24 10:41:01 -04:00
Anuken adbfcdf16a Reverted vault/container health buff due to "damaged" appearance in saves 2021-07-24 09:14:38 -04:00
Anuken 0716ecad55 Merge remote-tracking branch 'origin/master' 2021-07-24 08:44:47 -04:00
Anuken 9160ee546c Allow derelict block pickup / Fixed derelict blocks being targeted 2021-07-24 08:44:43 -04:00
SoMall-dumpling 7897d2858c Update bundle_zh_CN.properties (#5530)
* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Create bundle_zh_CN.properties

* Create bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_CN.properties

Updates the latest Navy Support Units description.

* Update bundle_zh_CN.properties

Perfectly matches.
2021-07-24 08:40:23 -04:00
Anuken b88364ab48 Fixed #5638 2021-07-24 08:36:20 -04:00
Anuken 7727da40b4 Merge remote-tracking branch 'origin/master' 2021-07-23 19:40:08 -04:00
Anuken 17e68f7a93 Fixed additive reconstructor center sprite 2021-07-23 19:39:52 -04:00
Anuken 120aa7c12a Cleanup 2021-07-23 17:56:13 -04:00
buthed010203andAnuken 53214f0ddc Enable mining of sand when double click to mine is enabled (#4788)
* Sand mineable with double click to mine enabled

Since the only reason sand is un-mineable in the first place is because accidentally mining it is annoying, it should be enabled for double click to mine.

* only show sand as mineable when double click mine is enabled

Co-authored-by: Anuken <arnukren@gmail.com>
2021-07-23 15:51:26 -04:00
Anuken d89a1fac70 Update pull_request_template.md 2021-07-23 15:50:09 -04:00
Semetrix 0c00000910 Add a second Hungarian server (#5636) 2021-07-23 15:49:42 -04:00
buthed010203 f4f46eb924 Better plan skipping (#5634)
This prevents the plans being skipped when there is a large number of items entering the core yet the core is still starved of that item.
2021-07-23 13:45:48 -04:00
Anuken b873adf5fc docs 2021-07-23 10:25:12 -04:00
Anuken 72fb66e5b2 Anuken/Mindustry-Suggestions/issues/2730 2021-07-22 11:21:23 -04:00
Anuken af691c980d Merge remote-tracking branch 'origin/master' 2021-07-21 21:03:30 -04:00
Anuken b3be906e28 Removed MendProjector phase coloration 2021-07-21 21:03:26 -04:00
buthed010203 1c22e2ed28 Update StatValues.java (#5629)
Why is this number 0? The default amount should be 1, the timeperiod is already set to 0 everywhere anyways.
2021-07-21 15:50:35 -04:00
Anuken 95fd073432 Merge remote-tracking branch 'origin/master' 2021-07-21 09:02:13 -04:00
Anuken fcb9ebb8c3 Thermal generator effect tweaks 2021-07-21 09:02:08 -04:00
VizardAlpha 4ab063679b Update short_description.txt for android (#5401) 2021-07-21 08:37:14 -04:00
Anuken db13bffad6 Descriptions for new content 2021-07-21 07:58:50 -04:00
Anuken b719a0cd35 Merge remote-tracking branch 'origin/master' 2021-07-20 19:56:59 -04:00
Anuken d506685bba Stacked map editor brush slider 2021-07-20 19:56:55 -04:00
Anuken 8cf2068a70 Create pull_request_template.md 2021-07-20 19:15:50 -04:00
Anuken 14e4203ee7 #4912 2021-07-20 17:59:47 -04:00
Anuken 447562b2f1 Turret accurateDelay parameter 2021-07-20 17:55:00 -04:00
Anuken 02c03e9c67 Cleanup & minor layout bugfixes 2021-07-20 17:38:09 -04:00
Anuken f8ddf952ca Improved coal centrifuge update effect 2021-07-20 15:22:57 -04:00
Anuken 8436599c79 #5050 2021-07-20 14:12:48 -04:00
Anuken 4c51519b8a #4886 2021-07-20 13:59:19 -04:00
Anuken 0f199fa4b4 Partial impl of #2923 2021-07-20 13:17:18 -04:00
Anuken b28aff4a7b Sector items display fixes 2021-07-20 12:05:10 -04:00
Anuken ba227d64fb #5224 2021-07-20 11:42:11 -04:00
MEEP of Faith 7656aedb6b Drawf.Laser with different ends (#5301)
* Laser with different ends

* Allow usage of different ended TractorBeamTurret lasers

* oops

* aaaa

* too. many. commits.

* Remove rotation

* I shouldn't be allowed to edit from the browser.
2021-07-20 11:22:17 -04:00
Phinner 6e967dce70 Add xpdustry.fr to server_v6.json (#5625)
A server for my dear french Mindustry players, dedicated for plugin testing and survival maps.
2021-07-20 11:19:03 -04:00
Patrick 'Quezler' Mounier 232415f1d7 Move capping code from armored to normal conduits (#4979) 2021-07-20 11:05:35 -04:00
Anuken b2ed0ee884 #4440 2021-07-20 10:56:58 -04:00
Anuken 6ffc8ba3c5 #4874 2021-07-20 10:45:15 -04:00
Anuken 82f0d6a542 Fixed core capture crash 2021-07-20 10:28:58 -04:00
Anuken 40e0303786 Merge remote-tracking branch 'origin/master' 2021-07-20 10:20:11 -04:00
Anuken 0e3bb40eb4 More mobile input targeting fixes 2021-07-20 10:20:06 -04:00
notrealn 730cb14f6a Fix turret shooting priority when there are multiple teams (#5299) 2021-07-20 09:00:19 -04:00
Anuken c18ab184b7 Merge remote-tracking branch 'origin/master' 2021-07-20 08:49:10 -04:00
Anuken b85cbe515e Fixed #5621 2021-07-20 08:49:02 -04:00
buthed010203 b58f202e9e Allow hiding of steam servers (#5618)
* Allow hiding of steam servers

Theres no way to hide them while keeping them public in the steam api so instead this jank is needed. This wont do anything on a vanilla install but will allow people hosting headless steam servers to hide them if they only use the server to verify if players are on steam or not.

* Hide only when hidden = true
2021-07-19 20:57:36 -04:00
Sunny Kim fde23ceea0 SpinSprite DrawRotator for json mods (#5619) 2021-07-19 19:11:53 -04:00
buthed010203 aab2437c4c Dont disconnect when connecting to steam servers on non steam (#5617)
This will allow sending steam players to steam servers while completely ignoring non steam ones.
2021-07-19 18:42:03 -04:00
Ilya246 b7f7be839d Update .pl servers (#5599)
* Update .pl servers

* Update servers_v7.json
2021-07-19 18:34:14 -04:00
Anuken 6b7a63aba5 Cleanup 2021-07-19 15:20:53 -04:00
Anuken 0c46d5088c Better laser/blast drill rotators 2021-07-19 14:11:07 -04:00
Anuken 254425d9ad Merge branch 'sk7725-cool-drills' 2021-07-19 09:00:54 -04:00
Anuken c7ff20d47d Fracker + SolidPump spinner lighting 2021-07-19 09:00:35 -04:00
Anuken 1db5a9f3c2 Merge branch 'cool-drills' of git://github.com/sk7725/Mindustry into sk7725-cool-drills 2021-07-19 08:55:10 -04:00
Anuken 34cf8466d6 Added default value for mass driver bullet 2021-07-19 08:44:19 -04:00
Sunny Kim 8c20203084 formatting 2021-07-19 17:09:17 +09:00
Sunny Kim a7ed7a71d5 drawSpinSprite 2021-07-19 16:40:57 +09:00
Sunny Kim 2583541c0f spinSprite 2021-07-19 16:36:58 +09:00
Anuken 1674b2dfd6 Fixed #5609 2021-07-18 16:31:13 -04:00
Anuken 96de7c8321 Merge remote-tracking branch 'origin/master' 2021-07-18 14:41:05 -04:00
Anuken 7879648090 Suppress invalid save meta errors 2021-07-18 14:40:59 -04:00
Darkness6030 5772f5e7da So now Mindurka => Darkdustry (#5608)
I've changed the server name cuz mindurka sounds strange
Now we are DarkDustry
2021-07-18 14:39:12 -04:00
Anuken 54db6bda85 Merge remote-tracking branch 'origin/master' 2021-07-18 12:49:02 -04:00
Anuken 4ffcf252b7 Fixed bullet heal percent being displayed as 0 when <1 2021-07-18 12:48:57 -04:00
Anuken b3b44214e0 No need to run own server with so many alternatives 2021-07-18 12:45:26 -04:00
Anuken 89942416ac Core containers/vaults no longer explode violently 2021-07-18 12:12:04 -04:00
Anuken 974d3498c1 Settings tooltips 2021-07-18 11:11:28 -04:00
Mina Her 1804111f88 Add spacing between name and value in slider (#5601) 2021-07-18 09:15:04 -04:00
Anuken 5b2dc021a6 Prevent concurrent modification in BlockIndexer#eachBlock 2021-07-18 08:56:48 -04:00
Anuken 37d7b3d7fb Fixed screen shake moving camera pan position 2021-07-17 20:45:53 -04:00
Anuken 33d4ab9edb Fixed block plans not being deleted locally 2021-07-17 19:17:47 -04:00
Anuken f7f2b3438c Use short filter names in JSON 2021-07-17 16:46:35 -04:00
Anuken 0ed7934df0 arc 2021-07-17 15:33:19 -04:00
Anuken 55920e6242 Cleanup 2021-07-17 15:18:51 -04:00
Anuken 820920e5f9 Redundant cast cleanup 2021-07-17 09:30:31 -04:00
Anuken 8e21c627a7 Improved Serpulo sector path generation 2021-07-17 09:22:02 -04:00
Anuken 6973ed7d55 PvP defeated team cleanup 2021-07-17 08:52:24 -04:00
Anuken 0980495a28 (commented) support for Call server-to-client sounds 2021-07-16 15:39:03 -04:00
Anuken 5c6b659ce3 Possible rare crash fix 2021-07-16 12:59:50 -04:00
Anuken 35e263223d Merge remote-tracking branch 'origin/master' 2021-07-16 12:37:36 -04:00
Anuken 07ba378095 Hide construct/legacy blocks 2021-07-16 12:37:31 -04:00
buthed010203 6e10f86546 Display item rates on reconstructors (#5581)
Display the rates here because why not
![]https://mee6.is-terrible.com/54feDAY76.png
2021-07-16 12:21:58 -04:00
RebornTrack970 fc6ee11ffe Some more servers are back (#5594)
* Servers Back

* Update servers_v7.json
2021-07-16 12:19:56 -04:00
Anuken 84cd87370f Merge remote-tracking branch 'origin/master' 2021-07-16 10:06:07 -04:00
Anuken 822fe9ab7a Fixed inaccessible gaps in Serpulo generator 2021-07-16 10:05:59 -04:00
Sharlotte 57b22a9cab Update bundle_ko.properties (#5590) 2021-07-16 08:56:23 -04:00
Anuken 278c4f17e5 Why was this class even created 2021-07-15 20:19:51 -04:00
Anuken b0d4607798 Fixed #5588 2021-07-15 20:08:05 -04:00
Anuken 3f7dc66ac0 Fixed #5587 2021-07-15 14:55:32 -04:00
Anuken 1c2b1fb757 System property cleanup 2021-07-15 11:27:21 -04:00
Anuken eb31483a15 Fixed #5585 2021-07-15 10:18:08 -04:00
Anuken 8fb7cdaba6 Fixed #5584 2021-07-15 10:10:36 -04:00
Anuken 61d81046ae Fixed #5583 2021-07-15 08:46:56 -04:00
Anuken 0c3d7e09e0 Don't crash when font glyphs are missing 2021-07-14 21:40:47 -04:00
Anuken a9f9ddcacf AnnotationProxyMaker workaround cleanup 2021-07-14 19:52:43 -04:00
Anuken a559c3581e Fixed continuous weapon sounds / Improved naval support audio 2021-07-14 18:46:51 -04:00
Anuken dd5389c738 New sound for rock/plant breaking 2021-07-14 17:22:21 -04:00
Anuken ac25e17286 Unused property cleanup 2021-07-14 16:06:03 -04:00
Anuken 9de4c89e76 Fixed #5582 2021-07-14 15:55:40 -04:00
Anuken 2f6846d8c3 Conveyor tweaks 2021-07-14 15:12:00 -04:00
Anuken c3e60531c4 Merge remote-tracking branch 'origin/master' 2021-07-14 09:28:05 -04:00
Anuken 44aff82a6c "Fixed" #5580 2021-07-14 09:27:59 -04:00
alex 7619e7643d Update v6 servers for alex servers (#5576) 2021-07-14 09:23:53 -04:00
RebornTrack970 353ef05b93 OmegaHub is back (kinda) (#5578) 2021-07-14 09:23:41 -04:00
Anuken 2801e4ed80 Fixed #5579 2021-07-14 09:14:19 -04:00
Anuken 173dd0a90e Fixed #5577 2021-07-14 09:07:17 -04:00
Anuken e5412aeb1b Inventory constant cleanup 2021-07-13 17:38:42 -04:00
Anuken 0eec955a3d #5563 2021-07-13 10:42:00 -04:00
Anuken 47038ac06d Longer mod test timeout 2021-07-13 10:33:44 -04:00
Anuken 8041c305ad Misc bugfixes 2021-07-13 10:28:35 -04:00
Anuken e0d249898e Fixed mod dialog width... again. 2021-07-12 16:18:29 -04:00
Anuken a1f5982a85 Fixed loading bar stroke not scaling correctly 2021-07-12 15:36:43 -04:00
Anuken 3c688d3fec arc 2021-07-12 15:35:08 -04:00
Anuken 889a9a7a05 Merge remote-tracking branch 'origin/master' 2021-07-12 15:06:46 -04:00
Anuken ce6c39b7aa Reorganized settings 2021-07-12 15:06:41 -04:00
VizardAlpha 2a1fdded72 bundle_fr.properties Updates (#5558)
* bundle_fr.properties Updates

Add new commits

* Update Bundle
2021-07-12 14:49:24 -04:00
Angel-24 2b757fe107 Update bundle_es.properties (#5526)
Updated Spanish trasnlations to the 1 - Jul - 2021 changes in "bundle.properties".
2021-07-12 14:47:17 -04:00
Sharlotte a8d78453ff Update bundle_ko.properties (#5527) 2021-07-12 14:47:05 -04:00
Antsiferov AndrewandVanguard 2b88396aac [Bundle][RU] Update (#5531)
* double newline fix

hint.guardian

* 13 changed lines

mod.enabled
mod.disabled
status.burning.name
status.freezing.name
status.wet.name
status.melting.name
status.sapped.name
status.spore-slowed.name
status.tarred.name
status.overclock.name
status.shocked.name
status.blasted.name
status.unmoving.name

* yon't

* x'nt

* Update bundle_ru.properties

* 1 new, 1 changed

New:
stat.healing

Changed:
bullet.healpercent

* Inverse trig logic functions

See https://github.com/Anuken/Mindustry/commit/00ca247d0f40534b373209f578ef2f617c5da88a

* new v7 stuff, long list

New:
schematic.tags
schematic.edittags
schematic.addtag
schematic.texttag
schematic.icontag
schematic.renametag
schematic.tagdelconfirm
schematic.tagexists
tps
guardian
sector.changeicon
status.electrified.name
unsupported.environment
stat.repairspeed
ability.energyfield
bar.strength
rules.corecapture
block.rhyolite.name
block.repair-turret.name
hint.blockInfo
lenum.config
laccess.progress
unit.retusa.name
unit.oxynoe.name
unit.cyerce.name
unit.aegires.name
unit.navanax.name
block.duct.name
block.duct-router.name
block.duct-bridge.name
block.payload-propulsion-tower.name
block.payload-void.name
block.payload-source.name
filter.option.rotate

Changed:
stat.repairtime
bullet.pierce
team.crux.name
team.sharded.name
item.titanium.description

Deleted:
quit.confirm.tutorial
boss.health
team.orange.name
lenum.configure

* Update bundle_ru.properties

* 1 line changed

unit.oxynoe.name

* роутер-marshrutizator

ibglish

* 2 lines changed

block.surge-wall.name
block.surge-wall-large.name

* 3 new, 2 changed

New:
stat.showinmap
block.metal-floor-4.name
block.metal-floor-5.name

Changed:
stat.affinities
stat.opposites

* undone the dumb

* 1 new line

filter.option.replacement

* 1 new, 1 changed

New:
rules.polygoncoreprotection

Changed:
hint.respawn

* Fixed outdated minke description

unit.minke.description: "зажигательными" -> "артиллерийскими"

* 3 new lines

unit.tilessecond (ec59cb602c)
lst.wait, lst.lookup (0949852758)

* typo

еденицы -> единицы

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2021-07-12 14:46:46 -04:00
Antsiferov Andrew f856ad16ba Fixed a typo (#5532) 2021-07-12 14:46:36 -04:00
Anuken f36d47c13f Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-07-12 12:36:48 -04:00
Anuken 4f98bc95a2 Better sliders 2021-07-12 12:36:45 -04:00
Arik ec3dc867c1 Always increment launchpad counter (#5569) 2021-07-12 12:33:17 -04:00
Antsiferov Andrew 7fea7e91aa Correct comment (#5568)
This is `UI.packer`, not `Fonts.packer`.
2021-07-12 09:23:36 -04:00
TranquillyUnpleasant 1ea545ccb2 fix (#5567) 2021-07-12 09:23:20 -04:00
buthed010203 e5e2d0ab03 Fix payload driver crash (#5565)
Similar to the mass driver one, https://i-dont.go-outsi.de/53ZwBY_YS.png
2021-07-11 14:39:33 -04:00
Anuken c94e7aa031 Mod bugfixes 2021-07-11 12:03:10 -04:00
Anuken 5d1af6fb76 Android release debuggable; fixes default interfaces 2021-07-11 11:54:07 -04:00
Anuken 3b400ac3f3 just in case 2021-07-11 10:15:53 -04:00
Anuken 308176ee81 Revert theme removal / Android jar import bugfixes 2021-07-11 10:13:34 -04:00
Anuken 8a84ebb58d Fixed server IO errors / Fixed kick IP tracing 2021-07-10 22:18:58 -04:00
Anuken 158d11d3ba arc 2021-07-10 18:54:22 -04:00
Anuken beec1eeaba Fixed #5561 2021-07-10 12:32:29 -04:00
Anuken 63a1f4e2de Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-07-10 11:33:09 -04:00
Anuken 7d845951e9 Fixed #5560 2021-07-10 11:33:05 -04:00
Anuken 48d9ea6aa1 Deleted all v6 servers with incorrect versions 2021-07-10 08:39:32 -04:00
RebornTrack970 ae83e604ba Added Rush V7 (#5557)
* Added Rush V7

Hosted by Red.

* Fixed

* Update servers_v7.json
2021-07-10 08:32:57 -04:00
키에르 c156968be6 update kr server list & Fix json format (#5559) 2021-07-10 08:32:05 -04:00
Anuken effe2312e0 no 2021-07-09 16:51:12 -04:00
Anuken 1c389dc7f8 Fixed #5553 2021-07-08 13:42:30 -04:00
Anuken 972ca71978 Team-colored force projectors 2021-07-08 12:14:20 -04:00
Anuken fb35adb494 Added AttributeCrafter env calculation 2021-07-08 11:06:46 -04:00
Anuken 22813b71ff Ignore all future changelogs 2021-07-08 09:47:01 -04:00
Anuken 02243d1f5c Merge remote-tracking branch 'origin/master' 2021-07-08 09:46:21 -04:00
Anuken e2b2e8fb4e Deleted all Android changelogs - see below for details
Android changelogs are practically use due to their character limit; GitHub changelogs should be used instead. Translations always arrive a few days after an update, so they are seldom read.
2021-07-08 09:46:10 -04:00
Anuken 390ceb8887 FileChooser cleanup 2021-07-08 09:33:44 -04:00
Patrick 'Quezler' Mounier 2167a3d7fe Remove double space (#5551) 2021-07-08 09:32:53 -04:00
Anuken 6f2033a455 arc 2021-07-07 19:28:34 -04:00
Anuken 2ae7863cae arc.util.Http migration 2021-07-07 19:00:32 -04:00
Anuken 02b42c51da Fixed #5549 2021-07-07 13:38:39 -04:00
Anuken 0ba26b22c0 Fixed #5548 2021-07-06 16:32:42 -04:00
Anuken 017552f573 Fixed crash caused by invalid NinePatch sprites 2021-07-06 15:23:37 -04:00
Anuken 01a3c772e7 Sync unit velocity / Sync separator seed / 127.x Compat break 2021-07-06 11:41:05 -04:00
Anuken 5693605f31 Correct Bullet#scaleVelocity documentation 2021-07-06 11:10:11 -04:00
Anuken 481881aa8b Prop cleanup / Optimization of large skybox PNG 2021-07-05 21:18:40 -04:00
Anuken 544660c4bb Fixed #5545 2021-07-05 15:11:53 -04:00
Anuken 3d8d84177b Map listing improvements 2021-07-04 21:30:47 -04:00
TranquillyUnpleasant 789e354400 Server qol (#5534) 2021-07-04 21:18:41 -04:00
TranquillyUnpleasant 4fdb817d4a move domains (#5542) 2021-07-04 21:16:47 -04:00
Anuken 4055361501 Merge remote-tracking branch 'origin/master' 2021-07-04 19:14:16 -04:00
Anuken 416007593f convert_sounds.sh is no longer needed 2021-07-04 19:14:11 -04:00
Anuken 4ed9f10c1b Cleanup 2021-07-04 09:51:39 -04:00
GaviTSRA 178cb12f85 Change ip of TSR Server (#5539)
* Change ip of TSR Server

* Ip changed again - should be final
2021-07-04 09:28:40 -04:00
Vajda Simon c0582cd527 Update servers_v6.json (#5538) 2021-07-04 09:28:25 -04:00
Anuken 39e47db8c7 Merge remote-tracking branch 'origin/master' 2021-07-03 23:21:35 -04:00
Anuken ed4156850b Cached ping executor 2021-07-03 23:21:29 -04:00
Anuken 5364522a5a Update deployment.yml 2021-07-03 21:42:19 -04:00
Anuken 3382d56590 Fixed tests 2021-07-03 21:17:38 -04:00
Anuken 1e30c46322 Merge remote-tracking branch 'origin/master' 2021-07-03 20:27:09 -04:00
Anuken 3eb72d6d86 Updated to new Arc net 2021-07-03 20:27:04 -04:00
KotMilkMeoW 2d01c41159 Update servers_v7.json (#5533)
* Update servers_v7.json

* Fix
2021-07-03 10:53:19 -04:00
Anuken 0b3dddcc9e Minor reformatting 2021-07-01 17:06:35 -04:00
Anuken bc7085826e Re-generated ClassMap 2021-07-01 11:44:29 -04:00
Anuken f78ee66049 Deployment script fixes 2021-07-01 11:36:51 -04:00
Anuken fecaf768ab Allow 3x3 blocks on payload conveyors 2021-07-01 11:24:23 -04:00
Anuken ec59cb602c Crash fix / tilesSecond speed unit 2021-07-01 11:17:42 -04:00
Anuken 2ea1671739 Fixed #5519 2021-07-01 10:22:28 -04:00
Anuken f7e4936445 Merge remote-tracking branch 'origin/master' 2021-06-30 22:22:57 -04:00
Anuken d37e8c2e75 why 2021-06-30 22:22:53 -04:00
Sahrea fb8dcc5f86 Update servers_v6.json (#5518)
A server for German players. See history in #deutsch on the io Discord. https://discord.com/channels/391020510269669376/464914764066324500/859754657134936134
2021-06-30 22:22:16 -04:00
Anuken 4c4c361093 #5517 2021-06-30 22:18:57 -04:00
Anuken 9c29706297 Only draw status for player's team blocks 2021-06-30 19:09:48 -04:00
RebornTrack970 4dcac119d8 Updated TR Bundle to the latest V7 prealpha (#5505)
* Updated TR Bundle to the latest V7 prealpha

* Update bundle_tr.properties
2021-06-30 13:24:52 -04:00
Anuken f9dfd5b0b5 Commented out separator revision until 128 release 2021-06-30 13:08:19 -04:00
Patrick 'Quezler' Mounier 10dcd9cb2d outlaw separator desycning (#5516)
* Seed separators

* Sync separators

* Seed from tile position
2021-06-30 12:59:09 -04:00
Anuken c80e800ac9 Merge remote-tracking branch 'origin/master' 2021-06-30 10:49:29 -04:00
Anuken eafcbf0914 Minor unit balancing 2021-06-30 10:28:05 -04:00
ulwepo 4f561a3875 Update servers_v6.json (#5515)
Sakura is a Japanese server.
I add attack mode.
Thank you.
2021-06-30 08:34:18 -04:00
Thomas Widyantoko 5cc92506c9 [ID] Updates Indonesian V7 translation (#5513)
* Indonesian bundle update

lenum.controller description and Tar Fields map

* translation bundle sync

* Indonesian translation standardization

* healing status effect

* Indonesian translation for V7

bit confused on line 1611

* [ID] WIP polygonal core protection

* [ID] Updates Indonesian V7 translation

Logic wait & content look up instructions
2021-06-30 08:34:08 -04:00
Arik 2c8eb1e5b8 Conveyor Upgrade End Rotation (#5512) 2021-06-30 08:29:35 -04:00
Anuken 6c18634b0d Minor logic unit rotation fix / Core capture unit derelict tareting 2021-06-29 16:26:02 -04:00
Anuken c7bd9dd0fa Merge remote-tracking branch 'origin/master' 2021-06-29 12:21:56 -04:00
Anuken d8ec231a5e Fixed #5508 2021-06-29 12:21:42 -04:00
Arik 5c803594fb Fix WaveGraph Lineup (#5503) 2021-06-29 09:03:56 -04:00
Minxyzgo cececa190a Update WaterMoveComp.java (#5504) 2021-06-29 08:54:10 -04:00
OSP 38a3f1839e Change ip XCore, and add new server (#5502) 2021-06-28 18:58:39 -04:00
Anuken 2eb57ab680 Minor repair turret nerf 2021-06-28 18:57:13 -04:00
Anuken f6f1ddb826 Fixed non-existent fire being targeted 2021-06-28 13:30:54 -04:00
Anuken fcdbd4b117 Fixed liquid turrets not targeting closest fire 2021-06-28 11:35:46 -04:00
Anuken a5c44e7998 #5055 2021-06-28 10:50:04 -04:00
Anuken 8afea88023 Fixed #5500 2021-06-28 10:15:54 -04:00
Anuken 75443e4dfc Clear commanding units on sync 2021-06-28 09:56:49 -04:00
Anuken fbfb491dca Merge remote-tracking branch 'origin/master' 2021-06-28 09:25:48 -04:00
Anuken 082c17da85 Fixed #5498 2021-06-28 09:25:38 -04:00
thedimas3007 88ebf4f9db Updated (#5497) 2021-06-28 09:12:25 -04:00
OSP 18825b1697 Change IP XCore (#5494)
the old hosting is broken.
2021-06-27 18:47:11 -04:00
BasedUser 551b11877d CRAPPY DDNS IS GONE 🦀🦀🦀 (#5495) 2021-06-27 18:47:01 -04:00
Anuken 0bd1b4eedc Skip loading team regions for teams without palettes 2021-06-27 12:28:40 -04:00
Anuken d401d7838c Gradle 7.1 2021-06-27 11:10:07 -04:00
Anuken 8b2e273d41 Merge remote-tracking branch 'origin/master' 2021-06-27 09:34:59 -04:00
Anuken bdff6f9560 Repair turret nerf 2021-06-27 09:34:54 -04:00
Fatonndev bb500a53ef Add attack v7 server (#5490) 2021-06-27 09:13:22 -04:00
Volas171 7ff0811764 retire mindustry reborn from v6 (#5487) 2021-06-27 09:13:03 -04:00
Anuken 36b49b6d8b Fixed #5488 / Fixed #5489 2021-06-27 09:12:35 -04:00
Anuken e8edfb1170 Merge remote-tracking branch 'origin/master' 2021-06-26 20:55:59 -04:00
Anuken bc6fcbc86d Fixed more flaky tests 2021-06-26 20:55:52 -04:00
OSP 8853ca303e Add XCore server to the v7 global list (#5486)
My server, 1 mode - the siege.There will be more servers in the future.
2021-06-26 15:46:19 -04:00
L0615T1C5-216AC-9437 914a6fc89b Add Chaotic Neutral to the V7 Server List (#5484) 2021-06-26 14:07:02 -04:00
UnCaughT 028be85468 Add HexPvP to V7 (#5483) 2021-06-26 14:06:56 -04:00
5ffc285e1c Add mindurka to V7 list (#5471)
* Add mindurka to V7 list

* Update servers_v7.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Update servers_v7.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-26 12:29:56 -04:00
Anuken 604e6f8c47 Catch NoClassDefFoundErrors on ClientLoad 2021-06-26 11:11:27 -04:00
Anuken 4ac4f10ea0 Log mismatch errors for net buffers 2021-06-26 11:08:45 -04:00
Anuken 4c07733857 Fixed #5481 2021-06-26 11:04:03 -04:00
Anuken 7dc0f4dbc5 Merge remote-tracking branch 'origin/master' 2021-06-26 10:12:04 -04:00
Anuken 22f64fa2a5 Revert naval balance changes for now 2021-06-26 10:11:59 -04:00
KotMilkMeoW 5b0f1b5c03 Server upgrade to v7 (#5480) 2021-06-26 09:54:18 -04:00
Anuken c6e0292d03 Fixed clientside physics jitter 2021-06-26 09:52:03 -04:00
Anuken 17eee61a93 Fixed #5478 2021-06-26 09:34:25 -04:00
Anuken 3817b159cf Reduced jittery interpolation 2021-06-26 00:19:23 -04:00
Anuken 331cf2e269 arc 2021-06-25 22:58:30 -04:00
Anuken 96622848d9 Hide outdated lobbies on Steam 2021-06-25 19:49:53 -04:00
Anuken bcdc8867e6 Merge remote-tracking branch 'origin/master' 2021-06-25 19:36:07 -04:00
Anuken eaeb67b91f Fixed #5474 2021-06-25 19:35:34 -04:00
Catchears ebd444cc5f final v7 german translation (#5473) 2021-06-25 16:57:20 -04:00
L0615T1C5-216AC-9437andAnuken ff1ab9dd42 Add Chaotic Neutral Survival to BE Server List (#5435)
Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-25 16:22:11 -04:00
Ilya246 7e2c830f9c Add .pl to 7.0 serverlist (#5466)
* Add .pl to 7.0 serverlist

.pl will move to 7.0 once b127 is out
Somka currently can't make a PR by himself so i asked him whether i should and, after a positive answer, did it for him

* Update servers_v7.json
2021-06-25 16:01:38 -04:00
Volas171andAnuken 0cc2214951 Add Mindustry Reborn to V7 Alpha list (#5470)
* v7

* be removal

* formatting

Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-25 14:41:24 -04:00
Anuken 47443d5ae7 Merge remote-tracking branch 'origin/master' 2021-06-25 14:37:36 -04:00
Anuken cd2c605036 Suppress certain mod errors on client load 2021-06-25 14:37:32 -04:00
RebornTrack970andPatrick 'Quezler' Mounier 847e46d270 Add Beta 2r2t to V7 (#5468)
* Add Beta 2r2t to V7

Other Omega Servers will likely get updated to V7 too, for now, only 2r2t has a Beta.

* Update servers_v7.json

* Update servers_v7.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Update servers_be.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-06-25 14:26:54 -04:00
Anuken 3d6cfcafd0 Don't assign players to derelict 2021-06-25 14:11:36 -04:00
Patrick 'Quezler' Mounier cb2ed1c549 Update filenames within the server json test (#5469) 2021-06-25 13:42:47 -04:00
Anuken d86d2dbdb9 Delete servers.json 2021-06-25 13:35:15 -04:00
RebornTrack970 0546d6cf55 TR Bundle Change: Bug Fix (#5404)
* TR Bundle Change: Yakalandı -> Elegeçirldi

* Bug Fix
2021-06-25 13:30:08 -04:00
Jaekwon Park 9b3a8c201f Add to new Korea Server (#5397)
* Add to new Korea Server
2021-06-25 13:09:11 -04:00
彭瑞暄 1bf3345b2f Update bundle_zh_TW.properties (#5364)
translation for new block and naval unit names
2021-06-25 13:08:44 -04:00
Antsiferov AndrewandVanguard a8dd868df2 [Bundle][RU] Update (#5354)
* double newline fix

hint.guardian

* 13 changed lines

mod.enabled
mod.disabled
status.burning.name
status.freezing.name
status.wet.name
status.melting.name
status.sapped.name
status.spore-slowed.name
status.tarred.name
status.overclock.name
status.shocked.name
status.blasted.name
status.unmoving.name

* yon't

* x'nt

* Update bundle_ru.properties

* 1 new, 1 changed

New:
stat.healing

Changed:
bullet.healpercent

* Inverse trig logic functions

See https://github.com/Anuken/Mindustry/commit/00ca247d0f40534b373209f578ef2f617c5da88a

* new v7 stuff, long list

New:
schematic.tags
schematic.edittags
schematic.addtag
schematic.texttag
schematic.icontag
schematic.renametag
schematic.tagdelconfirm
schematic.tagexists
tps
guardian
sector.changeicon
status.electrified.name
unsupported.environment
stat.repairspeed
ability.energyfield
bar.strength
rules.corecapture
block.rhyolite.name
block.repair-turret.name
hint.blockInfo
lenum.config
laccess.progress
unit.retusa.name
unit.oxynoe.name
unit.cyerce.name
unit.aegires.name
unit.navanax.name
block.duct.name
block.duct-router.name
block.duct-bridge.name
block.payload-propulsion-tower.name
block.payload-void.name
block.payload-source.name
filter.option.rotate

Changed:
stat.repairtime
bullet.pierce
team.crux.name
team.sharded.name
item.titanium.description

Deleted:
quit.confirm.tutorial
boss.health
team.orange.name
lenum.configure

* Update bundle_ru.properties

* 1 line changed

unit.oxynoe.name

* роутер-marshrutizator

ibglish

* 2 lines changed

block.surge-wall.name
block.surge-wall-large.name

* 3 new, 2 changed

New:
stat.showinmap
block.metal-floor-4.name
block.metal-floor-5.name

Changed:
stat.affinities
stat.opposites

* undone the dumb

* 1 new line

filter.option.replacement

* 1 new, 1 changed

New:
rules.polygoncoreprotection

Changed:
hint.respawn

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2021-06-25 13:00:44 -04:00
VizardAlpha 6dc6c2ebba Update full_description.txt for Android (#5399)
* Update full_description.txt for Android

Update full_description.txt for Android

* Update full_description.txt Android
2021-06-25 13:00:29 -04:00
Sharlotte 3b3abdf87e [KO] Update Latest Bleeding-Edge bundle (#5430)
* [KO] Update Latest Bleeding-Edge bundle

* Update bundle_ko.properties

* I wonder why sk didn't just edit file skself.

* typo

* ohno there is too many HIDDEN TYPO WHAT THE FUCK

* more typo

* new translated bundle. NOW IT'S DONE
2021-06-25 12:59:55 -04:00
YellOw139 e0e124ee57 [Bundle][RO] Update (#5431)
Changelog:

- New strings/changes up to commit 865ee952c9
- Typo fixes & various other improvements
2021-06-25 12:59:45 -04:00
Ngọc Lam cfba83018e Update Vietnamese Translation for V7. (#5432)
* V7 translation update (Part 1)

* V7 translation update (Part 2)

* A lot of typo.
2021-06-25 12:59:36 -04:00
TRinny 79581edaa0 Update bundle_th.properties (#5319)
* Update bundle_th.properties

My first time here. someone requested in discord so I made this.
-overhaul the translation to V6
-fixed typos
-my mom complained me for staring at computer all day
-blocks and block descriptions unfinished; might make more commits

* Update bundle_th.properties

more fixes
replace tutorial with v6 hints (still unfinished)
more work than I thought, will make this a draft

* Update bundle_th.properties

Almost finish, missing only like... 100 lines

* Update bundle_th.properties

Finally finished! thank you, Anuke, for making this great game!

* Update bundle_th.properties

-Translation Clean-up
-Update the translation to . . . v7?
-If you don't mind I'll add myself to Translator list.

* Update contributors

Add myself to the translator list... If you (Anuke) don't mind.

* Update bundle_th.properties

More clean-up

* Update contributors

fixed conflicts

* Update contributor (again)

sorry, genNAowl

* Update bundle_th.properties

Another Clean-up

* Update bundle_th.properties

how many clean-up I have to add!? hope this is final.

* Update bundle_th.properties

13th commit. Minor clean-up

* Update bundle_th.properties

14th commit. Minor clean-up

* Update bundle_th.properties

Maybe final change.

* Update bundle_th.properties

The Perfect Edition.

* Update bundle_th.properties (maybe final)

Minor Tweaking #1. Final(?)
Imagine changing like 400+ lines in the first few commits, then changing only 10+ lines in the final commits.

* Update bundle_th.properties

imagine fixing 1 line of code.

* Update bundle_th.properties

Another 1-line fix. I'll fix like this until its complete for me or it got merged

* Update bundle_th.properties (to v7)

not really a clean-up, add more v7 things.

* Update bundle_th.properties

Clean-up a bit since naval support name is a bit weird.

* Update bundle_th.properties

simplified units/blocks descriptions. Also clean-up and tweaks.

* Update bundle_th.properties

Fixed description again, also make translation more natural and less like using google translate.

* Update contributors

Just don't wanna fix conflicts again and again when something got merge, may triggers someone (sorry...)

* Update bundle_th.properties

improved many things I missed in the test.
Add an experimental description, will be removed in the next commit (or added in if it success!)

* Update bundle_th.properties

Add scrap walls descriptions and fixed many things.

* Final. or not?

Fixed misspellings and updated description. Final (right? RIGHT?)

* Final

Add a details of mats. fixed thingies. Final, (right RIGHT?)

* Real Final. no further commit unless new lines.

1-line fix, now I'll wait for 'someone' to review my change. I'll NOT make any changes from here now unless major problem found or new updates from Anuke OR someone reviews (Please... review it)

* new lines

added new lines (and removed some too) also fixed some lines and added details to mats.

* new details to liquids

added details to liquids and also typical fixes.

* hotfix

ah yes, typo hotfix

* minor(?) fixes

minor(or major?) fixes to descriptions and make sense of things.

* add polygonal core protection

add polygonal core protection and fixes abilities to v7. also fixes moth => mod.

* minor fixes to descriptions

minor fixes to descriptions and also knowing what 'Bitwise' is.

* updated descriptions

change duplicated name and also change other description to make it better. also turned 'Low'gic to 'Lo'gic.

* Create bundle_th.properties

I missed these during tests.

* fix spacing

fix spacing and typos

* that sound bad

fixed some words

* fixes for v127

had a deep check to prepare for v127, also changed eclipse's name to something formidable

* Hotfix

now everything is perfect

* Hotfix

now everything is perfect
2021-06-25 12:59:07 -04:00
Thomas Widyantoko 0b7c9dc8b1 [ID] Indonesian translation for V7, Part 3 (#5426)
* Indonesian bundle update

lenum.controller description and Tar Fields map

* translation bundle sync

* Indonesian translation standardization

* healing status effect

* Indonesian translation for V7

bit confused on line 1611

* [ID] WIP polygonal core protection
2021-06-25 12:57:40 -04:00
VizardAlpha 665207b9b0 [FR] Updates bundle_fr.properties for V7 (#5345)
* Updates bundle_fr.properties

Additions of commits from May 28, 2021 to June 3, 2021.

Corrections and translations

* Update bundle_fr.properties

Commits on Jun 4, 2021 added

* Update bundle_fr.properties

Corrections translation.

* Update for V7

Update for V7

* Add new commit

* Add commits..

Experimental core-capture PvP map / Editor filter fixes

* Add commits.

Polygonal core (WIP)

* Minor Translation

Minor Translation
2021-06-25 12:57:31 -04:00
Patrick 'Quezler' Mounier 0cd4ef575d Enforce social distancing (#5465) 2021-06-25 12:49:50 -04:00
Anuken 91f50883b1 Update deployment.yml 2021-06-25 12:42:02 -04:00
Anuken 756c717a9b Possible flaky test fix 2021-06-25 12:39:46 -04:00
Anuken 2cea277320 RoboVM debugging 2021-06-25 12:29:49 -04:00
Anuken dd36b71c7f Updated RoboVM plugin 2021-06-25 12:18:28 -04:00
Anuken 5e3e07f002 Updated RoboVM 2021-06-25 11:56:28 -04:00
Anuken 0ffe2ed51a Skip launch pad destination text for clients 2021-06-25 10:27:10 -04:00
Anuken 02e6257a66 Fixed #5462 2021-06-25 09:18:11 -04:00
Anuken 57fd72f476 arc 2021-06-24 19:34:21 -04:00
Anuken d2d7596ef1 Fixed Android deployment script 2021-06-24 18:30:01 -04:00
Anuken 149c48a03e Merge remote-tracking branch 'origin/master' 2021-06-24 17:58:30 -04:00
Anuken bdeba22561 Switched to v7 server list 2021-06-24 17:58:26 -04:00
Anuken 640c7851cf Update servers_be.json 2021-06-24 17:57:38 -04:00
Anuken c0991a9baa Create servers_v7.json 2021-06-24 17:57:27 -04:00
Anuken 5af6e8c5de Preparations for 127 pre-alpha release 2021-06-24 17:25:08 -04:00
Anuken 2d4677aa27 Reduced unit item glow 2021-06-24 17:00:33 -04:00
Anuken 984b646103 Merge remote-tracking branch 'origin/master' 2021-06-24 15:38:26 -04:00
Anuken 0949852758 Logic wait & content look up instructions 2021-06-24 15:38:20 -04:00
MEEP of Faith d4c409252b Allow shock mines to spawn bullets (#5454)
* Allow shock mines to spawn bullets

* Fix up some issues
2021-06-24 08:39:37 -04:00
Anuken 38a9ad9ec1 Fixed #5455 2021-06-23 16:22:00 -04:00
Anuken c70be45a25 Merge remote-tracking branch 'origin/master' 2021-06-23 14:02:10 -04:00
Anuken 186e8f707e Fixed #5453 2021-06-23 14:02:06 -04:00
Anuken e3351e0c23 Typo fix 2021-06-23 11:59:02 -04:00
Anuken b08f198629 Merge remote-tracking branch 'origin/master' 2021-06-23 11:57:55 -04:00
Anuken 1b3e99fbb0 Remove linear filtering on iOS 2021-06-23 11:57:51 -04:00
buthed010203 f74c153a47 or (#5449) 2021-06-23 08:47:14 -04:00
Anuken 2613ff6796 Fixed #5448 2021-06-23 08:46:50 -04:00
Anuken c404e7e1c6 Fixed #5447 2021-06-22 16:54:32 -04:00
Anuken d468a4f328 Removed unnecessary TODOs 2021-06-22 16:07:19 -04:00
Anuken 4417a83424 Merge remote-tracking branch 'origin/master' 2021-06-22 14:22:58 -04:00
Anuken 45dc72faf6 Removed unnecessary themes 2021-06-22 14:22:54 -04:00
Patrick 'Quezler' Mounier 42c643f769 Fix ammo multiplier exception in itemturret (#5446) 2021-06-22 13:35:28 -04:00
Volas171 b7d5f9a7ab Add Mindustry Reborn to v7 and v6 ServerList (#5444)
* reborn v6

* v7 reborn lol

* yikes
2021-06-22 10:33:38 -04:00
Darkness6030 7e7d6120ad Update mindurka ip (again) (#5443)
Sry, anuke
2021-06-21 14:16:44 -04:00
Anuken d6566830ac Ignore Discord RPC exceptions 2021-06-20 08:48:05 -04:00
Anuken 12dfd71345 Minor load markup fix 2021-06-18 15:44:35 -04:00
Anuken 60b6e93f7c arc 2021-06-18 15:25:40 -04:00
Anuken 128174faa4 NOTHING 2021-06-18 15:19:28 -04:00
Anuken 7ab0c86978 Stencil buffer fallback 2021-06-18 15:14:08 -04:00
Anuken 5f0ec79b0f Fixed crash logs sometimes not saving 2021-06-18 09:33:12 -04:00
Anuken 15affaad9b Cleaner impact reactor explosion 2021-06-16 16:53:09 -04:00
MEEP of Faith a74bc0c077 block destroyEffect (#5427) 2021-06-16 15:55:08 -04:00
Anuken 9088d9eb39 Polygonal protection bugfixes 2021-06-16 15:07:14 -04:00
Anuken f11f390c1f Polygonal protection for built-in PvP maps 2021-06-16 14:51:37 -04:00
Anuken 865ee952c9 WIP polygonal core protection 2021-06-16 13:26:18 -04:00
Anuken efcae883fb Experimental core-capture PvP map / Editor filter fixes 2021-06-16 11:09:18 -04:00
Anuken fe9ff212b2 Stateless simplex 2021-06-15 19:28:54 -04:00
Anuken 210fb349de Less editor filter state 2021-06-15 12:26:00 -04:00
Anuken 69d8af7874 Editor filter seed saving & cleanup 2021-06-15 11:58:26 -04:00
Anuken 183c922b6b Do not save MirrorFilter temporary vectors 2021-06-15 11:32:49 -04:00
Anuken 964104db65 Merge remote-tracking branch 'origin/master' 2021-06-15 09:39:27 -04:00
Anuken 2d8f7cb680 Fixed #5425 2021-06-15 09:39:23 -04:00
Volas171 aef92fd3b0 remove mindustrypvp.ml (#5423)
we are leaving the list for the following reasons : 
we are renewing domain
coming back later (having some stability issue in moderation)
2021-06-14 23:24:26 -04:00
Anuken a0f80a8865 it is solved 2021-06-14 11:35:53 -04:00
Anuken 6b5a743583 confusion 3 2021-06-14 11:33:00 -04:00
Anuken 28252173b4 confusion 2 2021-06-14 11:32:46 -04:00
Anuken 2e733273a0 confusion 2021-06-14 11:28:28 -04:00
Anuken 39f4e90fff s t o p 2021-06-14 11:23:47 -04:00
Anuken 22d1700fb2 JITPack appears to be throwing a fit (2) 2021-06-14 11:22:56 -04:00
Anuken 31c39e0148 JITPack appears to be throwing a fit 2021-06-14 11:15:06 -04:00
Anuken e5b80c37eb Renamed misleading github jobs 2021-06-14 11:05:37 -04:00
Anuken 2a451aa41f Disable preview features 2021-06-14 10:59:38 -04:00
Anuken 1a03151966 Enforce JDK 16 as a minimum 2021-06-14 10:55:28 -04:00
Anuken 51040f9f3d Hash fix 2021-06-14 10:42:24 -04:00
Anuken 3ad16ab8aa Upgraded to Gradle 7 & JDK 16 2021-06-14 10:41:19 -04:00
Anuken b58e64ea16 Fixed #5422 2021-06-14 08:47:38 -04:00
Anuken 7fe9e7f9c2 Merge remote-tracking branch 'origin/master' 2021-06-13 19:27:34 -04:00
Anuken 2d9204d638 I guess everything is unsafe now 2021-06-13 19:27:28 -04:00
QmelZ de9c82d1d2 Freedom for javascript mods (#5421)
* remove blacklist and class shutter

* no context factory
2021-06-13 19:22:33 -04:00
Anuken a756dec379 Fixed #5419 2021-06-13 11:02:17 -04:00
Anuken 5601f97266 Fixed #5418 2021-06-13 10:12:50 -04:00
Anuken 347b38ba26 Added unit tests for Java, JavaScript and JSON mods 2021-06-12 20:59:28 -04:00
Anuken d6016f1b04 Support for hidden weather 2021-06-12 16:59:18 -04:00
Anuken 7ec713ab66 No URLClassLoader super delegation 2021-06-12 14:26:47 -04:00
Anuken 446c2d2dcb more mod loader fixes 2021-06-12 11:00:56 -04:00
Anuken c5261cf2e5 Fixed #5414 2021-06-12 08:44:16 -04:00
Anuken cb0382a15b Clipping bugfixes 2021-06-11 10:15:19 -04:00
Anuken 3527acd33e Mod class loading bugfix 2021-06-11 09:18:59 -04:00
Anuken 83854169b7 Fixed #5412 2021-06-11 08:51:34 -04:00
Anuken dfd2b22917 Planet method renaming 2021-06-10 18:51:29 -04:00
Anuken c4803d29da Pulverizer texture cleanup 2021-06-10 16:14:53 -04:00
VozDuhandAnuken a0acf1a040 Melter & Pulverizer Fixed (#5098)
Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-10 16:01:04 -04:00
Anuken 8d9d6385f9 Editor variant regions for wall blocks 2021-06-10 15:52:33 -04:00
MEEP of Faith af2830602d Let any block have variants. (#5372) 2021-06-10 15:42:01 -04:00
Anuken e4bd3fab7c Removed MetalFloor class 2021-06-10 15:39:43 -04:00
Anuken e3ea1bdaae Merge remote-tracking branch 'origin/master' 2021-06-10 15:10:56 -04:00
Anuken a180aae838 Blending cleanup / Misc bugfixes 2021-06-10 15:10:52 -04:00
ulwepo abcea8dd39 Update servers_v6.json (#5407)
This is Japanese server.
Add a survival server and a sandbox server.
Thank you
2021-06-10 09:35:44 -04:00
Anuken 448604062d Merge remote-tracking branch 'origin/master' 2021-06-10 09:32:05 -04:00
Anuken bcdbca7337 Fixed #5410 2021-06-10 09:32:01 -04:00
Anuken dd500a747b Update deployment.yml 2021-06-10 09:06:05 -04:00
Anuken 32d8f59b5a Merge remote-tracking branch 'origin/master' 2021-06-10 09:04:06 -04:00
Anuken 86bf068ac3 Fixed #5406 2021-06-10 09:03:57 -04:00
Anuken ec2c273c97 Add an automatic item produce requirement 2021-06-09 22:55:48 -04:00
Romanin a587477fc0 Renamed the category and added it easyplay.su (#5405)
We decided to rename the category in order to add to it EasyPlay.Su (we have an agreement)
2021-06-09 17:09:54 -04:00
Anuken e3da0f713e Modded techtree bugfixes 2021-06-09 16:15:17 -04:00
Anuken 6f609aa4ee ConsumeCoolant 2021-06-09 14:38:49 -04:00
Anuken c9ff84d03b Test fix 2021-06-09 14:03:29 -04:00
Anuken b04c04f69f New metal floor / Selective floor attribute stats 2021-06-09 13:26:01 -04:00
Anuken adf6465029 Child-first mod class loading 2021-06-09 10:04:23 -04:00
Anuken a8a163ebe2 Fixed Android builds 2021-06-09 08:57:56 -04:00
Anuken 7dcfd648f7 Minor bugfixes 2021-06-09 08:37:26 -04:00
Anuken 1895c7b8e0 Updated Rhino 2021-06-09 08:32:09 -04:00
Anuken 91c0235ff5 #5402 2021-06-08 22:07:45 -04:00
Anuken 25b2458a92 Merge remote-tracking branch 'origin/master' 2021-06-08 21:59:01 -04:00
Anuken 28203ca6e9 Fixed regression introduced in #5361 2021-06-08 21:58:56 -04:00
MEEP of Faith 93fd3c6e18 Allow weapons on Miner units to function. (#5398)
`target` shouldn't affect anything because it is unused in `updateMovement()`
2021-06-08 14:05:56 -04:00
Anuken 95da46bfa2 Duct bridge input display 2021-06-08 11:49:55 -04:00
Catchears 8c1702cff5 Initial german translation for v7 (#5394)
* initial v7 translations

* forgot unsupported.environment

* resolve the duct issues
2021-06-08 10:20:00 -04:00
Anuken 8962992ef9 Fixed invalid healing effects 2021-06-08 09:14:54 -04:00
Anuken a7de30ba53 RidgedPerlin cleanup / More river noise options 2021-06-07 20:38:17 -04:00
Anuken 2651a30f79 Merge remote-tracking branch 'origin/master' 2021-06-07 18:07:41 -04:00
Anuken 1c9589eb26 Editor filter bugfixes 2021-06-07 18:07:37 -04:00
SaltyBeggarBR 850ebe8156 Brazillian Portuguese translation huge revamp (bundle_pt_BR.properties changes) (#5395)
I changed a few things that were either translated wrong, had typos or just sounded weird and also added a lot of stuff that didn't have translation yet, like the new blocks.

I tested the changed bundle as a mod by simply saving the edited bundle text on the test mod folder, but I believe it should also work when merged into the source code, and also because it's something that is pretty simple.

Not everything is translated yet, logic commands and its tips still have to be translated. I believe some other stuff also doesn't have a translation, since I didn't do a general revision of the game to see that, although I believe almost everything should be translated now.

(for Brazillians):
Eu mudei algumas coisas que estavam ou erradas, tinham erros de português ou simplesmente soavam estranhas e também adicionei um monte de coisa que ainda não estava traduzida.

o bundle modificado foi testado como um mod simplesmente salvando o arquivo de texto modificado na pasta do mod de teste, mas acredito que também vá funcionar certinho quando colocado no código fonte em si até porque é algo simples.

Não é tudo que foi traduzido ainda, lógica e suas dicas ainda tem que ser traduzidas. Acredito que outras coisas também, foi não fiz uma revisão geral no jogo em português para saber, mas acredito que a maioria deve de estar traduzido agora
2021-06-07 18:05:19 -04:00
YellOw139 8a51a4be32 [Bundle][RO] Update (v7 pre-alpha) (#5365)
* [Bundle][RO] Update (v7 pre-alpha)

Changelog:

- New strings/changes up to commit 00ca247d0f
- Typo fixes & various other improvements

* old typo

* coolant strength
2021-06-07 16:40:07 -04:00
Anuken a452cd94c6 arc 2021-06-07 15:25:56 -04:00
Anuken 0966b49ff7 Merge remote-tracking branch 'origin/master' 2021-06-07 15:04:57 -04:00
Anuken 0582cfac2b Prefer Team#data() for team data 2021-06-07 15:04:45 -04:00
IchHabeKeineNamen 5deb8a879e Update BlockRenderer.java (#5259)
1. Ensure consistency of code.
1. Make the code straightforward.
2021-06-07 15:00:31 -04:00
Anuken f4db208d75 Merge remote-tracking branch 'origin/master' 2021-06-07 14:55:18 -04:00
Anuken f73c49b246 Moved effect calls back to correct class 2021-06-07 14:55:14 -04:00
shift 93a197e7d9 [RU] Fix interplanetary accelerator description (#5392)
* [RU] Fix interplanetary accelerator description

Made it same as it's name

* Make translate close to original
2021-06-07 14:51:05 -04:00
KotMilkMeoW 861ca2c6ae Add server to global list (#5385)
* Add server to global list

Server.
There are already 6 modes: attack, PVP, Sandbox, Crawler Arena, Tower Defense, Survival.

* Add server to global list

New ip (because of the technical chocolates, it was necessary to change them)
2021-06-07 14:50:50 -04:00
Anuken 1fffbf3a79 Merge remote-tracking branch 'origin/master' 2021-06-07 10:47:57 -04:00
Anuken 82742339a3 Implementation of #5280 2021-06-07 10:47:53 -04:00
Tegas Aziz 11d85621e2 7.0 indonesian translations part 2 (#5390)
* 7.0 indonesian translations part 2

but i missed schematic.tag bundle

* Update bundle_in_ID.properties

* Update bundle_in_ID.properties

* Update bundle_in_ID.properties

* Update bundle_in_ID.properties

team.orange.name is deprecated
2021-06-07 08:43:19 -04:00
Anuken a64efce5a0 Possible client-side interpolation jitter fix 2021-06-06 22:17:53 -04:00
Anuken 9be4461b54 Merge remote-tracking branch 'origin/master' 2021-06-06 21:01:55 -04:00
Anuken 7f01959438 Liquid turret shoot FX fixes 2021-06-06 21:01:47 -04:00
MEEP of Faith a09771b569 Custom Unit Death Explosion Effects (#5389) 2021-06-06 19:38:12 -04:00
NiChrosiaandPatrick 'Quezler' Mounier 79695086c6 Add powerDynamic to Consumers (#5205)
* Add DynamicConsumePower, and powerDynamic to Consumers

* Add period to description of DynamicConsumePower

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Remove redundant Boolf

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-06-06 19:37:20 -04:00
RebornTrack970 4a922e4c10 Translate Bug Fix (#5383)
* Translate Bug Fix

* more?
2021-06-06 19:36:34 -04:00
Anuken bfc059769f Merge remote-tracking branch 'origin/master' 2021-06-06 19:33:22 -04:00
Anuken b0ab33f125 Duct input consistency 2021-06-06 19:33:15 -04:00
buthed010203 faa8c68c20 remove space & extra backets (#5384)
* remove space

* remove extra brackets
2021-06-06 14:50:56 -04:00
buthed010203 45f5e2ae90 remove stray newline (#5386) 2021-06-06 14:25:17 -04:00
Darkness6030 0859f92fea Domain for mindurka (#5381) 2021-06-06 14:23:52 -04:00
Darkness6030 698e4bc740 Domain for mindurka (#5380) 2021-06-06 14:23:43 -04:00
Anuken 300e3f2320 Merge remote-tracking branch 'origin/master' 2021-06-06 13:01:26 -04:00
Anuken d4f22c4838 Icon fix 2021-06-06 13:01:21 -04:00
RebornTrack970 758b3bcb24 Turkish Translation 2 (#5374)
* Turkish Translation 2

Added a few V7 things, not final.

* More Missed edits.

Fixed until line 122

* Fixed Until Line 162

* Fixed Until Line 225

* Fixed until 300

* Mini bug fix

* Fixed Until 400

* Translator , i will complete TR translation.

* Fixed till 543

* Until 598

* Maps

* Until 762

* 908

* 984

* 1337 Tutorial be like

* More patch

* More missed trasnations!!!

* More!

* 1562

* Units

* Logic 1

* Logic 2

* Math

* More Math 2

* Nearly done

* Nearly doneeee

* Final Touch
2021-06-06 11:25:18 -04:00
Anuken 782c7a9ff3 Fixed #5379 2021-06-06 11:05:36 -04:00
Anuken 8d12dbbe70 Minor duct preview optimizations 2021-06-06 10:06:33 -04:00
Anuken 75abe7661d Merge remote-tracking branch 'origin/master' 2021-06-06 09:55:37 -04:00
Anuken c318d4fa70 Cleanup 2021-06-06 09:55:33 -04:00
Patrick 'Quezler' Mounier 7a3a39d3b1 Draw duct bridges in schematics (#5378) 2021-06-06 09:55:24 -04:00
Anuken a4895fef8b Fixed #5373 / Fixed #5375 2021-06-06 09:40:32 -04:00
Anuken 685adeee9d Minor salvo buff 2021-06-05 22:54:37 -04:00
Anuken c8d2b7a39e Merge remote-tracking branch 'origin/master' 2021-06-05 16:55:18 -04:00
Anuken 41082e9429 Fixed #5371 2021-06-05 16:55:15 -04:00
RebornTrack970 04b7aad1bf Updated TR Bundle (#5367) 2021-06-05 16:37:41 -04:00
Anuken d0b70fd70d Fixed map view on left-padded iOS devices 2021-06-05 15:47:39 -04:00
Anuken 3c008e6bd8 Merge remote-tracking branch 'origin/master' 2021-06-05 15:10:41 -04:00
Anuken ade313fc1b Fixed infinite fire / Command center logic control 2021-06-05 15:10:34 -04:00
Catchears d96626e0c4 update link to jdk in README.md (#5370) 2021-06-05 13:39:01 -04:00
Anuken d0da46e715 Merge remote-tracking branch 'origin/master' 2021-06-05 13:38:38 -04:00
Anuken 9144f57b16 Fixed #5369 2021-06-05 13:38:32 -04:00
Patrick 'Quezler' Mounier 4ab115d007 Get rid of potentially white period (#5368) 2021-06-05 12:03:44 -04:00
Anuken b4dad32b2b Status effect particle color pass 2021-06-05 11:10:26 -04:00
Anuken c80f2d6cf4 Heal *all* cores on game start 2021-06-05 10:01:15 -04:00
Anuken f87054c667 Merge remote-tracking branch 'origin/master' 2021-06-05 09:49:04 -04:00
Anuken 2f2dc01c6b Heal player cores on start 2021-06-05 09:49:00 -04:00
genNAowlandLeonwang4234 9f087214a1 Just a Few Small Changes to Status Effect Stat Displays (#5361)
* Messing Around with Status Effect Stats

* Longer, but cleaner and less buggy

Co-authored-by: Leonwang4234 <leonwang4234@gmail.com>
2021-06-05 09:01:38 -04:00
Anuken 6e05319424 Merge remote-tracking branch 'origin/master' 2021-06-05 08:57:30 -04:00
Anuken 151c4f13df Fixed #5362 2021-06-05 08:57:25 -04:00
Sharlotte c6242fe7f1 [KO] Bleeding-Edge Bundle Update (#5352)
* [KO] Bleeding-Edge Bundle Update

* Update bundle_ko.properties
2021-06-04 20:28:07 -04:00
Anuken 7243ae4e95 Merge remote-tracking branch 'origin/master' 2021-06-04 20:19:15 -04:00
Anuken 3e636cba6b Finalized packr update 2021-06-04 20:19:11 -04:00
Volas171 5f28e26176 Add Mindustrypvp.ml to 7.0 BE list (#5360)
* yeet

* lol almost forgot that
2021-06-04 19:17:53 -04:00
Tegas Aziz 0a7d5b20c7 7.0 Indonesian Bundle (#5349)
* 7.0 Indonesian Bundles

* Update bundle_in_ID.properties

* small additions
2021-06-04 18:18:40 -04:00
Anuken f9c48d0a02 WIP packr update 2021-06-04 17:32:53 -04:00
Anuken dd9ec950be Faster payload blocks & voids 2021-06-04 13:14:21 -04:00
Anuken a1cae3bc29 No timers for driver payloads 2021-06-04 11:52:27 -04:00
Anuken 944b9ae2cf No payload source power 2021-06-04 11:35:01 -04:00
Anuken 8ec62e9dba Duct bridge polish 2021-06-04 11:08:53 -04:00
Anuken af676ea030 Merge remote-tracking branch 'origin/master' 2021-06-04 10:57:18 -04:00
Anuken 89fdda0ef6 Various minor bugfixes 2021-06-04 10:57:15 -04:00
Humanoid-X 4283f9f8d7 Update TechTree.java (#5357) 2021-06-04 10:56:22 -04:00
Anuken 527856e1b0 Mod dialog layout fixes 2021-06-04 09:48:31 -04:00
Anuken 1bbb52877f Let bullets have speed = 0 2021-06-04 08:53:39 -04:00
Anuken 6ceb1d5058 Merge remote-tracking branch 'origin/master' 2021-06-04 08:36:31 -04:00
Anuken de9371f0bb Possible dexing error fix 2021-06-04 08:36:27 -04:00
genNAowlandLeonwang4234 b8daa422ee I Like Stats (#5347)
Co-authored-by: Leonwang4234 <leonwang4234@gmail.com>
2021-06-04 08:31:33 -04:00
Anuken 677bad5c60 Fixed #5348 2021-06-04 08:30:16 -04:00
Anuken fcf1bdd701 Shock mine team region 2021-06-03 21:49:58 -04:00
Anuken 8fc61215a5 Show ducts 2021-06-03 21:37:58 -04:00
Anuken 6b33064196 Merge remote-tracking branch 'origin/master' 2021-06-03 19:49:49 -04:00
Anuken c29d75f5d1 Fixed RailBulletType not dealing damage 2021-06-03 19:49:42 -04:00
Sharlotte 9f7568552f typo (#5021)
* typpppppo

* Update bundle_ko.properties
2021-06-03 19:16:08 -04:00
Anuken 00ca247d0f Inverse trig logic functions 2021-06-03 19:12:33 -04:00
Anuken a2a4302c8c Merge remote-tracking branch 'origin/master' 2021-06-03 19:04:17 -04:00
Anuken 86ae13ed95 Improved Cyerce trails 2021-06-03 19:04:13 -04:00
Parkurist a264a1cd65 Fixed 1 untranslated line (#5140) 2021-06-03 18:25:41 -04:00
Anuken 4932d11d7b Misc cleanup 2021-06-03 18:24:54 -04:00
Anuken 3f27cebfb6 Fire light 2021-06-03 16:09:32 -04:00
Anuken 9cd482d389 Minor bugfix 2021-06-03 16:01:51 -04:00
Anuken c674b5c256 Merge remote-tracking branch 'origin/master' 2021-06-03 15:59:39 -04:00
Anuken 1c4184db4b Less respawn rubberbanding 2021-06-03 15:59:22 -04:00
QmelZ 0247301272 Custom Mass Driver Bullets (#5300)
* custom mass driver bullets

* ohno

* should be fixed now
2021-06-03 14:41:08 -04:00
VozDuh 1cbd58820e Fix For Metal Environments (#5322) 2021-06-03 14:36:55 -04:00
TranquillyUnpleasant eb7e65668c Rotate slider in the mirror filter. (#5228)
* Rotate

* ToggleOption
2021-06-03 14:35:31 -04:00
Ngọc LamandEzLam f91cc2eace Update Vietnamese Translation. (#5238)
* Update translation, fix some typo

* About 150 lines to do left.

* Typos fix #_1

* Typos fix + add trans

* Update to lastest commit.

* Base logic translation.

* a lot of typo ...

* some update from main bundle.

* Add more logic hint.

* Tracking update from main bundle.

* Translate some position.

Co-authored-by: EzLam <winbam1357@gmail.com>
2021-06-03 14:34:40 -04:00
VanguardandAntsiferov Andrew 942204bff1 [Bundle][RU] Update (#5028)
* double newline fix

hint.guardian

* 13 changed lines

mod.enabled
mod.disabled
status.burning.name
status.freezing.name
status.wet.name
status.melting.name
status.sapped.name
status.spore-slowed.name
status.tarred.name
status.overclock.name
status.shocked.name
status.blasted.name
status.unmoving.name

* yon't

* x'nt

* Update bundle_ru.properties

* 1 new, 1 changed

New:
stat.healing

Changed:
bullet.healpercent

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2021-06-03 14:34:27 -04:00
kituta 43e13038f4 Update bundle_ja.properties (#5338) 2021-06-03 14:34:00 -04:00
6d28098180 Fix Boat Trails Being Drawn on Land (#5340)
* update

* Revert "update"

This reverts commit 6ff3523276.

* Hacky Implementation

* Revert "Hacky Implementation"

This reverts commit 632121312d.

* Not so Hacky Implementation

Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
Co-authored-by: Leonwang4234 <leonwang4234@gmail.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-03 14:31:23 -04:00
Anuken f1cf1efe32 Build retry 2021-06-03 14:23:16 -04:00
Anuken c345ad37b9 Merge remote-tracking branch 'origin/master' 2021-06-03 13:59:00 -04:00
Anuken ac20b17e0b Mod bugfixes 2021-06-03 13:58:56 -04:00
OSP a06ee52fb5 Add MinDurka v7 BE server. (#5341) 2021-06-03 13:26:45 -04:00
Anuken 41ccda03a8 Merge remote-tracking branch 'origin/master' 2021-06-03 12:27:08 -04:00
Anuken 3f7edc9018 Use BE servers instead of v6 2021-06-03 12:27:04 -04:00
Ahsoka-501 8f390468dc moved thedimas to C.A.M.S. (#5325) 2021-06-03 12:11:52 -04:00
Anuken c6b4db8a4e arc 2021-06-03 11:41:14 -04:00
Anuken 978a5a80e3 arc 2021-06-03 11:40:18 -04:00
Anuken c964704fe1 Merge remote-tracking branch 'origin/master' 2021-06-03 11:37:40 -04:00
Anuken 1313ed2761 Sprite packing fix 2021-06-03 11:37:33 -04:00
Somka000andAnuken 4c5f27037b Add 7.0 server to BE list (#5336)
Co-authored-by: Anuken <arnukren@gmail.com>
2021-06-03 10:57:21 -04:00
RebornTrack970 bf17788485 Added an experimental V7 server to BE list (#5333) 2021-06-03 10:55:36 -04:00
ulwepo c0dce6ca41 Update servers_v6.json (#5339)
This is a PVP server for Japanese.
2021-06-03 10:55:03 -04:00
Anuken 17873d93cc I am so sick of JITPack dying 2021-06-03 10:52:44 -04:00
Anuken 48c1421afe Further pack testing 2021-06-03 10:46:45 -04:00
Anuken 5d88dbf3b9 jitpack. 2021-06-03 10:32:54 -04:00
Anuken 91f472d88f jitpack. 2021-06-03 10:32:31 -04:00
Anuken 5533721f3c Added missing bundle/tech entries / Pack debug 2021-06-03 10:21:43 -04:00
Anuken 0c85a6ee47 Pack testing 2021-06-03 10:15:34 -04:00
Anuken 8128542a1f Trigger BE builds before tests 2021-06-03 09:52:45 -04:00
Anuken 7a93c21d10 Test: Disable antialiasing 2021-06-03 09:49:41 -04:00
Anuken e248f44099 More bugfixes 2021-06-02 18:28:07 -04:00
Anuken f854d0b1e6 Higher payload conveyor clip size 2021-06-02 18:21:37 -04:00
Anuken fbe45aba74 Misc bugfixes 2021-06-02 17:44:57 -04:00
Anuken 79e079671c Triggering BE build 2021-06-02 17:08:32 -04:00
Anuken 4cd411d5ee Duct consistency 2021-06-02 17:07:08 -04:00
Anuken 9aae443e72 More netcode updates 2021-06-02 17:04:31 -04:00
Anuken 462a64bf21 Netcode updates 2021-06-02 16:51:52 -04:00
Anuken eba6514fb5 #5329 without the weird indent 2021-06-02 14:54:03 -04:00
Anuken 1eebf0d270 Merge remote-tracking branch 'origin/master' 2021-06-02 12:52:57 -04:00
Anuken dd7542032c Unnecessary Time.mark() 2021-06-02 12:52:49 -04:00
Anuken 5b8c4c4f8e Update README.md 2021-06-02 12:50:03 -04:00
Anuken bab8c20f3b Update README.md 2021-06-02 12:49:33 -04:00
Anuken 662473936c Remove unused shader 2021-06-02 12:41:19 -04:00
Anuken c9a1de1148 arc 2021-06-02 11:47:42 -04:00
Anuken e16ce5b651 Removed BuildConfig import 2021-06-02 11:34:41 -04:00
Anuken fa99a9b335 It's not even pre-alpha yet 2021-06-02 11:30:13 -04:00
Anuken 28b235ef07 Partial 7.0 merge - API preview 2021-06-02 11:08:08 -04:00
Romanin ea75a357ca Update servers_v6.json (#5328)
Change RCR IP
2021-06-02 09:07:02 -04:00
genNAowl 60ceb63731 I would like to join contributor gang (#5327) 2021-06-02 08:51:55 -04:00
buthed010203 f5c8965616 ignore colors (#5324)
why isnt this already a thing
2021-06-01 12:50:11 -04:00
RebornTrack970 f42b147b06 Temporary Omega Server Change (#5321)
* Temporary Omega Server Change

* Added Rush and Castle Wars too

* Alright???

* Update servers_v6.json
2021-06-01 10:03:29 -04:00
Anuken 22b27dc168 Revert server move 2021-06-01 09:00:57 -04:00
MEEP of Faith 551ebb6b31 Wow I worded that terribly (#5320) 2021-05-31 17:49:37 -04:00
MEEP of Faith 8b95d2db0d Knockback following bullet direction (#5313) 2021-05-31 14:28:35 -04:00
Lrakotobe b7c185ca1b correction of spelling mistakes (#5127) 2021-05-31 14:26:00 -04:00
RebornTrack970 8b50590cc5 Added Rapid and Testing Server (#5315)
(Testing server is a brand new idea, might get removed later on)
Rapid by Intervection.
2021-05-30 11:00:40 -04:00
MEEP of Faith 1ea4567912 Display Mass Driver range and reload stats (#5307)
* Display range and reload stats

* Unneeded
2021-05-29 08:43:34 -04:00
MEEP of Faith dadbaa1380 e.rotation, 360f in randlLenVectors unneeded, remove them. (#5242) 2021-05-28 16:18:38 -04:00
buthed010203 0bf25cdd01 fix potential crash (#5305)
I dont think this can even happen without some plugins or mods but its better to be safe than sorry.
2021-05-28 13:27:20 -04:00
Thomas Widyantoko 2f07a21d66 Indonesian translation standardization (#5296)
* Indonesian bundle update

lenum.controller description and Tar Fields map

* translation bundle sync

* Indonesian translation standardization
2021-05-28 10:48:52 -04:00
MrDuck557 39d725d5ff Healing Status Effect Stat (#5304)
* Up

* Ground

* Healing

Very tiny change
2021-05-27 23:23:53 -04:00
NiChrosia dd0b5f791c Add spawn function with Position argument to UnitType (#5293) 2021-05-26 19:37:33 -04:00
GaviTSRA e3fdc1d57c Updated TSR Hub ip (#5297)
* Update servers_v6.json

* Update servers_v6.json

Changed TSR Hub ip
2021-05-26 14:40:17 -04:00
buthed010203 e22af83ed1 Fix a random disconnect (#5292)
This almost never happens but since the flood uses this method extensively, everyone gets disconnected every hour or so so I fixed it myself.
2021-05-25 15:34:33 -04:00
Darkness6030 265f38dcc6 Update MinDurka IP (#5284)
The biggest update of mindustry server ever! We've added SO many useful features, commands, new servers and more!
2021-05-23 11:25:07 -04:00
Anuken 008b2c57c5 Update LogicBlock.java 2021-05-22 13:30:05 -04:00
Anuken 256482a486 Update gradle.properties 2021-05-22 13:28:43 -04:00
MEEP of Faith e4c434e26e lightningType follow angle (#5282)
* lightningType follow angle

* this is more complicated than it should be

time to make it less stupid
2021-05-22 08:41:04 -04:00
buthed010203 be71664436 Lower surge tower schem priority (#5277)
The priority of surge towers is now -15 (default for power nodes is -10). Schems with surge towers will often see them automatically connected to random buildings only a couple tiles away which are already in range of other nodes, the hope here is that this fixes that.
2021-05-20 12:33:40 -04:00
MEEP of Faith db897d037d Unit Command Radius (#5269)
* Unit Command Radius

* Make effect change with radius

* Fix command center effect

* Display true radius
2021-05-19 14:34:57 -04:00
RebornTrack970 86d50e9147 Closed Backup 2r2t, reopened original 2r2t (#5273) 2021-05-19 13:48:29 -04:00
MEEP of Faith 0764fcb476 More random unit effects (#5272)
* More random fall smoke effects

* Do the same with status effects.
2021-05-19 08:25:28 -04:00
andrew3737 9a225d96ef 4 new Application Tests added (#5207) 2021-05-18 14:44:30 -04:00
SAMBUYYA 5eb80ead93 Update bundle_in_ID.properties (#5247)
* Update bundle_in_ID.properties

Adding and change some words. Menambah dan mengubah beberapa kata.

* Update bundle_in_ID.properties

* Update bundle_in_ID.properties

Third change. Perubahan ketiga.
2021-05-18 09:04:28 -04:00
Leonid Skorospelov 760962c2b4 Make CoreItemsDisplay not show up if nothing to show (#5263) 2021-05-17 14:10:05 -04:00
Leonid Skorospelov b11b087d53 Do not reset mineTile of units to null client-side (#5252) 2021-05-16 13:52:03 -04:00
OSP 2d8b3918d2 Closed... (#5239) 2021-05-14 08:52:31 -04:00
BenMan95 6398fed47b Fixed logic controller updating (#5240) 2021-05-13 13:07:30 -04:00
Tegas Aziz 1e1d7d2e92 Add @SAMBUYYA on contributors (#5231)
@SAMBUYYA just translate Indonesian on pull #5230
2021-05-10 19:07:48 -04:00
SAMBUYYA 716fed08c3 Update bundle_in_ID.properties (#5230)
Mengubah dan menambahkan beberapa kata.
2021-05-10 17:05:43 -04:00
MEEP of Faith 6fcdb9d505 Draw flame over cracks (#5222) 2021-05-08 08:48:50 -04:00
MEEP of Faith 8d1a34b652 Include distance in foreshadow targetting (#5221)
* Include distance in foreshadow targetting

* Divide by larger number
2021-05-07 18:35:58 -04:00
TranquillyUnpleasant ac8c81a0d5 Allow banned blocks to still be placeable within map editor. (#5212)
This makes it so you don't have to pointlessly unban and then re ban blocks while making maps.
2021-05-07 08:45:43 -04:00
Darkness6030 5f7e2d97ef Fixed minigames (now they are working) (#5209)
Oh yes
I have fixed minigames server
And TowerDefense, Crawler Arena and Siege are working well.
2021-05-06 15:00:53 -04:00
RebornTrack970 927077c54c Replaced 2r2t with Backup 2r2t (#5204)
The original 2r2t server is broken at the moment, replaced with backup one.
2021-05-06 10:01:30 -04:00
thedimas3007 a861da1a67 Update thedimas hub ip (#5201)
Sry for doing this again, but server was migrated to new, more powerfull host
2021-05-05 14:52:51 -04:00
Antsiferov Andrew c53e14dd31 Fix crash when there's no sectors on planet (#5202)
`sectors.size - 1` is `-1` when there's no sectors on planet.
relevant crash log:
```
[E] java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 16
	at arc.struct.Seq.get(Seq.java:451)
	at mindustry.type.Planet.getLastSector(Planet.java:114)
	at mindustry.ui.dialogs.PlanetDialog.show(PlanetDialog.java:185)
        ...
        at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:36)
```
2021-05-05 14:51:35 -04:00
Tegas Aziz 622f735953 Update contributors (#5193) 2021-05-04 09:11:30 -04:00
MEEP of Faith d820e7d31a Fix small linecast issue (#5192) 2021-05-03 22:10:36 -04:00
0193d586d1 updated Indonesian translation (#4608)
* updated Indonesian translation

fixes and additions, structure descriptions are fixed and shortened

* Update bundle_in_ID.properties

logic tooltips and other fixes part 1

* Update bundle_in_ID.properties

logic tooltips and other fixes part 2

* Update: continue translating from me

* again and again

* Update bundle_in_ID.properties

logic tooltips and other fixes part 3

* Graphic Type Hint Translation 1

* Graphic Type Hint Translation 2

graphicstype.type translation

* Fix graphicstype.image typo

(Because no ones likes typo, isn't it?)

* Update bundle_in_ID.properties

logic tooltips and other fixes part 4

* Update bundle_in_ID.properties

logic tooltips and other fixes part 5 (last one)

Co-authored-by: Tegas Aziz <49786146+WilloIzCitron@users.noreply.github.com>
Co-authored-by: Anonymous Albert <44728043+TheMrAlbert@users.noreply.github.com>
2021-05-03 08:49:32 -04:00
Technisha Circuit a56a0aa14f Currently not working due to technical difficulties (#5187) 2021-05-03 08:36:21 -04:00
Skat 7853767ee5 Fix plastanium conveyor linking (#5185) 2021-05-02 20:18:22 -04:00
Skat 9e519ab801 Add missed scarlet color (#5182) 2021-05-02 13:50:53 -04:00
Darkness6030 5995f0e215 Change MinDurka's ip address (#5180)
FINALLY WE HAVE EATEN DDOSERS, IT NOW WORKS!
2021-05-02 09:34:08 -04:00
Technisha Circuit 7f50969dbc Added jinxed.realms.us.to to the server list (#5177) 2021-04-30 14:10:26 -04:00
thedimas3007 76db20e410 Change thedimas hub IP (#5175)
@Anuken please merge it as soon as you can
2021-04-30 09:29:28 -04:00
MEEP of Faith d9c5e5e08d No reason to hide ItemEntry (#5173) 2021-04-30 09:29:19 -04:00
Antsiferov Andrew 451568d5b2 Make Mod an abstract class (#5155) 2021-04-29 19:51:46 -04:00
MEEP of Faith e8e23961f4 why toxopid cannon not in weapons folder (#5166) 2021-04-29 14:15:55 -04:00
Skat 0e1c4ccd6d Suggestions for unknown command response (#5165) 2021-04-29 13:11:51 -04:00
OSP 73f0593acf IP change MinDefence (#5164)
I hope the last change of the ip.
2021-04-29 10:18:36 -04:00
Darkness6030 b779ec3759 Add a domain name to MinDurka. (#5159) 2021-04-27 20:55:10 -04:00
Skat 41423d43bb Dont try load mod icons on server (#5160) 2021-04-27 10:24:30 -04:00
MEEP of Faith 7dc3dfd29e e.checkTarget is shorter (#5157) 2021-04-26 15:22:33 -04:00
Leonid Skorospelov 6eea8bebdf Actually sync ItemTurret's ammo (#5154) 2021-04-25 09:06:45 -04:00
Darkness6030 8cd7e1c307 Update MinDefense Ip address (#5147)
@osp54 forgot to update it, so i made it :-/
2021-04-24 17:24:25 -04:00
MEEP of Faith 3910d7769b Add space to bullet.lightning (#5136) 2021-04-22 11:11:08 -04:00
Anuken f22f5a8ad9 ... 2021-04-20 21:07:46 -04:00
Anuken f14d4d91b0 why does this work locally 2021-04-20 21:01:56 -04:00
Anuken fc68a8af19 ???? 2021-04-20 20:58:04 -04:00
Anuken 0c3e110326 Update build.gradle 2021-04-20 20:50:10 -04:00
Anuken 434ee7de97 Create SStats.java 2021-04-20 08:28:09 -04:00
Anuken 6e1880f409 Update SStats.java 2021-04-20 08:28:00 -04:00
Anuken e8fa899c40 Update SStats.java 2021-04-20 08:24:06 -04:00
Anuken d9b2f4ae67 Update SStats.java 2021-04-20 08:20:02 -04:00
ThePythonGuy 137792131e Fix Tetrative Reconstructor's sprite odd 1-pixel error (#5119)
* Create e

* Delete e

* Add files via upload
2021-04-17 12:53:57 -04:00
MEEP of Faith fbddc0abc9 Turn MiningRange into a UnitType variable. (#5112)
* Turn MiningRange into a UnitType variable.

Long range mining go brrrrr

* Anuke Approved
2021-04-16 20:57:40 -04:00
NiChrosia d9b6ada0b3 Replace 'sattelite' with 'satellite' (#5110) 2021-04-15 17:00:35 -04:00
Drullkus f005b83ed3 Make PathCost interface public (#5109) 2021-04-15 09:27:02 -04:00
d41362a71d Create Mindustry Defence category (#5095)
* Create Mindustry Defence category

End add new server Tower Defence PvP, it is not working now, but it will work soon

* Update servers_v6.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2021-04-12 22:29:58 -04:00
Slava0135 6cfb88a2e8 redundant field in DrillBuild (#5101) 2021-04-12 15:18:55 -04:00
BlueWolf 865d0082cc Sand water (#5100) 2021-04-12 14:02:00 -04:00
Darkness6030 24c8d6e040 Add Minigames HUB to global server list (#5097)
This is a hub of all MinDurka minigames
We have:
1) Castle Wars (by Xusk)
2) Tower Defense
3) MS:GO (by Xusk)
4) Zone Capture (by Misaka)
5) The Siege (by OSP, the gamemode belongs to Mindustry.defense)
Soon we'll add some gamemodes like Crawler Arena
2021-04-12 12:11:34 -04:00
Skat a55039447a Add file name printing (#5093) 2021-04-11 09:26:47 -04:00
Drullkus aef7709764 Added addUpgrade method to Reconstructor to avoid dealing with array creation in Rhino JS (#5094) 2021-04-10 21:28:28 -04:00
BasedUser c99b79762a they have a n a m e (#5074) 2021-04-10 20:15:12 -04:00
MEEP of Faith 0d8f95354f Move damage and knockback to hitEntity (#5000)
* Move damge and knockback to `hitEntity`

* b.damage, not damage
2021-04-10 09:15:34 -04:00
MEEP of Faith 7e7e6b70e2 Randomly Rotated Particle Weather Particles (#5020) 2021-04-10 09:12:51 -04:00
MEEP of Faith 56b8986a0b Unit Sprite Heresyn't (#5084) 2021-04-08 15:56:22 -04:00
Qiyi Shan 3b8aa0484e Fixed a typo (#5081)
Fixed a typo that swaps description of drawFlush/printFlush
2021-04-08 11:29:56 -04:00
Elvys Soares 2b9d516922 Refactored duplicated tests into a parameterized one (#5077)
* Added test parameters to avoid code duplication

Signed-off-by: Elvys Soares <eas5@cin.ufpe.br>

* Added test parameters to avoid code duplication and updated JUnit to 5.7.1 version

Signed-off-by: Elvys Soares <eas5@cin.ufpe.br>
2021-04-08 10:25:48 -04:00
MEEP of Faith bdf958ed17 Copy ItemStack functions over to LiquidStack (#5080) 2021-04-08 10:05:37 -04:00
Arik 5fc4e1f5a5 Black Bar Fix (#5079) 2021-04-07 21:07:08 -04:00
MEEP of Faith 24f0a17395 Crawlers do not explode from their center (#5078) 2021-04-07 18:48:34 -04:00
RebornTrack970 08d200e1fa Moved 2r2t (#5066)
Now 2r2t is a mindustry host instead of mc.
2021-04-06 18:08:06 -04:00
Somka000 782442f144 Add .pl server to public list (#5069)
Minigame server
2021-04-06 15:55:11 -04:00
buthed010203 7e6f3e3761 Update pr.yml (#5067) 2021-04-06 11:50:49 -04:00
Anuken 6f8d43bc78 typo fix 2021-04-04 12:36:19 -04:00
MEEP of Faith ad46fa93a5 Ignore VSCode settings (#5054) 2021-04-03 20:39:56 -04:00
Anuken 4fec3bfcf9 PR typo fix 2021-04-03 11:42:47 -04:00
Anuken ef49a16c9e Use core/src for kotlin source 2021-04-03 11:31:41 -04:00
Anuken 93f3d6039e Excluded comp** from final jar 2021-04-03 11:15:41 -04:00
Anuken 19778c743c Fewer methods 2021-04-03 01:28:19 -04:00
Anuken 28a2e7c697 Kotlin support fixes 2021-04-03 00:59:57 -04:00
Max Leibowitz d538e63c4c :) 2021-04-02 17:26:58 -07:00
Max Leibowitz 31f8d6c830 Move to kapt for annotation processing (allows kotlin to be used in the core module) 2021-04-02 17:25:07 -07:00
GaviTSRAandPatrick 'Quezler' Mounier 02e68d27a3 Added TSR Hub to serverlist (#4965)
* Added TSR Hub to serverlist

* Update servers_v6.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Update servers_v6.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Updated hub ip

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-04-02 10:37:58 -04:00
Anuken 0aa2d5f18c Merge remote-tracking branch 'origin/master' 2021-04-01 09:27:43 -04:00
Anuken 5a5854420e Long support for UI.formatAmount 2021-04-01 09:27:36 -04:00
TranquillyUnpleasant 6a8127e7cd un-escape \n for string configs. (#5042)
Currently it escapes them to a literal text, making multi line messages impossible.
2021-04-01 09:14:20 -04:00
Anuken 1bd4c96ee8 Power node placement fixes 2021-03-31 22:36:46 -04:00
Anuken d66d7e09e3 Explosion damage tweaks 2021-03-31 13:28:08 -04:00
Anuken e85e43c162 Disable blending when drawing displays 2021-03-31 11:18:17 -04:00
Anuken dee020bd71 Merge remote-tracking branch 'origin/master' 2021-03-31 09:52:35 -04:00
Anuken d548a11c60 Skip invalid lobbies 2021-03-31 09:52:31 -04:00
RebornTrack970 59bf2e3571 Updated Server Omega (#5031)
Moved Expansion and fixed immesureable ping.
2021-03-31 09:46:14 -04:00
Anuken 6ebabbb56a Fixed local games sometimes not being found on Steam 2021-03-31 09:42:44 -04:00
Anuken 179cedd6cc Merge remote-tracking branch 'origin/master' 2021-03-30 20:58:20 -04:00
Anuken 3b56f36bbd Fixed #5029 2021-03-30 20:58:13 -04:00
buthed010203 be0765f5ea Radar shouldn't sense derelict as enemies (#5027)
Turrets no longer shoot derelict units by default, they shouldn't be sensed as enemies if this is the case.
2021-03-30 11:58:53 -04:00
Anuken 1715741e37 arc 2021-03-30 11:06:39 -04:00
Anuken aaa41fbf72 copyNatives before iOS copyAssets 2021-03-30 10:42:51 -04:00
Anuken 2096d006be Merge remote-tracking branch 'origin/master' 2021-03-30 10:24:57 -04:00
Anuken e455f7d170 Fixed #5025 2021-03-30 10:24:53 -04:00
MEEP of Faith 7a0e772a05 Remove space between damage and /sec (#5024) 2021-03-30 10:22:08 -04:00
Anuken 7f3b8f7e56 jitpack is dead 2021-03-29 20:35:07 -04:00
Anuken 5a493ebf0e arc 2021-03-29 19:05:55 -04:00
Anuken 70bcb0a940 copyNatives task for iOS 2021-03-29 18:33:03 -04:00
Anuken 3105478328 Merge remote-tracking branch 'origin/master' 2021-03-29 15:06:21 -04:00
Anuken ae8833e679 Fixed rare schematic crash 2021-03-29 15:06:06 -04:00
OSP afbac48a45 Change ip hub (#5014)
transition to new hosting
2021-03-29 09:38:56 -04:00
Anuken 4a9eeeeac3 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-03-28 19:56:20 -04:00
liuxilu e7d9cddbae update zh-CN for logic hints (#4655)
* add new logic hints to zh-CN

* logic hints for zh-CN completed

* more hints and fix

* draw operations

* update command hint

* 载荷

* up to d7f848f
2021-03-28 18:44:29 -04:00
YellOw139 a6fe1275c7 [Bundle][RO] Update (#4860)
* [Bundle][RO] Update

This PR ~~was~~ will soon be tested in-game ~~and is ready to merge at any time~~.

Changelog:

- New strings/changes up to commit b75a8d5260
- Typo fixes & various other improvements

* Status effects

* Minor change

* Improve, adapt

* After test bundles be like

* cleanup

* typo

* options, options...

* Added block_info keybind name
2021-03-28 18:42:50 -04:00
Prosta4okua 2f3fd9de3b [Bundle][uk_UA] Update Ukrainian (#4868)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

03.06.2021

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2021-03-28 18:42:41 -04:00
MEEP of Faith 8b2e78ab1e maxRange overriding on laser bulllets (#4873) 2021-03-28 18:42:26 -04:00
Catchears d04eaa81e0 german translation (#4897)
* update german translation to https://github.com/Anuken/Mindustry/commit/b75a8d52606b8cf5e6b554844e5fad4ddd3c556b

* update german translation to https://github.com/Anuken/Mindustry/commit/8e52d8a2729727bf145aa816846aeace2bfd5458

* foreshadow improvements

* block info keybind
2021-03-28 18:41:06 -04:00
cinnx b71d5837e9 Update bundle_pl.properties (#4910)
Added missing part of the translation from the English bundle file, fixed a lot of typos.

Huge thanks to:
Somka#9325
count sudoku#9564
Zielony Trójkąt#9074
for pointing out those errors :D
2021-03-28 18:40:55 -04:00
MEEP of Faith 332b1ce100 collidesGround targetting in GroundAI (#4911) 2021-03-28 18:40:47 -04:00
Vanguard c17040b1ab [Bundle][RU] Update (#4927)
* 21 new, 4 changed, 4 deleted

New:
status.burning.name
status.freezing.name
status.wet.name
status.muddy.name
status.melting.name
status.sapped.name
status.spore-slowed.name
status.tarred.name
status.overclock.name
status.shocked.name
status.blasted.name
status.unmoving.name
stat.opposites
stat.damagemultiplier
stat.healthmultiplier
stat.speedmultiplier
stat.reloadmultiplier
stat.buildspeedmultiplier
stat.reactive
bullet.lightning
content.status.name

Changed:
wavemode.health
boss.health
rules.blockhealthmultiplier
rules.unithealthmultiplier

Deleted:
bullet.sapping
bullet.shock
bullet.freezing
bullet.tarred

* 1 new line

keybind.block_info.name
2021-03-28 18:38:50 -04:00
Sharlotte a3bd7ba3ad [KO]Update Bundle (#4935) 2021-03-28 18:38:44 -04:00
MEEP of Faith 2a7525cdf1 Allow for dynamic counting (#4988) 2021-03-28 18:38:16 -04:00
Anuken de458f5c26 Cleanup 2021-03-28 10:57:06 -04:00
Anuken db931bace2 Cleanup 2021-03-28 10:56:19 -04:00
AzCraft 43602caab2 Added Bulgarian translations. [bundle_bg.properties] (#5013) 2021-03-28 09:42:37 -04:00
RebornTrack970 793e957d0d OmegaHub Updated (#5011)
Moved Annexation and Rush from Minecraft hosting to Mindustry host and improved ping.
Added Castle Wars by Xusx.
2021-03-28 09:42:03 -04:00
Anuken 66594a2b32 Fixed #5012 2021-03-28 09:41:08 -04:00
Anuken e81219dd3e Merge remote-tracking branch 'origin/master' 2021-03-27 22:12:54 -04:00
Anuken d11a26c568 Pack effect icons in UI spritesheet 2021-03-27 22:12:47 -04:00
Skat cf3543ec07 Change int parameters to long type (#5008) 2021-03-27 17:38:55 -04:00
Valeriy 886d8752b7 Update servers_v6.json (#4753) 2021-03-27 16:45:52 -04:00
fuzzbuck 496d6b139e Update servers_v6.json (#5003)
TLD change
2021-03-26 20:30:42 -04:00
Darkness6030 3ce064ca11 Update mindurka ip (#5002)
Mindurka.ru come back!)
[RU]Заспидранил восстановление сервера с нуля за один день!) Гений мысли...
2021-03-26 14:17:48 -04:00
Anuken 1be7f3b36c Merge remote-tracking branch 'origin/master' 2021-03-26 10:13:46 -04:00
Anuken 3fddd6eea7 .size 2021-03-26 10:13:42 -04:00
CxZxRainzzandJoshua Fan 339fc8113b Shutting down CxZx (#4996)
* Shutting down CxZx

I shutting down the servers because of family issues i hope to rejoin the community later

* Update servers_v6.json

Co-authored-by: Joshua Fan <joshuaptfan@gmail.com>

Co-authored-by: Joshua Fan <joshuaptfan@gmail.com>
2021-03-25 23:00:37 -04:00
Anuken 025bf5ffc3 Merge remote-tracking branch 'origin/master' 2021-03-25 22:42:01 -04:00
Anuken 1dc2906343 Fixed #4997 2021-03-25 22:41:55 -04:00
L0615T1C5-216AC-9437 eea276118f Add more ports for Chaotic Neutral (#4981) 2021-03-25 16:33:12 -04:00
Anuken 36aa9d5696 Fixed #4994 2021-03-25 13:51:13 -04:00
Anuken 1fc1efc410 Merge remote-tracking branch 'origin/master' 2021-03-25 12:51:31 -04:00
Anuken 7924d9b9ef Fixed #4993 2021-03-25 12:51:24 -04:00
Patrick 'Quezler' Mounier 3336e6cdde Exclude derelict targets from Units.bestEnemy (#4990) 2021-03-25 09:52:35 -04:00
MEEP of Faith 4ec81b0669 Make Repair Points affected by overdrive (#4985) 2021-03-24 19:09:20 -04:00
Anuken d10123295c More pattern variables 2021-03-24 12:55:57 -04:00
Anuken 0929593efc Buildscript cleanup 2021-03-24 12:41:50 -04:00
way-zer ace6eed653 Add assetsJar artifact for core (#4983)
* Add assetsJar artifact for core

* Add musicJar artifact for core
2021-03-24 12:38:02 -04:00
키에르 a40731624a Add uuid return to PlayerBanEvent (#4982)
* Update EventType.java

* Update Administration.java
2021-03-24 10:02:21 -04:00
VizardAlpha 268672adb8 Update bundle_fr.properties (#4973)
* Update bundle_fr.properties

Minor correction on the translation.
Addition of commits validated in the translation of Mar 10, 2021 ...

* Update bundle_fr.properties

* Update bundle_fr.properties

* Update bundle_fr.properties
2021-03-23 13:03:23 -04:00
Patrick 'Quezler' Mounier af20db4cf7 Colorize the inner corners of other conduit sprites (#4978) 2021-03-23 09:44:09 -04:00
OSP 8a76e7ea25 Add Mindustry.Defense to global server list (#4960) 2021-03-23 09:23:12 -04:00
Anuken d72db58b3f Minor ConstructBlock logic tweak 2021-03-22 17:02:09 -04:00
Anuken 975043d439 Use more ping threads 2021-03-22 12:47:02 -04:00
Anuken 40b5ee391d Merge remote-tracking branch 'origin/master' 2021-03-22 11:32:44 -04:00
Anuken e87e678d0f Use AsyncExecutor for pings 2021-03-22 11:32:36 -04:00
Susideur-YT d098a9ddc2 Just some change in frensh (#4862) 2021-03-22 10:20:30 -04:00
Joshua Fan 7145ffaf28 Add block info keybind (#4284)
* Add block info keybind

* Change block info keybind to backtick

* Change block info keybind to F1
2021-03-21 14:08:53 -04:00
彭瑞暄 d4afc3ecde Large Update & Sync (#4968) 2021-03-20 21:02:44 -04:00
MEEP of Faith 1ecc49f9b7 Use continuous damage (#4966) 2021-03-20 08:38:17 -04:00
Anuken 7ffd46aee9 #4964 2021-03-19 14:36:25 -04:00
Anuken afd6570ced More floor render optimization 2021-03-18 22:18:21 -04:00
Anuken 49c099a03c Minor floor renderer optimization 2021-03-18 21:55:33 -04:00
Anuken 851fa09e0c More dispose() cleanup 2021-03-18 16:29:40 -04:00
Anuken b0c8426d0f arc 2021-03-18 16:16:28 -04:00
Anuken 9384d661c1 Removed unnecessary dispose() 2021-03-18 16:14:53 -04:00
Anuken a06e0a325b Kill Android app on exit (Arc) 2021-03-18 15:39:26 -04:00
Anuken a8c31d838f Mesh attribute cleanup 2021-03-18 15:18:59 -04:00
Anuken 46cf48e012 Reverted IntelliJ's "cleanup" 2021-03-18 12:58:57 -04:00
Anuken bfa9d65314 Ban player ID before IP 2021-03-18 12:57:27 -04:00
Anuken aa7936100e Merge remote-tracking branch 'origin/master' 2021-03-17 20:53:09 -04:00
Anuken b20ef104b9 Fixed #4952 2021-03-17 20:53:04 -04:00
Anuken 53b99a650c Update Damage.java 2021-03-17 19:32:32 -04:00
Anuken 2025d6ad2d Merge remote-tracking branch 'origin/master' 2021-03-17 17:40:14 -04:00
Anuken c7cbe50876 More misc cleanup 2021-03-17 17:39:50 -04:00
Darkness6030 267d822771 Change mindurka's ip address (#4939)
I've changed ip address of Mindurka.ru
2021-03-17 09:16:30 -04:00
Anuken 786d638ad0 Misc cleanup 2021-03-16 21:51:12 -04:00
Anuken 89997ad8d4 Merge remote-tracking branch 'origin/master' 2021-03-16 21:29:22 -04:00
Anuken 036ab282e0 Update bug_report.md 2021-03-16 18:26:19 -04:00
Anuken e9df213d0a Decreased sector damage check radius 2021-03-16 18:25:30 -04:00
Anuken 150aab3530 Server crash fix / Disabled logic config sync / Faster logic parsing 2021-03-15 17:13:27 -04:00
Anuken 96607ef753 Non-recursive door floodfill 2021-03-15 11:39:06 -04:00
Anuken 075ddf104b Merge remote-tracking branch 'origin/master' 2021-03-13 20:01:14 -05:00
Anuken 671ca5c94f Disabled logicUnitBuild on servers by default 2021-03-13 20:01:01 -05:00
CxZxRainzz e7ed7c0765 Update servers_v6.json (#4933)
Remove 1 server and add another
2021-03-13 09:13:53 -05:00
Anuken 92db8349dc Don't log irrelevant payload errors 2021-03-12 18:31:41 -05:00
Anuken ea3f6cf4a0 PowerNode link cleanup & bugfixes 2021-03-12 13:38:28 -05:00
Anuken dd191493c0 Merge remote-tracking branch 'origin/master' 2021-03-12 13:16:39 -05:00
Anuken 2c08b82fef Fixed blocks linking through insulated walls 2021-03-12 13:16:35 -05:00
f7c5315599 Update servers_v6.json (#4834)
* Update servers_v6.json

* missing `,`

Co-authored-by: Кусь Пчелов <srthmnt@gmail.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2021-03-12 09:49:30 -05:00
Noah van der Aa ad6e458636 Add mindustry.party server to server list. (#4926) 2021-03-12 09:48:03 -05:00
Anuken f04e763667 Merge remote-tracking branch 'origin/master' 2021-03-12 09:35:37 -05:00
Anuken d545dc0d02 Logic negative coordinate support 2021-03-12 09:35:32 -05:00
Sunny Kim f895dfe341 dragMultiplier for status effects (#4870) 2021-03-11 18:41:03 -05:00
Anuken c5bea40e7d Votekick cleanup 2021-03-11 16:55:00 -05:00
TranquillyUnpleasant e08052d7d6 Votekick edit (#4924)
* Add "yes" and "no" compatibility to votekicks

* Lowercase
2021-03-11 16:54:10 -05:00
Anuken 78a7d15f3e Merge remote-tracking branch 'origin/master' 2021-03-11 10:53:01 -05:00
Anuken b2e2cfb48d Log client commands before handling 2021-03-11 10:52:53 -05:00
BasedUser f694e42c78 Add mindustry.ru to global server list (#4697) 2021-03-10 20:52:57 -05:00
Anuken 8e52d8a272 Stat reactivity cleanup 2021-03-10 17:34:39 -05:00
Anuken 1a6843ef2c Re-added unused corroded effect to ensure compatibility 2021-03-10 17:15:18 -05:00
Anuken 4b9fa9a79e Status effect display for bullets 2021-03-10 16:42:28 -05:00
Anuken c15a8b52d2 Status sprites 2021-03-10 16:22:35 -05:00
Anuken bd36ca821d Improvements of status effects in database 2021-03-10 16:22:07 -05:00
MEEP of Faith d4e6817232 Boosting Rise Speed (#4918) 2021-03-10 13:48:33 -05:00
genNAowlandLeonwang4234 096b54305d Add Status Effect Stats to Core Database (#4883)
* Status Effect Stats

* import cleanup

* Add Sk7725's icons

Tinting still a WIP

Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-03-10 12:04:09 -05:00
RebornTrack970 8b52561a31 Added the Expansion gamemode to Omega Hub (#4913) 2021-03-10 09:38:56 -05:00
Anuken b1e8001ae8 Minor cleanup 2021-03-09 19:04:29 -05:00
Anuken 8aba480148 Merge remote-tracking branch 'origin/master' 2021-03-09 15:52:29 -05:00
Anuken 429ff738f9 Error on unknown jump locations 2021-03-09 15:51:36 -05:00
Anuken ae2736d393 New logic parser 2021-03-09 15:47:19 -05:00
Niels Horn fc28fbc662 Translate the entire bundle into Danish. (#4900)
* Translate the entire bundle into Danish.

There were close to no existing translations of Mindustry in Danish, and the ones there were had concord issues, spelling issues or contained a mix of Danish and English.
This pull-request provides a thourough translation, covering all names - unit names have remained mostly the same, - as well as tutorials and descriptions.

A collaborative effort with @AsgerHB.

* Update contributors
2021-03-09 09:56:22 -05:00
Anuken 4f37f29ae8 progress 2021-03-09 09:51:37 -05:00
MEEP of Faith c4da670a7c do not the multi charge (#4905) 2021-03-08 19:14:04 -05:00
Anuken 57dca33c2b Merge branch 'master' into new-logic-parser
# Conflicts:
#	gradle.properties
2021-03-08 18:03:00 -05:00
Anuken 4a1419af0e Merge remote-tracking branch 'origin/master' 2021-03-08 17:12:56 -05:00
Anuken 25c61590d1 Minor cleanup / Another slight vela buff 2021-03-08 17:12:53 -05:00
CxZxRainzz f6925953ad Update servers_v6.json (#4901)
add PvP server for CxZx
2021-03-08 15:05:26 -05:00
Anuken e1b0e07f3c Return 1 for sensing dead in null objects 2021-03-08 09:52:36 -05:00
Anuken b2d16f69da Merge remote-tracking branch 'origin/master' 2021-03-07 17:54:47 -05:00
Anuken a60772a81e Fixed #4891 2021-03-07 17:54:43 -05:00
buthed010203 6151ebf716 Fix button background (#4892)
This button had a black background which stuck out from everything else on the page, this fixes that.
2021-03-07 16:35:04 -05:00
Anuken cccb8d6d19 Fixed #4890 2021-03-07 15:45:28 -05:00
Anuken a2c7c38a3e Reduced Nova range 2021-03-07 09:32:52 -05:00
Anuken b51d34e893 Fixed #4882 2021-03-06 17:25:03 -05:00
Anuken 79a62cd74c Merge remote-tracking branch 'origin/master' 2021-03-06 14:23:14 -05:00
Anuken 18c669ae3e Fixed #4879 / Fixed server speed validation check 2021-03-06 14:23:10 -05:00
buthed010203 8474c921ec Fix indentation (#4877)
Indents are 4 spaces not 3
2021-03-06 11:11:17 -05:00
Anuken 7c7c57c64e Various parsing bugfixes 2021-03-06 11:10:32 -05:00
Anuken f7e8412b4b Fixed #4875 2021-03-06 10:41:31 -05:00
Anuken 0d3be917b2 Extra checks for crash fix 2021-03-06 00:05:15 -05:00
Anuken 5c85ba84db Actual JSON weather (?) 2021-03-05 23:20:19 -05:00
Anuken 07d11f02d8 Fixed #4869 2021-03-05 22:16:29 -05:00
Anuken fce30e6ae5 Sync based on system time 2021-03-05 17:22:44 -05:00
Anuken 24195dac81 Added Voz-Duh's large launch pad sprite (#4861) 2021-03-05 14:27:15 -05:00
Joshua Fan 830fe03898 Add buildSpeedMultiplier status effect (#4816)
* Make disarmed status effect prevent building

* Revert disarmed changes, add buildSpeedMultiplier status

* Add buildSpeedMultiplier to StatusComp
2021-03-05 14:09:46 -05:00
Anuken 4690aae197 Fixed cores being replaceable 2021-03-05 14:00:53 -05:00
Anuken b82dca89b3 Merge remote-tracking branch 'origin/master' 2021-03-05 12:06:44 -05:00
Anuken dce79a621a Close connections immediately on kick 2021-03-05 12:06:40 -05:00
buthed010203 d6f00a5d2d Remove dead servers from v5 server list (#4858)
From what I can see, atnanner is the only network that still hosts any v5 servers, all the others are either on v6 or are offline.
2021-03-05 11:59:44 -05:00
Anuken 545b75a091 [Модификация] Доступен -> Доступна 2021-03-05 11:38:57 -05:00
Anuken 979daca221 Merge remote-tracking branch 'origin/master' 2021-03-05 11:36:15 -05:00
Anuken fb2fed7c28 mod.multiplayer.compatible RU 2021-03-05 11:36:11 -05:00
YellOw139andMLGTASTICa 0ec71750b7 [Bundle][RO] Update (#4750)
* [Bundle][RO] Update

This PR was tested in-game and is ready to merge at any time.

Changelog:

- New strings/changes up to commit f78719afc0
- Typo fixes & various other improvements

* WIP

* typo

* Speaking logically

* Update core/assets/bundles/bundle_ro.properties

Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>

* Opted for a better term: controlor, not controller

* double-tap

* Times joined & kicked

Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>
2021-03-05 11:30:55 -05:00
BlueTechno 51f7858b78 Added "armor" and "buildingdamage" stats (#4794)
Also fixed the description of the separator (so it matches the english description)
2021-03-05 11:30:45 -05:00
PolgarSasa ab83b872a2 Update bundle_hu.properties (#4790) 2021-03-05 11:30:39 -05:00
Sharlotte 879adb7458 [KO] Update bundle_ko.properties (#4803)
* Update bundle_ko.properties

* translated recent changing

* https://github.com/Anuken/Mindustry/pull/4844

* Update bundle_ko.properties

* Add files via upload

* unofficial details
2021-03-05 11:29:26 -05:00
Catchears 39cbd607ef update german translation (#4826)
* update german translation to 781410ea04

* change from stuffyAI

* update german translation to https://github.com/Anuken/Mindustry/commit/ae838b939236271dc6b54532e3d62e82372a6270
2021-03-05 11:29:18 -05:00
+6 7478cdf4a4 [Bundle][RU] actual L10n (#4748)
* 3 new, 1 deleted

New:
rules.unitcapvariable
rules.unitcap
laccess.color

Deleted:
lenum.color

* 1 line changed

rules.unitcap

* 2 new, 1 deleted

New:
mods.initfailed
setting.modcrashdisable.name

Deleted:
mods.alphainfo
-
Отключение модов после вылета на старте

* Fixed #4715

* Content parser class discovery improvements

* Use github build status (#4718)

Why does this still use travis? It was ditched months ago

* Make status colors the same (#4719)

It bothers me ok

* Better splash damage handling for small radii

* Fixed #4729

* Uncap content names in resolution

* Fixed UnitReq parsing

* Fixed #4732

* Allow JSON mod content types from other class loaders

* Better JSON null validation / Disable mods on startup crash

* Logic tooltips on mobile devices w/ long-press

* Add Survival and PvP servers (#4736)

* Update servers_v6.json (#4735)

add 1 more server for CxZx

* arc

* Balance tweaks

* Fixing remaining typos\errors in bundle_fr (#4397)

* Fixing remaining typos errors in bundle_fr

There are some errors that had managed to get through the verification. Imma chase them down!

* added logic hints and some typo fixes

* Fixing 2 typos in bundle.properties

L1548: Color statement affects every following draw operations.

* smolfixes

* Fixed "fix" in #4397

* [Bundle][RO] Update (#4725)

* [Bundle][RO] Update

This PR was tested in-game and is ready to merge at any time.

Changelog:

- New strings/changes up to commit 1ef7ae7079
- Typo fixes & various other improvements

* Reducing confusion

* Update bundle_ro.properties

* Fixing typos and descriptions [bundle_es.properties] (#4727)

* Fixing and descriptions [bundle_es.properties]

* Forgot something

* Update Logic Draw Hints (#4734)

Wrapped up some previous logic hints, too.

* german translation for build 125, full android translation (#4703)

* update german translation to https://github.com/Anuken/Mindustry/commit/631e4d9eefca8b94de4fc52e57387b2c2f4ffecf

* update android translation to https://github.com/Anuken/Mindustry/commit/e816f6110de6ec9638b5a6be8a9710bdc49f5f4d

with regard to https://github.com/Anuken/Mindustry/commit/5ec5f1aa93dcac5c813027b23379f529dbf69e3d

* improve translation with ideas from others

* update german steam discription to https://github.com/Anuken/Mindustry/commit/e86a3e9d09d0f41a651d5e66403ea48c70add048

* update german translation to https://github.com/Anuken/Mindustry/commit/1ef7ae70796beb4a28dee8f2c74b626d28348481#diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c

* changes from stuffyAI

* cross-platform as suggested by stuffyAI

* stuffyAI

genau, hast recht

Co-authored-by: stuffyAI <59014072+stuffyAI@users.noreply.github.com>

Co-authored-by: stuffyAI <59014072+stuffyAI@users.noreply.github.com>

* Update bundle_vi.properties (#4724)

* Fixed mod crash disable setting name

* Various fixes

* Steam icon changes

* arc

* Update Vietnamese Translation. (#4660)

* Update translation, fix some typo

* About 150 lines to do left.

* Typos fix #_1

* Typos fix + add trans

* Update to lastest commit.

* Base logic translation.

* a lot of typo ...

* some update from main bundle.

* Add more logic hint.

* translated recent update (#4742)

* Move update function of resupply point 5x1 spaces back (#4746)

* Remove stray spaces from accelerator (#4465)

* 10 new lines
graphicstype.clear
graphicstype.color
graphicstype.stroke
graphicstype.line
graphicstype.rect
graphicstype.linerect
graphicstype.poly
graphicstype.linepoly
graphicstype.triangle
graphicstype.image

* 1 line changed
lenum.stop (typo)

* 6 new lines

logic.nounitbuild
laccess.controller
laccess.dead
laccess.controlled
laccess.commanded
lenum.idle

* 1 new line

setting.doubletapmine.name

* 2 new, 2 changed

New:
trace.times.joined
trace.times.kicked

Changed:
unit.seconds
unit.minutes

* 1 line changed

trace.times.joined

* 1 new line

mod.multiplayercompatable
-
quick commit before potential merge, might fix it later

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: buthed010203 <naguiar010203@gmail.com>
Co-authored-by: Fatonndev <56699208+Fatonndev@users.noreply.github.com>
Co-authored-by: CxZxRainzz <78591136+CxZxRainzz@users.noreply.github.com>
Co-authored-by: Phinner <62483793+Phinner@users.noreply.github.com>
Co-authored-by: YellOw139 <70975516+YellOw139@users.noreply.github.com>
Co-authored-by: BlueThecno <69437358+BlueThecno@users.noreply.github.com>
Co-authored-by: 彭瑞暄 <raymondpeng0725@gmail.com>
Co-authored-by: Catchears <57631841+Catchears@users.noreply.github.com>
Co-authored-by: stuffyAI <59014072+stuffyAI@users.noreply.github.com>
Co-authored-by: Arnyyx <74717260+Arnyyx@users.noreply.github.com>
Co-authored-by: Ngọc Lam <33188123+NgLamVN@users.noreply.github.com>
Co-authored-by: Sharlotte <60801210+Sharlottes@users.noreply.github.com>
Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-03-05 11:28:28 -05:00
Patrick 'Quezler' Mounier b75a8d5260 Fix typo to preserve sanity (#4857)
* compatable > compatible

* compatable > compatible
2021-03-05 11:27:51 -05:00
MEEP of Faith 120c694a42 Mention Foreshadow's special targeting in its description. (#4419)
* Mention Foreshadow special targetting.

* Better wording
2021-03-05 11:25:58 -05:00
MEEP of Faith 569293e577 Shadow with width/height (#4609) 2021-03-05 11:21:23 -05:00
Anuken 4f0f2499be mod.multiplayercompatable in gray 2021-03-05 11:19:55 -05:00
MEEP of Faith d34dd0c603 Add message for mods that have hidden = true (#4717)
* Multiplayer compatability message

* Make more sense?
2021-03-05 11:17:55 -05:00
Anuken b6c645b701 Better DefenderAI / Vela building / Anuken/Mindustry-Suggestions/issues/2074 2021-03-05 11:10:12 -05:00
MEEP of Faith 0c28bb7dcf DefenderAI that makes octs follow units (#4757) 2021-03-05 10:21:26 -05:00
Anuken 2bb303e709 Fixed #4856 2021-03-04 18:41:30 -05:00
Anuken cc65feb392 Added ConnectionEvent 2021-03-04 18:39:47 -05:00
Anuken c12b9ee3e3 Minor network packet handling tweaks 2021-03-04 17:58:28 -05:00
Anuken d863c971c2 Gradle update / Mech animation fixes / Formation movement tweaks 2021-03-04 13:40:50 -05:00
MEEP of Faith 3ccdf45ed1 Is this what you wanted sk? (#4848) 2021-03-04 10:38:47 -05:00
Javier Domingo Cansino efa5c5db7b Enable client to use a different data dir through env MINDUSTRY_DATA_DIR (#4851) 2021-03-04 10:34:23 -05:00
Anuken d73cf9fcff Prevent early return in PowerNode config render 2021-03-03 14:42:41 -05:00
Anuken 93dafc82eb Fixed #4847 2021-03-03 12:44:56 -05:00
Anuken 87142b06c3 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-03-03 10:49:57 -05:00
Anuken 3075616b03 arc 2021-03-03 10:49:52 -05:00
buthed010203 019898dfc3 Turrets can properly replace eachother, cores can replace conveyors and minor cleanup. (#4841) 2021-03-03 09:15:50 -05:00
Patrick 'Quezler' Mounier ae838b9392 Trace times joined & kicked (#4844)
* Trace times joined & kicked

* Make mindustry.* import obsolete
2021-03-03 09:09:05 -05:00
Anuken 4d9a30b7c7 Merge remote-tracking branch 'origin/master' 2021-03-02 18:45:22 -05:00
Anuken ea82773157 Non-overdriveable core / Spurious mod warning fix 2021-03-02 18:45:18 -05:00
buthed010203 8289da1415 Nuclear reactor schem priority of -5 (#4840)
* Nuclear reactor schem priority of -5
2021-03-02 10:49:22 -05:00
Anuken 19eb6334b7 Merge remote-tracking branch 'origin/master' 2021-03-02 09:28:42 -05:00
Anuken e992be1bfb Higher LogicBlock schem priority 2021-03-02 09:28:38 -05:00
MEEP of Faith 7e216d198e Remove duplicates and mild formatting. (#4837)
* Remove duplicate definitions in UnitTypes

* If Tsunami is indented, so should the others

It looks nicer as well.
2021-03-02 09:28:04 -05:00
MEEP of FaithandPatrick 'Quezler' Mounier a89d50e74d Cursor should not change for other teams when hovering over doors and construction. (#4838)
* Cursor should not change for other teams.

* Use Built-in interaction check

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Building should use built-in check, same treatment for ConstructBlock

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-03-02 09:25:15 -05:00
Anuken 05dc13c922 Fixed #4830 2021-03-01 13:06:47 -05:00
Patrick 'Quezler' Mounier 1de4dd1bfe Call super.drawPlace for menders & overdrives (#4831) 2021-03-01 13:02:27 -05:00
Anuken 72aa87128e Merge remote-tracking branch 'origin/master' 2021-03-01 11:58:59 -05:00
Anuken 8f91576f85 Fixed script loading for Turkish locale 2021-03-01 11:58:53 -05:00
Patrick 'Quezler' Mounier 4019c49fff Log who skipped the wave to the console (#4825) 2021-03-01 09:47:23 -05:00
Anuken 5f83c92829 Fixed #4824 / Fixed #4827 / Fixed #4829 2021-03-01 09:45:40 -05:00
Anuken 4c9cda7e40 Cleanup 2021-02-28 17:33:08 -05:00
Sunny Kim 01f7b1c9a6 New overdrive visuals for colorblind users (#4807) 2021-02-28 17:32:28 -05:00
Anuken 1a30edc55f Merge remote-tracking branch 'origin/master' 2021-02-28 17:17:08 -05:00
Anuken 49bccffd7c Link previews for power blocks near nodes 2021-02-28 17:17:03 -05:00
Patrick 'Quezler' Mounier 526157a514 Draw to-be affected blocks when placing projectors (#4818) 2021-02-28 13:58:06 -05:00
FiliusPatris d025ba63e1 Display map names with underscores (#4819)
This makes it obvious how to specify map names with spaces. It also
allows for copy-pasting form the output of `maps`.
2021-02-28 13:27:47 -05:00
genNAowlandLeonwang4234 662515ce2e Make RepairPoints implement Ranged (#4813)
Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-02-28 09:19:35 -05:00
Joshua Fan c55ff4ad5e Desktop double-click mining: fix click on mined tile to cancel (#4815) 2021-02-28 09:19:27 -05:00
Anuken 666c0f3582 Merge remote-tracking branch 'origin/master' 2021-02-27 15:10:39 -05:00
Anuken 0c00760ae0 Fixed result duplication in logic UI 2021-02-27 15:10:34 -05:00
Patrick 'Quezler' Mounier 2146b35e5a eacho ther (#4810)
* eacho ther

* Update Tile.java
2021-02-27 10:21:11 -05:00
Anuken 44d10a355e Improved power node link preview check 2021-02-27 10:16:54 -05:00
buthed010203 5037c4e00e Fix a few issues w/ double tap mining (#4798)
Currently, double tap mining consumes clicks so it prevents the player from configuring any block if they click twice within 500ms. The double tap mining was also using the `selected` var which could have been null causing a crash. This is a very messy solution but it does the job good enough
2021-02-27 10:12:00 -05:00
buthed010203 e4ecfc4ee7 Fixed #4791 since it is 100% a bug (#4801)
* Fixed #4719 since it is 100% a bug

This fix is somewhat janky as it checks if the rotation matches the exact original rotation but the likelihood of someone needing bridges along a belt rotated 1 or -1 times is super low. https://aethex.is-a.fail/t13ETd.webm

* unjank rotation

* fix potential crash, styling

* Use mathf.mod
2021-02-26 19:06:27 -05:00
Anuken ae6be1db3b UnitSpawnAbility 'type' field JSON compat / Fixed health bar out of bounds 2021-02-26 18:51:14 -05:00
Anuken d06eee99ba Merge remote-tracking branch 'origin/master' 2021-02-26 13:13:41 -05:00
Anuken 8349c8a5b8 Fixed #4802 2021-02-26 13:13:37 -05:00
Darkness6030 2df7484649 Add servers to global list (#4761)
* Add servers to global list
2021-02-26 11:13:51 -05:00
Anuken 1bb97cae39 Fixed #4792 2021-02-25 18:34:24 -05:00
Anuken f5ac3ff7b0 null controller for dead units 2021-02-25 10:54:05 -05:00
Anuken f6eba3edae Synchronized settings / Dead units sense as non-controlled 2021-02-25 09:12:17 -05:00
Joshua FanandAnuken 781410ea04 Double-tap to mine, tap anywhere to cancel (#4469)
* Double-tap to mine, tap anywhere to cancel

* Make comment consistent

* Remove desktop left-click mining cancel, prioritize mobile unit control over mining

* Mobile: double-tap doesn't configure blocks if unit was double-tapped; control unit detected in first tap of double-tap

* Add 'double-tap to mine' setting (default off)

* Desktop: cancel mining when mined tile is clicked

* Comment typo

* Prevent redundant condition check

* Cleanup

Co-authored-by: Anuken <arnukren@gmail.com>
2021-02-25 08:43:40 -05:00
Anuken c0d9712beb Fixed #4784 2021-02-25 08:39:35 -05:00
Anuken 0672878920 Fixed #4781 2021-02-24 15:27:22 -05:00
Anuken b0cdac59f0 Merge remote-tracking branch 'origin/master' 2021-02-24 15:01:48 -05:00
Anuken 4b6a83dd82 Improved auto-bridging with conveyors 2021-02-24 15:01:44 -05:00
Minxyzgo 25ae7b97aa schematic uses camera position (#4775)
* Update InputHandler.java

* Update InputHandler.java

* Update MobileInput.java

* Update InputHandler.java

* Update MobileInput.java
2021-02-24 12:25:38 -05:00
Anuken afbde49fa2 Fixed #4776 / Fixed #4772 2021-02-24 09:52:53 -05:00
Anuken befda9baaa Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-02-23 17:07:45 -05:00
Anuken 502c7eb388 arc 2021-02-23 17:07:40 -05:00
Antsiferov Andrew ad2a18f929 Fix player.locale to be default (#4768)
* fix player.locale == default

* Update NetClient.java
2021-02-23 14:53:23 -05:00
Anuken 830eb86a0f Better power node linking visualization 2021-02-23 12:53:43 -05:00
Anuken e5413cebdc Fixed #4766 2021-02-23 11:29:51 -05:00
Anuken 1a75951840 Merge remote-tracking branch 'origin/master' 2021-02-23 10:47:58 -05:00
Anuken 08e36aca98 Crafter progress modulo / Segment buff 2021-02-23 10:47:54 -05:00
Patrick 'Quezler' MounierandAnuken aabbfd624a Add disarmed status effect that disarms (#4762)
* Add disarmed status effect that disarms

* Update core/src/mindustry/entities/comp/StatusComp.java

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

* Rename disarms -> disarm

Co-authored-by: Anuken <arnukren@gmail.com>
2021-02-23 09:51:43 -05:00
Anuken 2f836d779a Update servers_v6.json 2021-02-22 10:22:28 -05:00
Anuken d7f848f8cd contXXXXX constants -> ctrl 2021-02-22 10:18:42 -05:00
Anuken 6f7f980563 Merge remote-tracking branch 'origin/master' 2021-02-22 10:15:43 -05:00
Anuken e2515fc4bf Automatic conveyor/conduit bridging 2021-02-22 10:15:40 -05:00
UnCaughT d06a7bb7a2 Update servers_v6.json (#4756)
The server now has a new domain.
2021-02-22 10:09:55 -05:00
Sharlotte dbdfdac94b translated yesterday update (#4755)
* translated newest bundle updates
* ps. why did i forgot https://github.com/Anuken/Mindustry/commit/1ef7ae70796beb4a28dee8f2c74b626d28348481#diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c this commit previous translation update?
2021-02-22 09:19:46 -05:00
Anuken 3b2a0cfd66 Removed RCR due to lack of moderation 2021-02-22 09:05:27 -05:00
Anuken 5b652ae51f Added guidelines for inappropriate server content 2021-02-22 09:04:22 -05:00
Anuken 9e8a2b8296 Minor bridge linking fix 2021-02-21 20:07:20 -05:00
Anuken e6787c5146 Controlled sensor improvements 2021-02-21 12:28:00 -05:00
Anuken d8552915f7 Cleanup 2021-02-21 10:35:33 -05:00
Anuken 61d9dea487 Logic config replication / logicUnitBuild rule / Copy-able ConstructBlocks 2021-02-21 10:23:46 -05:00
Anuken 02d8f679b5 Merge remote-tracking branch 'origin/master' 2021-02-21 09:22:05 -05:00
Anuken 544828d9fb Logic controller & dead`` sensors 2021-02-21 09:22:02 -05:00
liuxilu ca726d579e unit boosting sensor (#4738) 2021-02-21 09:20:36 -05:00
Anuken 8257fb5e11 Merge remote-tracking branch 'origin/master' 2021-02-21 08:54:10 -05:00
Anuken 0d287e6d59 Water Extractor: Use metaglass to be consistent with pumps 2021-02-21 08:53:47 -05:00
Patrick 'Quezler' Mounier 4d9dc66a96 Remove stray spaces from accelerator (#4465) 2021-02-20 12:52:56 -05:00
Patrick 'Quezler' Mounier 868d4e05f7 Move update function of resupply point 5x1 spaces back (#4746) 2021-02-20 12:51:12 -05:00
Anuken a3bf39d86b Minor cleanup 2021-02-20 10:08:15 -05:00
Sharlotte d76795e0ae translated recent update (#4742) 2021-02-20 10:07:29 -05:00
Ngọc Lam a2e075ee54 Update Vietnamese Translation. (#4660)
* Update translation, fix some typo

* About 150 lines to do left.

* Typos fix #_1

* Typos fix + add trans

* Update to lastest commit.

* Base logic translation.

* a lot of typo ...

* some update from main bundle.

* Add more logic hint.
2021-02-20 10:07:19 -05:00
Anuken 2df2a0971a arc 2021-02-20 09:49:49 -05:00
Anuken 158e23bd5e Steam icon changes 2021-02-19 19:43:37 -05:00
Anuken 467402ef73 Various fixes 2021-02-19 19:20:04 -05:00
Anuken f78719afc0 Fixed mod crash disable setting name 2021-02-19 19:10:27 -05:00
Antsiferov AndrewandVanguard e6513702d6 [Bundle][RU] actual L10n (#4726)
* 3 new, 1 deleted

New:
rules.unitcapvariable
rules.unitcap
laccess.color

Deleted:
lenum.color

* 1 line changed

rules.unitcap

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2021-02-19 18:33:43 -05:00
Arnyyx aeddf7014c Update bundle_vi.properties (#4724) 2021-02-19 18:32:52 -05:00
CatchearsandstuffyAI 1613f49c16 german translation for build 125, full android translation (#4703)
* update german translation to https://github.com/Anuken/Mindustry/commit/631e4d9eefca8b94de4fc52e57387b2c2f4ffecf

* update android translation to https://github.com/Anuken/Mindustry/commit/e816f6110de6ec9638b5a6be8a9710bdc49f5f4d

with regard to https://github.com/Anuken/Mindustry/commit/5ec5f1aa93dcac5c813027b23379f529dbf69e3d

* improve translation with ideas from others

* update german steam discription to https://github.com/Anuken/Mindustry/commit/e86a3e9d09d0f41a651d5e66403ea48c70add048

* update german translation to https://github.com/Anuken/Mindustry/commit/1ef7ae70796beb4a28dee8f2c74b626d28348481#diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c

* changes from stuffyAI

* cross-platform as suggested by stuffyAI

* stuffyAI

genau, hast recht

Co-authored-by: stuffyAI <59014072+stuffyAI@users.noreply.github.com>

Co-authored-by: stuffyAI <59014072+stuffyAI@users.noreply.github.com>
2021-02-19 18:32:44 -05:00
彭瑞暄 57a833c2fb Update Logic Draw Hints (#4734)
Wrapped up some previous logic hints, too.
2021-02-19 18:32:32 -05:00
BlueThecno 6de53343a4 Fixing typos and descriptions [bundle_es.properties] (#4727)
* Fixing and descriptions [bundle_es.properties]

* Forgot something
2021-02-19 18:32:17 -05:00
YellOw139 7bb4b09308 [Bundle][RO] Update (#4725)
* [Bundle][RO] Update

This PR was tested in-game and is ready to merge at any time.

Changelog:

- New strings/changes up to commit 1ef7ae7079
- Typo fixes & various other improvements

* Reducing confusion

* Update bundle_ro.properties
2021-02-19 18:32:07 -05:00
Anuken 68020fa7d4 Fixed "fix" in #4397 2021-02-19 18:31:34 -05:00
Phinner b94aba0301 Fixing remaining typos\errors in bundle_fr (#4397)
* Fixing remaining typos errors in bundle_fr

There are some errors that had managed to get through the verification. Imma chase them down!

* added logic hints and some typo fixes

* Fixing 2 typos in bundle.properties

L1548: Color statement affects every following draw operations.

* smolfixes
2021-02-19 18:30:49 -05:00
Anuken 0316009a9c Balance tweaks 2021-02-19 18:28:51 -05:00
Anuken 820f7f0ef2 arc 2021-02-19 17:25:37 -05:00
Anuken 6d105ad3e7 Merge remote-tracking branch 'origin/master' 2021-02-19 17:18:23 -05:00
Anuken f043a5f340 Logic tooltips on mobile devices w/ long-press 2021-02-19 17:18:17 -05:00
CxZxRainzz 73d6f95d2e Update servers_v6.json (#4735)
add 1 more server for CxZx
2021-02-19 17:11:51 -05:00
Fatonndev fb48070388 Add Survival and PvP servers (#4736) 2021-02-19 17:04:48 -05:00
Anuken fa7697fc40 Better JSON null validation / Disable mods on startup crash 2021-02-19 13:28:31 -05:00
Anuken b46a5c0bda Allow JSON mod content types from other class loaders 2021-02-19 09:45:51 -05:00
Anuken 1072c310ad Fixed #4732 2021-02-19 09:04:13 -05:00
Anuken d5448b59a2 Fixed UnitReq parsing 2021-02-18 21:07:48 -05:00
Anuken 78317e6126 Uncap content names in resolution 2021-02-18 20:15:46 -05:00
Anuken 5a58f9c71a Fixed #4729 2021-02-18 17:00:23 -05:00
Anuken 06b8dd61c7 Better splash damage handling for small radii 2021-02-18 15:02:09 -05:00
Anuken a81b5778a0 Merge remote-tracking branch 'origin/master' 2021-02-18 13:11:37 -05:00
Anuken a7188c4884 Content parser class discovery improvements 2021-02-18 13:11:20 -05:00
buthed010203 0bf0d48a02 Make status colors the same (#4719)
It bothers me ok
2021-02-18 10:24:52 -05:00
buthed010203 dc5cd196ed Use github build status (#4718)
Why does this still use travis? It was ditched months ago
2021-02-17 19:44:04 -05:00
Anuken f8f9bf228b Merge remote-tracking branch 'origin/master' 2021-02-17 17:12:36 -05:00
Anuken d0dc1ea132 Fixed #4715 2021-02-17 17:12:32 -05:00
ff9fad6a2c One last server for the Omega (#4714)
* One last server for the Omega

Added the Annexation server from the OmegaHub to the list as it is the final server people actualy play on.

* Update servers_v6.json

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2021-02-17 11:05:16 -05:00
Anuken 76dbdb59ce Draw cells for unit payloads 2021-02-17 11:02:49 -05:00
Anuken 0013402962 Merge remote-tracking branch 'origin/master' 2021-02-17 09:49:08 -05:00
Anuken 1ef7ae7079 Logic hints for draw operations 2021-02-17 09:49:01 -05:00
buthed010203 07a39d0da8 V6 servers arent BE last i checked (#4713)
This has been bothering me the last few days and i assumed someone else would fix it and i wouldnt have to make a pr for something so tiny but here i am
2021-02-17 09:36:31 -05:00
Anuken b8bfb30c56 Merge remote-tracking branch 'origin/master' 2021-02-17 09:15:21 -05:00
Anuken 00342ddaae Misc cleanup 2021-02-17 09:15:17 -05:00
Sharlotte fb40c0b9de cursed typo (#4705)
cursed typocursed typocursed typocursed typocursed typocursed typocursed typocursed typo
2021-02-17 09:12:49 -05:00
Patrick 'Quezler' Mounier 5d9506eb12 Reshuffle nydus servers (#4708) 2021-02-17 09:12:20 -05:00
Anuken 080fe8c3c4 Decreased impact reactor explosion radius 2021-02-16 15:54:20 -05:00
Anuken 48745d7380 Steam crash fix 2021-02-16 13:40:34 -05:00
YellOw139 41b50d67af [Bundle][RO] Update (#4696)
This PR was tested in-game and is ready to merge at any time.

Changelog:

- New strings/changes up to commit 631e4d9eef
- Typo fixes & various other improvements
2021-02-16 13:12:29 -05:00
Vanguard b65dffca9d 4 new, 1 changed (#4688)
New:
enablebuilding
stat.armor
setting.logichints.name
(newline between radar.output and unitradar.target)

Changed:
lenum.turret
2021-02-16 13:12:17 -05:00
Sharlotte 66bdfcf877 [KO] Update bundles again (#4695)
*translated updated new logic hint
*translated new rule
*typo
2021-02-16 13:12:06 -05:00
Anuken b0082c92c5 Fixed green line bug - Removed stencil+depth buffers 2021-02-16 13:02:15 -05:00
Anuken fdd1c01ac3 Merge remote-tracking branch 'origin/master' 2021-02-16 12:20:37 -05:00
Anuken 1ffdd9fd99 Fixed #4701 2021-02-16 12:20:30 -05:00
Patrick 'Quezler' Mounier f64ad2db9f Remove another dead server (#4699) 2021-02-16 11:46:51 -05:00
Anuken 7bfe9bf914 Merge remote-tracking branch 'origin/master' 2021-02-16 10:57:32 -05:00
Anuken 214f3bb9b5 Improved data file zipping 2021-02-16 10:57:20 -05:00
키에르 3f51149883 Remove dead server (#4669) 2021-02-16 09:50:52 -05:00
Anuken 2c368953f9 Merge remote-tracking branch 'origin/master' 2021-02-16 09:13:49 -05:00
Anuken 9d5454e5ce Fixed #4694 2021-02-16 09:13:44 -05:00
TranquillyUnpleasant 631e4d9eef Unit cap (#4689)
* Add unit caps as a map setting.

* Use int and add maximum and minimum handling.

* Put a lower limit of 0 for unit cap
2021-02-15 20:15:56 -05:00
Anuken 957583071d Splash damage tweaks 2021-02-15 18:42:24 -05:00
Anuken c942331117 New splash damage algorithm 2021-02-15 18:00:47 -05:00
Anuken 710a55dc2d Reverted pixmap blending rename 2021-02-15 11:08:56 -05:00
Anuken 4bbb4b9a19 Reorder NaN check 2021-02-15 11:00:49 -05:00
彭瑞暄 a2e5dae27f Updated zh-TW translations of Logic Hints (#4666)
* Logic Hint pt.1

Some Logic Hints and minor tweaks in previous translations

* Logic Hints pt.2

* Logic Hints pt. 3/3
2021-02-15 10:46:19 -05:00
YellOw139 d5645b8a7b [Bundle][RO] Update (#4631)
* [Bundle][RO][124.1] Update

This PR was tested in-game and is ready to merge at any time.

Changelog:
- New strings/changes up to commit 64acd6c1e4
- Fixed ancient mod-related bundles not fitting the new install button
- Typo fixes & various other improvements

* Logic tooltips - initial English commit

* Block flags

* Romanian logic hints

* polishing

* Since when is this missing

* Polishing
2021-02-15 10:43:34 -05:00
Sharlotte a9f9946a39 [KO] TYPO (#4665)
* [KO] i got typo!

* typo
2021-02-15 10:42:28 -05:00
Antsiferov Andrew 561deacce4 [Bundle][RU] Logic Popups L10n (#4677)
* Logic popups

* Block flag documentation

* Распознование -> Распознавание (@Prosta4okua)

* Сбрсывание -> Сбрасывание (@XEN0PHIL)

* нахдиться -> находиться (@XEN0PHIL)

* распознования -> распознавания (@XEN0PHIL)

* распознования -> распознавания (@XEN0PHIL)

* распозновать -> распознавать (@XEN0PHIL)

* распознования -> распознавания (@XEN0PHIL)

* Включен -> Включён (@XEN0PHIL)

* - -> - (@XEN0PHIL)

* lst.unitradar (@XEN0PHIL)

* единиц -> единицы (@XEN0PHIL)
2021-02-15 10:42:01 -05:00
Joshua Fan e528e35e06 Add sector icon picker back button (#4682) 2021-02-15 10:41:56 -05:00
Anuken af39d6a6ee Fixed #4685 2021-02-15 10:37:24 -05:00
Patrick 'Quezler' Mounier 7a21c02476 Makes the top sprite visible on liquid turret icons (#4683)
* Add top region to liquid turret icons

* Attempt to change outline icon generation

* Draw regions above the outlined icon over it

* Draw regions **above** the outlined icon over it

* Add clarrifying comment

* Implement backwards compatibility for mods

* an -> any
2021-02-15 09:32:46 -05:00
Patrick 'Quezler' Mounier 557e5710cd Fixes BuilderAI & RepairAI retreat nullpointers (#4681)
* Update BuilderAI.java

* Update RepairAI.java
2021-02-15 09:31:27 -05:00
Anuken fa52255d04 Fixed #4680 2021-02-15 09:30:57 -05:00
Anuken e16622afcc Automatic retreat AI for builders/repair units 2021-02-14 20:44:40 -05:00
Anuken f2468f0b3d Cleanup of #4678 2021-02-14 19:14:02 -05:00
Anuken 30c9231df6 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-02-14 19:02:55 -05:00
Joshua Fan 7532aadaf8 Add enable building hint, combine building and respawn hints (#4678) 2021-02-14 19:02:28 -05:00
Anuken 3d226246b9 Labyrinth core fix 2021-02-14 09:15:12 -05:00
Skin d6c852a082 remove-pandorum (#4676)
Good luck!
2021-02-14 08:54:25 -05:00
Anuken 07a27e913c Added UnitBuild transition class 2021-02-14 08:47:53 -05:00
Anuken 092d152bdc Force-link effect classes on iOS 2021-02-13 18:24:22 -05:00
Anuken 8b756d221b Un-broke scripts 2021-02-13 16:28:49 -05:00
Anuken f33d684dce Merge remote-tracking branch 'origin/master' 2021-02-13 11:56:44 -05:00
Anuken 56e41309b1 Updated global script 2021-02-13 11:56:40 -05:00
RebornTrack970 91b24433b9 Added the 2R2T and Rush server to Omega. (#4667) 2021-02-13 10:37:44 -05:00
Anuken 9050937900 Name cleanup 2021-02-12 19:40:29 -05:00
Anuken 2e6b90d4d5 Serializable -> JsonSerializable 2021-02-12 15:41:28 -05:00
Anuken 146b2589e2 Fixed rare network error 2021-02-12 14:54:10 -05:00
Anuken abd07e1525 Fixed chat not working while paused 2021-02-12 12:55:31 -05:00
Anuken 541da5c0c9 Block flag documentation & cleanup 2021-02-12 09:09:10 -05:00
Anuken 21f642ad0c Merge remote-tracking branch 'origin/master' 2021-02-12 08:56:44 -05:00
Anuken 0d084d380d Fixed map resize not preserving links 2021-02-12 08:56:40 -05:00
Sharlotte 0fe158d080 [KO] i got typo! (#4662)
* [KO] i got typo!

* typo
2021-02-12 08:42:35 -05:00
Anuken 0cc64c6a8d Fixed #4658 2021-02-12 08:41:36 -05:00
Anuken cd684996e1 Cleanup & Steam crash fix 2021-02-11 16:31:44 -05:00
Anuken 0350e6bbf4 Validate teams with power links 2021-02-11 12:03:11 -05:00
Anuken 4fe5972d89 Merge remote-tracking branch 'origin/master' 2021-02-11 10:12:17 -05:00
Anuken 27c8efc672 Better targeting range calculation 2021-02-11 10:12:07 -05:00
Catchears aef0faf79c update german translation to include logic hints (#4654)
* update german bundle to "force projector heat issues"

https://github.com/Anuken/Mindustry/commit/ea2b57ec4b4ef47847fca6870802655d18b1a8cd
ea2b57ec4b

* Gebäude -> Block to prevent confusion
2021-02-11 10:01:03 -05:00
Sharlotte ea7d1dd91e [KO] UPDATED KO Translation (#4656)
* translated all without logic hint

* typo typo typo typo everywhere typo oh hi typo

* Update logic hint

* typo

* translated changed android description

* android changelog
2021-02-11 09:55:02 -05:00
Anuken ea2b57ec4b Force projector heat sense 2021-02-10 14:42:30 -05:00
Anuken 949f5eccd7 Damage distance check fix 2021-02-10 09:46:30 -05:00
키에르 e525d89e43 Add missing properties (#4649)
* Add missing properties

* oh no formatting
2021-02-10 09:37:47 -05:00
Patrick 'Quezler' Mounier 6498ce3c4f Remove double indentation of the io server group (#4650) 2021-02-10 09:21:21 -05:00
MEEP of Faith cbf30c599b If a building and unit are found within the line, target the closer one. (#4646) 2021-02-10 09:16:49 -05:00
Anuken 54c406f83d Cleanup 2021-02-09 18:28:11 -05:00
Anuken 7b2957ab41 More logic tooltips 2021-02-09 15:04:50 -05:00
Anuken e22fccf5b1 Logic hint tooltips 2021-02-09 14:52:23 -05:00
Anuken ce8b32f022 Merge remote-tracking branch 'origin/master' 2021-02-09 12:10:22 -05:00
Anuken 0d0aef3dea Logic layout bugfixes 2021-02-09 12:10:15 -05:00
MEEP of Faith 386da22f6e remove space in perShot (#4640) 2021-02-09 09:52:00 -05:00
SachaTending f76b514892 Update servers_v6.json (#4615)
Add RCR
2021-02-09 09:44:01 -05:00
Anuken 77dc959e4a Merge remote-tracking branch 'origin/master' 2021-02-09 09:35:03 -05:00
Anuken a99151441c Fixed #4642 / Logic op reorganization 2021-02-09 09:34:58 -05:00
buthed010203 852b0a97fe 60 * 60 > Time.toMinutes (#4634)
It already exists in other places in the code, doesn't make sense to not use it.
2021-02-08 16:49:14 -05:00
Anuken 38843c25fb Merge remote-tracking branch 'origin/master' 2021-02-08 16:44:22 -05:00
Anuken ce2750ba60 Rail bullet fix 2021-02-08 16:29:41 -05:00
Fatonndev 1d3dbddaef add player.locale (#4633) 2021-02-08 15:26:48 -05:00
Anuken d8177daada Merge remote-tracking branch 'origin/master' 2021-02-08 14:55:18 -05:00
Anuken 3cbcd779eb Better strict equality implementation 2021-02-08 14:55:14 -05:00
Nexort23 33fc36a2d4 hub minplay.ru (#4600)
* hub minplay.ru
2021-02-08 14:52:11 -05:00
Anuken c06146110d Better bullet homing (#4630) 2021-02-08 13:03:08 -05:00
Anuken 1802aab683 isNull op / Return null for null block sense/NaNs 2021-02-08 12:48:39 -05:00
Anuken 49fe47f1f8 Comment fix 2021-02-08 12:23:56 -05:00
Anuken a13c9d0761 Fixed F-Droid build string not updating on deploy 2021-02-08 10:58:05 -05:00
Anuken 3d8479355c Fixed random key 2021-02-08 10:45:08 -05:00
MEEP of Faith 86c702861e Remove NullPointerExeption error (#4624) 2021-02-08 10:44:08 -05:00
CxZxRainzz 47ec13eef4 Update servers_v6.json (#4628)
Add CxZx
2021-02-08 10:39:41 -05:00
Anuken d8cd0d867c Merge remote-tracking branch 'origin/master' 2021-02-08 10:37:09 -05:00
Anuken d5ede6b1bb Un-blacklisted arc.net 2021-02-08 10:37:06 -05:00
키에르andAnuken fd931564aa Add sources jar (#4612)
* Add sources jar

* Update build.gradle

* Fix classes not found

* :core

* formatting

Co-authored-by: Anuken <arnukren@gmail.com>
2021-02-08 09:59:11 -05:00
Anuken 6b19178a13 Fixed #4620 2021-02-08 09:52:41 -05:00
Anuken 64acd6c1e4 Merge remote-tracking branch 'origin/master' 2021-02-08 09:42:57 -05:00
Anuken 560914bebe Added more unit stats to database 2021-02-08 09:42:49 -05:00
Anuken 2edec90dfb Cleanup 2021-02-08 09:25:46 -05:00
Catchears 10c1305eae update german translation for build 124 (#4618)
* update german translation for build 124

* shorten text to fit on the button without newline
2021-02-07 17:16:56 -05:00
Joshua Fan 852c98f004 "[E] to enable building" hint while building is paused (#3857)
* Show building hints while building is paused

* Add hint: [E] to enable building

* Remove .left()

* Fix build enable hint display inconsistencies when changing build auto-pause setting

* Combine building hint tables

* Fix indentation
2021-02-07 16:58:42 -05:00
Patrick 'Quezler' Mounier 292f771eb1 Draws team regions during schematic placement (#4588)
* Draw team regions during schematic placement

* Fall back to sharded for headless

* Only draw team regions if the schematic is in-world

This seems better than `player != null && req.worldContext` since it wouldn't really result in any visual changes but saves some draw operations.

* This seems cleaner

Although the order of the 1st and 2nd if argument is debatable for performance reasons.
2021-02-07 13:27:09 -05:00
Anuken 1acc771edc 'Fixed' some iOS warnings 2021-02-07 13:08:10 -05:00
Anuken ee61d0dcfa Cleanup 2021-02-07 13:01:30 -05:00
Anuken e5f2073de2 Minor unit balance tweaks 2021-02-07 12:49:26 -05:00
Anuken 816be9e9bd Force projector visual cleanup 2021-02-07 12:38:24 -05:00
Sunny Kim 2107af1f0f Force projection disappearing visuals (#4504)
* forceShrink

* forceShrink

* more quicker to tell it apart from a shield down
2021-02-07 12:36:29 -05:00
MEEP of Faith 3bb85b4bda Custom shadow offset (#4472) 2021-02-07 12:34:54 -05:00
YellOw139 e86a3e9d09 [Bundle][RO][Ready-for-Stable] Translation & metadata update + minor fix (#4409)
* #3958 hotfix

* update Romanian Steam desc count

* Create title.txt

* Add files via upload

* Sorter gates

* charge

* Polishing

* More mod browser
2021-02-07 12:33:51 -05:00
Szczepan Zalega 957426c27f Fix some typos in Polish translation (#4411)
* Fix some typos in Polish translation

* Update bundle_pl.properties

(fixup)
2021-02-07 12:33:45 -05:00
8bc90a19d2 [bundle] update bundle_ru.properties (#4477)
* 1 line changed

- noname

* 1 line changed

- hint.placeTurret

* 3 new lines

- servers.disclaimer
- hint.coreUpgrade
- hint.presetLaunch

----
NOTE from Felix Corvus (@Remint32)

This commit and PR are the last ones I made to the repository.
I want to sincerely thank the people I worked with to enhance the game and translate it into Russian.

I want to thank you separately:
Prosta4ok_ua (@Prosta4okua), Vanguard (@XEN0PHIL), BasedUser (@BasedUser), Summet (@summetdev), Anuke (@Anuken), The_Slaylord (@TheSlaylord), Lonely_Ymomfe (@ymomfe), and XZimur (@XZimur)

* 5 changed lines; 2 new lines

Changed:
globalitems
sector.extractionOutpost.description
hint.launch
hint.launch.mobile
hint.presetLaunch

New:
hint.coreIncinerate
hint.coopCampaign

* 2 changed line

hint.coopCampaign
item.spore-pod.details
-
В споровом стручке всё же множественное число в описании, говорится про сами споры. THEY EMIT - они выделяют, IT EMITS - он выделяет.

* 2 changed lines

hint.coreIncinerate
block.interplanetary-accelerator.description

* 3 new line; 1 changed line

New:
setting.showweather.name
link.bug.description
rules.weather.always

Changed:
keybinds.mobile

* 4 new lines; 1 changed line; 1 deleted line

New:
public.confirm.really
bullet.buildingdamage
stat.ammouse
unit.pershot

Changed:
bullet.knockback

Deleted:
bar.limitreached

* Update bundle_ru.properties

падежи

* Update bundle_ru.properties

мелочи

* 1 changed line

stat.ammouse

* 1 new line

none.found

* 6 changed; 1 deleted

Changed:
mod.featured.dialog.title
mods.browser.add
mods.github.open
mod.import.github
mod.jarwarn
mods.guide

Deleted:
mod.featured.title

* 2 changed lines

link.bug.description
mod.scripts.disable

* Update achievements.vdf

* Update description.txt

* 1 changed line

item.thorium.description

* 1 new line

rules.coreincinerates

* 1 new line

bar.boost

* 1 new line

max

* Update bundle_ru.properties

* Update bundle_ru.properties

* rip v3.5 maps

* Update bundle_ru.properties

* Update bundle_ru.properties

* Update bundle_ru.properties

* Prosta4ok obnovi repository

* взлЁт

* 3 new lines

mods.browser.sortdate
mods.browser.sortstars
stat.charge

* Update description.txt

* Update description.txt

* 3 changed, 3 new, 1 deleted

Changed:
mods.browser.sortdate
unit.sei.description
unit.risso.description

New:
mods.browser.reinstall
mods.viewcontent
mods.browser

Deleted:
mod.featured.dialog.title

* 1 line changed

mods.github.open
-
"Репо" is not commonly used and "Репозиторий" does not fit in the button

* 1 new line

mod.installed

Co-authored-by: Felix Corvus <remint32@yandex.ru>
Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com>
Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2021-02-07 12:33:18 -05:00
Prosta4okua 668144cf2a [Bundle]Update bundle_uk_UA.properties (#4434)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2021-02-07 12:32:57 -05:00
Anuken c5ed056601 Removed unused fx 2021-02-07 12:12:15 -05:00
Anuken ea9d415b92 iOS inset rotation fix 2021-02-07 11:43:34 -05:00
Anuken c181204700 Fixed mod descriptions going off-screen 2021-02-07 10:44:45 -05:00
Anuken ca78cb1a3f Fixed #4616 2021-02-07 10:21:38 -05:00
Anuken fdafa0933f Mod browser layout tweaks 2021-02-07 10:04:46 -05:00
Anuken ae92813169 Merge remote-tracking branch 'origin/master' 2021-02-07 09:50:37 -05:00
Anuken 8a248dc787 Mod browser layout fixes 2021-02-07 09:50:33 -05:00
Leonid Skorospelov f90f611a6d plastanium-wall-large schematicPriority should also be 10 (#4613)
plastanium-wall has it, makes sense to put for large one as well
2021-02-07 09:14:19 -05:00
Xasmedy 1c0d148607 Removed same if statement. (#4607)
Removed an if statement that was the same of the one up.
2021-02-06 18:13:48 -05:00
Anuken 95c8b7ae60 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-02-06 12:06:03 -05:00
Anuken 25d013b768 Mod browser icon support 2021-02-06 12:05:59 -05:00
Patrick 'Quezler' Mounier 9de8c4d8ac Update servers_be.json (#4602) 2021-02-06 09:09:56 -05:00
Anuken 7e4ffe6a7d Fixed builds failing without Android project 2021-02-06 08:43:15 -05:00
Anuken b90372a226 Testing bloom on iOS 2021-02-06 08:37:02 -05:00
Anuken 9adbfcac0f Re-added jcenter repo 2021-02-05 14:11:52 -05:00
Anuken d1eb7743ad Better mod browser horizontal layout 2021-02-05 12:12:08 -05:00
Anuken fc3352bcb1 Java mod import support / Moved mod browser button 2021-02-05 11:21:27 -05:00
Anuken 9b3360d932 Mod content lists 2021-02-04 21:02:57 -05:00
Anuken 3784bfac77 Allow mod re-import / Save mod repo on import 2021-02-04 19:30:52 -05:00
Anuken 54754cd177 Don't reset processors when links change 2021-02-04 18:19:56 -05:00
Anuken c48034e420 Merge remote-tracking branch 'origin/master' 2021-02-04 14:12:07 -05:00
Anuken 3299279c89 Removed jcenter repositories 2021-02-04 14:12:03 -05:00
Patrick 'Quezler' Mounier a6c3ebc467 Save rotation of repair points (#4586) 2021-02-04 10:23:17 -05:00
Anuken 9f510f61c7 Fixed #4584 2021-02-04 09:25:52 -05:00
Anuken 3ae48b8753 Merge remote-tracking branch 'origin/master' 2021-02-03 19:17:14 -05:00
Anuken f41725b8dc Minimap unit rendering fix 2021-02-03 19:17:07 -05:00
Fatonndev 115df3aedd Add obvilionnetwork.ru Recapture and Attack servers (#4582)
* Add obvilionnetwork.ru Recapture and Attack servers

* Update servers_v6.json

* Update servers_v6.json
2021-02-03 17:04:55 -05:00
buthed010203 3c136ad0ba add transportation group to container and vault (#4499)
this allows for them to be placed over belts so that people no longer have to clear an area around the core when placing vaults around it.
2021-02-02 15:32:52 -05:00
Patrick 'Quezler' Mounier 48ee3d255d Make timescale accessible to logic (#4503) 2021-02-02 15:20:36 -05:00
QmelZ b05f867800 add rotation to ParticleEffect (#4501)
* add rotation to ParticleEffect

* add offset
2021-02-02 13:14:47 -05:00
Anuken 55b790a0d4 Merge remote-tracking branch 'origin/master' 2021-02-02 13:13:45 -05:00
Anuken 57f6c9dfd9 Mech rebalancing 2021-02-02 13:13:38 -05:00
Nikopol 2f9c95afd0 Moving server to C.A.M.S. (#4497)
NikoCHIO now in C.A.M.S.
2021-02-02 09:22:54 -05:00
彭瑞暄 4fe1457d96 Updated zh-TW translations (#4449)
* Update bundle_zh_TW.properties

mod sorting & charge

* Changed "Charge"

A better translation came to mind
2021-02-01 09:29:03 -05:00
Folker 2589a27cb5 Create FileTreeInitEvent (#4489)
* filetree init event

* actions do your thing
2021-02-01 09:27:24 -05:00
Anuken 8704e14fd7 Fixed #4493 / Fixed #4492 / Fixed #4490 2021-02-01 09:24:39 -05:00
Anuken 2b17dbe390 #4487 but properly implemented 2021-01-31 19:44:29 -05:00
Anuken 919012608a Merge remote-tracking branch 'origin/master' 2021-01-31 16:35:17 -05:00
Anuken 5675a5b035 F 2021-01-31 16:35:13 -05:00
RebornTrack970andAnuken 6724752980 Added server Omega (#4435)
* Added server Omega

This is the hub of my servers. The other ip for it is: omega.my.to:25906 but that one sometimes doesnt work.

* changed the ip to dns version

* the ip seems more useable

some devices cant seem to connet to dns.

Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-31 15:58:26 -05:00
UnCaughT 0e078a9c60 Update servers_v6.json (#4452)
Русскоязычный сервер с Hex сражениями.
2021-01-31 15:57:08 -05:00
_owler_#0954 c0b1dfc55a closed. (#4481) 2021-01-31 15:52:55 -05:00
Anuken 3d201f7042 Fixed #4474 / Fixed #4475 / Fixed #4476 / Fixed #4483 2021-01-31 15:51:42 -05:00
Anuken f1a5aae30a Merge remote-tracking branch 'origin/master' 2021-01-29 12:02:36 -05:00
Anuken 9142da2b70 Stop shooting upon crawler death 2021-01-29 12:02:31 -05:00
Vajda Simon 022c76bf45 bundle_hu.properties (#4464)
They spoke on Discord because of an incorrect translation.
2021-01-29 09:40:07 -05:00
Patrick 'Quezler' Mounier bc6db72df0 Make fillitems fill the core to the brim (#4462)
Instead of just setting all items to the capacity of the first found core.
2021-01-29 09:38:26 -05:00
Anuken d512aa5b21 Fixed #4463 2021-01-29 09:32:29 -05:00
Anuken 7cdf7a21fe Minor power graph optimizations 2021-01-28 12:07:50 -05:00
Anuken 9a5a6e1ce2 Merge remote-tracking branch 'origin/master' 2021-01-28 10:23:07 -05:00
Anuken 5a258d2830 Fixed #4461 2021-01-28 10:23:02 -05:00
Patrick 'Quezler' Mounier 96ee32f8ed Custom Game Underline 2: Electric Boogaloo (#4457)
* Update CustomGameDialog.java

* Remove .row() for consistensy
2021-01-28 09:06:30 -05:00
Joshua Fan a667a94c8e Draw plastanium conveyors on conveyors layer (#4446) 2021-01-27 12:08:51 -05:00
Anuken d0572a2a0d Merge remote-tracking branch 'origin/master' 2021-01-27 11:49:08 -05:00
Anuken 47eea79b60 Fixed #4453 / Fixed #4450 2021-01-27 11:49:04 -05:00
Patrick 'Quezler' Mounier 03b37235b3 producer -> generator (#4441) 2021-01-26 11:35:48 -05:00
Patrick 'Quezler' Mounier 6969fbb1e7 Give tsunami the extinguisher flag as well (#4442) 2021-01-26 11:31:36 -05:00
Anuken ccc59aa61b Minor wave task tweaks 2021-01-26 10:37:36 -05:00
Anuken c658865907 Dynamic lightning damage tweaks 2021-01-25 17:21:12 -05:00
Sunny KimandAntsiferov Andrew a13d51e09a Charge stat for Item (#4392)
* Stat.discharge, discharge

* Update Items.java

* item.discharge

* full container = somewhat more than 4 full batteries

* Stat.discharge

* stat.discharge = Discharge

* Update core/src/mindustry/type/Item.java

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* removed dis

* oops

* unit zap

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2021-01-25 17:10:34 -05:00
Anuken f827337259 Merge remote-tracking branch 'origin/master' 2021-01-25 16:16:45 -05:00
Anuken b83c76f728 Improved liquid bridge throughput 2021-01-25 16:16:38 -05:00
Thomas Widyantoko 5666fd4999 new update in_ID translation (#4437)
yes
2021-01-25 14:32:35 -05:00
Anuken 5930e3c350 Cleanup 2021-01-25 12:53:27 -05:00
Anuken 4630e5b3a4 Wave spawning improvements 2021-01-25 10:28:36 -05:00
Anuken f16990edcb Reconstructors: Accept unit dropped payload when disabled 2021-01-24 20:20:03 -05:00
FrederickDoeringandfrederick_efd 13896589c2 Made disabling payload conveyors output from routers more reliable. (#4433)
Prevented reconstructors from being roughted to when disabled.

Co-authored-by: frederick_efd <frederick.doering@nordson.com>
2021-01-24 20:18:09 -05:00
Anuken 8b5cf5309a Reactive effect flag 2021-01-24 15:22:41 -05:00
Anuken baedba0d5b Mutual status effect transitions 2021-01-24 14:20:48 -05:00
Anuken 9f926ef71e Merge remote-tracking branch 'origin/master' 2021-01-24 13:08:05 -05:00
Anuken 18a3f8bb68 Fixed #4431 2021-01-24 13:08:01 -05:00
genNAowlandLeonwang4234 623b7ada11 Let Logic Sense Range (#4425)
Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-01-24 09:23:12 -05:00
_owler_#0954 6b6d52e2fd Add new minigame (#4427)
PvP version of tower defence
2021-01-24 09:22:44 -05:00
MEEP of Faith fc91b6b135 Colored construct (#4417) 2021-01-23 15:29:36 -05:00
Anuken f9c33453f2 Merge remote-tracking branch 'origin/master' 2021-01-23 10:33:10 -05:00
Anuken ad4650f408 Fixed #4420 / Fixed #4418 / Fixed #4416 2021-01-23 10:33:06 -05:00
Joshua Fan 8ca08a0f14 Make schematics build insulated blocks first, power nodes last (#4414)
* Make schematics build insulated blocks first, power nodes last

* Add schematicPriority property to sort by

* Assign schematicPriority of 10 to power diode
2021-01-23 10:28:26 -05:00
Anuken 792fdef95d Minor parse fix 2021-01-21 21:25:04 -05:00
Anuken 457514a2c8 Fixed #4407 2021-01-21 21:21:02 -05:00
Anuken 027d080c55 Fixed #4403 2021-01-21 16:10:16 -05:00
Anuken bf8f059c25 Merge remote-tracking branch 'origin/master' 2021-01-21 14:45:51 -05:00
Anuken a73165353f Fixed #4402 2021-01-21 14:45:43 -05:00
Nikopol 613b5a7703 Update servers_v6.json (#4401) 2021-01-21 10:54:24 -05:00
genNAowlandLeonwang4234 988791f18d Let Logic set (and read) Illuminator Color (#4374)
* illluminator color logic control

* remove sense

Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-01-21 09:30:36 -05:00
Patrick 'Quezler' Mounier 1fb608220f Make impact reactor warmup sensable as heat (#4399)
* Make impact reactor warmup sensable as heat

* Update ImpactReactor.java
2021-01-21 09:30:25 -05:00
키에르andBlockzilla101 56b87a2141 Add kr server (#4378)
* Add kr server

* Update servers_v6.json

Co-authored-by: Blockzilla101 <48705529+Blockzilla101@users.noreply.github.com>

Co-authored-by: Blockzilla101 <48705529+Blockzilla101@users.noreply.github.com>
2021-01-21 09:13:07 -05:00
Anuken 3aee9bddd4 Cleanup 2021-01-21 08:54:14 -05:00
Sunny Kim 65f97edbc5 Add search option for mod browser (#4391)
* add search option

* mods.browser.sortdate

* mods.browser

* Update bundle_ko.properties

* oopsie

* clearPartiali

* half of my brain cells failed to boot
2021-01-21 08:51:43 -05:00
Anuken d393230add . 2021-01-21 08:50:25 -05:00
Anuken 75d2b0fb69 Fixed #4393 / Fixed #4398 2021-01-21 08:48:36 -05:00
Anuken 0cc9b0b0a3 Mod version parse fix 2021-01-20 16:44:04 -05:00
Anuken 9b6c125233 UI.formatAmount for negative numbers 2021-01-20 16:38:46 -05:00
Anuken 1f2b331bf6 Possible Android mod extension fix 2021-01-20 14:48:54 -05:00
Anuken ec73426bbc Smaller 1x1 block status indicators 2021-01-20 13:52:14 -05:00
Anuken 770d8506c5 MoveLightning ability bullet support 2021-01-20 12:31:35 -05:00
Anuken 10cd15a088 Merge remote-tracking branch 'origin/master' 2021-01-20 10:51:06 -05:00
Anuken 481e19b1ec Balancing to counteract double-splash-damage bug 2021-01-20 10:51:01 -05:00
彭瑞暄 e326e3a273 Updated zh-TW Steam & Android (#4382)
* removed "never", minor updates

* steam description

* translation moderation

* removed weird syntax

* Update full_description.txt

* Update full_description.txt
2021-01-20 09:22:49 -05:00
rMuchan d747b1d96a update zh-cn translation (#4244)
* update zh-cn translation

* update zh-cn translation

* add missing item
2021-01-20 09:18:13 -05:00
Anuken f64cb3ad9a Fixed #4385 2021-01-20 09:11:32 -05:00
Anuken c4ea5a8256 Merge remote-tracking branch 'origin/master' 2021-01-19 19:55:25 -05:00
Anuken fa8d43bbc9 Misc cleanup 2021-01-19 19:55:21 -05:00
MEEP of Faith 77f31fd86c Movement Lightning Ability Improvements (#3901)
* Movement Lightning Ability Improvements

* `Core.atlas.find` Might not always be avalable

* Default is null

* Fix
2021-01-19 19:20:25 -05:00
end 18fe2a1737 Update achievements.vdf (#4358) 2021-01-19 18:52:09 -05:00
YellOw139andAnuken e816f6110d [Fastlane][RO] Steam Translation (#3958)
* Create short-description.txt

* Add files via upload

* incomplete

* Update achievements.vdf

* finished

* import commit 032 b254

* [Steam] Update counts

Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-19 18:50:49 -05:00
YellOw139 632887ddd2 [Metadata] Android desc = Steam desc (#4370)
Features:
- Kept the first 2 sentences intact. This means that roughly same text is displayed before clicking 'Read more'. 'Features include:' has been dropped for 'Gameplay Features', for Steam similarity.
- Steam-like formatting. I noticed that <h2> doesn't seem to do anything. Despite that, I've seen Gameloft using it. For something bigger, I'd recommend <big>.
- Updated blocks count. There's over 130 blocks. I triple checked.
- The old description still had 4 unique bosses. RIP.
- Steam Workshop & achievements and Android don't mix up.
- Checked against the character limit. It has less than 4000.
- Only cat-approved text.
2021-01-19 18:39:09 -05:00
MEEP of Faith c53a6a7c04 hitColor colored beam effects. (#3471)
* hitColor colored beam effects.

* Same with lasers

* fix
2021-01-19 17:46:02 -05:00
Nikolass1000 532a4bc140 Update bundle_pl.properties (#4377) 2021-01-19 17:33:42 -05:00
Arnyyx 88086f5ba9 Update bundle_vi.properties (#4333) 2021-01-19 17:32:15 -05:00
Molovtov 0be39d43a2 better_thai_translate.properties (#4314)
* better_thai_translate.properties

Better thai translate but not done yet,by the red(need more blins)

* Better_thai_properties

Better thai by thai people,by the red(need more blins)
2021-01-19 17:30:40 -05:00
rnarko e9abe273c7 Update Polish translation to fix eye-hurting typos (#4310) 2021-01-19 17:30:30 -05:00
Thomas Widyantoko 775ebd6e94 more in_ID translation (#4286)
* more in_ID translation

fixes, addition, etc

* changes to in_ID

translated rules.coreincinerates and removed waves.never to match up with the original bundle file
2021-01-19 17:24:03 -05:00
Esculap b86201ea9b Update bundle_pl.properties (#4326)
Translated some tiles (not translated yet):
Dacite => Dacyt
Dacite Wall => Dacytowa Ściana
Dacite Boulder => Dacytowy Głaz
Stone Wall => Kamienna Ściana
Ice Wall => Lodowa Ściana
Snow Wall => Śnieżna Ściana
Dune Wall => Wydmowa Ściana
Dirt => Ziemia
Dirt Wall => Ziemna Ściana
Mud => Błoto
Basalt => Bazalt
2021-01-19 17:23:44 -05:00
彭瑞暄 e3ccde31d8 removed "never", minor updates (#4363) 2021-01-19 17:21:41 -05:00
Vajda Simon 32d1d7264c bundle_hu.properties (#4181)
Okay, so a lot of little ones go big.
2021-01-19 17:08:22 -05:00
Sharlotte 27d9718d4f update KO bundle + android (#4285)
* Update bundle_ko.properties

* oops!

* changelog update

* Update full_description.txt

* oh god, i forgot this again again... sorry

* Update bundle_ko.properties
2021-01-19 16:05:17 -05:00
Anuken f812460164 New unit select fixes 2021-01-19 15:49:30 -05:00
VozDuh da8ea84397 New Unit Select (#3672)
* New Unit Select

* Fix

* Facepalm

* Code Fix

* Texture Fix
2021-01-19 15:42:33 -05:00
机械师 52e47a28c4 Update servers_v6.json (#4132)
增加两个中国地区服务器,主要为挑战性地图。
Add two China region servers, mainly for challenging maps.
2021-01-19 15:36:27 -05:00
Petr Gašparík b9b8fc66b1 Czech translation - ongoing effort (#3841) 2021-01-19 15:28:23 -05:00
YellOw139 c026d44cd3 [Bundle][RO] Translation update (#4192)
* [Bundle][RO] Translation update

This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- ~~New strings/changes up to commit~~ TBA
- Sector description improvements
- Typo fixes & various other improvements

* Update bundle_ro.properties

* Max

* repeated typo typo typo

* Welcome to 2020 when maps are no longer images

* <never> forget your position in the 20s
2021-01-19 15:26:36 -05:00
CPXMCandAnuken eb75cd5ae8 Update contributors (#3766)
Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-19 15:26:12 -05:00
7e10487926 [Bundle][RU] actual L10n (#4173)
* 1 line changed

- noname

* 1 line changed

- hint.placeTurret

* 3 new lines

- servers.disclaimer
- hint.coreUpgrade
- hint.presetLaunch

----
NOTE from Felix Corvus (@Remint32)

This commit and PR are the last ones I made to the repository.
I want to sincerely thank the people I worked with to enhance the game and translate it into Russian.

I want to thank you separately:
Prosta4ok_ua (@Prosta4okua), Vanguard (@XEN0PHIL), BasedUser (@BasedUser), Summet (@summetdev), Anuke (@Anuken), The_Slaylord (@TheSlaylord), Lonely_Ymomfe (@ymomfe), and XZimur (@XZimur)

* 5 changed lines; 2 new lines

Changed:
globalitems
sector.extractionOutpost.description
hint.launch
hint.launch.mobile
hint.presetLaunch

New:
hint.coreIncinerate
hint.coopCampaign

* 2 changed line

hint.coopCampaign
item.spore-pod.details
-
В споровом стручке всё же множественное число в описании, говорится про сами споры. THEY EMIT - они выделяют, IT EMITS - он выделяет.

* 2 changed lines

hint.coreIncinerate
block.interplanetary-accelerator.description

* 3 new line; 1 changed line

New:
setting.showweather.name
link.bug.description
rules.weather.always

Changed:
keybinds.mobile

* 4 new lines; 1 changed line; 1 deleted line

New:
public.confirm.really
bullet.buildingdamage
stat.ammouse
unit.pershot

Changed:
bullet.knockback

Deleted:
bar.limitreached

* Update bundle_ru.properties

падежи

* Update bundle_ru.properties

мелочи

* 1 changed line

stat.ammouse

* 1 new line

none.found

* 6 changed; 1 deleted

Changed:
mod.featured.dialog.title
mods.browser.add
mods.github.open
mod.import.github
mod.jarwarn
mods.guide

Deleted:
mod.featured.title

* 2 changed lines

link.bug.description
mod.scripts.disable

* Update achievements.vdf

* Update description.txt

* 1 changed line

item.thorium.description

* 1 new line

rules.coreincinerates

* 1 new line

bar.boost

* 1 new line

max

* Update bundle_ru.properties

* Update bundle_ru.properties

* rip v3.5 maps

* Update bundle_ru.properties

* Update bundle_ru.properties

Co-authored-by: Felix Corvus <remint32@yandex.ru>
Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
Co-authored-by: Prosta4okua <31485341+Prosta4okua@users.noreply.github.com>
2021-01-19 15:24:59 -05:00
ZirKNkium611 ae921bf266 Update bundle_es.properties (#4027)
* Update bundle_es.properties

correcting and improving some translations

* Update bundle_es.properties

correcting team names
2021-01-19 15:22:47 -05:00
PhinnerandAnuken ca62d2aa07 Rework and Update of the french bundles (Steam and bundle_fr) (#4350)
* Complete rework of bundle_fr

# Complete rework of bundle_fr
## Overview
Hello players. I made a pull in [Mindustry-Suggestions](https://github.com/Anuken/Mindustry-Suggestions/issues/1743) about merging bundle_fr and bundle_fr_be. The cat told he was unable to do that because:
> I don't understand either language, so I would be unable to merge the two bundles with any degree of accuracy. This is best discussed and implemented by other speakers of the language(s).
So I decided to do that with the help of senri on discord and Voila. There is the updated version of the french bundle for Belgians, Frenchs, Quebecois and everyone else who speaks or learns french !
## Changes
There are the words I changed that you may argue about:
```
FPS -> IPS
Raccourci clavier -> Touches
Foreshadow -> Présage
Mace -> Titan
Scepter -> Destructeur
Reign -> Eradicateur
Lancier -> Perforateur (Its just an idea)
Chat -> Tchat
Minuterie -> Compte à rebours (Makes more sense for the waves i think)
Minimap -> Mini-carte
Supporté -> Pas pris en charge (For errors, makes more sense)
Hébergeur -> Hôte (the shorter the better)
Foreuse à vérin -> foreuse pneumatique (I don't think being super precise might help normal players)
Onde -> Vague
Percussion -> Percuteur (C'est un nom qui percute !)
- Deleted the (e) until the file is reviewed by more people
- Made the whole file more coherent, I mean there were upper/lower case letters where it shouldn't be.
- Added translations for V6 content like logic blocks, sector description, turrets, units...
- Some more stuff I may have forgotten
```
## Lines to verify in priority
There are the lines I was strugulling with
```
16, 23, 27, 37, 100, 109, 128, 129, 140, 153, 159, 189, 204, 229, 251, 282, 291, 321, 341, 421, 468, 482, 515, 536, [598 -> 613], 703, 705, 715, 751, 777, 1254, 1402
```
## conclusion
Like I said, I merged fr and fr_be, taking the best translations one by one and translating the missing lines. That would be cool if you look quickly in the file and find some errors I could have made. Thank you for reading and I wish you a good day, or night...

* Hotfix

* Updated steam translations

Updated the achievements and Added the new ones. The only problem I had is the "NEW_ACHIEVEMENT_26_1_DESC", I think there's better translation for that but I'm unable to figure it out for some reasons.

Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-19 15:18:38 -05:00
Anuken 2ba093c640 Merge remote-tracking branch 'origin/master' 2021-01-19 15:13:46 -05:00
Anuken e3f388692f Misc cleanup & fixes 2021-01-19 15:13:41 -05:00
Loumardes 4fc805abbf launch core translated to "Lancement du noyau" (#4348) 2021-01-19 14:38:18 -05:00
Loumardes cd81482b6b untranslated mods notification strings (#4347) 2021-01-19 14:38:11 -05:00
itcannotbe 3972e34dde Update bundle.properties (#4375)
Remove flowgate limitation in block description.
2021-01-19 14:37:40 -05:00
Rodrigo 01b24959c8 Typo (#3947)
Í
2021-01-19 13:53:56 -05:00
Anuken 40908589b9 Merge remote-tracking branch 'origin/master' 2021-01-19 10:46:38 -05:00
Anuken 774be56bde #4379 2021-01-19 10:46:33 -05:00
Rodrigo 68f19fdbcf Update bundle_pt_BR.properties (#4352)
Fixed a dumb error
2021-01-19 10:22:11 -05:00
reNemesicandAnuken 50aab01a2e Perfecting of bundle_pt-BR [Finished] (#3863)
* Update bundle_pt_BR.properties

Added sector description [not finished]

* Update 2

Finished first translation of sector descriptions (fixes and did the last one)
Added some translations for not done entries.

* Upgrade #3

Started fixing consistency issues
Redid sector descriptions
Translated last untranslated elements

Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-19 10:21:34 -05:00
RayanZ22 ead0158ef9 Update bundle_pt_BR.properties (#3612)
update
2021-01-19 10:17:08 -05:00
Anuken d06a74e7a2 Fixed #4376 2021-01-19 09:58:41 -05:00
Anuken 8fab335b9d Merge remote-tracking branch 'origin/master' 2021-01-18 20:18:03 -05:00
Anuken 25b22b4f93 Duplicate IP prevention / Removed overflow inventories 2021-01-18 20:17:59 -05:00
alex 0061690631 Update servers_v6.json (#4342)
Adding a fast paced hex for V6.
2021-01-18 19:50:40 -05:00
Joshua Fan 26ad53ec50 Tweak highlight on plastanium sprite (#4373) 2021-01-18 19:42:47 -05:00
Anuken 4aa2d9097f Merge remote-tracking branch 'origin/master' 2021-01-18 18:04:21 -05:00
Anuken 82f8e78ec8 Fixed various rounding errors in database 2021-01-18 18:04:16 -05:00
Sunny Kim f91910e84f conductsTo() returning whether to conduct itself to adjacent builds (#4354)
* conductsTo

* insulated block no longer conducts

* moved both checks to be symmetrical
2021-01-18 17:45:45 -05:00
Joshua Fan 2da128678a Always allow zoom while controlling unit that can't build (#4371) 2021-01-18 17:44:01 -05:00
genNAowlandLeonwang4234 18a382b07a Draw Conveyor Items under Blocks (#4372)
* Draw Conveyor Items under Blocks

* Remove new layer in favor of subtraction

Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-01-18 17:34:17 -05:00
Anuken 83a4f56679 Fixed #4368 2021-01-18 17:23:16 -05:00
Anuken ffad9cb9a9 Merge remote-tracking branch 'origin/master' 2021-01-17 15:54:49 -05:00
Anuken 6a63956b71 Anuken/Mindustry-Suggestions/issues/1808 / Less fire in rain 2021-01-17 15:54:43 -05:00
Patrick 'Quezler' Mounier 32a1d91faf Use Player.deathDelay + 1 instead of magic number (#4344) 2021-01-17 15:33:19 -05:00
Anuken 634d9d1a40 Fixed #4357 / Fixed #4349 / Fixed #4345 / Fixed #4343 2021-01-17 15:31:22 -05:00
Anuken f9adcfeed1 Ground units: Avoid stepping onto dangerous/deep floor 2021-01-17 09:21:11 -05:00
Anuken 02ef633529 Removed redundant parens 2021-01-15 17:10:38 -05:00
Patrick 'Quezler' Mounier f3b1ef02e3 Scale impact reactor warmup time with boost (#4317) 2021-01-15 17:09:39 -05:00
Anuken 2d3a9b605a Fixed #4337 / Fixed #4336 2021-01-15 17:09:12 -05:00
Anuken 718a40d742 More pattern matching 2021-01-15 16:04:26 -05:00
Anuken 650d47991e Formatting 2021-01-15 12:43:37 -05:00
Anuken 6ec76409ef Fixed #4335 2021-01-15 12:38:42 -05:00
Anuken 136c8cfcd2 Cleanup + Generic cross rendering 2021-01-15 11:34:33 -05:00
Anuken bceb7b5809 Merge remote-tracking branch 'origin/master' 2021-01-15 11:16:12 -05:00
Anuken a342a7d638 Cleanup & bugfixes 2021-01-15 11:16:08 -05:00
MEEP of Faith 956f4659c7 Sound stuff (#4332) 2021-01-15 10:13:41 -05:00
Anuken 593a7b060c Fixed #4334 2021-01-15 10:04:56 -05:00
Anuken 81ce3a28a1 More distinct plastanium sprite 2021-01-14 13:46:27 -05:00
Anuken 32070a37f7 Fixed #4325 2021-01-14 11:26:16 -05:00
Anuken 95c04eb085 Minor sector damage calculation changes 2021-01-13 17:09:18 -05:00
Anuken c2602fe6a0 Fixed #4319 2021-01-13 10:43:04 -05:00
Anuken 9ce5164a7e Merge remote-tracking branch 'origin/master' 2021-01-12 11:53:04 -05:00
Anuken ee79bc5501 Replaced waves.never with ∞ 2021-01-12 11:52:51 -05:00
彭瑞暄 3dc70be516 Update zh-TW translations (#4290)
* Update zh-TW bundle, surge correction

Changed surge ammo characteristic "shock".
Thought "shock" as in only stunning or making the enemy flinch.
It means shocking the enemy with electricity and deal bonus damage when the unit is covered in water.

* Launch max UI

* Minor correction wave spawning
2021-01-12 11:25:41 -05:00
Anuken e44c3899e8 Merge remote-tracking branch 'origin/master' 2021-01-12 10:19:36 -05:00
Anuken e7885a405e Removed 3.5 map image message
Reasoning: 3.5 images and most other map images won't work in the editor. If you try to import a random image, it will give you an empty map. Only maps that were exported as images previously will work correctly.
2021-01-12 10:19:30 -05:00
MEEP of Faith c6b60a2620 shootLength for other turrets that aren't PointDefenceTurrets (#4312) 2021-01-12 09:39:27 -05:00
Anuken 9b6c44757a Merge remote-tracking branch 'origin/master' 2021-01-11 16:07:55 -05:00
Anuken 0cbc4c0cc5 Fixed #4311 2021-01-11 16:07:46 -05:00
Patrick 'Quezler' Mounier e83cfe6cab Display unit cap modifier for core blocks (#4163)
* Display unit cap modifier for core blocks

* Move maxUnits stat from crafting to general

* Omit string formatting
2021-01-11 14:30:58 -05:00
Anuken 912ea94828 Merge remote-tracking branch 'origin/master' 2021-01-11 10:14:28 -05:00
Anuken 6417073a82 Corrected parallax target check 2021-01-11 10:14:23 -05:00
BlueWolf 994194452d fix a comment typo (#4307) 2021-01-11 10:13:28 -05:00
Anuken c716c16746 Fixed #4305 / Fixed #4309 2021-01-11 10:11:31 -05:00
Anuken f188563052 Sort mod browser entries by date 2021-01-10 16:59:02 -05:00
Anuken 07e8b4334b Merge remote-tracking branch 'origin/master' 2021-01-10 16:33:27 -05:00
Anuken c0e955dc1f Updated to Gradle 6.8 2021-01-10 16:33:20 -05:00
Slava0135 2927348a6c power info fixes (#4303)
* power info fixes

* a better solution

* one little detail
2021-01-10 15:46:29 -05:00
Milan 96c8e0f415 add resolveDependencies gradle task (#4302) 2021-01-10 15:39:50 -05:00
Anuken 21f05c9d8a Merge remote-tracking branch 'origin/master' 2021-01-10 15:39:11 -05:00
Anuken 9b1c66ba15 #4298 2021-01-10 15:39:00 -05:00
BlueWolf 8b9b11f77f 1mil source output (#4299) 2021-01-10 15:33:31 -05:00
Anuken 9c846bd2c9 Invasion chance tweaks (#4297) 2021-01-10 15:27:17 -05:00
Anuken 7372bf37c2 Fixed #4301 2021-01-10 15:23:15 -05:00
Anuken 0a5a301573 Save building enabled state 2021-01-09 22:13:41 -05:00
Anuken 462a5b941e Merge remote-tracking branch 'origin/master' 2021-01-09 10:31:52 -05:00
Anuken 21fd20ea5b Targetp support for allied targets 2021-01-09 10:31:44 -05:00
Antsiferov Andrew a0c7b33ff1 Add ModMeta#toString (#4292) 2021-01-09 10:06:12 -05:00
Anuken b762a5028b Merge remote-tracking branch 'origin/master' 2021-01-08 12:22:46 -05:00
Anuken 2f83ba7f5c Logic battery control + Slight swarmer range buff 2021-01-08 12:22:32 -05:00
_owler_#0954andAntsiferov Andrew 01d972f015 Update servers_v6.json (#4194)
* Update servers_v6.json

* Update servers_v6.json

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* Update servers_v6.json

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2021-01-08 11:21:25 -05:00
alex 0435140bb5 Update servers_v6.json (#4287)
A new game mode to share with the public! Turbo PVP
2021-01-08 09:53:57 -05:00
xzarfs ff84d788a6 Changes to finnish translation (#4144)
Made existing translations more user friendly and added new translations. There are still big areas the translation is lacking, e.g. the tutorial.
2021-01-07 17:11:06 -05:00
Anuken 4c2f330e51 Merge remote-tracking branch 'origin/master' 2021-01-07 15:18:49 -05:00
Anuken bd0f47c325 Faster weapon copy 2021-01-07 15:18:44 -05:00
genNAowlandLeonwang4234 13fbcb9ba8 Launch UI Max Button (#4238)
* max

* Add @Nullable

Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
2021-01-07 13:38:31 -05:00
Anuken 9774095df4 Merge remote-tracking branch 'origin/master' 2021-01-07 10:08:33 -05:00
Anuken f231849a42 UnitCreateEvent / UnitDeployEvent split 2021-01-07 10:08:28 -05:00
Antsiferov Andrew c7d059a58f Don't terminate socket server on connection reset (#4282) 2021-01-07 09:52:02 -05:00
Anuken c420ad1a16 Merge remote-tracking branch 'origin/master' 2021-01-06 16:25:09 -05:00
Anuken 99aec4ad15 Fixed #4277 2021-01-06 16:25:05 -05:00
彭瑞暄 1be91961d6 core inc & boost meter (#4272) 2021-01-06 12:15:34 -05:00
Anuken 9f51e23206 Merge remote-tracking branch 'origin/master' 2021-01-05 18:59:51 -05:00
Anuken ebf4435af4 Fixed #4270 2021-01-05 18:59:46 -05:00
Patrick 'Quezler' Mounier f4bf8fd998 Add boost bars to overdrive projectors (#4255)
* Add boost bars to overdrive projectors

* Add bar.boost to bundle

* Intelij lied to me
2021-01-05 15:32:43 -05:00
VozDuhandAnuken 5516435619 Custom Launch Pad Pod Textures (#4203)
* Custom Launch Pad Pod Textures

* Facepalm

* Fix

* Fix

* Fix

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

* Fix

Anuke!

Co-authored-by: Anuken <arnukren@gmail.com>
2021-01-05 15:17:18 -05:00
Anuken 315cbaec47 progress 2021-01-05 11:17:20 -05:00
PAP6 5c24254d84 Update servers_v6.json (#4263)
Reason: This server is currently running version 104.10, so it shouldn't be here.
2021-01-05 10:52:21 -05:00
Patrick 'Quezler' Mounier fdf08ed51d Highlight all linked inventories on core selection (#4256)
* Highlight all linked inventories on core selection

* Loop cores instead of storage blocks
2021-01-05 10:43:36 -05:00
Patrick 'Quezler' MounierandYellOw139 42fb6ffa0d Add core incineration to custom rules dialog (#4264)
* Update CustomRulesDialog.java

* Update bundle.properties

* Update core/assets/bundles/bundle.properties

Co-authored-by: YellOw139 <70975516+YellOw139@users.noreply.github.com>

Co-authored-by: YellOw139 <70975516+YellOw139@users.noreply.github.com>
2021-01-05 10:37:37 -05:00
Anuken 0c4750781a Sound cleanup 2021-01-04 19:50:49 -05:00
Anuken 69eb8faf67 Fixed #4261 / Basic rotation shine effect 2021-01-04 17:22:18 -05:00
Anuken 0ab4f01d5d Better suicide bomb trigger check 2021-01-04 11:20:01 -05:00
Anuken 6361b7e57d Merge remote-tracking branch 'origin/master' 2021-01-04 11:06:19 -05:00
Anuken 961331c832 Minor turret targeting fix 2021-01-04 11:06:11 -05:00
Quick-Korc 8cdb4c0831 Indonesian Gplay Translate (#3708)
* Indonesian Gplay Translate

* Create 29741.txt
2021-01-04 10:56:39 -05:00
+7 6bd8f99be3 Updated Search Bar cleanup for zh-TW (#4186)
* Update bundle_zh_TW.properties

Corrected some machine translations. Modified some others for more clear understanding.

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

new translations 1

* Update bundle_zh_TW.properties

New translations 2

* Update bundle_zh_TW.properties

New translations 3

* New translations 1-3

Removed "zones" from v121.4: "Fixed sectors not auto-unlocking".
衝擊反應堆 -->動能反應爐

* New translations 1-4

* New translations 1-5

* New translations 1-6

up to line 1250

* Indexing finished. Translations 1-7

lines are now matching with English bundle.

* update bundle_zh_TW.properties

* edit zh_TW

* zh-tw

* community server disclaimer

* Finished sector descriptions, slight modifications

up to line 606

* zh-TW

* Many translations, include Always-on weather rule

* corrected missing character

* Update achievements.vdf

Oct not translated

* Update description.txt

* bundle_zh_TW.properties

* Bullet stats update, hints finished

* added line: public confirm really

* contributors

* Merging conflicts

Almost done...

* Synced

* Update ammo-stat translation

* Update contributors

* Unit names

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Review (#15)

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Finished

Please review

* minor correction

* minor correction

Hopefully there are no more "minor corrections" required.

* Review

* Close inspection

* Revisions, change chat mode

* Sapping Correction

* Merge down (#16, post 122)

* Fixed #4108

* [QoL] Chat modes (#3869)

Credits: Remint32 (idea); sk7725 (korean i18n); Volas171 (spanish i18n).

* add new io server (#4109)

soon to be up gamemode

* typo (#4110)

* Fixed mined item flashing on clients

* Block Forge improvements (#4112)

* minBlockSize, maxBlockSize, icon

* removed fixed size

* same line

* revert to 3

* I almost forgot

* Up-to-date zh-TW translations (#4083)

* Update bundle_zh_TW.properties

Corrected some machine translations. Modified some others for more clear understanding.

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

new translations 1

* Update bundle_zh_TW.properties

New translations 2

* Update bundle_zh_TW.properties

New translations 3

* New translations 1-3

Removed "zones" from v121.4: "Fixed sectors not auto-unlocking".
衝擊反應堆 -->動能反應爐

* New translations 1-4

* New translations 1-5

* New translations 1-6

up to line 1250

* Indexing finished. Translations 1-7

lines are now matching with English bundle.

* update bundle_zh_TW.properties

* edit zh_TW

* zh-tw

* community server disclaimer

* Finished sector descriptions, slight modifications

up to line 606

* zh-TW

* Many translations, include Always-on weather rule

* corrected missing character

* Update achievements.vdf

Oct not translated

* Update description.txt

* bundle_zh_TW.properties

* Bullet stats update, hints finished

* added line: public confirm really

* contributors

* Merging conflicts

Almost done...

* Synced

* Update ammo-stat translation

* Update contributors

* Unit names

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Review (#15)

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Finished

Please review

* minor correction

* minor correction

Hopefully there are no more "minor corrections" required.

* Review

* Close inspection

* Revisions, change chat mode

* Sapping Correction

Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>

* Higher power source output

* Update servers_v6.json (#4095)

* Update servers_v6.json

the ip changed to not make users confuse

* Update servers_v6.json

* Fixed #4120

* Fixed #4121

* Fixed #4122

* Better build beam visuals

* Don't render weather in full map screenshots

* Building priority fix

* Fixed #4128

* SearchBar class - add search bars to mods (#3267)

* Create SearchBar and make ModsDialog use it

* add search bar to servers

* Update core/src/mindustry/ui/SearchBar.java

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* a

* fix mods menu not rowing

* remove search bar for remote servers

* h

* hide searchbar on landscape mobile

* anukes feedback

* Update core/src/mindustry/ui/SearchBar.java

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

* java dumb

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: Anuken <arnukren@gmail.com>

* Search bar cleanup

* Block (un)loader major improvements (#4127)

* make it consider consVaild

* make this too

* pattern style and max block size

* Is there a better way to do this?

* Update BlockUnloader.java

* do not the /0

* prevent /0

* test 1

* yup it works for enabled

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: fuzzbuck <54221024+fuzzbuck@users.noreply.github.com>
Co-authored-by: Sunny Kim <58885089+sk7725@users.noreply.github.com>
Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>
Co-authored-by: Volas171 <60143910+Volas171@users.noreply.github.com>
Co-authored-by: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com>

* "Search bar cleanup" update

* Hope this fixes merge conflict

* Delete servers_v6.json

* pain

* Sync (#21)

* Fixed #4108

* [QoL] Chat modes (#3869)

Credits: Remint32 (idea); sk7725 (korean i18n); Volas171 (spanish i18n).

* add new io server (#4109)

soon to be up gamemode

* typo (#4110)

* Fixed mined item flashing on clients

* Block Forge improvements (#4112)

* minBlockSize, maxBlockSize, icon

* removed fixed size

* same line

* revert to 3

* I almost forgot

* Up-to-date zh-TW translations (#4083)

* Update bundle_zh_TW.properties

Corrected some machine translations. Modified some others for more clear understanding.

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

new translations 1

* Update bundle_zh_TW.properties

New translations 2

* Update bundle_zh_TW.properties

New translations 3

* New translations 1-3

Removed "zones" from v121.4: "Fixed sectors not auto-unlocking".
衝擊反應堆 -->動能反應爐

* New translations 1-4

* New translations 1-5

* New translations 1-6

up to line 1250

* Indexing finished. Translations 1-7

lines are now matching with English bundle.

* update bundle_zh_TW.properties

* edit zh_TW

* zh-tw

* community server disclaimer

* Finished sector descriptions, slight modifications

up to line 606

* zh-TW

* Many translations, include Always-on weather rule

* corrected missing character

* Update achievements.vdf

Oct not translated

* Update description.txt

* bundle_zh_TW.properties

* Bullet stats update, hints finished

* added line: public confirm really

* contributors

* Merging conflicts

Almost done...

* Synced

* Update ammo-stat translation

* Update contributors

* Unit names

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Review (#15)

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Finished

Please review

* minor correction

* minor correction

Hopefully there are no more "minor corrections" required.

* Review

* Close inspection

* Revisions, change chat mode

* Sapping Correction

Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>

* Higher power source output

* Update servers_v6.json (#4095)

* Update servers_v6.json

the ip changed to not make users confuse

* Update servers_v6.json

* Fixed #4120

* Fixed #4121

* Fixed #4122

* Better build beam visuals

* Don't render weather in full map screenshots

* Building priority fix

* Fixed #4128

* SearchBar class - add search bars to mods (#3267)

* Create SearchBar and make ModsDialog use it

* add search bar to servers

* Update core/src/mindustry/ui/SearchBar.java

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* a

* fix mods menu not rowing

* remove search bar for remote servers

* h

* hide searchbar on landscape mobile

* anukes feedback

* Update core/src/mindustry/ui/SearchBar.java

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

* java dumb

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: Anuken <arnukren@gmail.com>

* Search bar cleanup

* Block (un)loader major improvements (#4127)

* make it consider consVaild

* make this too

* pattern style and max block size

* Is there a better way to do this?

* Update BlockUnloader.java

* do not the /0

* prevent /0

* test 1

* yup it works for enabled

* bugfixes, call me the mother of the block forge (#4135)

(anuke is the father)

* Fixed #4141 / Fixed #4136

* Faster power graph reload / Fixed iOS editor margin

* Remove 4 square blocks from the accelerator (#4139)

* Normalize rule comment line endings

Just so i can get a new patch-## branch where i can drag my accelerator sprite on since github isn't smart enough yet to see that as a possible pull request by itself.

* Add files via upload

* Add files via upload

* Use sector preset name for maps if possible

* Fixed #4147

* Update servers_v6.json (#4148)

changed the port number for our attack server.
sorry for the inconvenience, i don't have control over the port number of this "alexmindustryattac.ddns.net" hosted server.

* Removed packed sprite section from CONTRIBUTING.md (#4152)

* Return large launchpad item costs (#4134)

* Return large launchpad item costs

hidden -> debugonly

* Remove the 4 orange squares from the large launch pad

Leaving the lights and launchpod alignments alone since that is campaign only.

* Sector damage tweaks

* Block loader/unloader progress bar changes (#4138)

* Change block loader/unloader progess bar color & bundle

ammo -> items

* Make block unloader bar go down

* Draw reconstructor in region during placement & unconnected (#4143)

* Draw reconstructor in region during placement & unconnected

* Same as the previous commit, but for block loaders & unloaders

* Bugfixes

* Fixed #4164 / Fixed #4159

* fix german translation for editor.unsaved (#4169)

* update KO bundles (#3956)

* Update steam description for 6.0 update

* Update achievements.vdf

* oops.

* Update full_description.txt

* Update summary.txt

* add recent changelog

* Update bundle_ko.properties

* last update on this week

(well, sunday)

* upload android recent change-log

* critical fix

* [KO] Small fix (#4133)

* why

* Update bundle_ko.properties

* bundle_hu.properties (#4170)

I'am continue translating and adding lines to v6.

* [Bundle][RO] Translation update (#4115)

* [Bundle][RO] Translation update

This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- New strings/changes up to commit 43757a247e
- Typo fixes & various other improvements

* no

* yet another in_ID translation update (#4086)

* yet another in_ID translation update

* more id translate

Co-authored-by: Quick-Korc <68910156+Quick-korkc@users.noreply.github.com>

* Cleanup

Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: fuzzbuck <54221024+fuzzbuck@users.noreply.github.com>
Co-authored-by: Sunny Kim <58885089+sk7725@users.noreply.github.com>
Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>
Co-authored-by: Volas171 <60143910+Volas171@users.noreply.github.com>
Co-authored-by: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com>
Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
Co-authored-by: alex <67626131+alexpvpmindustry@users.noreply.github.com>
Co-authored-by: Catchears <57631841+Catchears@users.noreply.github.com>
Co-authored-by: Sharlotte <60801210+sharlotte-mobile@users.noreply.github.com>
Co-authored-by: Vajda Simon <75036456+VajdaSimon@users.noreply.github.com>
Co-authored-by: YellOw139 <70975516+YellOw139@users.noreply.github.com>
Co-authored-by: Thomas Widyantoko <40286070+DaGamerFiles@users.noreply.github.com>
Co-authored-by: Quick-Korc <68910156+Quick-korkc@users.noreply.github.com>

* Update gradle.properties

* Update bundle_zh_TW.properties

Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: fuzzbuck <54221024+fuzzbuck@users.noreply.github.com>
Co-authored-by: Sunny Kim <58885089+sk7725@users.noreply.github.com>
Co-authored-by: Volas171 <60143910+Volas171@users.noreply.github.com>
Co-authored-by: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com>
Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
Co-authored-by: alex <67626131+alexpvpmindustry@users.noreply.github.com>
Co-authored-by: Catchears <57631841+Catchears@users.noreply.github.com>
Co-authored-by: Sharlotte <60801210+sharlotte-mobile@users.noreply.github.com>
Co-authored-by: Vajda Simon <75036456+VajdaSimon@users.noreply.github.com>
Co-authored-by: YellOw139 <70975516+YellOw139@users.noreply.github.com>
Co-authored-by: Thomas Widyantoko <40286070+DaGamerFiles@users.noreply.github.com>
Co-authored-by: Quick-Korc <68910156+Quick-korkc@users.noreply.github.com>
2021-01-04 10:38:18 -05:00
Antsiferov Andrew 4b71b4f80a Make mod browser case insensitive (#4258) 2021-01-04 10:33:43 -05:00
Anuken 5712190dab cleanup 2021-01-03 18:01:44 -05:00
Anuken af636f74fc Core incineration tweaks 2021-01-03 16:52:54 -05:00
Patrick 'Quezler' Mounier 0cfdacdd28 Allow for core incineration via rules (#4242) 2021-01-03 16:48:25 -05:00
Anuken 68535bfcaa progress 2021-01-03 16:21:17 -05:00
Patrick 'Quezler' Mounier 3eb0857906 Building tile > Building build @ Inputhandler.java (#4241)
Was weird to see `if(player != null) tile.lastAccessed = player.name;` in there.
2021-01-03 16:18:39 -05:00
Joshua Fan 0f3716b8dd Logic: Fix radar from value bug (#4236)
* Logic: Fix radar from value bug

* Use constructor to modify variable initialization
2021-01-03 15:38:09 -05:00
TranquillyUnpleasant dbe2f7eefa Fix mirror being offset (#4248)
Because apparently it isn't a valid map even though its been a known issue for months.
2021-01-03 13:45:35 -05:00
Anuken 3497212b95 Merge remote-tracking branch 'origin/master' 2021-01-03 12:43:19 -05:00
Anuken 2ae864f4d3 Made logic processors reset variables on edit 2021-01-03 12:43:15 -05:00
Patrick 'Quezler' Mounier 200eb26b78 Added Call#clearItems (#4243) 2021-01-03 12:42:42 -05:00
Anuken e9c93ab3a0 Revert radar statement changes 2021-01-02 17:38:04 -05:00
Anuken e70221f6dd Fixed #4235 2021-01-02 16:05:22 -05:00
Anuken c4d72eef39 Don't configure processor when no changes are made 2021-01-02 14:40:08 -05:00
Anuken 42ae5e90b0 Headless access of bridge/node opacity 2021-01-02 13:08:32 -05:00
Patrick 'Quezler' Mounier fe92ce557f Draws build request bridges using bridge opacity (#4180)
* Update ItemBridge.java

* Introduce renderer.bridgeOpacity
2021-01-02 13:06:13 -05:00
Anuken bf81565e93 Merge remote-tracking branch 'origin/master' 2021-01-02 11:58:43 -05:00
Anuken 981dec098a Fixed #4232 2021-01-02 11:58:34 -05:00
Marko Zajc d65506e420 Support IPv6 addresses properly (#4225)
* Support IPv6 addresses properly

support the `[ipv6]:port` and `ipv6` formats
silly cat forgot that ipv6 is a thing

* unnecessary self promotion

* less split more substring

* also display ipv6 format properly

* important security fixes
2021-01-02 10:52:14 -05:00
Anuken 73d009666e Merge remote-tracking branch 'origin/master' 2021-01-01 15:34:40 -05:00
Anuken a9c4ccdf48 Fixed #4222 2021-01-01 15:34:32 -05:00
Catchears 035d7fed77 update german bundle (#4218) 2021-01-01 13:50:30 -05:00
Anuken 0374ec5e4a Merge remote-tracking branch 'origin/master' 2021-01-01 12:00:51 -05:00
Joshua Fan 0a92e64498 Remove turret1 from uradar (#4207) 2021-01-01 11:32:58 -05:00
Lapis 0b6194cfc9 Update bundle_ja.properties (#4210)
* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties
2021-01-01 11:32:15 -05:00
LonamiandPatrick 'Quezler' Mounier 044fb30b1b Support inline comments (#4196)
* Support inline comments

Closes https://github.com/Anuken/Mindustry-Suggestions/issues/1698.

* Apply suggestions from code review

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

* Stick with Mindustry formatting style

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-12-31 16:30:35 -05:00
Anuken 727b47dba5 Preload naval paths on liquid spawns 2020-12-30 19:35:23 -05:00
MEEP of Faith ab19e6ffbd Launchpad Launch Sound (#4146)
* Launchpad Launch Sound

* Update LaunchPad.java
2020-12-30 19:27:50 -05:00
Anuken f5410c5712 #4129 2020-12-30 16:58:42 -05:00
Patrick 'Quezler' Mounier b79a6f6b32 Fix block status of repair point and battery (#4187)
* Fix block status of repair point and battery

* Update Battery.java

* Update RepairPoint.java
2020-12-30 15:30:49 -05:00
Anuken b672434e83 arc 2020-12-30 10:23:45 -05:00
Anuken 9b087dc55d Fixed #4183 2020-12-30 10:05:18 -05:00
Anuken 8d10cafc99 Merge remote-tracking branch 'origin/master' 2020-12-29 19:48:36 -05:00
Anuken 6e1eedc1ab Cleanup 2020-12-29 19:48:30 -05:00
Thomas WidyantokoandQuick-Korc f5ce75e962 yet another in_ID translation update (#4086)
* yet another in_ID translation update

* more id translate

Co-authored-by: Quick-Korc <68910156+Quick-korkc@users.noreply.github.com>
2020-12-29 17:40:59 -05:00
YellOw139 0d643a3ece [Bundle][RO] Translation update (#4115)
* [Bundle][RO] Translation update

This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- New strings/changes up to commit 43757a247e
- Typo fixes & various other improvements

* no
2020-12-29 17:40:22 -05:00
Vajda Simon 9632fc5f1f bundle_hu.properties (#4170)
I'am continue translating and adding lines to v6.
2020-12-29 17:39:55 -05:00
Sunny Kim 84bb3ee3de [KO] Small fix (#4133)
* why

* Update bundle_ko.properties
2020-12-29 17:39:19 -05:00
Anuken 83b20a90e6 Merge remote-tracking branch 'origin/master' 2020-12-29 11:40:57 -05:00
Anuken f89f1e2346 critical fix 2020-12-29 11:40:53 -05:00
Sharlotte cc6b0c328f update KO bundles (#3956)
* Update steam description for 6.0 update

* Update achievements.vdf

* oops.

* Update full_description.txt

* Update summary.txt

* add recent changelog

* Update bundle_ko.properties

* last update on this week

(well, sunday)

* upload android recent change-log
2020-12-29 10:44:19 -05:00
Catchears e17bcd6a01 fix german translation for editor.unsaved (#4169) 2020-12-29 10:40:29 -05:00
Anuken 6357c17f8a Fixed #4164 / Fixed #4159 2020-12-29 10:13:27 -05:00
Anuken add3fd9fb3 Merge remote-tracking branch 'origin/master' 2020-12-28 14:52:33 -05:00
Anuken 98e6303765 Bugfixes 2020-12-28 14:51:50 -05:00
Patrick 'Quezler' Mounier 0e1e399788 Draw reconstructor in region during placement & unconnected (#4143)
* Draw reconstructor in region during placement & unconnected

* Same as the previous commit, but for block loaders & unloaders
2020-12-28 12:23:06 -05:00
Patrick 'Quezler' Mounier d84a36b8ee Block loader/unloader progress bar changes (#4138)
* Change block loader/unloader progess bar color & bundle

ammo -> items

* Make block unloader bar go down
2020-12-28 10:44:59 -05:00
Anuken db40f154c5 Sector damage tweaks 2020-12-28 10:42:51 -05:00
Patrick 'Quezler' Mounier e714d44a0e Return large launchpad item costs (#4134)
* Return large launchpad item costs

hidden -> debugonly

* Remove the 4 orange squares from the large launch pad

Leaving the lights and launchpod alignments alone since that is campaign only.
2020-12-28 09:38:58 -05:00
Patrick 'Quezler' Mounier 6eb604585b Removed packed sprite section from CONTRIBUTING.md (#4152) 2020-12-28 09:38:34 -05:00
alex 7555d43418 Update servers_v6.json (#4148)
changed the port number for our attack server.
sorry for the inconvenience, i don't have control over the port number of this "alexmindustryattac.ddns.net" hosted server.
2020-12-27 22:29:35 -05:00
Anuken 3ef67cab69 Fixed #4147 2020-12-27 20:41:29 -05:00
Anuken 72686b3ef8 Merge remote-tracking branch 'origin/master' 2020-12-27 16:20:17 -05:00
Anuken 990562dd71 Use sector preset name for maps if possible 2020-12-27 16:20:06 -05:00
Patrick 'Quezler' Mounier 2239ca6372 Remove 4 square blocks from the accelerator (#4139)
* Normalize rule comment line endings

Just so i can get a new patch-## branch where i can drag my accelerator sprite on since github isn't smart enough yet to see that as a possible pull request by itself.

* Add files via upload

* Add files via upload
2020-12-27 13:32:04 -05:00
Anuken f174d1b2b4 Faster power graph reload / Fixed iOS editor margin 2020-12-27 12:59:49 -05:00
Anuken a04e7d5612 Merge remote-tracking branch 'origin/master' 2020-12-27 10:16:39 -05:00
Anuken 16778ea16c Fixed #4141 / Fixed #4136 2020-12-27 10:16:34 -05:00
Sunny Kim a606d9d85c bugfixes, call me the mother of the block forge (#4135)
(anuke is the father)
2020-12-27 10:04:19 -05:00
Sunny Kim 8d18649323 Block (un)loader major improvements (#4127)
* make it consider consVaild

* make this too

* pattern style and max block size

* Is there a better way to do this?

* Update BlockUnloader.java

* do not the /0

* prevent /0

* test 1

* yup it works for enabled
2020-12-26 22:10:37 -05:00
Anuken c02d603a7a Search bar cleanup 2020-12-26 11:39:58 -05:00
8e4b35eb07 SearchBar class - add search bars to mods (#3267)
* Create SearchBar and make ModsDialog use it

* add search bar to servers

* Update core/src/mindustry/ui/SearchBar.java

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* a

* fix mods menu not rowing

* remove search bar for remote servers

* h

* hide searchbar on landscape mobile

* anukes feedback

* Update core/src/mindustry/ui/SearchBar.java

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

* java dumb

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2020-12-26 11:22:11 -05:00
Anuken fda9357b4b Fixed #4128 2020-12-26 09:49:03 -05:00
Anuken 4517b55f76 Building priority fix 2020-12-26 09:43:45 -05:00
Anuken f014339dbc Don't render weather in full map screenshots 2020-12-25 21:51:25 -05:00
Anuken 9f8fce72d3 Better build beam visuals 2020-12-25 21:49:10 -05:00
Anuken 834e4f175b Fixed #4122 2020-12-25 15:56:53 -05:00
Anuken bba52e99e0 Fixed #4121 2020-12-25 12:34:02 -05:00
Anuken 42d350f87f Merge remote-tracking branch 'origin/master' 2020-12-25 10:58:01 -05:00
Anuken 4339042078 Fixed #4120 2020-12-25 10:57:54 -05:00
Volas171 946bfa1bfd Update servers_v6.json (#4095)
* Update servers_v6.json

the ip changed to not make users confuse

* Update servers_v6.json
2020-12-25 10:13:38 -05:00
Anuken f86291c587 Merge remote-tracking branch 'origin/master' 2020-12-25 01:26:24 -05:00
Anuken da96b23441 Higher power source output 2020-12-25 01:26:20 -05:00
d2ae9cf809 Up-to-date zh-TW translations (#4083)
* Update bundle_zh_TW.properties

Corrected some machine translations. Modified some others for more clear understanding.

* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

new translations 1

* Update bundle_zh_TW.properties

New translations 2

* Update bundle_zh_TW.properties

New translations 3

* New translations 1-3

Removed "zones" from v121.4: "Fixed sectors not auto-unlocking".
衝擊反應堆 -->動能反應爐

* New translations 1-4

* New translations 1-5

* New translations 1-6

up to line 1250

* Indexing finished. Translations 1-7

lines are now matching with English bundle.

* update bundle_zh_TW.properties

* edit zh_TW

* zh-tw

* community server disclaimer

* Finished sector descriptions, slight modifications

up to line 606

* zh-TW

* Many translations, include Always-on weather rule

* corrected missing character

* Update achievements.vdf

Oct not translated

* Update description.txt

* bundle_zh_TW.properties

* Bullet stats update, hints finished

* added line: public confirm really

* contributors

* Merging conflicts

Almost done...

* Synced

* Update ammo-stat translation

* Update contributors

* Unit names

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Review (#15)

* Update bundle_zh_TW.properties

* Unit names

* Update bundle_zh_TW.properties

* Finished

Please review

* minor correction

* minor correction

Hopefully there are no more "minor corrections" required.

* Review

* Close inspection

* Revisions, change chat mode

* Sapping Correction

Co-authored-by: simba-fs <simba.fs@gmail.com>
Co-authored-by: Simba-Fs <39305460+simba-fs@users.noreply.github.com>
2020-12-25 00:03:35 -05:00
Sunny Kim beed2e0b8f Block Forge improvements (#4112)
* minBlockSize, maxBlockSize, icon

* removed fixed size

* same line

* revert to 3

* I almost forgot
2020-12-25 00:02:15 -05:00
Anuken 92e7cec198 Merge remote-tracking branch 'origin/master' 2020-12-24 23:17:42 -05:00
Anuken eda6770e11 Fixed mined item flashing on clients 2020-12-24 23:17:35 -05:00
fuzzbuck 7cc3e23e9a typo (#4110) 2020-12-24 18:28:08 -05:00
fuzzbuck 7bf263fdfa add new io server (#4109)
soon to be up gamemode
2020-12-24 16:16:19 -05:00
Antsiferov Andrew 43757a247e [QoL] Chat modes (#3869)
Credits: Remint32 (idea); sk7725 (korean i18n); Volas171 (spanish i18n).
2020-12-24 16:05:41 -05:00
Anuken 1e8621d9d4 Merge remote-tracking branch 'origin/master' 2020-12-24 11:43:08 -05:00
Anuken 0940abe98c Fixed #4108 2020-12-24 11:43:04 -05:00
younggam 4a71564d03 mod version check fix (#4100)
* Update Version.java

* Update contributors
2020-12-24 10:36:55 -05:00
Patrick 'Quezler' Mounier 9397bd57c4 Prevents plastanium conveyor unload exploit (#4098)
* Prevent unloaders from unloading plast loading dock

* Use overridable boolean method unloadable instead

* unloadable -> canUnload
2020-12-24 10:33:40 -05:00
Patrick 'Quezler' Mounier 85a668c202 Prevent visual plastanium conveyor glitch when disabled (#4101) 2020-12-24 09:47:43 -05:00
Anuken 90372171b2 Fixed #4104 2020-12-24 09:44:24 -05:00
Anuken 2523088b4c Merge remote-tracking branch 'origin/master' 2020-12-23 20:39:25 -05:00
Anuken f5c270347c Version parse fix 2020-12-23 14:37:39 -05:00
QmelZ 032b254e93 fix typo (#4093) 2020-12-23 14:28:58 -05:00
Anuken a21cc32be9 Marked mod browser as WIP 2020-12-23 12:33:56 -05:00
Anuken 06f832bfae Merge remote-tracking branch 'origin/master' 2020-12-23 12:21:41 -05:00
Anuken 79423e4c60 Mod browser initial implementation 2020-12-23 12:21:25 -05:00
Catchears c92f662994 german translation (#3726)
* german achievement translation

* typo

* change from Ordoviz

* typos

* duzen statt siezen

* update bundle
2020-12-23 12:10:35 -05:00
Volas171 eeed998c7c update v6 list (#4091)
Alex servers have now updated and use hub
2020-12-23 12:10:02 -05:00
Anuken 8ac027af70 More browser cleanup 2020-12-23 12:03:43 -05:00
YellOw139 15b865e550 [Bundle][RO] Translation update (#4039)
* [Bundle][RO] Translation update

This PR was tested in-game and is _**ready to merge at any time**_ (unless marked as draft).

Changelog:
- New strings/changes up to commit commit
- Typo fixes & various other improvements

* don't do bad choices

* some polishing

* typo

* The 7.0 [combat] experience

* Rebranding
2020-12-23 12:02:37 -05:00
Patrick 'Quezler' Mounier 1e7e66c424 Rename existing Power Infinite with Power Source (#4090) 2020-12-23 12:02:28 -05:00
Felix CorvusandVanguard 0524447c78 [Bundle][RU] actual L10n (#3680)
* 1 line changed

- noname

* 1 line changed

- hint.placeTurret

* 3 new lines

- servers.disclaimer
- hint.coreUpgrade
- hint.presetLaunch

----
NOTE from Felix Corvus (@Remint32)

This commit and PR are the last ones I made to the repository.
I want to sincerely thank the people I worked with to enhance the game and translate it into Russian.

I want to thank you separately:
Prosta4ok_ua (@Prosta4okua), Vanguard (@XEN0PHIL), BasedUser (@BasedUser), Summet (@summetdev), Anuke (@Anuken), The_Slaylord (@TheSlaylord), Lonely_Ymomfe (@ymomfe), and XZimur (@XZimur)

* 5 changed lines; 2 new lines

Changed:
globalitems
sector.extractionOutpost.description
hint.launch
hint.launch.mobile
hint.presetLaunch

New:
hint.coreIncinerate
hint.coopCampaign

* 2 changed line

hint.coopCampaign
item.spore-pod.details
-
В споровом стручке всё же множественное число в описании, говорится про сами споры. THEY EMIT - они выделяют, IT EMITS - он выделяет.

* 2 changed lines

hint.coreIncinerate
block.interplanetary-accelerator.description

* 3 new line; 1 changed line

New:
setting.showweather.name
link.bug.description
rules.weather.always

Changed:
keybinds.mobile

* 4 new lines; 1 changed line; 1 deleted line

New:
public.confirm.really
bullet.buildingdamage
stat.ammouse
unit.pershot

Changed:
bullet.knockback

Deleted:
bar.limitreached

* Update bundle_ru.properties

падежи

* Update bundle_ru.properties

мелочи

* 1 changed line

stat.ammouse

Co-authored-by: Vanguard <55051135+XEN0PHIL@users.noreply.github.com>
2020-12-23 11:56:33 -05:00
Anuken b6f1b67b24 Merge branch 'master' into ThePythonGuy3-patch-1 2020-12-23 10:51:56 -05:00
Anuken 715d94967e Cleanup 2020-12-23 10:51:24 -05:00
MEEP of Faith a21f79ac6a Draw size independent from puddle size. (#3826)
* Draw size independent from puddle size.

* Apply change to Bullets
2020-12-23 10:29:26 -05:00
Sunny Kim 986caa857e public SettingsTables for mod settings (#4085) 2020-12-23 09:41:43 -05:00
Sunny Kim 1a14860b62 bump editor only blocks foward (#4084) 2020-12-23 09:40:00 -05:00
Patrick 'Quezler' Mounier d144e9c91c Allow plastanium conveyor to be unloaded (#4087) 2020-12-23 09:39:29 -05:00
Patrick 'Quezler' Mounier 9d740e1e37 Rebrand power infinite as power source (#4088) 2020-12-23 09:39:04 -05:00
Anuken 054e2337ff Merge remote-tracking branch 'origin/master' 2020-12-22 20:13:40 -05:00
Anuken 71488313e1 Fixed #4082 2020-12-22 20:13:34 -05:00
Anuken a44f3c379f Ammo/shot display 2020-12-22 15:10:48 -05:00
Patrick 'Quezler' Mounier e1125a38da Update servers_be.json (#4081) 2020-12-22 14:14:17 -05:00
Anuken f3d5cb315e Cleanup 2020-12-22 13:51:11 -05:00
Anuken d3f99105b2 Merge remote-tracking branch 'origin/master' 2020-12-22 13:42:01 -05:00
Anuken 7f49f0c6fa Fixed #4079 2020-12-22 13:41:54 -05:00
Anuken ceb298ca0b cleanup 2020-12-22 12:52:01 -05:00
VozDuh 0aaa77a5ea Scrap Walls Textures Cleanup (#4074) 2020-12-22 11:31:24 -05:00
Sunny Kim 79d4925761 THIS WAS WHAT IT WAS ALL ALONG (#4069) 2020-12-22 11:30:09 -05:00
Anuken 7ea12e97ec Fixed #4073 2020-12-22 11:28:33 -05:00
Anuken 8521d5cd1b Merge remote-tracking branch 'origin/master' 2020-12-22 11:20:43 -05:00
Anuken 17177f87aa Fixed #4071 2020-12-22 11:20:35 -05:00
Anuken 24c71e49c7 cleanup 2020-12-22 10:48:11 -05:00
Skybbles ac06fa8f96 update my github name (#4070)
updating my name here since I changed my username
2020-12-22 10:33:07 -05:00
Anuken eda134a18c Merge remote-tracking branch 'origin/master' 2020-12-21 20:48:07 -05:00
Anuken 852013cd63 #4068 2020-12-21 20:48:00 -05:00
Sunny Kim 5b163d7843 Heat for accelerator (#4065)
* heat

* better animations
2020-12-21 20:04:04 -05:00
Anuken 806cea4b33 Added building damage to bullet stats 2020-12-21 16:55:04 -05:00
Anuken 952639a72e Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-12-21 13:10:00 -05:00
Anuken e4e428f84a Fixed #4064 2020-12-21 13:09:08 -05:00
Patrick 'Quezler' Mounier 9a577adf5f Makes Drill.drawMineItem default to true (#4057)
* Update Blocks.java

* Update Drill.java
2020-12-20 15:22:34 -05:00
Anuken e3c68b485d Placement rendering cleanup 2020-12-20 14:28:14 -05:00
Anuken 75a4d2901f Merge branch 'master' of https://github.com/Anuken/Mindustry 2020-12-20 14:22:27 -05:00
Patrick 'Quezler' MounierandAnuken bbdcef62e4 Draw item in the drill center when in place mode (#4055)
* Draw item in the drill center when in place mode

* Update core/src/mindustry/world/blocks/production/Drill.java

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Anuken <arnukren@gmail.com>
2020-12-20 14:22:14 -05:00
Patrick 'Quezler' Mounier 118ae8e87d #3889 2: electric boogaloo (#4056) 2020-12-20 14:22:01 -05:00
Anuken 40a6a9e1c7 Comment cleanup 2020-12-20 12:04:36 -05:00
Patrick 'Quezler' Mounier 22221a0f28 Add in region to payload block icons (#4052) 2020-12-20 09:58:18 -05:00
Anuken c39f4c1b7d Fixed #4051 2020-12-20 09:50:29 -05:00
Anuken 082b04a143 Merge remote-tracking branch 'origin/master' 2020-12-20 09:47:52 -05:00
Anuken 4f683cac8b Fixed #4054 2020-12-20 09:47:45 -05:00
YellOw139 0d2b660ed1 Ty po (#4046) 2020-12-19 14:01:50 -05:00
Anuken f9fe396d1f Fixed #4044 2020-12-19 13:02:20 -05:00
Anuken a4f4b9367f Tweaks of merged PR 2020-12-19 12:32:03 -05:00
키에르andPatrick 'Quezler' Mounier 09a84550f4 Ask double pop-ups to create a public server (#4042)
* Double check public host dialog

* Update bundle.properties

* Update core/src/mindustry/ui/dialogs/HostDialog.java

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>

Co-authored-by: Patrick 'Quezler' Mounier <Quezler@me.com>
2020-12-19 12:31:26 -05:00
Anuken 9e05f7604d Fixed #4043 2020-12-19 12:28:56 -05:00
Anuken e5982faf35 Merge remote-tracking branch 'origin/master' 2020-12-18 20:39:23 -05:00
Anuken 7f863abb06 Hide map when opening planet map 2020-12-18 20:39:16 -05:00
Volas171 b328d098a1 add minty server but this time the json is all right (#4034) 2020-12-18 19:16:59 -05:00
Anuken 0dd3c2cb5a Fixed #4033 2020-12-18 17:22:01 -05:00
Anuken 9d9cbdffd5 Pulsar nerf 2020-12-18 16:33:43 -05:00
Anuken 8d43590657 Multiblock damage calculation bugfix 2020-12-18 14:56:14 -05:00
Anuken 6783069f95 Merge remote-tracking branch 'origin/master' 2020-12-18 13:36:22 -05:00
Anuken b33b3a7919 Always-on weather rule support 2020-12-18 13:36:18 -05:00
Anuken b0bf80d8b7 Cleanup 2020-12-18 13:21:51 -05:00
Patrick 'Quezler' Mounier abcd27184d Update Drill.java (#4030) 2020-12-18 13:08:03 -05:00
Anuken 5de2c0c512 Merge remote-tracking branch 'origin/master' 2020-12-18 12:41:23 -05:00
Anuken bd25294096 Generic node/bridge placement system 2020-12-18 12:41:13 -05:00
Ilya246 a8bae56b2c fix comment (#4026) 2020-12-18 09:44:15 -05:00
Anuken d80678dfeb arc 2020-12-18 09:43:17 -05:00
Anuken a4f9518d1e testing winMM 2020-12-18 09:42:57 -05:00
Anuken 91692f362f Mod browser cleanup 2020-12-17 21:17:55 -05:00
Anuken 6815f3305f Better bridge linking 2020-12-17 18:35:50 -05:00
Anuken 0cc3340bd6 Fixed texture packer Gradle dependencies 2020-12-17 14:37:13 -05:00
Anuken 8da18984d2 Removed redundant Block#isVisible code 2020-12-17 12:38:22 -05:00
Patrick 'Quezler' Mounier 056afa572e Allow hidden blocks to be revealed by plugins (#4017)
* Add revealedBlocks rule

(1/2)

* Use revealedBlocks rule

(2/2)
2020-12-17 12:37:47 -05:00
Anuken 9f5183b36f Building cleanup 2020-12-17 11:38:03 -05:00
Anuken 0d81681af5 Merge remote-tracking branch 'origin/master' 2020-12-17 10:46:53 -05:00
Anuken 4b1554db54 arc 2020-12-17 10:46:49 -05:00
Charlotte Vixen c58289dd47 added conduit color indications (#4015) 2020-12-17 10:20:29 -05:00
Patrick 'Quezler' Mounier cfd67bb1fc Fix sprite packing typo (#4016) 2020-12-17 10:15:58 -05:00
rMuchan 9a777f3ce5 fix health calculation in background sectors (#4011) 2020-12-17 10:09:28 -05:00
Anuken b8efed9eaf Better space skybox scaling 2020-12-16 19:52:10 -05:00
Anuken cd7d2163b9 Merge remote-tracking branch 'origin/master' 2020-12-16 19:47:43 -05:00
Anuken 59c85a486f Fixed phase deflect achievement 2020-12-16 19:47:40 -05:00
DeltaNedas 8bc349b68c add @commanded for units (#3870) 2020-12-16 19:42:48 -05:00
Angel_24 b12cac7b30 Update bundle_es.properties (#4002)
* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Tweaks from a newer pull request

Added changes based on the Frankz30's Pull request: [ https://github.com/Anuken/Mindustry/pull/3879#issue-534932998 ]

* Added translations for wheather graphics and report bugs options
2020-12-16 19:41:07 -05:00
Thomas Widyantoko bd85d1d7ca update in_ID translation (#4003)
* update in_ID translation

* weather graphics setting

suggestion from Discord
2020-12-16 19:40:52 -05:00
XeloandAntsiferov Andrew 9a88426ff7 raw strings for SurfaceShaders (#4004)
* SurfaceShaders thing

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

spacing fix

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>

* star import

Co-authored-by: Antsiferov Andrew <summet.dev@gmail.com>
2020-12-16 19:39:08 -05:00
Anuken d0bf3d6fa1 Merge remote-tracking branch 'origin/master' 2020-12-16 19:33:36 -05:00
Anuken bc2c7be45d Fixed #4010 2020-12-16 19:33:29 -05:00
DeltaNedas 74a7dc5eb9 allow mods to set zoom limits (#4006)
* allow mods to set zoom limits

* rounding

* dont round min

* zoom 1.5 -> 1
2020-12-16 16:41:08 -05:00
Anuken 3db04da20a Payload tweaks 2020-12-16 13:35:55 -05:00
Anuken d0cba1aff2 Code cleanup 2020-12-16 10:39:28 -05:00
Anuken 4ad234ad75 Merge remote-tracking branch 'origin/master' 2020-12-16 09:28:11 -05:00
Anuken e6717b37ce Fixed #4000 2020-12-16 09:28:06 -05:00
Amaoto Inochi 15116ca384 fix the wrong unit ai path of mod content parser (#3998) 2020-12-15 19:55:31 -05:00
Anuken 446dd6abe5 Consistent water bullet drag 2020-12-15 19:25:23 -05:00
Anuken ff254d4fdf Fixed #3997 2020-12-15 19:09:33 -05:00
Anuken eaa5e6f5a1 Increased foreshadow coolant multiplier 2020-12-15 18:39:44 -05:00
Anuken b90f51224c Fixed #3996 2020-12-15 18:07:15 -05:00
Anuken 475bef1d78 Fixed sprite antialiasing 2020-12-15 17:43:01 -05:00
Anuken dd9095bfba Cleanup 2020-12-15 15:31:45 -05:00
Anuken 50125166a6 Merge remote-tracking branch 'origin/master' 2020-12-15 15:24:14 -05:00
Anuken 47e321f57d Removed atlas outputs 2020-12-15 15:24:09 -05:00
Recessive 144751bdce Update servers_v6.json (#3983)
Added {AA} Assault
2020-12-15 14:28:52 -05:00
L0615T1C5-216AC-9437 6cc3676f5e Final addition to the CN Network (#3986)
introducing a new unique game mode, Mech-Battles, were players fight against each other.
2020-12-15 14:28:36 -05:00
ThePythonGuy 95caa247f5 Merge pull request #6 from QmelZ/patch-2
Update bundle_tr.properties
2020-08-16 09:05:13 +02:00
ThePythonGuy aeeabcb38f Update bundle_pl.properties 2020-08-10 12:35:43 +02:00
QmelZ 2d7a5e637d Update bundle_tr.properties 2020-08-10 00:02:03 +03:00
ThePythonGuy a28366ee80 Update bundle_uk_UA.properties 2020-08-09 15:55:31 +02:00
ThePythonGuy e96a9a2f32 facepalm 2020-08-09 15:49:04 +02:00
ThePythonGuy b8fca9a091 nope, now _everything_ is fixed 2020-08-09 11:57:48 +02:00
ThePythonGuy 816402ae56 hopefully everything got fixed 2020-08-09 11:56:03 +02:00
ThePythonGuy b8ed189bcb Merge pull request #5 from Gdeft/patch-2
Update bundle.in_ID.properties: Mod Browser
2020-08-09 11:11:03 +02:00
Gdeft e4b0ea92da Update bundle.in_ID.properties: Mod Browser 2020-08-09 16:09:33 +07:00
ThePythonGuy ca931987c4 Merge pull request #4 from J-VdS/patch-2
better look
2020-08-08 22:15:49 +02:00
J-VdS f9a0d7a3c6 better look
this looks better in my opinion
2020-08-08 21:33:32 +02:00
ThePythonGuy 840f6e43c3 Merge pull request #2 from Catchears/patch-1
Add german translation
2020-08-08 19:34:13 +02:00
ThePythonGuy 89872902e7 Merge pull request #3 from Remint32/patch-3
RU l10n for Mod Browser PR
2020-08-08 19:33:42 +02:00
ThePythonGuy d6065865f5 Delete warning 2020-08-08 19:31:52 +02:00
Felix Corvus b56aa4adc2 Update bundle_ru.properties 2020-08-08 07:58:51 +03:00
Felix Corvus b36c074e72 RU l10n for Mod Browser PR 2020-08-08 07:56:21 +03:00
Wiki Updater 4df0393e00 Add german translation 2020-08-07 17:19:24 +02:00
ThePythonGuy 7bfbca7234 Update ModsDialog.java 2020-08-04 11:17:13 +02:00
ThePythonGuy dfcd94c4bc inconsistency fix 2020-08-02 11:29:55 +02:00
ThePythonGuy ee3c99991e Update bundle_fr.properties 2020-08-01 18:02:16 +02:00
ThePythonGuy 11a8c227d2 Update bundle_es.properties 2020-08-01 18:01:31 +02:00
ThePythonGuy f37ecda3a7 Update bundle.properties 2020-08-01 18:01:12 +02:00
ThePythonGuy a3054c75b4 Update bundle_uk_UA.properties 2020-08-01 17:53:12 +02:00
ThePythonGuy 428e1f22d5 Update ModsDialog.java 2020-08-01 17:31:54 +02:00
ThePythonGuy faf1ea3102 Update bundle_ko.properties 2020-08-01 17:31:30 +02:00
ThePythonGuy c287a173e3 Update bundle_fr.properties 2020-08-01 17:30:13 +02:00
ThePythonGuy 2aa70fdae5 Update bundle_es.properties 2020-08-01 17:27:54 +02:00
ThePythonGuy 5aeb77fd65 Update bundle.properties 2020-08-01 17:25:22 +02:00
ThePythonGuy 53f0a4516f Update ModsDialog.java 2020-08-01 15:49:53 +02:00
ThePythonGuy 451a4faa5b fix 2020-07-31 16:06:42 +02:00
ThePythonGuy 2e09373fdc less margin 2020-07-31 14:29:23 +02:00
ThePythonGuy df635777c3 larger margin 2020-07-31 13:20:38 +02:00
ThePythonGuy b2f973735b add margin to the buttons 2020-07-31 12:49:03 +02:00
ThePythonGuy 3a2a591c43 Last fix (i hope) 2020-07-31 12:35:32 +02:00
ThePythonGuy 5d4cbf6af5 Update ModsDialog.java 2020-07-31 12:34:36 +02:00
ThePythonGuy d83405c946 fix 2020-07-31 12:33:25 +02:00
ThePythonGuy 1d24dd6d4d Create Mod Browser 2020-07-31 12:12:43 +02:00
1078 changed files with 35826 additions and 67771 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ assignees: ''
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.*
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR 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.*
If you remove the line above without reading it properly and understanding what it means, I will reap your soul. Even if you're playing on someone's server, you can still save the game to a slot.
+5
View File
@@ -0,0 +1,5 @@
If your pull request is **not** translation or serverlist-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.
+24 -19
View File
@@ -6,32 +6,17 @@ on:
- 'v*'
jobs:
buildJava14:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
- name: Set up JDK 16
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 16
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Create artifacts
run: |
./gradlew desktop:dist server:dist core:javadoc -Pbuildversion=${RELEASE_VERSION:1}
- name: Update docs
run: |
cd ../
git config --global user.email "cli@github.com"
git config --global user.name "Github Actions"
git clone --depth=1 https://github.com/MindustryGame/docs.git
cp -a Mindustry/core/build/docs/javadoc/. docs/
cd docs
git add .
git commit -m "Update ${RELEASE_VERSION:1}"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
cd ../Mindustry
- name: Add Arc release
run: |
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
@@ -39,14 +24,34 @@ jobs:
git tag ${RELEASE_VERSION}
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
cd ../Mindustry
- name: Create artifacts
run: |
./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
- name: Update docs
run: |
cd ../
git config --global user.email "cli@github.com"
git config --global user.name "Github Actions"
git clone --depth=1 https://github.com/MindustryGame/docs.git
cd docs
find . -maxdepth 1 ! -name ".git" ! -name . -exec rm -r {} \;
cd ../
cp -a Mindustry/core/build/javadoc/. docs/
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
cd ../Mindustry
- name: Update F-Droid build string
run: |
git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
cd ../MindustryBuilds
echo "Updating version to ${RELEASE_VERSION:1}"
echo versionName=6-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${RELEASE_VERSION:1} > version_fdroid.txt
BNUM=$(($GITHUB_RUN_NUMBER + 1000))
echo versionName=7-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${BNUM} > version_fdroid.txt
git add .
git commit -m "Updating to build ${RELEASE_VERSION:1}"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds
cd ../Mindustry
- name: Upload client artifacts
uses: svenstaro/upload-release-action@v2
+4 -4
View File
@@ -1,17 +1,17 @@
name: Pull Request Tests
on: [pull_request]
on: [pull_request, workflow_dispatch]
jobs:
buildJava14:
testPR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
- name: Set up JDK 16
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 16
- name: Run unit tests and build JAR
run: ./gradlew test desktop:dist
- name: Upload desktop JAR for testing
+7 -7
View File
@@ -3,17 +3,11 @@ name: Tests
on: [push, workflow_dispatch]
jobs:
buildJava14:
runPush:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
uses: actions/setup-java@v1
with:
java-version: 14
- name: Run unit tests
run: ./gradlew clean cleanTest test
- name: Trigger BE build
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
@@ -23,3 +17,9 @@ jobs:
git tag ${BNUM}
git config --global user.name "Build Uploader"
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM}
- name: Set up JDK 16
uses: actions/setup-java@v1
with:
java-version: 16
- name: Run unit tests
run: ./gradlew clean cleanTest test
+12
View File
@@ -1,4 +1,5 @@
logs/
/fastlane/metadata/android/en-US/changelogs/
/core/assets/mindustry-saves/
/core/assets/mindustry-maps/
/core/assets/bundles/output/
@@ -43,10 +44,17 @@ ios/robovm.properties
packr-out/
config/
*.gif
/tests/out
/core/assets/basepartnames
version.properties
#sprites
core/assets/sprites/sprites*
core/assets/sprites/fallback/
core/assets/sprites/block_colors.png
.attach_*
## Java
@@ -95,6 +103,10 @@ com_crashlytics_export_strings.xml
.externalToolBuilders/
*.launch
## VSCode
.vscode/
## NetBeans
/nbproject/private/
+1 -4
View File
@@ -15,9 +15,6 @@ If you are submitting a new block, make sure it has a name and description, and
If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*).
For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it.
### Do not include packed sprites in your pull request.
When making a pull request that changes or adds new sprites, do not add the modified atlas & `spritesX.png` files to your final pull request. These are a frequent source of conflicts.
## Style Guidelines
@@ -29,7 +26,7 @@ This means:
- `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)
- 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 whenver possible
- 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)
- Use wildcard imports - `import some.package.*` - for everything. This makes incorrect class usage more obvious (*e.g. arc.util.Timer vs java.util.Timer*) and leads to cleaner-looking code.
+3 -3
View File
@@ -1,7 +1,7 @@
![Logo](core/assets-raw/sprites/ui/logo.png)
[![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry)
[![Discord](https://img.shields.io/discord/391020510269669376.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=Discord)](https://discord.gg/mindustry)
[![Build Status](https://github.com/Anuken/Mindustry/workflows/Tests/badge.svg?event=push)](https://github.com/Anuken/Mindustry/actions)
[![Discord](https://img.shields.io/discord/391020510269669376.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=Discord&color=17cf48)](https://discord.gg/mindustry)
A sandbox tower defense game written in Java.
@@ -18,7 +18,7 @@ See [CONTRIBUTING](CONTRIBUTING.md).
Bleeding-edge builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/MindustryBuilds/releases).
If you'd rather compile on your own, follow these instructions.
First, make sure you have [JDK 14](https://adoptopenjdk.net/) installed. Open a terminal in the root directory, `cd` to the Mindustry folder and run the following commands:
First, make sure you have [JDK 16](https://adoptopenjdk.net/archive.html?variant=openjdk16&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands:
### Windows
+6 -5
View File
@@ -6,16 +6,17 @@ This is done by letting clients `GET` a [JSON list of servers](https://github.co
You may want to add your server to this list. The steps for getting this done are as follows:
1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well.
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins.
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
2. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["logic-display", "large-logic-display"]`.
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
- Your name or description must reflect the type of server you're hosting.
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
- Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you.
- Try to be professional in your text; use common sense.
3. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
4. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
5. Finally, **submit a pull request** to add your server's IP to the list.
4. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
6. Finally, **submit a pull request** to add your server's IP to the list.
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
```json
+2 -1
View File
@@ -14,10 +14,11 @@
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:theme="@style/ArcTheme" android:fullBackupContent="@xml/backup_rules">
android:fullBackupContent="@xml/backup_rules">
<meta-data android:name="android.max_aspect" android:value="2.1"/>
<activity
android:name="mindustry.android.AndroidLauncher"
+61 -47
View File
@@ -4,13 +4,11 @@ buildscript{
mavenCentral()
google()
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
dependencies{
//IMPORTANT NOTICE: any version of the plugin after 3.4.1 will break builds
//it appears abstract methods don't get desugared properly (if at all)
classpath 'com.android.tools.build:gradle:3.4.1'
//note that later versions, like alpha05, fail to work correctly
classpath 'com.android.tools.build:gradle:7.1.0-alpha02'
}
}
@@ -20,36 +18,20 @@ configurations{ natives }
repositories{
mavenCentral()
jcenter()
maven{ url "https://maven.google.com" }
}
dependencies{
implementation project(":core")
implementation arcModule("backends:backend-android")
implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3'
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-box2d-android:${getArcHash()}"
//android dependencies magically disappear during compilation, thanks gradle!
def sdkFile = new File((String)findSdkDir(), "/platforms/android-29/android.jar")
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
}
task deploy(type: Copy){
dependsOn "assembleRelease"
from "build/outputs/apk/release/android-release.apk"
from "build/outputs/apk/standard/release/android-standard-release.apk"
into "../deploy/"
rename("android-release.apk", "${generateDeployName('android')}.apk")
rename("android-standard-release.apk", "${generateDeployName('android')}.apk")
}
android{
buildToolsVersion '29.0.3'
compileSdkVersion 29
buildToolsVersion '30.0.2'
compileSdkVersion 30
sourceSets{
main{
manifest.srcFile 'AndroidManifest.xml'
@@ -60,9 +42,13 @@ android{
assets.srcDirs = ['assets', 'src/main/assets', '../core/assets/']
jniLibs.srcDirs = ['libs']
}
gp{
java.srcDirs = ['srcgp']
}
androidTest.setRoot('tests')
}
packagingOptions{
exclude 'META-INF/robovm/ios/robovm.xml'
}
@@ -74,7 +60,7 @@ android{
applicationId "io.anuke.mindustry"
minSdkVersion 14
targetSdkVersion 29
targetSdkVersion 30
versionName versionNameResult
versionCode = (System.getenv("TRAVIS_BUILD_ID") != null ? System.getenv("TRAVIS_BUILD_ID").toInteger() : vcode)
@@ -110,6 +96,17 @@ android{
}
}
buildTypes{
all{
minifyEnabled = true
shrinkResources = true
//this is the ONLY WAY I could find to force r8 to keep its filthy hands off of my default interfaces.
//may have undesirable side effects
debuggable = true
proguardFiles("proguard-rules.pro")
}
}
if(project.hasProperty("RELEASE_STORE_FILE") || System.getenv("CI") == "true"){
buildTypes{
release{
@@ -117,10 +114,37 @@ android{
}
}
}
// Specifies one flavor dimension.
flavorDimensions "version"
productFlavors{
standard{
}
gp{
applicationIdSuffix ".gp"
versionNameSuffix "-gp"
}
}
}
// called every time gradle gets executed, takes the native dependencies of
// the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK.
dependencies{
implementation project(":core")
implementation arcModule("backends:backend-android")
implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3'
natives "com.github.Anuken.Arc:natives-android:${getArcHash()}"
natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}"
gpImplementation "com.google.android.gms:play-services-games:21.0.0"
gpImplementation "com.google.android.gms:play-services-auth:19.0.0"
//android dependencies magically disappear during compilation, thanks gradle!
def sdkFile = new File((String)findSdkDir(), "/platforms/android-29/android.jar")
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
}
task copyAndroidNatives(){
configurations.natives.files.each{ jar ->
copy{
@@ -132,23 +156,13 @@ task copyAndroidNatives(){
}
task run(type: Exec){
def path
def localProperties = project.file("../local.properties")
if(localProperties.exists()){
Properties properties = new Properties()
localProperties.withInputStream{ instr ->
properties.load(instr)
}
def sdkDir = properties.getProperty('sdk.dir')
if(sdkDir){
path = sdkDir
}else{
path = "$System.env.ANDROID_HOME"
}
}else{
path = "$System.env.ANDROID_HOME"
}
def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher'
commandLine "${findSdkDir()}/platform-tools/adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher'
}
if(!project.ext.hasSprites()){
tasks.whenTaskAdded{ task ->
if(task.name == 'assembleDebug' || task.name == 'assembleRelease'){
task.dependsOn ":tools:pack"
}
}
}
+9
View File
@@ -0,0 +1,9 @@
-dontobfuscate
#these are essential packages that should not be "optimized" in any way
#the main purpose of d8 here is to shrink the absurdly-large google play games libraries
-keep class mindustry.** { *; }
-keep class arc.** { *; }
-keep class net.jpountz.** { *; }
-keep class rhino.** { *; }
-keep class com.android.dex.** { *; }
+1 -1
View File
@@ -8,4 +8,4 @@
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
</resources>
-2
View File
@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Mindustry</string>
</resources>
+1 -3
View File
@@ -1,5 +1,4 @@
<resources>
<style name="ArcTheme" parent="android:Theme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
@@ -8,5 +7,4 @@
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
</resources>
@@ -33,6 +33,9 @@ public class AndroidLauncher extends AndroidApplication{
FileChooser chooser;
Runnable permCallback;
Object gpService;
Class<?> serviceClass;
@Override
protected void onCreate(Bundle savedInstanceState){
UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
@@ -44,13 +47,13 @@ public class AndroidLauncher extends AndroidApplication{
if(handler != null){
handler.uncaughtException(thread, error);
}else{
error.printStackTrace();
Log.err(error);
System.exit(1);
}
});
super.onCreate(savedInstanceState);
if(doubleScaleTablets && isTablet(this.getContext())){
if(doubleScaleTablets && isTablet(this)){
Scl.setAddition(0.5f);
}
@@ -63,7 +66,7 @@ public class AndroidLauncher extends AndroidApplication{
@Override
public rhino.Context getScriptContext(){
return AndroidRhinoContext.enter(getContext().getCacheDir());
return AndroidRhinoContext.enter(getCacheDir());
}
@Override
@@ -71,9 +74,28 @@ public class AndroidLauncher extends AndroidApplication{
}
@Override
public Class<?> loadJar(Fi jar, String mainClass) throws Exception{
DexClassLoader loader = new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, getClassLoader());
return Class.forName(mainClass, true, loader);
public ClassLoader loadJar(Fi jar, ClassLoader parent) throws Exception{
return new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, parent){
@Override
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException{
//check for loaded state
Class<?> loadedClass = findLoadedClass(name);
if(loadedClass == null){
try{
//try to load own class first
loadedClass = findClass(name);
}catch(ClassNotFoundException | NoClassDefFoundError e){
//use parent if not found
return parent.loadClass(name);
}
}
if(resolve){
resolveClass(loadedClass);
}
return loadedClass;
}
};
}
@Override
@@ -161,15 +183,25 @@ public class AndroidLauncher extends AndroidApplication{
}, new AndroidApplicationConfiguration(){{
useImmersiveMode = true;
hideStatusBar = true;
stencil = 8;
}});
checkFiles(getIntent());
try{
//new external folder
Fi data = Core.files.absolute(getContext().getExternalFilesDir(null).getAbsolutePath());
Fi data = Core.files.absolute(((Context)this).getExternalFilesDir(null).getAbsolutePath());
Core.settings.setDataDirectory(data);
//delete unused cache folder to free up space
try{
Fi cache = Core.settings.getDataDirectory().child("cache");
if(cache.exists()){
cache.deleteDirectory();
}
}catch(Throwable t){
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...");
@@ -211,6 +243,24 @@ public class AndroidLauncher extends AndroidApplication{
}
}
@Override
public void onResume(){
super.onResume();
//TODO enable once GPGS is set up on the GP console
if(false && getPackageName().endsWith(".gp")){
try{
if(gpService == null){
serviceClass = Class.forName("mindustry.android.GPGameService");
gpService = serviceClass.getConstructor().newInstance();
}
serviceClass.getMethod("onResume", Context.class).invoke(gpService, this);
}catch(Exception e){
Log.err("Failed to update Google Play Services", e);
}
}
}
private void checkFiles(Intent intent){
try{
Uri uri = intent.getData();
@@ -13,6 +13,7 @@ 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.*;
@@ -30,23 +31,6 @@ public class AndroidRhinoContext{
* @return a context prepared for android
*/
public static Context enter(File cacheDirectory){
if(!SecurityController.hasGlobal())
SecurityController.initGlobal(new SecurityController(){
@Override
public GeneratedClassLoader createClassLoader(ClassLoader classLoader, Object o){
return Context.getCurrentContext().createClassLoader(classLoader);
}
@Override
public Object getDynamicSecurityDomain(Object o){
return null;
}
@Override
public Object callWithDomain(Object o, Context context, Callable callable, Scriptable scriptable, Scriptable scriptable1, Object[] objects){
return null;
}
});
AndroidContextFactory factory;
if(!ContextFactory.hasExplicitGlobal()){
@@ -175,7 +159,7 @@ public class AndroidRhinoContext{
}catch(IOException e){
e.printStackTrace();
}
android.content.Context context = ((AndroidApplication) Core.app).getContext();
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);
}
@@ -0,0 +1,40 @@
package mindustry.android;
import android.content.*;
import arc.util.*;
import com.google.android.gms.auth.api.signin.*;
import com.google.android.gms.games.*;
import mindustry.service.*;
public class GPGameService extends GameService{
private GoogleSignInAccount account;
public void onResume(Context context){
Log.info("[GooglePlayService] Resuming.");
GoogleSignInAccount current = GoogleSignIn.getLastSignedInAccount(context);
GoogleSignInOptions options =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
.requestScopes(Games.SCOPE_GAMES_SNAPSHOTS)
.build();
if(GoogleSignIn.hasPermissions(current, options.getScopeArray())){
this.account = current;
Log.info("Already signed in to Google Play Games.");
}else{
GoogleSignIn.getClient(context, options).silentSignIn().addOnCompleteListener(complete -> {
if(!complete.isSuccessful()){
if(complete.getException() != null){
Log.err("Failed to sign in to Google Play Games.", complete.getException());
}else{
Log.warn("Failed to sign in to Google Play Games.");
}
}else{
this.account = complete.getResult();
Log.info("Signed in to Google Play Games.");
}
});
}
}
}
@@ -118,7 +118,7 @@ public class Annotations{
/**
* The region name to load. Variables can be used:
* "@" -> block name
* "$size" -> block size
* "@size" -> block size
* "#" "#1" "#2" -> index number, for arrays
* */
String value();
@@ -177,12 +177,12 @@ public class Annotations{
//region remote
public enum PacketPriority{
/** Does not get handled unless client is connected. */
low,
/** Gets put in a queue and processed if not connected. */
normal,
/** Gets handled immediately, regardless of connection status. */
high,
/** Does not get handled unless client is connected. */
low
}
/** A set of two booleans, one specifying server and one specifying client. */
@@ -2,15 +2,10 @@ package mindustry.annotations;
import arc.files.*;
import arc.struct.*;
import arc.util.Log;
import arc.util.Log.*;
import arc.util.*;
import arc.util.Log.*;
import com.squareup.javapoet.*;
import com.sun.source.util.*;
import com.sun.tools.javac.model.*;
import com.sun.tools.javac.processing.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.util.*;
import mindustry.annotations.util.*;
import javax.annotation.processing.*;
@@ -22,7 +17,6 @@ import javax.tools.Diagnostic.*;
import javax.tools.*;
import java.io.*;
import java.lang.annotation.*;
import java.util.List;
import java.util.*;
@SupportedSourceVersion(SourceVersion.RELEASE_8)
@@ -31,19 +25,16 @@ public abstract class BaseProcessor extends AbstractProcessor{
public static final String packageName = "mindustry.gen";
public static Types typeu;
public static JavacElements elementu;
public static Elements elementu;
public static Filer filer;
public static Messager messager;
public static Trees trees;
public static TreeMaker maker;
protected int round;
protected int rounds = 1;
protected RoundEnvironment env;
protected Fi rootDirectory;
protected Context context;
public static String getMethodName(Element element){
return ((TypeElement)element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName();
}
@@ -186,7 +177,7 @@ public abstract class BaseProcessor extends AbstractProcessor{
Log.err("[CODEGEN ERROR] " + message + ": " + elem);
}
public void err(String message, Selement elem){
public static void err(String message, Selement elem){
err(message, elem.e);
}
@@ -194,15 +185,11 @@ public abstract class BaseProcessor extends AbstractProcessor{
public synchronized void init(ProcessingEnvironment env){
super.init(env);
JavacProcessingEnvironment javacProcessingEnv = (JavacProcessingEnvironment)env;
trees = Trees.instance(env);
typeu = env.getTypeUtils();
elementu = javacProcessingEnv.getElementUtils();
elementu = env.getElementUtils();
filer = env.getFiler();
messager = env.getMessager();
context = ((JavacProcessingEnvironment)env).getContext();
maker = TreeMaker.instance(javacProcessingEnv.getContext());
Log.level = LogLevel.info;
@@ -219,7 +206,7 @@ public abstract class BaseProcessor extends AbstractProcessor{
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);
rootDirectory = Fi.get(path).parent();
}catch(IOException e){
throw new RuntimeException(e);
}
@@ -143,6 +143,7 @@ public class EntityIO{
if(sl) cont("if(!islocal)");
if(sf){
//TODO adding + targetSuf to the assignment fixes units being interpolated incorrectly during physics, but makes interpolation snap instead.
st(field.name + lastSuf + " = this." + field.name);
}
@@ -132,6 +132,7 @@ public class EntityProcess extends BaseProcessor{
.build())).addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).build());
}
//generate interface getters and setters for all "standard" fields
for(Svar field : component.fields().select(e -> !e.is(Modifier.STATIC) && !e.is(Modifier.PRIVATE) && !e.has(Import.class))){
String cname = field.name();
@@ -273,7 +274,10 @@ public class EntityProcess extends BaseProcessor{
name += "Entity";
}
if(ann.legacy()){
boolean legacy = ann.legacy();
if(legacy){
baseClass = tname(packageName + "." + name);
name += "Legacy" + Strings.capitalize(type.name());
}
@@ -338,7 +342,8 @@ public class EntityProcess extends BaseProcessor{
boolean isVisible = !f.is(Modifier.STATIC) && !f.is(Modifier.PRIVATE) && !f.has(ReadOnly.class);
//add the field only if it isn't visible or it wasn't implemented by the base class
if(!isShadowed || !isVisible){
//legacy classes have no extra fields
if((!isShadowed || !isVisible) && !legacy){
builder.addField(spec);
}
@@ -348,7 +353,7 @@ public class EntityProcess extends BaseProcessor{
allFields.add(f);
//add extra sync fields
if(f.has(SyncField.class) && isSync){
if(f.has(SyncField.class) && isSync && !legacy){
if(!f.tname().toString().equals("float")) err("All SyncFields must be of type float", f);
syncedFields.add(f);
@@ -442,11 +447,14 @@ public class EntityProcess extends BaseProcessor{
}
}
boolean specialIO = false;
if(hasIO){
//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"));
specialIO = true;
}
//SPECIAL CASE: sync I/O code
@@ -525,7 +533,9 @@ public class EntityProcess extends BaseProcessor{
mbuilder.addStatement("mindustry.gen.Groups.queueFree(($T)this)", Poolable.class);
}
builder.addMethod(mbuilder.build());
if(!legacy || specialIO){
builder.addMethod(mbuilder.build());
}
}
//add pool reset method and implement Poolable
@@ -560,7 +570,7 @@ public class EntityProcess extends BaseProcessor{
.returns(tname(packageName + "." + name))
.addStatement(ann.pooled() ? "return Pools.obtain($L.class, " +name +"::new)" : "return new $L()", name).build());
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs));
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
}
//generate groups
@@ -665,11 +675,28 @@ public class EntityProcess extends BaseProcessor{
//build mapping class for sync IDs
TypeSpec.Builder idBuilder = TypeSpec.classBuilder("EntityMapping").addModifiers(Modifier.PUBLIC)
.addField(FieldSpec.builder(TypeName.get(Prov[].class), "idMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new Prov[256]").build())
.addField(FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(ObjectMap.class),
tname(String.class), tname(Prov.class)),
"nameMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new ObjectMap<>()").build())
.addField(FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(IntMap.class), tname(String.class)),
"customIdMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new IntMap<>()").build())
.addMethod(MethodSpec.methodBuilder("register").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(TypeName.get(int.class))
.addParameter(String.class, "name").addParameter(Prov.class, "constructor")
.addStatement("int next = arc.util.Structs.indexOf(idMap, v -> v == null)")
.addStatement("idMap[next] = constructor")
.addStatement("nameMap.put(name, constructor)")
.addStatement("customIdMap.put(next, name)")
.addStatement("return next")
.addJavadoc("Use this method for obtaining a classId for custom modded unit types. Only call this once for each type. Modded types should return this id in their overridden classId method.")
.build())
.addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(TypeName.get(Prov.class)).addParameter(int.class, "id").addStatement("return idMap[id]").build())
.addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(TypeName.get(Prov.class)).addParameter(String.class, "name").addStatement("return nameMap.get(name)").build());
@@ -698,11 +725,6 @@ public class EntityProcess extends BaseProcessor{
}else{
//round 3: generate actual classes and implement interfaces
//write base classes
for(TypeSpec.Builder b : baseClasses){
write(b, imports.asArray());
}
//implement each definition
for(EntityDefinition def : definitions){
@@ -725,6 +747,14 @@ public class EntityProcess extends BaseProcessor{
def.builder.addSuperinterface(inter.tname());
if(def.legacy) continue;
@Nullable TypeSpec.Builder superclass = null;
if(def.extend != null){
superclass = baseClasses.find(b -> (packageName + "." + Reflect.get(b, "name")).equals(def.extend.toString()));
}
//generate getter/setter for each method
for(Smethod method : inter.methods()){
String var = method.name();
@@ -732,14 +762,36 @@ public class EntityProcess extends BaseProcessor{
//make sure it's a real variable AND that the component doesn't already implement it somewhere with custom logic
if(field == null || methodNames.contains(method.simpleString())) continue;
MethodSpec result = null;
//getter
if(!method.isVoid()){
def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("return " + var).build());
result = MethodSpec.overriding(method.e).addStatement("return " + var).build();
}
//setter
if(method.isVoid() && !Seq.with(field.annotations).contains(f -> f.type.toString().equals("@mindustry.annotations.Annotations.ReadOnly"))){
def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("this." + var + " = " + var).build());
result = MethodSpec.overriding(method.e).addStatement("this." + var + " = " + var).build();
}
//add getter/setter to parent class, if possible. when this happens, skip adding getters setters *here* because they are defined in the superclass.
if(result != null && superclass != null){
FieldSpec superField = Seq.with(superclass.fieldSpecs).find(f -> f.name.equals(var));
//found the right field, try to check for the method already existing now
if(superField != null){
MethodSpec fr = result;
MethodSpec targetMethod = Seq.with(superclass.methodSpecs).find(m -> m.name.equals(var) && m.returnType.equals(fr.returnType));
//if the method isn't added yet, add it. in any case, skip.
if(targetMethod == null){
superclass.addMethod(result);
}
continue;
}
}
if(result != null){
def.builder.addMethod(result);
}
}
}
@@ -747,8 +799,16 @@ public class EntityProcess extends BaseProcessor{
write(def.builder, imports.asArray());
}
//write base classes last
for(TypeSpec.Builder b : baseClasses){
write(b, imports.asArray());
}
//TODO nulls were an awful idea
//store nulls
TypeSpec.Builder nullsBuilder = TypeSpec.classBuilder("Nulls").addModifiers(Modifier.PUBLIC).addModifiers(Modifier.FINAL);
//TODO should be dynamic
ObjectSet<String> nullList = ObjectSet.with("unit");
//create mock types of all components
for(Stype interf : allInterfaces){
@@ -767,6 +827,12 @@ public class EntityProcess extends BaseProcessor{
//create null builder
String baseName = interf.name().substring(0, interf.name().length() - 1);
//prevent Nulls bloat
if(!nullList.contains(Strings.camelize(baseName))){
continue;
}
String className = "Null" + baseName;
TypeSpec.Builder nullBuilder = TypeSpec.classBuilder(className)
.addModifiers(Modifier.FINAL);
@@ -900,7 +966,7 @@ public class EntityProcess extends BaseProcessor{
}
String createName(Selement<?> elem){
Seq<Stype> comps = types(elem.annotation(EntityDef.class), EntityDef::value).map(this::interfaceToComp);;
Seq<Stype> comps = types(elem.annotation(EntityDef.class), EntityDef::value).map(this::interfaceToComp);
comps.sortComparing(Selement::name);
return comps.toString("", s -> s.name().replace("Comp", ""));
}
@@ -944,9 +1010,10 @@ public class EntityProcess extends BaseProcessor{
final Selement naming;
final String name;
final @Nullable TypeName extend;
final boolean legacy;
int classID;
public EntityDefinition(String name, Builder builder, Selement naming, TypeName extend, Seq<Stype> components, Seq<GroupDefinition> groups, Seq<FieldSpec> fieldSpec){
public EntityDefinition(String name, Builder builder, Selement naming, TypeName extend, Seq<Stype> components, Seq<GroupDefinition> groups, Seq<FieldSpec> fieldSpec, boolean legacy){
this.builder = builder;
this.name = name;
this.naming = naming;
@@ -954,6 +1021,7 @@ public class EntityProcess extends BaseProcessor{
this.components = components;
this.extend = extend;
this.fieldSpecs = fieldSpec;
this.legacy = legacy;
}
@Override
@@ -1,5 +1,7 @@
package mindustry.annotations.impl;
import arc.*;
import arc.audio.*;
import arc.files.*;
import arc.scene.style.*;
import arc.struct.*;
@@ -43,7 +45,7 @@ public class AssetsProcess extends BaseProcessor{
texIcons.each((key, val) -> {
String[] split = val.split("\\|");
String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", "");
String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", "").replace("Ui", "");
if(SourceVersion.isKeyword(name) || name.equals("char")) name += "i";
ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).addJavadoc(String.format("\\u%04x", Integer.parseInt(key))).initializer("'" + ((char)Integer.parseInt(key)) + "'").build());
@@ -87,18 +89,18 @@ public class AssetsProcess extends BaseProcessor{
filename = filename.substring(0, filename.indexOf("."));
String sfilen = filename;
String dtype = p.name().endsWith(".9.png") ? "arc.scene.style.NinePatchDrawable" : "arc.scene.style.TextureRegionDrawable";
String dtype = "arc.scene.style.Drawable";
String varname = capitalize(sfilen);
if(SourceVersion.isKeyword(varname)) varname += "s";
type.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC);
load.addStatement(varname + " = (" + dtype + ")arc.Core.atlas.drawable($S)", sfilen);
load.addStatement(varname + " = arc.Core.atlas.drawable($S)", sfilen);
});
for(Element elem : elements){
Seq.with(((TypeElement)elem).getEnclosedElements()).each(e -> e.getKind() == ElementKind.FIELD, field -> {
Seq.with(elem.getEnclosedElements()).each(e -> e.getKind() == ElementKind.FIELD, field -> {
String fname = field.getSimpleName().toString();
if(fname.startsWith("default")){
loadStyles.addStatement("arc.Core.scene.addStyle(" + field.asType().toString() + ".class, mindustry.ui.Styles." + fname + ")");
@@ -117,15 +119,36 @@ public class AssetsProcess extends BaseProcessor{
void processSounds(String classname, String path, String rtype) throws Exception{
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
CodeBlock.Builder staticb = CodeBlock.builder();
type.addField(FieldSpec.builder(IntMap.class, "idToSound", Modifier.STATIC, Modifier.PRIVATE).initializer("new IntMap()").build());
type.addField(FieldSpec.builder(ObjectIntMap.class, "soundToId", Modifier.STATIC, Modifier.PRIVATE).initializer("new ObjectIntMap()").build());
type.addMethod(MethodSpec.methodBuilder("getSoundId")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Sound.class, "sound")
.returns(int.class)
.addStatement("return soundToId.get(sound, -1)").build());
type.addMethod(MethodSpec.methodBuilder("getSound")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(int.class, "id")
.returns(Sound.class)
.addStatement("return (Sound)idToSound.get(id, () -> Sounds.none)").build());
HashSet<String> names = new HashSet<>();
Fi.get(path).walk(p -> {
Seq<Fi> files = new Seq<>();
Fi.get(path).walk(files::add);
files.sortComparing(Fi::name);
int id = 0;
for(Fi p : files){
String name = p.nameWithoutExtension();
if(names.contains(name)){
BaseProcessor.err("Duplicate file name: " + p.toString() + "!");
BaseProcessor.err("Duplicate file name: " + p + "!");
}else{
names.add(name);
}
@@ -134,20 +157,23 @@ public class AssetsProcess extends BaseProcessor{
String filepath = path.substring(path.lastIndexOf("/") + 1) + p.path().substring(p.path().lastIndexOf(path) + path.length());
String filename = "\"" + filepath + "\"";
loadBegin.addStatement("arc.Core.assets.load(" + filename + ", " + rtype + ".class).loaded = a -> " + name + " = (" + rtype + ")a", filepath, filepath.replace(".ogg", ".mp3"));
staticb.addStatement("soundToId.put($L, $L)", name, id);
dispose.addStatement("arc.Core.assets.unload(" + filename + ")");
dispose.addStatement(name + " = null");
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
});
loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; soundToId.put(a, $L); idToSound.put($L, a); }",
Core.class, filepath, rtype, name, rtype, id, id);
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
id ++;
}
type.addStaticBlock(staticb.build());
if(classname.equals("Sounds")){
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build());
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
}
type.addMethod(loadBegin.build());
type.addMethod(dispose.build());
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer);
}
@@ -1,154 +0,0 @@
package mindustry.annotations.impl;
import com.sun.source.tree.*;
import com.sun.source.util.*;
import com.sun.tools.javac.code.Scope;
import com.sun.tools.javac.code.*;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.Type.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
import mindustry.annotations.Annotations.*;
import javax.annotation.processing.*;
import javax.lang.model.*;
import javax.lang.model.element.*;
import javax.tools.Diagnostic.*;
import java.lang.annotation.*;
import java.util.*;
@SupportedAnnotationTypes({"java.lang.Override"})
public class CallSuperProcess extends AbstractProcessor{
private Trees trees;
@Override
public void init(ProcessingEnvironment pe){
super.init(pe);
trees = Trees.instance(pe);
}
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv){
for(Element e : roundEnv.getElementsAnnotatedWith(Override.class)){
if(e.getAnnotation(OverrideCallSuper.class) != null) return false;
CodeAnalyzerTreeScanner codeScanner = new CodeAnalyzerTreeScanner();
codeScanner.methodName = e.getSimpleName().toString();
TreePath tp = trees.getPath(e.getEnclosingElement());
codeScanner.scan(tp, trees);
if(codeScanner.callSuperUsed){
List list = codeScanner.method.getBody().getStatements();
if(!doesCallSuper(list, codeScanner.methodName)){
processingEnv.getMessager().printMessage(Kind.ERROR, "Overriding method '" + codeScanner.methodName + "' must explicitly call super method from its parent class.", e);
}
}
}
return false;
}
private boolean doesCallSuper(List list, String methodName){
for(Object object : list){
if(object instanceof JCTree.JCExpressionStatement){
JCTree.JCExpressionStatement expr = (JCExpressionStatement)object;
String exprString = expr.toString();
if(exprString.startsWith("super." + methodName) && exprString.endsWith(");")) return true;
}
}
return false;
}
@Override
public SourceVersion getSupportedSourceVersion(){
return SourceVersion.RELEASE_8;
}
static class CodeAnalyzerTreeScanner extends TreePathScanner<Object, Trees>{
String methodName;
MethodTree method;
boolean callSuperUsed;
@Override
public Object visitClass(ClassTree classTree, Trees trees){
Tree extendTree = classTree.getExtendsClause();
if(extendTree instanceof JCTypeApply){ //generic classes case
JCTypeApply generic = (JCTypeApply)extendTree;
extendTree = generic.clazz;
}
if(extendTree instanceof JCIdent){
JCIdent tree = (JCIdent)extendTree;
if(tree == null || tree.sym == null) return super.visitClass(classTree, trees);
com.sun.tools.javac.code.Scope members = tree.sym.members();
if(checkScope(members))
return super.visitClass(classTree, trees);
if(checkSuperTypes((ClassType)tree.type))
return super.visitClass(classTree, trees);
}
callSuperUsed = false;
return super.visitClass(classTree, trees);
}
public boolean checkSuperTypes(ClassType type){
if(type.supertype_field != null && type.supertype_field.tsym != null){
if(checkScope(type.supertype_field.tsym.members()))
return true;
else
return checkSuperTypes((ClassType)type.supertype_field);
}
return false;
}
@SuppressWarnings("unchecked")
public boolean checkScope(Scope members){
Iterable<Symbol> it;
try{
it = (Iterable<Symbol>)members.getClass().getMethod("getElements").invoke(members);
}catch(Throwable t){
try{
it = (Iterable<Symbol>)members.getClass().getMethod("getSymbols").invoke(members);
}catch(Exception e){
throw new RuntimeException(e);
}
}
for(Symbol s : it){
if(s instanceof MethodSymbol){
MethodSymbol ms = (MethodSymbol)s;
if(ms.getSimpleName().toString().equals(methodName)){
Annotation annotation = ms.getAnnotation(CallSuper.class);
if(annotation != null){
callSuperUsed = true;
return true;
}
}
}
}
return false;
}
@Override
public Object visitMethod(MethodTree methodTree, Trees trees){
if(methodTree.getName().toString().equals(methodName))
method = methodTree;
return super.visitMethod(methodTree, trees);
}
}
}
@@ -18,6 +18,7 @@ public class LoadRegionProcessor extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
TypeSpec.Builder regionClass = TypeSpec.classBuilder("ContentRegions")
.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"deprecation\"").build())
.addModifiers(Modifier.PUBLIC);
MethodSpec.Builder method = MethodSpec.methodBuilder("loadRegions")
.addParameter(tname("mindustry.ctype.MappableContent"), "content")
@@ -34,7 +35,7 @@ public class LoadRegionProcessor extends BaseProcessor{
}
for(Entry<Stype, Seq<Svar>> entry : fieldMap){
method.beginControlFlow("if(content instanceof $T)", entry.key.tname());
method.beginControlFlow("if(content instanceof $L)", entry.key.fullName());
for(Svar field : entry.value){
Load an = field.annotation(Load.class);
@@ -45,7 +46,7 @@ public class LoadRegionProcessor extends BaseProcessor{
//not an array
if(dims == 0){
method.addStatement("(($T)content).$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), Core.class, parse(an.value()), fallbackString);
method.addStatement("(($L)content).$L = $T.atlas.find($L$L)", entry.key.fullName(), field.name(), Core.class, parse(an.value()), fallbackString);
}else{
//is an array, create length string
int[] lengths = an.lengths();
@@ -26,7 +26,8 @@ public class LogicStatementProcessor extends BaseProcessor{
MethodSpec.Builder reader = MethodSpec.methodBuilder("read")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(tname("mindustry.logic.LStatement"))
.addParameter(String[].class, "tokens");
.addParameter(String[].class, "tokens")
.addParameter(int.class, "length");
Seq<Stype> types = types(RegisterStatement.class);
@@ -76,7 +77,7 @@ public class LogicStatementProcessor extends BaseProcessor{
"");
//reading primitives, strings and enums is supported; nothing else is
reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])",
reader.addStatement("if(length > $L) result.$L = $L(tokens[$L])",
index + 1,
field.name(),
field.mirror().toString().equals("java.lang.String") ?
@@ -0,0 +1,380 @@
package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
import java.io.*;
import static mindustry.annotations.BaseProcessor.*;
/** Generates code for writing remote invoke packets on the client and server. */
public class CallGenerator{
/** Generates all classes in this list. */
public static void generate(ClassSerializer serializer, Seq<MethodEntry> methods) throws IOException{
//create builder
TypeSpec.Builder callBuilder = TypeSpec.classBuilder(RemoteProcess.callLocation).addModifiers(Modifier.PUBLIC);
MethodSpec.Builder register = MethodSpec.methodBuilder("registerPackets")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
//go through each method entry in this class
for(MethodEntry ent : methods){
//builder for the packet type
TypeSpec.Builder packet = TypeSpec.classBuilder(ent.packetClassName)
.addModifiers(Modifier.PUBLIC);
//temporary data to deserialize later
packet.addField(FieldSpec.builder(byte[].class, "DATA", Modifier.PRIVATE).initializer("NODATA").build());
packet.superclass(tname("mindustry.net.Packet"));
//return the correct priority
if(ent.priority != PacketPriority.normal){
packet.addMethod(MethodSpec.methodBuilder("getPriority")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class).returns(int.class).addStatement("return $L", ent.priority.ordinal())
.build());
}
//implement read & write methods
makeWriter(packet, ent, serializer);
makeReader(packet, ent, serializer);
//generate handlers
if(ent.where.isClient){
packet.addMethod(writeHandleMethod(ent, false));
}
if(ent.where.isServer){
packet.addMethod(writeHandleMethod(ent, true));
}
//register packet
register.addStatement("mindustry.net.Net.registerPacket($L.$L::new)", packageName, ent.packetClassName);
//add fields to the type
for(Svar param : ent.element.params()){
packet.addField(param.tname(), param.name(), Modifier.PUBLIC);
}
//write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method
if(ent.where.isClient || ent.target.isAll){
writeCallMethod(callBuilder, ent, true, false);
}
//write the 'send event to one player' variant, which is only applicable on the server
if(ent.where.isServer && ent.target.isOne){
writeCallMethod(callBuilder, ent, false, false);
}
//write the forwarded method version
if(ent.where.isServer && ent.forward){
writeCallMethod(callBuilder, ent, true, true);
}
//write the completed packet class
JavaFile.builder(packageName, packet.build()).build().writeTo(BaseProcessor.filer);
}
callBuilder.addMethod(register.build());
//build and write resulting class
TypeSpec spec = callBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
private static void makeWriter(TypeSpec.Builder typespec, MethodEntry ent, ClassSerializer serializer){
MethodSpec.Builder builder = MethodSpec.methodBuilder("write")
.addParameter(Writes.class, "WRITE")
.addModifiers(Modifier.PUBLIC).addAnnotation(Override.class);
Seq<Svar> params = ent.element.params();
for(int i = 0; i < params.size; i++){
//first argument is skipped as it is always the player caller
if(!ent.where.isServer && i == 0){
continue;
}
Svar var = params.get(i);
//name of parameter
String varName = var.name();
//name of parameter type
String typeName = var.mirror().toString();
//special case: method can be called from anywhere to anywhere
//thus, only write the player when the SERVER is writing data, since the client is the only one who reads the player anyway
boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
builder.beginControlFlow("if(mindustry.Vars.net.server())");
}
if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
builder.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
}else{
//else, try and find a serializer
String ser = serializer.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), true));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No method to write class type: '" + typeName + "'", var);
}
//add statement for writing it
builder.addStatement(ser + "(WRITE, " + varName + ")");
}
if(writePlayerSkipCheck){ //write end check
builder.endControlFlow();
}
}
typespec.addMethod(builder.build());
}
private static void makeReader(TypeSpec.Builder typespec, MethodEntry ent, ClassSerializer serializer){
MethodSpec.Builder readbuilder = MethodSpec.methodBuilder("read")
.addParameter(Reads.class, "READ")
.addParameter(int.class, "LENGTH")
.addModifiers(Modifier.PUBLIC).addAnnotation(Override.class);
//read only into temporary data buffer
readbuilder.addStatement("DATA = READ.b(LENGTH)");
typespec.addMethod(readbuilder.build());
MethodSpec.Builder builder = MethodSpec.methodBuilder("handled")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class);
//make sure data is present, begin reading it if so
builder.addStatement("BAIS.setBytes(DATA)");
Seq<Svar> params = ent.element.params();
//go through each parameter
for(int i = 0; i < params.size; i++){
Svar var = params.get(i);
//first argument is skipped as it is always the player caller
if(!ent.where.isServer && i == 0){
continue;
}
//special case: method can be called from anywhere to anywhere
//thus, only read the player when the CLIENT is receiving data, since the client is the only one who cares about the player anyway
boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
builder.beginControlFlow("if(mindustry.Vars.net.client())");
}
//full type name of parameter
String typeName = var.mirror().toString();
//name of parameter
String varName = var.name();
//capitalized version of type name for reading primitives
String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "";
//write primitives automatically
if(BaseProcessor.isPrimitive(typeName)){
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));
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);
}
//add statement for reading it
builder.addStatement("$L = $L(READ)", varName, ser);
}
if(writePlayerSkipCheck){ //write end check
builder.endControlFlow();
}
}
typespec.addMethod(builder.build());
}
/** Creates a specific variant for a method entry. */
private static void writeCallMethod(TypeSpec.Builder classBuilder, MethodEntry ent, boolean toAll, boolean forwarded){
Smethod elem = ent.element;
Seq<Svar> params = elem.params();
//create builder
MethodSpec.Builder method = MethodSpec.methodBuilder(elem.name() + (forwarded ? "__forward" : "")) //add except suffix when forwarding
.addModifiers(Modifier.STATIC)
.returns(void.class);
//forwarded methods aren't intended for use, and are not public
if(!forwarded){
method.addModifiers(Modifier.PUBLIC);
}
//validate client methods to make sure
if(ent.where.isClient){
if(params.isEmpty()){
BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem);
return;
}
if(!params.get(0).mirror().toString().contains("Player")){
BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem);
return;
}
}
//if toAll is false, it's a 'send to one player' variant, so add the player as a parameter
if(!toAll){
method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "playerConnection");
}
//add sender to ignore
if(forwarded){
method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "exceptConnection");
}
//call local method if applicable, shouldn't happen when forwarding method as that already happens by default
if(!forwarded && ent.local != Loc.none){
//add in local checks
if(ent.local != Loc.both){
method.beginControlFlow("if(" + getCheckString(ent.local) + " || !mindustry.Vars.net.active())");
}
//concatenate parameters
int index = 0;
StringBuilder results = new StringBuilder();
for(Svar var : params){
//special case: calling local-only methods uses the local player
if(index == 0 && ent.where == Loc.client){
results.append("mindustry.Vars.player");
}else{
results.append(var.name());
}
if(index != params.size - 1) results.append(", ");
index++;
}
//add the statement to call it
method.addStatement("$N." + elem.name() + "(" + results + ")",
((TypeElement)elem.up()).getQualifiedName().toString());
if(ent.local != Loc.both){
method.endControlFlow();
}
}
//start control flow to check if it's actually client/server so no netcode is called
method.beginControlFlow("if(" + getCheckString(ent.where) + ")");
//add statement to create packet from pool
method.addStatement("$1T packet = new $1T()", tname("mindustry.gen." + ent.packetClassName));
method.addTypeVariables(Seq.with(elem.e.getTypeParameters()).map(BaseProcessor::getTVN));
for(int i = 0; i < params.size; i++){
//first argument is skipped as it is always the player caller
if((!ent.where.isServer) && i == 0){
continue;
}
Svar var = params.get(i);
method.addParameter(var.tname(), var.name());
//name of parameter
String varName = var.name();
//special case: method can be called from anywhere to anywhere
//thus, only write the player when the SERVER is writing data, since the client is the only one who reads it
boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
method.beginControlFlow("if(mindustry.Vars.net.server())");
}
method.addStatement("packet.$L = $L", varName, varName);
if(writePlayerSkipCheck){ //write end check
method.endControlFlow();
}
}
String sendString;
if(forwarded){ //forward packet
if(!ent.local.isClient){ //if the client doesn't get it called locally, forward it back after validation
sendString = "mindustry.Vars.net.send(";
}else{
sendString = "mindustry.Vars.net.sendExcept(exceptConnection, ";
}
}else if(toAll){ //send to all players / to server
sendString = "mindustry.Vars.net.send(";
}else{ //send to specific client from server
sendString = "playerConnection.send(";
}
//send the actual packet
method.addStatement(sendString + "packet, " + (!ent.unreliable) + ")");
//end check for server/client
method.endControlFlow();
//add method to class, finally
classBuilder.addMethod(method.build());
}
private static String getCheckString(Loc loc){
return
loc.isClient && loc.isServer ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" :
loc.isClient ? "mindustry.Vars.net.client()" :
loc.isServer ? "mindustry.Vars.net.server()" : "false";
}
/** Generates handleServer / handleClient methods. */
public static MethodSpec writeHandleMethod(MethodEntry ent, boolean isClient){
//create main method builder
MethodSpec.Builder builder = MethodSpec.methodBuilder(isClient ? "handleClient" : "handleServer")
.addModifiers(Modifier.PUBLIC)
.addAnnotation(Override.class)
.returns(void.class);
Smethod elem = ent.element;
Seq<Svar> params = elem.params();
if(!isClient){
//add player parameter
builder.addParameter(ClassName.get("mindustry.net", "NetConnection"), "con");
//skip if player is invalid
builder.beginControlFlow("if(con.player == null || con.kicked)");
builder.addStatement("return");
builder.endControlFlow();
//make sure to use the actual player who sent the packet
builder.addStatement("mindustry.gen.Player player = con.player");
}
//execute the relevant method before the forward
//if it throws a ValidateException, the method won't be forwarded
builder.addStatement("$N." + elem.name() + "(" + params.toString(", ", s -> s.name()) + ")", ((TypeElement)elem.up()).getQualifiedName().toString());
//call forwarded method, don't forward on the client reader
if(ent.forward && ent.where.isServer && !isClient){
//call forwarded method
builder.addStatement("$L.$L.$L__forward(con, $L)", packageName, ent.className, elem.name(), params.toString(", ", s -> s.name()));
}
return builder.build();
}
}
@@ -1,15 +0,0 @@
package mindustry.annotations.remote;
import java.util.ArrayList;
/** Represents a class witha list method entries to include in it. */
public class ClassEntry{
/** All methods in this generated class. */
public final ArrayList<MethodEntry> methods = new ArrayList<>();
/** Simple class name. */
public final String name;
public ClassEntry(String name){
this.name = name;
}
}
@@ -1,8 +1,7 @@
package mindustry.annotations.remote;
import mindustry.annotations.Annotations.*;
import javax.lang.model.element.ExecutableElement;
import mindustry.annotations.util.*;
/** Class that repesents a remote method to be constructed and put into a class. */
public class MethodEntry{
@@ -10,6 +9,8 @@ public class MethodEntry{
public final String className;
/** Fully qualified target method to call. */
public final String targetMethod;
/** Simple name of the generated packet class. */
public final String packetClassName;
/** Whether this method can be called on a client/server. */
public final Loc where;
/**
@@ -26,12 +27,13 @@ public class MethodEntry{
/** Unique method ID. */
public final int id;
/** The element method associated with this entry. */
public final ExecutableElement element;
public final Smethod element;
/** The assigned packet priority. Only used in clients. */
public final PacketPriority priority;
public MethodEntry(String className, String targetMethod, Loc where, Variant target,
Loc local, boolean unreliable, boolean forward, int id, ExecutableElement element, PacketPriority priority){
public MethodEntry(String className, String targetMethod, String packetClassName, Loc where, Variant target,
Loc local, boolean unreliable, boolean forward, int id, Smethod element, PacketPriority priority){
this.packetClassName = packetClassName;
this.className = className;
this.forward = forward;
this.targetMethod = targetMethod;
@@ -1,7 +1,7 @@
package mindustry.annotations.remote;
import arc.struct.*;
import com.squareup.javapoet.*;
import arc.util.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.*;
@@ -9,7 +9,6 @@ import mindustry.annotations.util.TypeIOResolver.*;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
import java.util.*;
/** The annotation processor for generating remote method call code. */
@@ -18,106 +17,58 @@ import java.util.*;
"mindustry.annotations.Annotations.TypeIOHandler"
})
public class RemoteProcess extends BaseProcessor{
/** Maximum size of each event packet. */
public static final int maxPacketSize = 8192;
/** Warning on top of each autogenerated file. */
public static final String autogenWarning = "Autogenerated file. Do not modify!\n";
/** Name of class that handles reading and invoking packets on the server. */
private static final String readServerName = "RemoteReadServer";
/** Name of class that handles reading and invoking packets on the client. */
private static final String readClientName = "RemoteReadClient";
/** Simple class name of generated class name. */
private static final String callLocation = "Call";
//class serializers
private ClassSerializer serializer;
//all elements with the Remote annotation
private Seq<Smethod> elements;
//map of all classes to generate by name
private HashMap<String, ClassEntry> classMap;
//list of all method entries
private Seq<MethodEntry> methods;
//list of all method entries
private Seq<ClassEntry> classes;
{
rounds = 2;
}
public static final String callLocation = "Call";
@Override
public void process(RoundEnvironment roundEnv) throws Exception{
//round 1: find all annotations, generate *writers*
if(round == 1){
//get serializers
serializer = TypeIOResolver.resolve(this);
//last method ID used
int lastMethodID = 0;
//find all elements with the Remote annotation
elements = methods(Remote.class);
//map of all classes to generate by name
classMap = new HashMap<>();
//list of all method entries
methods = new Seq<>();
//list of all method entries
classes = new Seq<>();
//get serializers
//class serializers
ClassSerializer serializer = TypeIOResolver.resolve(this);
//last method ID used
int lastMethodID = 0;
//find all elements with the Remote annotation
//all elements with the Remote annotation
Seq<Smethod> elements = methods(Remote.class);
//list of all method entries
Seq<MethodEntry> methods = new Seq<>();
Seq<Smethod> orderedElements = elements.copy();
orderedElements.sortComparing(Object::toString);
Seq<Smethod> orderedElements = elements.copy();
orderedElements.sortComparing(Selement::toString);
//create methods
for(Smethod element : orderedElements){
Remote annotation = element.annotation(Remote.class);
//create methods
for(Smethod element : orderedElements){
Remote annotation = element.annotation(Remote.class);
//check for static
if(!element.is(Modifier.STATIC) || !element.is(Modifier.PUBLIC)){
err("All @Remote methods must be public and static: ", element);
}
//can't generate none methods
if(annotation.targets() == Loc.none){
err("A @Remote method's targets() cannot be equal to 'none':", element);
}
//get and create class entry if needed
if(!classMap.containsKey(callLocation)){
ClassEntry clas = new ClassEntry(callLocation);
classMap.put(callLocation, clas);
classes.add(clas);
}
ClassEntry entry = classMap.get(callLocation);
//create and add entry
MethodEntry method = new MethodEntry(entry.name, BaseProcessor.getMethodName(element.e), annotation.targets(), annotation.variants(),
annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, element.e, annotation.priority());
entry.methods.add(method);
methods.add(method);
//check for static
if(!element.is(Modifier.STATIC) || !element.is(Modifier.PUBLIC)){
err("All @Remote methods must be public and static", element);
}
//create read/write generators
RemoteWriteGenerator writegen = new RemoteWriteGenerator(serializer);
//can't generate none methods
if(annotation.targets() == Loc.none){
err("A @Remote method's targets() cannot be equal to 'none'", element);
}
//generate the methods to invoke (write)
writegen.generateFor(classes, packageName);
}else if(round == 2){ //round 2: generate all *readers*
RemoteReadGenerator readgen = new RemoteReadGenerator(serializer);
String packetName = Strings.capitalize(element.name()) + "CallPacket";
int[] index = {1};
//generate server readers
readgen.generateFor(methods.select(method -> method.where.isClient), readServerName, packageName, true);
//generate client readers
readgen.generateFor(methods.select(method -> method.where.isServer), readClientName, packageName, false);
while(methods.contains(m -> m.packetClassName.equals(packetName + (index[0] == 1 ? "" : index[0])))){
index[0] ++;
}
//create class for storing unique method hash
TypeSpec.Builder hashBuilder = TypeSpec.classBuilder("MethodHash").addModifiers(Modifier.PUBLIC);
hashBuilder.addJavadoc(autogenWarning);
hashBuilder.addField(FieldSpec.builder(int.class, "HASH", Modifier.STATIC, Modifier.PUBLIC, Modifier.FINAL)
.initializer("$1L", Arrays.hashCode(methods.map(m -> m.element).toArray())).build());
//create and add entry
MethodEntry method = new MethodEntry(
callLocation, BaseProcessor.getMethodName(element.e), packetName + (index[0] == 1 ? "" : index[0]),
annotation.targets(), annotation.variants(),
annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++,
element, annotation.priority()
);
//build and write resulting hash class
TypeSpec spec = hashBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
methods.add(method);
}
//generate the methods to invoke, as well as the packet classes
CallGenerator.generate(serializer, methods);
}
}
@@ -1,129 +0,0 @@
package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*;
import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
/** Generates code for reading remote invoke packets on the client and server. */
public class RemoteReadGenerator{
private final ClassSerializer serializers;
/** Creates a read generator that uses the supplied serializer setup. */
public RemoteReadGenerator(ClassSerializer serializers){
this.serializers = serializers;
}
/**
* Generates a class for reading remote invoke packets.
* @param entries List of methods to use.
* @param className Simple target class name.
* @param packageName Full target package name.
* @param needsPlayer Whether this read method requires a reference to the player sender.
*/
public void generateFor(Seq<MethodEntry> entries, String className, String packageName, boolean needsPlayer) throws Exception{
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//create main method builder
MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(Reads.class, "read") //buffer to read form
.addParameter(int.class, "id") //ID of method type to read
.returns(void.class);
if(needsPlayer){
//add player parameter
readMethod.addParameter(ClassName.get(packageName, "Player"), "player");
}
CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method
boolean started = false; //whether an if() statement has been written yet
for(MethodEntry entry : entries){
//write if check for this entry ID
if(!started){
started = true;
readBlock.beginControlFlow("if(id == " + entry.id + ")");
}else{
readBlock.nextControlFlow("else if(id == " + entry.id + ")");
}
readBlock.beginControlFlow("try");
//concatenated list of variable names for method invocation
StringBuilder varResult = new StringBuilder();
//go through each parameter
for(int i = 0; i < entry.element.getParameters().size(); i++){
VariableElement var = entry.element.getParameters().get(i);
if(!needsPlayer || i != 0){ //if client, skip first parameter since it's always of type player and doesn't need to be read
//full type name of parameter
String typeName = var.asType().toString();
//name of parameter
String varName = var.getSimpleName().toString();
//captialized version of type name for reading primitives
String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "";
//write primitives automatically
if(BaseProcessor.isPrimitive(typeName)){
readBlock.addStatement("$L $L = read.$L()", typeName, varName, pname);
}else{
//else, try and find a serializer
String ser = serializers.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(entry.element, var.asType(), false));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + entry.targetMethod + "; " + serializers.readers, var);
return;
}
//add statement for reading it
readBlock.addStatement(typeName + " " + varName + " = " + ser + "(read)");
}
//append variable name to string builder
varResult.append(var.getSimpleName());
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}else{
varResult.append("player");
if(i != entry.element.getParameters().size() - 1) varResult.append(", ");
}
}
//execute the relevant method before the forward
//if it throws a ValidateException, the method won't be forwarded
readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement)entry.element.getEnclosingElement()).getQualifiedName().toString());
//call forwarded method, don't forward on the client reader
if(entry.forward && entry.where.isServer && needsPlayer){
//call forwarded method
readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() +
"__forward(player.con" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")");
}
readBlock.nextControlFlow("catch (java.lang.Exception e)");
readBlock.addStatement("throw new java.lang.RuntimeException(\"Failed to to read remote method '" + entry.element.getSimpleName() + "'!\", e)");
readBlock.endControlFlow();
}
//end control flow if necessary
if(started){
readBlock.nextControlFlow("else");
readBlock.addStatement("throw new $1N(\"Invalid read method ID: \" + id + \"\")", RuntimeException.class.getName()); //handle invalid method IDs
readBlock.endControlFlow();
}
//add block and method to class
readMethod.addCode(readBlock.build());
classBuilder.addMethod(readMethod.build());
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
}
@@ -1,228 +0,0 @@
package mindustry.annotations.remote;
import arc.struct.*;
import arc.util.io.*;
import com.squareup.javapoet.*;
import mindustry.annotations.Annotations.*;
import mindustry.annotations.*;
import mindustry.annotations.util.TypeIOResolver.*;
import javax.lang.model.element.*;
import java.io.*;
/** Generates code for writing remote invoke packets on the client and server. */
public class RemoteWriteGenerator{
private final ClassSerializer serializers;
/** Creates a write generator that uses the supplied serializer setup. */
public RemoteWriteGenerator(ClassSerializer serializers){
this.serializers = serializers;
}
/** Generates all classes in this list. */
public void generateFor(Seq<ClassEntry> entries, String packageName) throws IOException{
for(ClassEntry entry : entries){
//create builder
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC);
classBuilder.addJavadoc(RemoteProcess.autogenWarning);
//add temporary write buffer
classBuilder.addField(FieldSpec.builder(ReusableByteOutStream.class, "OUT", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.initializer("new ReusableByteOutStream($L)", RemoteProcess.maxPacketSize).build());
//add writer for that buffer
classBuilder.addField(FieldSpec.builder(Writes.class, "WRITE", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL)
.initializer("new Writes(new $T(OUT))", DataOutputStream.class).build());
//go through each method entry in this class
for(MethodEntry methodEntry : entry.methods){
//write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method
if(methodEntry.where.isClient || methodEntry.target.isAll){
writeMethodVariant(classBuilder, methodEntry, true, false);
}
//write the 'send event to one player' variant, which is only applicable on the server
if(methodEntry.where.isServer && methodEntry.target.isOne){
writeMethodVariant(classBuilder, methodEntry, false, false);
}
//write the forwarded method version
if(methodEntry.where.isServer && methodEntry.forward){
writeMethodVariant(classBuilder, methodEntry, true, true);
}
}
//build and write resulting class
TypeSpec spec = classBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
}
/** Creates a specific variant for a method entry. */
private void writeMethodVariant(TypeSpec.Builder classBuilder, MethodEntry methodEntry, boolean toAll, boolean forwarded){
ExecutableElement elem = methodEntry.element;
//create builder
MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding
.addModifiers(Modifier.STATIC)
.returns(void.class);
//forwarded methods aren't intended for use, and are not public
if(!forwarded){
method.addModifiers(Modifier.PUBLIC);
}
//validate client methods to make sure
if(methodEntry.where.isClient){
if(elem.getParameters().isEmpty()){
BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem);
return;
}
if(!elem.getParameters().get(0).asType().toString().contains("Player")){
BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem);
return;
}
}
//if toAll is false, it's a 'send to one player' variant, so add the player as a parameter
if(!toAll){
method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "playerConnection");
}
//add sender to ignore
if(forwarded){
method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "exceptConnection");
}
//call local method if applicable, shouldn't happen when forwarding method as that already happens by default
if(!forwarded && methodEntry.local != Loc.none){
//add in local checks
if(methodEntry.local != Loc.both){
method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !mindustry.Vars.net.active())");
}
//concatenate parameters
int index = 0;
StringBuilder results = new StringBuilder();
for(VariableElement var : elem.getParameters()){
//special case: calling local-only methods uses the local player
if(index == 0 && methodEntry.where == Loc.client){
results.append("mindustry.Vars.player");
}else{
results.append(var.getSimpleName());
}
if(index != elem.getParameters().size() - 1) results.append(", ");
index++;
}
//add the statement to call it
method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")",
((TypeElement)elem.getEnclosingElement()).getQualifiedName().toString());
if(methodEntry.local != Loc.both){
method.endControlFlow();
}
}
//start control flow to check if it's actually client/server so no netcode is called
method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")");
//add statement to create packet from pool
method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "mindustry.net.Packets.InvokePacket", "arc.util.pooling.Pools");
//assign priority
method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal());
//assign method ID
method.addStatement("packet.type = (byte)" + methodEntry.id);
//reset stream
method.addStatement("OUT.reset()");
method.addTypeVariables(Seq.with(elem.getTypeParameters()).map(BaseProcessor::getTVN));
for(int i = 0; i < elem.getParameters().size(); i++){
//first argument is skipped as it is always the player caller
if((!methodEntry.where.isServer/* || methodEntry.mode == Loc.both*/) && i == 0){
continue;
}
VariableElement var = elem.getParameters().get(i);
try{
//add parameter to method
method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString());
}catch(Throwable t){
throw new RuntimeException("Error parsing method " + methodEntry.targetMethod);
}
//name of parameter
String varName = var.getSimpleName().toString();
//name of parameter type
String typeName = var.asType().toString();
//captialized version of type name for writing primitives
String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
//special case: method can be called from anywhere to anywhere
//thus, only write the player when the SERVER is writing data, since the client is the only one who reads it
boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0;
if(writePlayerSkipCheck){ //write begin check
method.beginControlFlow("if(mindustry.Vars.net.server())");
}
if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it
method.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName);
}else{
//else, try and find a serializer
String ser = serializers.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(elem, var.asType(), true));
if(ser == null){ //make sure a serializer exists!
BaseProcessor.err("No @WriteClass method to write class type: '" + typeName + "'", var);
return;
}
//add statement for writing it
method.addStatement(ser + "(WRITE, " + varName + ")");
}
if(writePlayerSkipCheck){ //write end check
method.endControlFlow();
}
}
//assign packet bytes
method.addStatement("packet.bytes = OUT.getBytes()");
//assign packet length
method.addStatement("packet.length = OUT.size()");
String sendString;
if(forwarded){ //forward packet
if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation
sendString = "mindustry.Vars.net.send(";
}else{
sendString = "mindustry.Vars.net.sendExcept(exceptConnection, ";
}
}else if(toAll){ //send to all players / to server
sendString = "mindustry.Vars.net.send(";
}else{ //send to specific client from server
sendString = "playerConnection.send(";
}
//send the actual packet
method.addStatement(sendString + "packet, " +
(methodEntry.unreliable ? "mindustry.net.Net.SendMode.udp" : "mindustry.net.Net.SendMode.tcp") + ")");
//end check for server/client
method.endControlFlow();
//add method to class, finally
classBuilder.addMethod(method.build());
}
private String getCheckString(Loc loc){
return loc.isClient && loc.isServer ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" :
loc.isClient ? "mindustry.Vars.net.client()" :
loc.isServer ? "mindustry.Vars.net.server()" : "false";
}
}
@@ -7,6 +7,7 @@ import com.sun.tools.javac.code.Attribute.Enum;
import com.sun.tools.javac.code.Attribute.Error;
import com.sun.tools.javac.code.Attribute.Visitor;
import com.sun.tools.javac.code.Attribute.*;
import com.sun.tools.javac.code.Scope.*;
import com.sun.tools.javac.code.Type;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.Type.ArrayType;
@@ -64,36 +65,13 @@ public class AnnotationProxyMaker{
LinkedHashMap map = new LinkedHashMap();
ClassSymbol cl = (ClassSymbol)this.anno.type.tsym;
//try to use Java 8 API for this if possible
try{
Class entryClass = Class.forName("com.sun.tools.javac.code.Scope$Entry");
Object members = cl.members();
Field field = members.getClass().getField("elems");
Object elems = field.get(members);
Field siblingField = entryClass.getField("sibling");
Field symField = entryClass.getField("sym");
for(Object currEntry = elems; currEntry != null; currEntry = siblingField.get(currEntry)){
handleSymbol((Symbol)symField.get(currEntry), map);
}
}catch(Throwable e){
//otherwise try other API
try{
Class lookupClass = Class.forName("com.sun.tools.javac.code.Scope$LookupKind");
Field nonRecField = lookupClass.getField("NON_RECURSIVE");
Object nonRec = nonRecField.get(null);
Scope scope = cl.members();
Method getSyms = scope.getClass().getMethod("getSymbols", lookupClass);
Iterable<Symbol> it = (Iterable<Symbol>)getSyms.invoke(scope, nonRec);
Iterator<Symbol> i = it.iterator();
while(i.hasNext()){
handleSymbol(i.next(), map);
for(Symbol s : cl.members().getSymbols(LookupKind.NON_RECURSIVE)){
if(s.getKind() == ElementKind.METHOD){
MethodSymbol var4 = (MethodSymbol)s;
Attribute var5 = var4.getDefaultValue();
if(var5 != null){
map.put(var4, var5);
}
}catch(Throwable death){
//I tried
throw new RuntimeException(death);
}
}
@@ -104,17 +82,6 @@ public class AnnotationProxyMaker{
return map;
}
private void handleSymbol(Symbol sym, LinkedHashMap map){
if(sym.getKind() == ElementKind.METHOD){
MethodSymbol var4 = (MethodSymbol)sym;
Attribute var5 = var4.getDefaultValue();
if(var5 != null){
map.put(var4, var5);
}
}
}
private Object generateValue(MethodSymbol var1, Attribute var2){
AnnotationProxyMaker.ValueVisitor var3 = new AnnotationProxyMaker.ValueVisitor(var1);
return var3.getValue(var2);
@@ -12,6 +12,10 @@ import java.lang.Class;
import java.lang.annotation.*;
import java.lang.reflect.*;
/**
* Wrapper over Element with added utility functions.
* I would have preferred to use extension methods for this, but Java doesn't have any.
* */
public class Selement<T extends Element>{
public final T e;
@@ -1,7 +1,6 @@
package mindustry.annotations.util;
import com.sun.source.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
import mindustry.annotations.*;
import javax.lang.model.element.*;
@@ -16,10 +15,6 @@ public class Svar extends Selement<VariableElement>{
return up().asType().toString() + "#" + super.toString().replace("mindustry.gen.", "");
}
public JCVariableDecl jtree(){
return (JCVariableDecl)BaseProcessor.elementu.getTree(e);
}
public Stype enclosingType(){
return new Stype((TypeElement)up());
}
@@ -22,6 +22,7 @@ mindustry.entities.comp.PosTeamDef=28
mindustry.entities.comp.PuddleComp=13
mindustry.type.Weather.WeatherStateComp=14
mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15
mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34
mindustry.world.blocks.defense.ForceProjector.ForceDrawComp=22
mono=16
nova=17
@@ -0,0 +1 @@
{version:1,fields:[{name:collided,type:arc.struct.IntSeq},{name:damage,type:float},{name:data,type:java.lang.Object},{name:fdata,type:float},{name:lifetime,type:float},{name:owner,type:mindustry.gen.Entityc},{name:rotation,type:float},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.entities.bullet.BulletType},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{name:collided,type:arc.struct.IntSeq},{name:damage,type:float},{name:data,type:java.lang.Object},{name:fdata,type:float},{name:lifetime,type:float},{name:owner,type:mindustry.gen.Entityc},{name:rotation,type:float},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.entities.bullet.BulletType},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{fields:[{name:lifetime,type:float},{name:payload,type:mindustry.world.blocks.payloads.Payload},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:amount,type:float},{name:liquid,type:mindustry.type.Liquid},{name:tile,type:mindustry.world.Tile},{name:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{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:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{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:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{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:3,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{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:4,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{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:3,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{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:3,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{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:3,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:4,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:4,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:6,fields:[{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:4,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:5,fields:[{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:1,fields:[{name:ammo,type:float},{name:armor,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:x,type:float},{name:y,type:float}]}
@@ -0,0 +1 @@
{version:2,fields:[{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}]}
+148 -35
View File
@@ -12,31 +12,52 @@ buildscript{
mavenCentral()
google()
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
maven{ url 'https://jitpack.io' }
//fake repository to download my patched robovm jar from
ivy{
url 'https://github.com/'
patternLayout {
artifact '/[organisation]/[module]/raw/a-single-jar-file/[revision].jar'
}
// This is required in Gradle 6.0+ as metadata file (ivy.xml)
// is mandatory. Docs linked below this code section
metadataSources { artifact() }
}
}
dependencies{
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.11'
classpath "com.github.anuken:packr:-SNAPSHOT"
//use local, patched robovm gradle plugin until my PR for gradle 7.0 support is merged
//https://github.com/Anuken/robovm/raw/a-single-jar-file/robovm-gradle-plugin-2.3.14-SNAPSHOT.jar
classpath "Anuken:robovm:robovm-gradle-plugin-2.3.14-SNAPSHOT"
//needed for plugin above
classpath "com.mobidevelop.robovm:robovm-dist-compiler:2.3.13"
classpath "com.github.Anuken.Arc:packer:$arcHash"
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
}
}
plugins{
id 'org.jetbrains.kotlin.jvm' version '1.4.32'
id "org.jetbrains.kotlin.kapt" version "1.4.32"
}
allprojects{
apply plugin: 'maven'
apply plugin: 'maven-publish'
version = 'release'
group = 'com.github.Anuken'
ext{
versionNumber = '6'
if(!project.hasProperty("versionModifier")) versionModifier = 'release'
versionNumber = '7'
if(!project.hasProperty("versionModifier")) versionModifier = 'pre-alpha'
if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry'
steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256'
rhinoVersion = '2617981f706e50b8753155d8e15e326308be3b22'
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
rhinoVersion = '9f792d202471fb3789eab7bb261fec13d67287e2'
loadVersionProps = {
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
@@ -83,10 +104,12 @@ allprojects{
return "v$buildVersion"
}
hasSprites = {
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists()
}
getModifierString = {
if(versionModifier != "release"){
return "[${versionModifier.toUpperCase()}]"
}
if(versionModifier != "release") return "[${versionModifier.toUpperCase()}]"
return ""
}
@@ -104,8 +127,7 @@ allprojects{
def v = System.getenv("ANDROID_HOME")
if(v != null) return v
//rootDir is null here, amazing. brilliant.
def file = new File("local.properties")
if(!file.exists()) file = new File("../local.properties")
def file = new File(rootDir, "local.properties")
def props = new Properties().with{p -> p.load(file.newReader()); return p }
return props.get("sdk.dir")
}
@@ -180,7 +202,6 @@ allprojects{
maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven{ url "https://oss.sonatype.org/content/repositories/releases/" }
maven{ url 'https://jitpack.io' }
jcenter()
}
task clearCache{
@@ -193,10 +214,15 @@ allprojects{
tasks.withType(JavaCompile){
targetCompatibility = 8
sourceCompatibility = 14
sourceCompatibility = JavaVersion.VERSION_16
options.encoding = "UTF-8"
options.compilerArgs += ["-Xlint:deprecation"]
dependsOn clearCache
options.forkOptions.jvmArgs.addAll([
'--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED'
])
}
}
@@ -204,26 +230,20 @@ configure(project(":annotations")){
tasks.withType(JavaCompile){
targetCompatibility = 8
sourceCompatibility = 8
options.fork = true
}
}
//compile with java 8 compatibility for everything except the annotation project
configure(subprojects - project(":annotations")){
tasks.withType(JavaCompile){
if(JavaVersion.current() != JavaVersion.VERSION_1_8){
options.compilerArgs.addAll(['--release', '8', '--enable-preview'])
}
doFirst{
options.compilerArgs = options.compilerArgs.findAll{it != '--enable-preview' }
}
options.compilerArgs.addAll(['--release', '8'])
}
tasks.withType(Javadoc){
options{
addStringOption('Xdoclint:none', '-quiet')
addBooleanOption('-enable-preview', true)
addStringOption('-release', '14')
addStringOption('-release', '16')
}
}
}
@@ -235,9 +255,9 @@ project(":desktop"){
dependencies{
implementation project(":core")
implementation arcModule("extensions:discord")
implementation arcModule("natives:natives-desktop")
implementation arcModule("natives:natives-freetype-desktop")
implementation 'com.github.MinnDevelopment:java-discord-rpc:v2.0.1'
if(debugged()) implementation project(":debug")
@@ -285,6 +305,15 @@ project(":ios"){
project(":core"){
apply plugin: "java-library"
apply plugin: "kotlin"
apply plugin: "kotlin-kapt"
kapt{
javacOptions{
option("-source", "16")
option("-target", "1.8")
}
}
compileJava.options.fork = true
@@ -312,26 +341,82 @@ project(":core"){
}
}
def changelogs = file("../fastlane/metadata/android/en-US/changelogs/")
new File(changelogs, androidVersion + ".txt").text = (result)
changelogs.mkdirs()
try{
new File(changelogs, androidVersion + ".txt").text = (result)
}catch(Exception ignored){
}
}
}
task sourcesJar(type: Jar, dependsOn: classes){
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
task assetsJar(type: Jar, dependsOn: ":tools:pack"){
archiveClassifier = 'assets'
from files("assets"){
exclude "config", "cache", "music", "sounds"
}
}
task musicJar(type: Jar){
archiveClassifier = 'music'
from files("assets"){
include "music/*", "sounds/*"
}
}
artifacts{
archives sourcesJar
archives assetsJar
}
dependencies{
compileJava.dependsOn(preGen)
api "org.lz4:lz4-java:1.4.1"
api "org.lz4:lz4-java:1.7.1"
api arcModule("arc-core")
api arcModule("extensions:flabel")
api arcModule("extensions:freetype")
api arcModule("extensions:g3d")
api arcModule("extensions:fx")
api arcModule("extensions:arcnet")
api "com.github.Anuken:rhino:$rhinoVersion"
if(localArc() && debugged()) api arcModule("extensions:recorder")
if(localArc()) api arcModule(":extensions:packer")
compileOnly project(":annotations")
annotationProcessor project(":annotations")
annotationProcessor 'com.github.Anuken:jabel:34e4c172e65b3928cd9eabe1993654ea79c409cd'
compileOnly project(":annotations")
kapt project(":annotations")
}
afterEvaluate{
task mergedJavadoc(type: Javadoc){
def blacklist = [project(":ios"), project(":desktop"), project(":server"), project(":annotations")]
if(findProject(":android") != null){
blacklist += project(":android")
}
source rootProject.subprojects.collect{ project ->
if(!blacklist.contains(project) && project.hasProperty("sourceSets")){
return project.sourceSets.main.allJava
}
}
classpath = files(rootProject.subprojects.collect { project ->
if(!blacklist.contains(project) && project.hasProperty("sourceSets")){
return project.sourceSets.main.compileClasspath
}
})
destinationDir = new File(buildDir, 'javadoc')
}
}
//comp** classes are only used for code generation
jar{
exclude("mindustry/entities/comp/**")
}
}
@@ -349,16 +434,18 @@ project(":tests"){
dependencies{
testImplementation project(":core")
testImplementation "org.junit.jupiter:junit-jupiter-params:5.3.1"
testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.1"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.7.1"
testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.1"
testImplementation arcModule("backends:backend-headless")
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.3.1"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1"
}
test{
//fork every test so mods don't interact with each other
forkEvery = 1
useJUnitPlatform()
workingDir = new File("../core/assets")
testLogging {
testLogging{
exceptionFormat = 'full'
showStandardStreams = true
}
@@ -386,6 +473,21 @@ project(":annotations"){
}
}
configure([":core", ":desktop", ":server", ":tools"].collect{project(it)}){
java{
withJavadocJar()
withSourcesJar()
}
publishing{
publications{
maven(MavenPublication){
from components.java
}
}
}
}
task deployAll{
task cleanDeployOutput{
doFirst{
@@ -403,6 +505,17 @@ task deployAll{
dependsOn "desktop:packrWindows64"
dependsOn "desktop:packrWindows32"
dependsOn "desktop:packrMacOS"
dependsOn "server:deploy"
dependsOn "android:deploy"
if(versionModifier != "steam"){
dependsOn "server:deploy"
dependsOn "android:deploy"
}
}
task resolveDependencies{
doLast{
rootProject.allprojects{ project ->
Set<Configuration> configurations = project.buildscript.configurations + project.configurations
configurations.findAll{c -> c.canBeResolved}.forEach{c -> c.resolve()}
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

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