Compare commits

..

1462 Commits
v126.1 ... v134

Author SHA1 Message Date
Catchears
15396b6032 update german translation (#6085)
* update german translation to 30e6bb2625

* typo
2021-10-27 11:38:03 -04:00
彭瑞暄
75a520c3ae Update TW translations (#6092) 2021-10-27 11:36:13 -04:00
JrTRinny
d7fd7db3cc Update bundle_th.properties (#6187)
* Update bundle_th.properties

* Update bundle_th.properties

* Update bundle_th.properties

* Update bundle_th.properties

* Update bundle_th.properties
2021-10-27 11:26:02 -04:00
Prosta4okua
144731bfb0 Update bundle_uk_UA.properties (#6213) 2021-10-27 11:25:48 -04:00
VizardAlpha
7c1d4a092e Update bundle_fr.properties (#6227) 2021-10-27 11:25:37 -04:00
kituta
a28ece6424 Update bundle_ja.properties (#6232)
Add. //追加
2021-10-27 11:25:30 -04:00
RebornTrack970
39c5c6a6f0 TR Translation (#6239) 2021-10-27 11:25:19 -04:00
Sharlotte
77975a710c Update bundle_ko.properties (#6185)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Skskskskskk
2021-10-27 11:25:15 -04:00
Rex
d95dc98652 Update bundle_es.properties (#6238)
* Update bundle_es.properties

please see #6226 too.

* Update bundle_es.properties
2021-10-27 11:25:10 -04:00
Thomas Widyantoko
7afa6a7f44 Update bundle_in_ID.properties (#6240)
i am speed
2021-10-27 11:25:01 -04:00
Anuken
a4339b8b2b I should really rebind my aseprite zoom hotkeys 2021-10-27 10:24:13 -04:00
Anuken
7897ca9b97 Merge remote-tracking branch 'origin/master' 2021-10-27 10:13:59 -04:00
Anuken
4f957017ab Offset ping order 2021-10-27 10:13:49 -04:00
Rex
fa60ff2814 Update servers_v7.json (#6226) 2021-10-27 09:51:45 -04:00
Hexrotor
65ef189921 Corrected wrong zh_CN translation (#6224) 2021-10-27 09:32:08 -04:00
Lin
5b3b2cf4d5 Update bundle_zh_CN.properties (#6216) 2021-10-27 08:38:37 -04:00
Darkness#3729
d89184da43 [RU] Translation of save search & map search (#6219) 2021-10-26 10:46:29 -04:00
Anuken
898bddee7c Merge remote-tracking branch 'origin/master' 2021-10-26 09:52:07 -04:00
Anuken
860e4a2999 Clamp pixelator FBO size 2021-10-26 09:52:02 -04:00
Valeriy
39ef3ab4ce My fault (#6236)
Anuke, excuse me plz.
2021-10-26 09:51:03 -04:00
Valeriy
e57f4c9877 Rebeanding SMoA (#6235)
I think, comments is less
2021-10-26 09:19:13 -04:00
Phinner
30214e68b3 Add Xpdustry to V7 server list... (#6173)
They want a V7 server, I say why not ? Mindustry can run on a potato after all...
2021-10-25 19:30:00 -04:00
hortiSquash
59a480cb30 hortiloaders 1.0.3.0 bug fix (#6233)
* hortiloaders 1.0.3.0 bug fix

it didnt unload from StackConveyors/Storage when they had the same loadfactor as the factory

* unloader fix, using fields
2021-10-25 18:22:56 -04:00
Zelaux
46c6a6f6f7 Fixed using wrong weapon outline height (#6228) 2021-10-24 20:56:15 -04:00
Anuken
b6acf1af0a Comparator cleanup 2021-10-24 15:18:21 -04:00
hortiSquash
16f4e300a8 fixed the full factory priority bug (#6211) 2021-10-24 15:14:36 -04:00
Anuken
b18b4cdc90 Fixed #6222 2021-10-23 19:59:20 -04:00
Anuken
79d90ca75d Merge remote-tracking branch 'origin/master' 2021-10-23 14:35:59 -04:00
Anuken
b2b47353bf Fixed kotlin daemon randomly crashing 2021-10-23 14:35:54 -04:00
lifestarse
b7fe2bedae Update servers_v7.json (#6214)
lostdustry.northeurope.cloudapp.azure.com
2021-10-23 14:22:01 -04:00
Anuken
00e1d69348 Merge remote-tracking branch 'origin/master' 2021-10-23 09:26:35 -04:00
Anuken
88d1165909 Fixed #6220 / Fixed #6217 2021-10-23 09:26:30 -04:00
TranquillyUnpleasant
b22efb8c83 fix block picker working while logic dialog is open (#6215) 2021-10-22 18:52:08 -04:00
Anuken
a7c78c4193 Bundle case fixes 2021-10-22 18:17:25 -04:00
TranquillyUnpleasant
5c5acb2d48 Saved games search & Mapsearch filter improvements (#6194)
* better filter menu

* remove unused bundle property

* indent

* Add text instead of using labels

* Saved game search

* Save not map

* auto cursor to search bar

* change icon to terrain
2021-10-22 18:14:33 -04:00
Anuken
414f27a3b6 Merge remote-tracking branch 'origin/master' 2021-10-22 17:47:22 -04:00
Anuken
009eea1988 Cloud rendering overlap fix 2021-10-22 17:47:17 -04:00
hortiSquash
c9eed5a936 horti and the better unloaders (#6201)
* hortiloaders 0.9.8.1 seq fix

* tiny fixes
added more comments

* a tiny fix, and rewriting of a comment
2021-10-22 10:57:16 -04:00
Anuken
5d20f3a89b Merge remote-tracking branch 'origin/master' 2021-10-22 09:04:06 -04:00
Anuken
677e0e6f58 Fixed #6207 2021-10-22 09:04:00 -04:00
Fernando
49c64faece Update servers_v6.json and servers_v7.json (#6206)
* Update servers_v6.json

Update IPs

* Update servers_v7.json
2021-10-21 14:46:13 -04:00
JrTRinny
f944d3d579 deselectable content selection UI (#6205) 2021-10-21 12:40:34 -04:00
Anuken
4dc2164468 Merge remote-tracking branch 'origin/master' 2021-10-21 12:11:59 -04:00
Anuken
e9612ce9f0 Fixed #6203 / Minor block requirement changes 2021-10-21 12:11:54 -04:00
Darkness#3729
b19eb3fc04 AdminRequestEvent (#6198)
* AdminRequest event

* Lol

* Revert
2021-10-21 09:38:28 -04:00
Anuken
699364580e Added hiddenBuildItems rule 2021-10-20 16:25:24 -04:00
Anuken
085a974350 Cleanup 2021-10-20 14:34:27 -04:00
Anuken
4436a5ced9 An experiment 2021-10-20 14:30:06 -04:00
Anuken
a21f6d335f Fixed incorrect waves on serpulo sectors 2021-10-19 18:18:58 -04:00
Anuken
2469cf0851 Added isPayload utility for buildings 2021-10-19 12:13:29 -04:00
Anuken
a82ba0567b Merge remote-tracking branch 'origin/master' 2021-10-19 09:19:51 -04:00
Anuken
6022fcd109 Removed unused iOS splash screen 2021-10-19 09:19:46 -04:00
Fernando
038d132da9 Update servers_v7.json (#6183)
Add brazillian V7 servers
2021-10-19 00:13:58 -04:00
buthed010203
52238e3aa4 Remove redundant cast (#6193)
* Remove redundant cast

* dumb
2021-10-18 21:57:05 -04:00
MrDuck557
f2ce32cbb2 LogicDisable (#6191)
* LogicDisable

* I have read CONTRIBUTING.md

I forgot one space

Co-authored-by: Lele567 <48808663+Lele567@users.noreply.github.com>
2021-10-18 20:17:57 -04:00
Anuken
7dc492892e Fixed #6190 2021-10-18 16:28:52 -04:00
Anuken
4e92aa2000 Turret payload shoot fix 2021-10-18 11:48:44 -04:00
Anuken
3c8e21ac6a Remove debug write test 2021-10-18 11:37:52 -04:00
Anuken
8f5aa02428 Merge remote-tracking branch 'origin/master' 2021-10-18 11:37:32 -04:00
Anuken
f31759bb96 Update/draw payload buildings (broken) 2021-10-18 11:37:26 -04:00
Skin
938b4e5a00 Update servers_v7.json (#6186)
Mistake №2
2021-10-18 11:35:45 -04:00
Anuken
c6f6b8e46e Fixed legged units using wrong pathfinder 2021-10-18 09:58:01 -04:00
Anuken
3a9c0377ac Merge remote-tracking branch 'origin/master' 2021-10-17 22:40:26 -04:00
Anuken
324e5151aa Block cleanup 2021-10-17 22:40:21 -04:00
Skin
ad8455377c Update servers_v7.json (#6181)
* Update servers_v7.json

Pandorum is back

* Update servers_v7.json

Mistake
2021-10-17 21:56:02 -04:00
Anuken
3c963fb1bc Merge remote-tracking branch 'origin/master' 2021-10-17 19:55:45 -04:00
Anuken
af3467035b Building tile referernce cleanup 2021-10-17 19:55:37 -04:00
Bill Arndt
b57abf8b60 Update servers_v6.json (#6093)
Add server running my Eviction plugin to community list.
2021-10-17 17:40:20 -04:00
Anuken
0acd339e33 Payload loader crash fix 2021-10-17 16:46:39 -04:00
Anuken
e897458e94 Sound codegen fixes 2021-10-17 16:12:47 -04:00
Anuken
a72adef051 Fixed off-tinted cells 2021-10-17 16:03:05 -04:00
Anuken
a8ffd6c520 Merge remote-tracking branch 'origin/master' 2021-10-17 15:30:56 -04:00
Anuken
9cb8c6d83d Added liquid container to tech tree 2021-10-17 15:30:52 -04:00
RebornTrack970
59435c8372 TR Translation, fix for 132 (#6176)
* TR Translation, fix for 132

* Update bundle_tr.properties
2021-10-17 15:24:10 -04:00
VizardAlpha
fc9abeb908 Update bundle_fr.properties (#6172)
* Update bundle_fr.properties

More branch merging.. Commits and more..

* Added logic variable display window
2021-10-17 15:23:59 -04:00
Prosta4okua
ea3802bfc7 Update bundle_uk_UA.properties (#6180)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2021-10-17 15:23:50 -04:00
Anuken
994f6f7e84 Redundant codegen cleanup 2021-10-17 15:21:41 -04:00
Anuken
ba91fb8eb7 Bugfixes 2021-10-17 15:14:19 -04:00
Anuken
e6d7330f6e Fixed #6182 2021-10-17 15:01:29 -04:00
Anuken
be1561b0cb Don't allow constructing banned blocks 2021-10-16 23:17:54 -04:00
Anuken
b271f5b630 Fixed #6174 2021-10-16 23:06:07 -04:00
Anuken
d5a2f13442 Payload loader tweaks 2021-10-16 22:33:17 -04:00
Anuken
f03d3d89f3 Fixed large units fitting into deconstructors 2021-10-16 18:43:43 -04:00
Anuken
717a620ff4 Unpause game in logic variable dialog if necessary 2021-10-16 14:51:53 -04:00
Anuken
9dfd4d0049 Merge remote-tracking branch 'origin/master' 2021-10-16 13:01:07 -04:00
Anuken
290450de5b Fixed deconstructor not accepting direct unit payloads 2021-10-16 13:01:03 -04:00
Darkness#3729
d970eb45e3 Lol (#6171) 2021-10-16 12:45:16 -04:00
Anuken
b7f030eb13 Added logic variable display window 2021-10-16 12:30:00 -04:00
Anuken
f43e308dad Merge remote-tracking branch 'origin/master' 2021-10-16 10:22:24 -04:00
Anuken
bd329f57d6 Add sensing of reconstructor config 2021-10-16 10:22:20 -04:00
Sharlotte
06bf2711a4 Update [KO] bundles once again (#6147)
* Why did you marge this

* Update bundle_ko.properties
2021-10-16 09:49:58 -04:00
Matthew Peng
7ff9ad7351 Move payload blend check to BuildingComp (#6152) 2021-10-16 09:49:52 -04:00
Yuri Polyakov
91acda56c1 [RU] New blocks translated (#6159)
* [RU] New blocks translated

ь

* Поправил 2 строчки

* а

* Еще перевел пару строк

* Поправил строчку

Как же плохо без очков
2021-10-16 09:49:37 -04:00
JrTRinny
0f29a01292 Update bundle_th.properties (#6162) 2021-10-16 09:46:27 -04:00
Anuken
902f3695ee amend 2021-10-16 09:03:21 -04:00
Anuken
d5e239c610 Fixed #6168 2021-10-16 09:02:40 -04:00
Anuken
36064c63e3 Fixed #6166 2021-10-15 22:26:52 -04:00
Anuken
01a8a8bb4d Merge remote-tracking branch 'origin/master' 2021-10-15 21:40:13 -04:00
Anuken
4a979058c2 Crawler shootOnDeath 2021-10-15 21:40:09 -04:00
Fernando
e06640935d Update servers_v6.json (#6165)
Add new server
2021-10-15 20:23:52 -04:00
Anuken
956cbe792b Fixed #6164 2021-10-15 18:48:59 -04:00
Anuken
e9e5fea306 Merge remote-tracking branch 'origin/master' 2021-10-15 17:04:39 -04:00
Anuken
f683496440 cleanup 2021-10-15 17:04:34 -04:00
buthed010203
b66eb173d8 Consistency (#6163)
* Consistency

Why is this inconsistent with the portion just above it?

* C o n s i s t e n t
2021-10-15 16:07:15 -04:00
Anuken
816ab161df Make Unit type default to Alpha 2021-10-15 12:07:07 -04:00
Anuken
bccdd86f30 Merge remote-tracking branch 'origin/master' 2021-10-15 11:41:00 -04:00
Anuken
9a5ac14bc3 Fixed #6158 2021-10-15 11:40:55 -04:00
router
dc14f42593 .pl hosting moment (#6156)
* .pl hosting moment

* Update servers_be.json
2021-10-15 09:33:26 -04:00
Anuken
18c5f508b1 Update README.md 2021-10-14 22:41:33 -04:00
Anuken
d8cf65e24c More permissive json type re-declarations 2021-10-14 21:59:02 -04:00
Anuken
3de9cfa1d7 Don't crash on invalid research 2021-10-14 21:26:34 -04:00
Anuken
df156444e7 Prioritize mod content in parser 2021-10-14 21:24:19 -04:00
Anuken
8a3dd53aa2 ClassMap regen 2021-10-14 21:01:20 -04:00
Anuken
b855849e4a Merge remote-tracking branch 'origin/master' 2021-10-14 20:58:13 -04:00
Anuken
6b59c1cd83 More branch merging 2021-10-14 20:58:03 -04:00
Anuken
ad1c75d050 WIP branch merging 2021-10-14 19:15:03 -04:00
Zelaux
dcb84f9faf Made the Menus API less conflicting (#6154)
* Made the Menus API less conflicting

* Fixed ignoring zero menuId in Menus
2021-10-14 14:23:12 -04:00
itsragedev
d5babe88e3 Update bundle_de.properties (#6150)
Changing some strings to match the original a little more.
2021-10-14 11:38:25 -04:00
Anuken
b30eb26eb7 Merge remote-tracking branch 'origin/master' 2021-10-14 11:16:57 -04:00
Anuken
b5f639f518 AGP 7.0.3 2021-10-14 11:16:53 -04:00
Sunny Kim
ec1124499f Disable sector info for specific sectors (#6151)
* showSectorLandInfo

* showSectorLandInfo type
2021-10-14 11:16:36 -04:00
Ilya246
095cc27ea6 Add shootOnDeath to weapons (#6149)
* Update Weapon.java

* Add files via upload
2021-10-14 09:50:57 -04:00
Anuken
a2f40a5565 Fixed #6148 2021-10-13 19:35:04 -04:00
Anuken
1f1a5bde3e Removed unused PayloadLaunchPad class 2021-10-13 14:00:31 -04:00
Anuken
4a4b336814 Added logic payEnter command 2021-10-13 10:18:34 -04:00
Anuken
1a839bce86 Merge remote-tracking branch 'origin/master' 2021-10-13 08:51:54 -04:00
Anuken
2e747a481a Generator unit cell color tweaks 2021-10-13 08:51:48 -04:00
Matthew Peng
fdfe381b6e Unhardcode Drill Effect Randomness (#6144)
* Unhardcode Drill Effect Randomness

* I should start refusing to make prs for people
2021-10-12 22:32:58 -04:00
Anuken
9e01d1a69d Merge remote-tracking branch 'origin/master' 2021-10-12 18:25:43 -04:00
Anuken
5e8a3137c1 FX cast cleanup 2021-10-12 18:25:37 -04:00
Matthew Peng
8c3ecfdb06 Make Burst + Spread Work (#5589)
* Make Burst + Spread Work

* This is why you use an IDE

* h
2021-10-12 17:36:59 -04:00
Kubek0212
fbca85fe0a Update achievements.vdf (#4423)
Achievement description wasn't updated from 5.0. Added foreshadow.
Small fix do production I achievement.
2021-10-12 15:37:00 -04:00
BorisA11
bf8276f501 Serbian translation of all blocks (#6129)
all blocks are now translated, meaning the game should be more playable on this language
block descriptions are not yet done
2021-10-12 15:36:29 -04:00
Yuri Polyakov
1fc3974e1b [RU] Minor translation of some lines (#6016)
* [RU] Minor translation of some lines

Translated 3 lines. That's all for now ...

* [RU] Editor translate

bruh

* [RU] Editor translate (2)

* [RU] Editor translate

bruh2

* update

* update 2
2021-10-12 15:34:51 -04:00
Sharlotte
c857c8a438 Update bundle_ko.properties (#5984)
* Update bundle_ko.properties

* Update bundle_ko.properties
2021-10-12 15:21:48 -04:00
Anuken
5b9e11cc6c Revert "Update this bundle (#6081)" (#6143)
This reverts commit 10b1ce2a3d.
2021-10-12 15:18:56 -04:00
GuestUser25
10b1ce2a3d Update this bundle (#6081) 2021-10-12 15:18:25 -04:00
Angel-24
5b3ae4ae15 [ES] Updated spanish translation (#6031)
* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Update bundle_es.properties

* Updated line 125

Remove suggestion of changing auto-disabling mods setting when the game crashes, just what Anuke did in the original bundle.
2021-10-12 14:16:22 -04:00
Anuken
90d589939a PR cleanup 2021-10-12 14:15:28 -04:00
Anuken
da225d15c7 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-10-12 14:14:56 -04:00
Ilya246
21549d2518 Add new fx (#6136)
* Update Fx.java

* Update Fx.java

* Update Fx.java

* Update NetClient.java

* Update Fx.java
2021-10-12 14:14:51 -04:00
Nautilus
e6863825d2 Update servers_v7.json (#6142)
added our network to the server list
2021-10-12 14:14:20 -04:00
Anuken
25c8623e30 router 2021-10-12 12:35:46 -04:00
Anuken
d5f7fc842c Fixed #6140 2021-10-12 08:25:00 -04:00
Anuken
da0fea5186 Merge remote-tracking branch 'origin/master' 2021-10-11 10:30:44 -04:00
Anuken
6abb458c27 Increased world stream chunk size 2021-10-11 10:30:40 -04:00
GlennFolker
9cc738d867 order (#6137) 2021-10-11 09:03:42 -04:00
Nalrahc
171e348b49 Update achievements.vdf (#5536)
L37 : "Créer une nouvelle carte 10 fois" could have been understood as "Edit the same map 10 times".
L113 : "Contrôller" is a typo
2021-10-10 20:51:41 -04:00
VizardAlpha
3c071bcf49 Create Summary.txt (#5400)
* Create Summary.txt

* Create changelogs

* Delete changelogs

* Update description.txt steam

* Update summary

Co-authored-by: Anuken <arnukren@gmail.com>
2021-10-10 20:50:23 -04:00
Matthew Peng
4030e71b31 Customizable Force Projector Absorb Effect (#6102)
* Customizable Force Projector Absorb Effect

* Fix everything

* Custom shield break effect
2021-10-10 17:06:59 -04:00
Anuken
9f070323c2 a 2021-10-10 14:11:12 -04:00
Anuken
8ae70f5f9a Merge remote-tracking branch 'origin/master' 2021-10-10 14:04:13 -04:00
Anuken
f5cb6f2542 Fixed arguments resetting red in server errors 2021-10-10 14:04:08 -04:00
VizardAlpha
871fcc9579 Update achievements.vdf (#4987)
Minor correction and small translation ...
2021-10-10 13:52:19 -04:00
Anuken
a9bb8b1310 Update TRANSLATING.md 2021-10-10 13:47:44 -04:00
Parkurist
b955539383 [TR] Translation of Steam and Google Play game descriptions and achivements (#5420)
* Create full_description.txt

* Create short_description.txt

* Create summary.txt

* Create title.txt

* Create 100.1.txt

* Delete 100.1.txt

* Create description.txt

* Create short_description.txt

* draft

* [TR] Translated all of the Steam achivements
2021-10-10 13:40:59 -04:00
VizardAlpha
8f8e038575 Update description.txt (#4986)
* Update description.txt

Minor correction and small translation ...

* Update description.txt
2021-10-10 13:38:37 -04:00
Anuken
b2de197050 Merge remote-tracking branch 'origin/master' 2021-10-10 12:37:11 -04:00
Anuken
c60bd6f0dc Customizable chat formatting (Closes #5387) 2021-10-10 12:37:07 -04:00
Darkness#3729
8468214dd7 Another translate and typo fix (#6115)
* Update bundle_ru.properties

* Another typo and some translation

* Also this

* And hint

* Bruh
2021-10-10 10:29:58 -04:00
Anuken
919db8cc76 Merge remote-tracking branch 'origin/master' 2021-10-10 10:24:16 -04:00
Anuken
5ce5f347aa Jitpack gradle tweak 2021-10-10 10:24:10 -04:00
GlennFolker
758921c077 Added 2 versatile trigger event types (#6130)
* t

* oops
2021-10-10 08:08:04 -04:00
MrSampleJay
c22ede229e Update bundle_fil.properties (#6128)
Translated item description from copper to surge
2021-10-09 17:15:43 -04:00
Wojtek G
1ca6db9cf5 Update bundle_pl.properties (#5206)
[tutorial] changed "Poradnik" (Guide) to "Samouczek" (Tutorial) for consistency 

[command.rally] changed "Zbierz" (Sounds more like collecting something) to "Zbiórka" (Sounds more like gathering units together)
2021-10-09 14:08:44 -04:00
buthed010203
c5ed535519 add javaPath variable (#6126) 2021-10-09 14:07:56 -04:00
Fernando
6c86a64c74 Update servers_v6.json (#6125)
remove modded server
2021-10-09 13:13:23 -04:00
Anuken
d24f7cb549 Merge remote-tracking branch 'origin/master' 2021-10-09 12:54:26 -04:00
Anuken
f5d6313399 Redundant effect paren cleanup 2021-10-09 12:54:20 -04:00
BorisA11
dc7ffbc8b8 The partial Serbian language translation (#6118)
* The partial Serbian language translation

Since all south-slavic langauges are very similar, this would also be usable by Croats, Bosnians, etc. The translation is not yet fully completed, many things are still not done, but I will propose this as it is now, then finish it up later, if possible.

* typo

typed rs instead of sr

* typo 2

ohno

* more unit descriptions

* more translations - over 100 more lines are done

* more translations

more complete translations
2021-10-08 18:11:54 -04:00
kituta
f9da6f8904 Update bundle_ja.properties (#6121)
Add. //追加しました
2021-10-08 18:11:19 -04:00
Anuken
1ada42738f Merge remote-tracking branch 'origin/master' 2021-10-07 14:35:13 -04:00
Anuken
04df23b88a Generation tweaks 2021-10-07 14:35:09 -04:00
Darkness#3729
200aa3e32b Typo (#6114) 2021-10-07 12:47:52 -04:00
Anuken
083321d6c7 Merge remote-tracking branch 'origin/master' 2021-10-07 12:07:32 -04:00
Anuken
00be5b7fa5 Converted soundtrack to ogg 2021-10-07 12:07:26 -04:00
SoMall-dumpling
55537f09dc Torpedos->Torpedoes (#6113)
Typo, yes.
2021-10-07 09:32:24 -04:00
Anuken
d43157fd22 Fixed negative recoil 2021-10-06 13:29:31 -04:00
Anuken
60a430025a Merge remote-tracking branch 'origin/master' 2021-10-06 13:09:53 -04:00
Anuken
3f53315a07 Proper implementation of #6099 (untested) 2021-10-06 13:09:45 -04:00
Darkness#3729
6e3de78026 [RU] Unit descriptions and more (#6110)
* Небольшое обновление бандла

* Перевод криогенной жидкости, а так же поиска карт

* Надо ещё оксиное перевести

* Добавил описание Оксино

* Убрал ненужное
2021-10-06 10:23:32 -04:00
Matthew Peng
a4963f351d Fix negative recoil (#6107) 2021-10-05 23:05:33 -04:00
Anuken
df5c31a0e7 Update SERVERLIST.md 2021-10-05 22:22:27 -04:00
JrTRinny
17af905d52 Update bundle_th.properties (#6036)
* Update bundle_th.properties

* Update bundle_th.properties

* Update bundle_th.properties
2021-10-05 22:18:18 -04:00
VizardAlpha
f2139fad6e Update bundle_fr.properties (#6035)
* Update bundle_fr.properties

* Adding new commits

* Don't suggest changing the mod disable option

* ....
2021-10-05 22:18:06 -04:00
Anuken
785ba7910d Merge remote-tracking branch 'origin/master' 2021-10-05 17:06:17 -04:00
Anuken
3030308f09 Make naval units only slow down on "shallow" water 2021-10-05 17:06:09 -04:00
Darkness#3729
4ed471f77b Change server port (#6105)
:-/
2021-10-05 13:42:06 -04:00
maxutka99
373c73f492 Update servers_v7.json (#6079)
* Update servers_v7.json

* Update servers_v7.json

* Update servers_v7.json
2021-10-05 13:00:11 -04:00
Matthew Peng
bc3da30d45 Allow for dynamic laser absorption and insulation (#5047)
* Allow for dynamic laser absorption

* Might as well do insulated as well

* null checks are important
2021-10-05 12:36:29 -04:00
Fatonndev
77736f227f New domain name (#6076)
* new domain name

* moved to new domain
2021-10-04 14:39:55 -04:00
way-zer
6d49bd39be Fix #5702 (#6098) 2021-10-04 09:21:02 -04:00
Anuken
0d0fe394d3 Serpulo water tweaks 2021-10-03 13:12:20 -04:00
Anuken
aed57aaac3 Added InputHandler lock system 2021-10-03 11:21:53 -04:00
Anuken
b20cdb97c5 Reset chat font cache color 2021-10-02 13:01:54 -04:00
Anuken
d95662233c Fixed #6090 2021-10-02 12:05:02 -04:00
Anuken
ce7e91f17b Merge remote-tracking branch 'origin/master' 2021-10-02 08:42:12 -04:00
Anuken
db6b8abce6 Fixed #6089 2021-10-02 08:42:07 -04:00
Vajda Simon
3e2da3595f Update servers_v6.json (#6084) 2021-10-01 13:47:32 -04:00
Anuken
60fe1e5570 arc 2021-10-01 12:10:50 -04:00
Anuken
67ed6ddd18 arc 2021-10-01 09:44:45 -04:00
Anuken
b265ddac03 Don't suggest changing the mod disable option 2021-10-01 09:28:23 -04:00
Anuken
ee26f51d7a Cleanup 2021-09-30 18:32:31 -04:00
Anuken
0483e3f900 Serpulo naval wave support 2021-09-30 18:22:50 -04:00
Anuken
9939d6065a Merge remote-tracking branch 'origin/master' 2021-09-30 17:33:23 -04:00
Anuken
c226127648 Display jump statement destination 2021-09-30 17:33:17 -04:00
Matthew Peng
e0b1c49e0b Fix weapon recoiling (#6083)
Weapons recoil when the begin charging
2021-09-30 17:01:24 -04:00
Yuri Polyakov
558fb26dcb Update bundle_ru.properties (#6078)
б
2021-09-30 13:03:28 -04:00
buthed010203
78a4572388 Add "infotable" name to hudfrag (#6082)
In another attempt to make my client more compatible with mods, I am adding this so it can be found by name rather than by index
2021-09-30 13:01:52 -04:00
Anuken
6f6590d5bb chargeShootEffect / Effect startDelay 2021-09-29 22:39:33 -04:00
EyeOfDarkness
efb9df7b1b Recoil Time and Improved Alternating (#6073)
* Revamped recoil, and improved alternating

* i might have to make this more complicated later

* hhhhhhhhh

* proper description.
2021-09-29 19:35:47 -04:00
Matthew Peng
a04b385f56 Fix spread + burst turrets (#6069)
* Fix spread + burst turrets

* spread is 4 by default

set salvo spread to 0

* damnit
2021-09-29 08:38:51 -04:00
Fernando
01d6aee754 Add MindustryBR network (#6074)
Come to Brazil
2021-09-28 20:43:40 -04:00
Anuken
603c871e6e apparently the --illegal-access flag is still needed 2021-09-28 18:52:48 -04:00
Anuken
71543f2ab2 Improved Serpulo water edge generation 2021-09-28 17:20:20 -04:00
Anuken
7f415588f4 Cleaned up duplicate SettingsMenuDialog code 2021-09-28 14:41:35 -04:00
Anuken
c6c374f672 Merge remote-tracking branch 'origin/master' 2021-09-28 11:28:58 -04:00
Anuken
d226ffe633 Fixed #6071 2021-09-28 11:28:53 -04:00
Matthew Peng
182dfc5f38 delta in reload for a LaserTurret isn't properly calculated (#6068) 2021-09-28 08:41:40 -04:00
TranquillyUnpleasant
366822e4d1 Remove unused variable (#6063)
This got leftover from some other shader testing I did.
2021-09-27 22:25:22 -04:00
Anuken
8f53822a6e Merge remote-tracking branch 'origin/master' 2021-09-27 21:11:25 -04:00
Anuken
c814ef0012 Slightly increased item charge damage 2021-09-27 21:11:21 -04:00
SoMall-dumpling
30e6bb2625 Retusa Description Change (#6061)
Now that Retusa has been remaked, the description needs to be changed too.
2021-09-27 19:11:48 -04:00
Anuken
f5a0528c73 Merge remote-tracking branch 'origin/master' 2021-09-27 19:02:10 -04:00
Anuken
f5a2ed900d Make hint.presetLaunch more likely to show up 2021-09-27 19:02:06 -04:00
Matthew Peng
2f9bf6e13f collideTerrain (#6059)
* collideTerrain

* Combine code
2021-09-27 15:11:36 -04:00
Anuken
13b92519f1 Added missing revision 2021-09-27 15:07:34 -04:00
Anuken
61a28aca91 Cryofluid floor tweaks 2021-09-27 15:07:10 -04:00
Anuken
7c00b54191 hgdf 2021-09-27 14:51:50 -04:00
TranquillyUnpleasant
dbd31b9031 Cryo tiles (#6054)
* Cryo tile

* tile name

* Shader

* Icon and property
2021-09-27 14:46:28 -04:00
Matthew Peng
083c21ea3f Effect Rotate With Parent (#5999)
* Effect Rotate With Parent

* Use Rotc

* Wording

* Base Rotation

* Rotate effect rotation with parent.
2021-09-27 11:55:56 -04:00
buthed010203
6fb7f4fe26 At least add a fastAA property (#6058)
Since my other pr will never get merged, i will at least add this so i can use it myself
2021-09-27 11:55:34 -04:00
Anuken
a21942e401 Map dialog margin cleanup 2021-09-27 11:36:03 -04:00
TranquillyUnpleasant
bf89ef1e5e Map search (#6004)
* Map search

* Fix format

* check and continue

* icons and style

* grow pane so search bar doesnt move

* Inline focusing

* Use boolean instead of checking size
2021-09-27 11:33:12 -04:00
Anuken
2d2052e39f "ok" 2021-09-27 11:00:33 -04:00
Anuken
7bf85d9f84 Merge remote-tracking branch 'origin/master' 2021-09-27 09:18:53 -04:00
Anuken
ed1557b5ac Implemented Anuken/Mindustry-Suggestions/issues/3026 2021-09-27 09:18:46 -04:00
Pietro
5e0f404602 row mod content dialog in mobile (#6051)
* Row mod content dialog in mobile

It's as simple as `Math.floor()`

* type casting

(int)
2021-09-26 11:40:15 -04:00
Misaka
0185f8bc5a shizashizashiza epic comeback (#6050)
No description provided.
2021-09-26 08:33:05 -04:00
Matthew Peng
94d9ca4727 Pull creating and dumping products out into their own methods (#6047) 2021-09-26 08:31:21 -04:00
Darkness#3729
d79ab3ec3e Make thruster cost some scrap (#6045) 2021-09-25 08:50:20 -04:00
Matthew Peng
50cc340b20 Customizable Block Place Sound (#6043) 2021-09-24 21:28:20 -04:00
Anuken
dac17aa2b7 Merge remote-tracking branch 'origin/master' 2021-09-23 19:44:46 -04:00
Anuken
29242249bd Fixed #6039 2021-09-23 19:44:42 -04:00
rmuchan
22a93fc649 fix achievement Roboticist (#6037) 2021-09-23 14:14:44 -04:00
Anuken
c8ab2bd1ba Inline SchematicsDialog#focusSearchField 2021-09-22 20:25:01 -04:00
Anuken
9e718b633e Increase dependency timeout for jitpack 2021-09-22 20:21:26 -04:00
Anuken
90d1770b3e Attempt to synchronized logic random seed 2021-09-22 20:12:45 -04:00
Anuken
3f6d5b9dfe Sync/save @tick/@time; make @time be based off of @tick
Closes Anuken/Mindustry-Suggestions/issues/2976
2021-09-22 19:35:15 -04:00
Anuken
6d41b894ab Slight difficulty increase of Desolate Rift 2021-09-22 19:21:58 -04:00
Anuken
0c4592fbc8 ok jitpack 2021-09-22 18:43:13 -04:00
Anuken
dc2ff1e933 Switch to 'slightly faster' Jabel version 2021-09-22 18:40:00 -04:00
Anuken
6f8ae1b5a3 h 2021-09-22 18:32:14 -04:00
Anuken
76e5c51a12 ???? 2021-09-22 18:26:04 -04:00
Anuken
45f6fde689 ??? 2021-09-22 18:22:28 -04:00
Anuken
83dc70b054 Run tests with --stacktrace 2021-09-22 18:17:54 -04:00
Anuken
ec886456c8 really? 2021-09-22 18:15:27 -04:00
Anuken
4377eacfd5 Updated Jabel for JDK 17 compatibility 2021-09-22 18:11:51 -04:00
Anuken
c92433c5f9 Attempting JDK 17 again 2021-09-22 18:01:04 -04:00
Darkness#3729
deca57c2d9 Add a new gamemode, improve port (#6033)
:-/
2021-09-22 13:33:18 -04:00
Anuken
00cb441704 Fixed #6032 2021-09-21 13:50:20 -04:00
Anuken
173ac324a4 Merge remote-tracking branch 'origin/master' 2021-09-21 09:42:24 -04:00
Anuken
3a8ba568b5 Fixed main -> mainClass deprecation warning 2021-09-21 09:42:19 -04:00
Matthew Peng
b60acf2c37 Option to parentize status effect effects (#6030) 2021-09-21 08:36:34 -04:00
Anuken
6f27fd1ea2 Merge remote-tracking branch 'origin/master' 2021-09-20 12:38:34 -04:00
Anuken
8a6f3db20e Fixed #6028 2021-09-20 12:38:29 -04:00
Matthew Peng
4886ee35e9 Status Field Effect X/Y (#6009)
* Status Field Effect X/Y

* h

* aaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2021-09-20 09:32:30 -04:00
Matthew Peng
cbb3afa95c Add boolean[] to TypeIO (#6026)
* Add `boolean[]` to `TypeIO`

I'm too lazy to convert `byte[]` in my code.

* Order
2021-09-20 00:10:43 -04:00
Anuken
7e0f68b24d Made replaced preset sector saves auto-delete 2021-09-19 12:50:45 -04:00
Anuken
cc0cdeb6c0 Use Unit icon() for minimap icons 2021-09-19 09:29:32 -04:00
Anuken
01a76d1c9e Merge remote-tracking branch 'origin/master' 2021-09-19 08:53:04 -04:00
Anuken
5c0827b208 Fixed requestItem not respecting amount 2021-09-19 08:52:59 -04:00
Darkness#3729
05b8c772d8 Opened a sandbox server and added a domain (#6022) 2021-09-19 08:34:28 -04:00
Anuken
9dfb5888ec Fixed shields not capping properly 2021-09-18 20:39:43 -04:00
Anuken
66f56d9e98 Merge remote-tracking branch 'origin/master' 2021-09-18 14:33:03 -04:00
Anuken
3f996cf294 Better bullet range calc 2021-09-18 14:32:57 -04:00
JrTRinny
47dc9c7b31 add playerControllable for turrets (#6019) 2021-09-18 09:52:31 -04:00
Kowkodivka
e4e1bac2aa [RU] Multiplayer translate (#6014)
Перевел строчку "servers.local.steam = Open Games & Local Servers".
2021-09-17 21:39:49 -04:00
Anuken
01771c5288 Merge remote-tracking branch 'origin/master' 2021-09-17 11:46:58 -04:00
Anuken
58a21c3cc7 Arc compatibility 2021-09-17 11:46:52 -04:00
Kowkodivka
effd226c3e [RU] Settings translate (#6013)
Перевел 2 строчки в настройках графики.
2021-09-17 11:33:46 -04:00
Kowkodivka
8ccca23a24 Update bundle_ru.properties (#6012)
Translated "status.overdrive.name"
2021-09-17 10:16:03 -04:00
Anuken
84935e1bb0 Fixed #6008 2021-09-16 21:25:31 -04:00
Anuken
32baf06c97 Experimental alternate Serpulo generation / Spawn margin decrease 2021-09-16 18:10:38 -04:00
Anuken
0756da0dd1 Fixed shader warnings 2021-09-16 12:41:45 -04:00
Anuken
845b64945e "Realistic" specular planet lighting 2021-09-16 10:20:32 -04:00
Anuken
7b623e964c gitignore fixes 2021-09-15 22:34:15 -04:00
Anuken
e3cceea1af Re-trying JITPack 2021-09-15 22:30:53 -04:00
Anuken
c4fe53955b Moved Scripts loaders to Vars.tree.loadSound/Music 2021-09-15 11:24:39 -04:00
Anuken
0068952ba6 Content parser listener 2021-09-15 10:49:22 -04:00
Anuken
a3b3745d01 Merge remote-tracking branch 'origin/master' 2021-09-14 21:28:39 -04:00
Anuken
95c3476144 Fixed #6001 2021-09-14 21:28:34 -04:00
Matthew Peng
4cb3bef1a7 Parentize Vela and Corvus shoot effects (#5997) 2021-09-14 14:24:19 -04:00
Darkness#3729
248f59131b [RU] Translation of all latest bundles (#5985)
* [RU] Translation of all latest bundles

* Also this line

* Update bundle_ru.properties

* Fix
2021-09-14 12:52:19 -04:00
Anuken
72841afd96 too soon, apparently 2021-09-14 12:29:29 -04:00
Anuken
eb9c3c8033 Use JDK 17 for tests 2021-09-14 12:25:09 -04:00
Anuken
e23837a4ba Updated RoboVM / Switched to hard-coded SDK platform jar 2021-09-14 12:21:07 -04:00
Anuken
625f2640d8 Merge remote-tracking branch 'origin/master' 2021-09-14 09:55:40 -04:00
Anuken
01c67b77cb Fixed #5995 2021-09-14 09:55:35 -04:00
JrTRinny
63b39cdb72 there is no cliffs (#5991) 2021-09-14 09:32:08 -04:00
Rex
be0397355f br (#5990) 2021-09-13 21:08:42 -04:00
TNT331PRD
689b5af2fb Minty (#5987)
Additional server
2021-09-13 20:54:43 -04:00
Rex
d36a00a6fe update bundle_es.properties (#5989)
* Update bundle_es.properties

* Update bundle_es.properties

* 131

* support units

* fixed
2021-09-13 20:08:40 -04:00
RebornTrack970
8dfa349484 V6 2r2t (#5986) 2021-09-13 18:42:34 -04:00
Darkness6030
2906c61d06 Prevent players to kick themselves (#5988) 2021-09-13 13:39:23 -04:00
Anuken
e1ba9f16f6 Merge remote-tracking branch 'origin/master' 2021-09-13 09:04:01 -04:00
Anuken
826ddf4aad strip message newlines 2021-09-13 09:03:56 -04:00
kituta
d20048fe11 Update bundle_ja.properties (#5849)
* Update bundle_ja.properties

Addition. //追加
Changed wording of the toolmode. //toolmodeの文言を変更
Small fixes. //小さな修正

* Update bundle_ja.properties

Change of wording //文言の変更

* Update bundle_ja.properties

Addition. //追加

* Update bundle_ja.properties

Addition. //追加
366 editor.cliffs = Walls To Cliffs は「建築不能領域を表す断崖の壁を描く機能」だと思いますが、把握できていないため未翻訳で置いておきます。
「断崖を描く」

* Update bundle_ja.properties

Add

* Update bundle_ja.properties

fix //句点を忘れていました

* Update bundle_ja.properties

Small fixes. //小さな修正
2021-09-13 08:44:13 -04:00
Anuken
edbe795aa5 Merge remote-tracking branch 'origin/master' 2021-09-12 20:21:59 -04:00
Anuken
087cd2c55a Cleanup 2021-09-12 20:21:55 -04:00
fuzzbuck
ca62deaaa9 Change io event server (#5981)
(offline at this time) will used for events & seasonal modes
2021-09-12 15:09:52 -04:00
JrTRinny
d33a4f9f87 More Target varieties for energy field ability (#5828)
* more targets for energy field ability

* group booleans
2021-09-12 14:55:26 -04:00
Shockwave
f64d078f29 Update bundle_zh_CN.properties (#5938)
* Update bundle_zh_CN.properties

1. Inherited from <https://github.com/Anuken/Mindustry/pull/5661>
2. Synced latest commit from English bundle.

* Update bundle_zh_CN.properties

Synced cliff support for editor

* Update bundle_zh_CN.properties

Minor optimization

* Update bundle_zh_CN.properties

Minor fix at line 349~

* Update bundle_zh_CN.properties

Synced recent update in English bundle. (Hide All and Show All)

* Update bundle_zh_CN.properties

1. Synced hint for high threat level sector
2. Unified the term "sector"
3. Minor fix on the half-width commas

* Update bundle_zh_CN.properties

Optimized key-pressing descriptions.

* Update bundle_zh_CN.properties

Restore line 934 to half-width comma

* Update bundle_zh_CN.properties

Synced name of new sectors.
2021-09-12 12:54:32 -04:00
RebornTrack970
da465c7786 TR Translate before release (#5980) 2021-09-12 11:34:03 -04:00
NickName73
9c12125e89 Update bundle_ru.properties (#5911) 2021-09-12 11:22:17 -04:00
Sharlotte
2a6d7c5a13 Update bundle_ko.properties (#5892)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties
2021-09-12 11:21:53 -04:00
YellOw139
71e38862b9 [Bundle][RO] Update (#5848)
* [Bundle][RO] Update

Changelog:

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

* Update full_description.txt

* Update full_description.txt

* killing confusion

* Update bundle_ro.properties

* deep-tainted-water

* should do for now

* sector.name
2021-09-12 11:21:17 -04:00
彭瑞暄
b58a63b200 Update bundle_zh_TW.properties (#5860)
* Update bundle_zh_TW.properties

* Update bundle_zh_TW.properties

minor correction
2021-09-12 11:21:09 -04:00
VizardAlpha
ee8b4f478d Updates bundle_fr.properties (#5931)
* Updates bundle_fr.properties

* Added rivers on Serpulo / Added deep tainted water

* Error correction

* More campaign map progress .. Added new commits

* Update bundle_fr.properties
2021-09-12 11:09:46 -04:00
JrTRinny
1941f22676 Update bundle_th.properties (#5908)
* Update bundle_th.properties

* Update bundle_th.properties

* Update bundle_th.properties

* more beautiful names

* Update bundle_th.properties
2021-09-12 11:09:40 -04:00
Anuken
35ffbef557 #5932 2021-09-12 11:07:18 -04:00
Anuken
24db94a55b No server category colors 2021-09-12 11:05:05 -04:00
Anuken
46bda97362 Merge remote-tracking branch 'origin/master' 2021-09-12 09:05:23 -04:00
Anuken
a1b9f7d1b3 Fixed #5979 2021-09-12 09:05:18 -04:00
Matthew Peng
32db058dbe Why is the smelter -top drawn between the flame circles? (#5817) 2021-09-11 18:47:30 -04:00
Anuken
2f7c5994a7 Fixed #5978 2021-09-11 15:43:24 -04:00
Anuken
2664bb84be Fixed #5974 2021-09-11 13:30:10 -04:00
Anuken
bdcfb7ab45 Merge remote-tracking branch 'origin/master' 2021-09-11 12:15:39 -04:00
Anuken
5cf47f4198 Clamp sector description in info 2021-09-11 12:15:34 -04:00
Darkness6030
515ee060d2 [RU] Sectors name translation (#5972)
С береговой линией все понятно. 
Но почему я выбрал "Прибрежная крепость"?
Все просто. "Naval" переводится как "Водяной", но "Водяная Крепость" - звучит *не очень*.
Нужен какой-то синоним. Я рассмотрел варианты "Морская", "Береговая", но в конце концов остановился на варианте "Прибрежная".

Если вы думаете иначе, предлагайте свой вариант перевода.
2021-09-11 10:20:57 -04:00
Anuken
90c2473448 Duct bridge crash fix 2021-09-11 10:07:00 -04:00
Anuken
c5a90759e5 Fixed #5971 / Fixed #5973 2021-09-11 08:45:17 -04:00
Anuken
cccce6badd Make Base AI walls correspond to tier 2021-09-10 21:11:57 -04:00
Anuken
decc570867 Slightly denser generated bases 2021-09-10 17:23:17 -04:00
Anuken
caa34c959e More campaign map progress 2021-09-10 17:07:06 -04:00
Anuken
b8fa15e546 Merge remote-tracking branch 'origin/master' 2021-09-10 16:33:30 -04:00
Anuken
47d5be679d Map progress 2021-09-10 16:33:26 -04:00
buthed010203
fc7f689ea4 Named pathfinder thread (#5969) 2021-09-10 15:56:42 -04:00
Anuken
7c028ffcb8 Experimental positional spawn support / WIP map 2021-09-10 13:56:12 -04:00
Anuken
10c3f9e44a River noise target field 2021-09-10 09:22:39 -04:00
Anuken
b2a634e5e7 Untested/WIP naval campaign map 2021-09-10 09:17:25 -04:00
Anuken
ae0a70703b Wave edit dialog cleanup 2021-09-09 22:25:08 -04:00
TranquillyUnpleasant
9076325fa1 Add a copy button to spawn groups (#5957)
* copy button

* rebuild groups on removal

* two factor sorting

* copy method for spawngroup

* implement Clonable

* revert to copy to call clone
2021-09-09 19:38:56 -04:00
Anuken
08d7390775 Merge remote-tracking branch 'origin/master' 2021-09-09 17:05:00 -04:00
Anuken
cbe188abab Map editor bugfixes / Re-added build noise 2021-09-09 17:04:55 -04:00
Matthew Peng
abbc25798d Pull trail updating out into its own method (#5964) 2021-09-09 15:47:08 -04:00
Anuken
a3ede6cf0b Merge remote-tracking branch 'origin/master' 2021-09-09 12:08:38 -04:00
Anuken
e997768a0a d 2021-09-09 12:08:33 -04:00
itcannotbe
671098cc28 Add Build Cost Multiplier to Distributor (#5967)
It just makes sense.
2021-09-09 11:16:47 -04:00
Anuken
1a686c44a1 Fixed editor crash 2021-09-09 09:59:35 -04:00
Anuken
9e737cd3fe Merge remote-tracking branch 'origin/master' 2021-09-08 20:44:31 -04:00
Anuken
deed84f9a3 Public power graph contents 2021-09-08 20:44:26 -04:00
Matthew Peng
868cd4fb0b Just because a generator doesn't have turbines doesn't mean it doesn't have liquid (#5962) 2021-09-08 20:40:56 -04:00
Anuken
a5697a7d4b Fixed mod alpha bleeding not applying correctly 2021-09-08 15:09:05 -04:00
Anuken
2222330b43 Added hint for high threat level sector 2021-09-08 11:23:37 -04:00
Anuken
cde192b59a Added Block#allowConfigInventory 2021-09-08 09:04:04 -04:00
Anuken
c98eb2edd7 Fixed #5958 2021-09-08 08:42:23 -04:00
Anuken
dd7062f0f7 ParticleEffect#sizeInterp / Log usable RAM 2021-09-07 22:32:27 -04:00
Anuken
8adefb7b72 Merge remote-tracking branch 'origin/master' 2021-09-07 17:57:17 -04:00
Anuken
5e13f71fde Minor bugfixes & compatibility fixes 2021-09-07 17:57:03 -04:00
Matthew Peng
d257adf0c1 Show All (#5954) 2021-09-07 15:20:59 -04:00
TranquillyUnpleasant
34d2a0d3a0 Hide all button for units (#5953)
* Hide all button for units

* Add bundle property
2021-09-07 13:38:43 -04:00
Matthew Peng
efae0d3b6a Anuke what is this (#5949) 2021-09-06 20:45:42 -04:00
buthed010203
a393e21326 remove redundant Core.bundle.get (#5947) 2021-09-06 15:08:22 -04:00
Anuken
5641b4901c Easier stained mountains guardian 2021-09-05 23:01:26 -04:00
Anuken
4da21ba363 Added cliff support to editor 2021-09-05 20:08:02 -04:00
Anuken
508abba2ec Merge remote-tracking branch 'origin/master' 2021-09-05 18:00:21 -04:00
Anuken
87ff876db3 Take block timeScale into account for sector damage 2021-09-05 18:00:16 -04:00
CancerGuy
4720f1b876 Add files via upload (#5943) 2021-09-05 17:06:00 -04:00
Anuken
e35d09fe62 Merge remote-tracking branch 'origin/master' 2021-09-05 12:07:20 -04:00
Anuken
fb74dfa02f Default visualElevation for ships 2021-09-05 12:07:15 -04:00
Darkness6030
461d87dbef Add HexPvp server to global V6 list (#5940) 2021-09-05 12:03:57 -04:00
TranquillyUnpleasant
cf5d172922 Wave graph y axis refactor (#5926)
* Y axis refactor

* Fix formatting inconsistencies

* Make style match xml
2021-09-05 11:21:49 -04:00
Anuken
227fb388b8 Update building consume module before main update 2021-09-05 11:18:31 -04:00
Anuken
89d495fdb1 Merge remote-tracking branch 'origin/master' 2021-09-04 23:28:20 -04:00
Anuken
82e659dd80 Planet rendering infrastructure stuff 2021-09-04 23:28:15 -04:00
SoMall-dumpling
f20b9c828c Update Blocks.java (#5939)
simplest integer ratio
2021-09-04 22:30:07 -04:00
Anuken
efe5668c5a Merge remote-tracking branch 'origin/master' 2021-09-04 20:37:31 -04:00
Anuken
0331d8c6c4 Fixed #5937 2021-09-04 20:37:26 -04:00
Volas171
15882016ca 🤦 (#5936) 2021-09-04 18:07:29 -04:00
Anuken
b4b9a44126 Merge remote-tracking branch 'origin/master' 2021-09-04 18:07:15 -04:00
Anuken
063d2ce6c0 Implemented #5905 properly 2021-09-04 18:07:08 -04:00
ZestyLemonade
3985620289 space-begone (#5935)
Co-authored-by: sample-text-here <kjdshkasjhdfkj@jashdkaj.ksdh>
2021-09-04 17:43:03 -04:00
Anuken
23d0dfe6bf Deprecated DoubleOverlayFloor 2021-09-04 16:29:14 -04:00
Anuken
0a5b1d1380 Merge remote-tracking branch 'origin/master' 2021-09-04 15:23:53 -04:00
Anuken
24b0f445b8 Added rivers on Serpulo / Added deep tainted water 2021-09-04 15:23:47 -04:00
Volas171
57cd20e2a1 update mindustry reborn v7 (#5933)
* update mindustry reborn ip

* i forgo-
2021-09-04 12:49:11 -04:00
Anuken
3f49807348 Merge branch 'master' of https://github.com/Anuken/Mindustry 2021-09-04 11:27:29 -04:00
Anuken
13ddca750a arc 2021-09-04 11:27:26 -04:00
buthed010203
c209b0bdaf add statustable name to hudfragment (#5904) 2021-09-04 11:05:06 -04:00
Matthew Peng
264052a95f Remove the slight delay in wind3.ogg (#5909)
* Remove the slight delay in `wind3.ogg`

* Don't need to export the quality that high
2021-09-04 10:26:42 -04:00
Matthew Peng
b004146015 Input liquid drawing for DrawLiquid and DrawMixer (#5906) 2021-09-04 10:18:44 -04:00
CancerGuy
3901ae1720 change (#5923) 2021-09-04 10:14:40 -04:00
RebornTrack970
bcf798c247 Moved All OmegaHub servers from all Nodes to N5 (#5917)
* Moved All OmegaHub servers from all Nodes to N5

* Update servers_v7.json

* v6 life matters!

* Update servers_v6.json

* Update servers_v7.json

Co-authored-by: Volas171 <60143910+Volas171@users.noreply.github.com>
2021-09-04 10:14:16 -04:00
buthed010203
2dffd525a3 remove useless method call (#5912)
sector.hasBase() already checks that save != null
2021-09-04 10:14:04 -04:00
QmelZ
d31389efca remove space (#5929) 2021-09-04 10:12:13 -04:00
Anuken
ee8683c734 Do not display overdrive visual for router/conduit 2021-09-04 10:07:13 -04:00
Anuken
8224cc3fce Fixed #5922 2021-09-04 10:03:40 -04:00
Anuken
94a340d3ee Merge remote-tracking branch 'origin/master' 2021-09-04 09:59:32 -04:00
Anuken
f8048be429 Fixed #5918 2021-09-04 09:59:28 -04:00
Кирилл Алдашкин
3714077fbe Fixed the display of the oil extractor efficiency (#5915) 2021-09-04 09:58:38 -04:00
Anuken
6984be2172 Merge remote-tracking branch 'origin/master' 2021-09-04 09:55:28 -04:00
Anuken
48f359ca9b Fixed #5907 2021-09-04 09:55:23 -04:00
Matthew Peng
9b28eaa3b3 Allow for SingleTypeGenerators to use only liquid. (#5900) 2021-08-30 08:23:58 -04:00
Matthew Peng
2f47f13ef7 Adjustable generateEffect randomness (#5901) 2021-08-29 22:55:52 -04:00
Anuken
80acea4708 #5897 with proper formatting 2021-08-29 16:25:26 -04:00
Anuken
cc689fd114 Fixed #5895 2021-08-29 10:26:39 -04:00
Anuken
be5d9154a7 Merge remote-tracking branch 'origin/master' 2021-08-29 09:12:08 -04:00
Anuken
bb9d7fedf7 Fixed #5894 2021-08-29 09:12:03 -04:00
Matthew Peng
71f064bda1 Shouldn't shorten() also reset the counter? (#5890) 2021-08-29 08:28:38 -04:00
Anuken
e30d7e998d Allow unit icons for sectors 2021-08-28 20:49:39 -04:00
Anuken
a3270dd908 this turned out to be pretty difficult 2021-08-28 16:29:58 -04:00
Anuken
48d568978b Merge remote-tracking branch 'origin/master'
# Conflicts:
#	core/src/mindustry/entities/Damage.java
2021-08-28 14:17:29 -04:00
Anuken
9a7324ce54 Fixed #5887 2021-08-28 14:17:01 -04:00
Darkness6030
d254d971a9 Add unitSpawnEvent (#5876) 2021-08-28 10:53:19 -04:00
SMOLKEYS.exe
800f0f4511 inconspicuous OCD goes to brazil (#5884) 2021-08-28 09:13:57 -04:00
Matthew Peng
60b2842d82 Rotator spinSpeed (#5881) 2021-08-28 08:47:11 -04:00
Matthew Peng
f8c7ff0159 Damage.damage doesn't properly convert cores (#5882)
* `Damage.damage` doesn't properly convert cores

* Well that was a complete failure
2021-08-28 08:46:08 -04:00
Anuken
4d62b0321f Fixed #5885 2021-08-28 08:44:42 -04:00
Anuken
6ca2855365 Fixed RailBulletType effect length 2021-08-27 22:33:56 -04:00
Anuken
ced97888e4 why 2021-08-27 21:51:37 -04:00
Zelaux
9f68fe520b Fixed incorrect work of TextureRegion.found() when creating icons (#5879)
* Fixed incorrect work of TextureRegion.found() when creating icons

* fixed comment text

* fixed comment text
2021-08-27 11:08:04 -04:00
Anuken
8c32acbc30 Fixed #5878 2021-08-27 09:58:08 -04:00
Anuken
bfc9b07651 Redundant cast cleanup 2021-08-27 09:31:18 -04:00
Anuken
e53b578043 Merge remote-tracking branch 'origin/master' 2021-08-27 09:17:31 -04:00
Anuken
b2ed066faa Fixed BE server not updating 2021-08-27 09:17:26 -04:00
Matthew Peng
5cc461edb0 Make hiding details optional (#5871)
* Make hiding details optional

* Sandbox blocks shouldn't have their details hidden.
2021-08-26 20:47:35 -04:00
Anuken
9b22777dfb AGP 7.0.1 2021-08-26 15:15:29 -04:00
Anuken
3bd08bb047 Merge remote-tracking branch 'origin/master' 2021-08-26 15:07:13 -04:00
Anuken
139d6cd5cc Proper #5872 2021-08-26 15:07:08 -04:00
RebornTrack970
309b0adb9e Added Rush and Expansion to Omega Hub (#5868) 2021-08-26 08:33:10 -04:00
Anuken
c25e6b586b Allow empty maps in FileMapGenerator 2021-08-25 21:57:18 -04:00
Anuken
f46b22e4a7 Merge remote-tracking branch 'origin/master' 2021-08-25 13:22:23 -04:00
Anuken
2b6856634c Fixed #5864 2021-08-25 13:22:19 -04:00
Ilya246
20305b5d36 Fix .pl BE server (#5862)
The server is currently up and running BE
2021-08-25 13:06:19 -04:00
Anuken
9e16d7385a Implemented #5853 2021-08-25 10:09:00 -04:00
Anuken
c573fd34a1 Bullet raycast clamp 2021-08-25 09:10:59 -04:00
Anuken
da7873cbd8 #5855 2021-08-25 08:49:41 -04:00
Anuken
a15f8131fa Merge remote-tracking branch 'origin/master' 2021-08-24 19:14:44 -04:00
Anuken
0d27e3afdc Fixed #5856 2021-08-24 19:14:40 -04:00
Leonid Skorospelov
bdcae408e6 Added 2v2, 3v3 ranked gamemode servers to v6 (#5854) 2021-08-24 17:45:14 -04:00
Anuken
bc4783e9cd Implemented #5851 properly 2021-08-24 12:45:28 -04:00
Anuken
8143cb7be0 Unit balancing 2021-08-24 12:10:44 -04:00
Anuken
8e90527609 Chat prefix empty message fix / Call.sound volume limit increase 2021-08-24 10:19:46 -04:00
Anuken
8949fd279e Build error fix / Anuken/Mindustry-Suggestions/issues/2897 2021-08-24 09:28:51 -04:00
Anuken
901d594768 Prevent server sound ear destruction / Particle effect rand param 2021-08-23 20:27:01 -04:00
Anuken
3964c8e826 Merge remote-tracking branch 'origin/master' 2021-08-23 17:41:02 -04:00
Anuken
044a124bc7 Fixed #5847 2021-08-23 17:40:58 -04:00
VizardAlpha
4f22db8db5 Updates bundle_fr.properties (#5663)
* Updates bundle_fr.properties

Final core launch animation / Added option to skip core animations

* Translation end

* Proper name/impl for "borderless windowed" on Windows

* Mod import progress bar

* WIP team icons

* Improved environmental block internal names

* Update core/assets/bundles/bundle_fr.properties

Co-authored-by: Lucien Perregaux <57545107+Luhrel@users.noreply.github.com>

* payload source and void descriptions

* Game stats cleanup

* Added max units field for wave editor

* Added max units

Co-authored-by: Lucien Perregaux <57545107+Luhrel@users.noreply.github.com>
Co-authored-by: Anuken <arnukren@gmail.com>
2021-08-23 16:58:31 -04:00
Anuken
80ef3cee34 Suppress gen deprecatio warning / Anuken/Mindustry-Suggestions/issues/2888 2021-08-23 15:33:28 -04:00
Anuken
254284760f Hid details of locked content 2021-08-23 15:20:56 -04:00
Anuken
71ee7558ab Merge remote-tracking branch 'origin/master' 2021-08-23 14:47:16 -04:00
Anuken
5f4a3e341f #5785 2021-08-23 14:47:11 -04:00
RebornTrack970
81f25b76fd TR Fix (#5781) 2021-08-23 14:41:32 -04:00
Take
649c6ddfb3 Japanese Translation (Steam, Android description & Achivements) (#5805)
* copy English achivement and description file to Japanese folder

* Translate Gameplay, Campaign

* Translate steam achievements

* Translate Gamemodes, Custom&Multiplayer, Editor

* Translate Android desctiption

* Create summary.txt

* remove the sentence to recommend to share in steam workshop

* fix: 個 → 種類

* minor translation change
2021-08-23 14:36:34 -04:00
SoMall-dumpling
3bd3d3aa37 Avoid ambiguity (#5809)
* Avoid ambiguity

When you see 'boost: 150%'
It can be 'increase the speed to 150%' or 'increase the speed to 250%'.
Maybe you will say that the colon has already avoided this ambiguity.
But you know there's always someone who ignores those things, and also translating 'boost' is hard with no 'x' to avoid ambiguity.
With a 'x', it will show 'Boost: x150%', which will never be thought as 250%.

* Update OverdriveProjector.java

When power is low, show 'low power: -{0}%';
When power is high, show 'boost: +{0}%'.

* Update bundle.properties

* Update bundle.properties

* Update OverdriveProjector.java

bugfix(perhaps)

* Update OverdriveProjector.java

what if

* Update OverdriveProjector.java

InTeReStInG

* Update OverdriveProjector.java

back to the past

* Update OverdriveProjector.java

Now using Math.max.

* Update bundle_bg.properties

* Update bundle_de.properties

* Update bundle_fr.properties

* Update bundle_hu.properties

* Update bundle_in_ID.properties

* Update bundle_ja.properties

* Update bundle_ko.properties

* Update bundle_pl.properties

* Update bundle_ro.properties

* Update bundle_ru.properties

* Update bundle_th.properties

* Update bundle_uk_UA.properties

* Update bundle_vi.properties

* Update bundle_zh_CN.properties

* Update bundle_zh_TW.properties

* Update OverdriveProjector.java

Maybe this is necessary.

* Update OverdriveProjector.java

The stats are '+50%' ,etc. now.

* Update OverdriveProjector.java

Necessary, because the previous one is strange.
2.5 does not make sense. 12.5 does.
2021-08-23 12:37:34 -04:00
Prosta4okua
fa9573e6dc [UKR] Translation (#5810)
* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties

* Update bundle_uk_UA.properties
2021-08-23 12:27:17 -04:00
Sharlotte
b4d19bf71b Update bundle_ko.properties (#5842) 2021-08-23 12:26:27 -04:00
YellOw139
0f019f58bd [Bundle][RO] Update (#5839)
* [Bundle][RO] Update

Changelog:

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

* new button

* derelict changes
2021-08-23 12:26:15 -04:00
kituta
572166b157 Update bundle_ja.properties (#5813)
* Update bundle_ja.properties

Corrections to notational errors. //表記揺れの修正
Change to appropriate wording. //適切な語句への変更

* Update bundle_ja.properties

Add and remove. //追加と削除
2021-08-23 12:26:08 -04:00
JrTRinny
e16dba3336 Update bundle_th.properties (#5845)
* Update bundle_th.properties

* database button
2021-08-23 12:25:59 -04:00
Anuken
b52d645459 #5837 2021-08-23 12:04:54 -04:00
Darkness6030
73b24d2966 Update bundle_ru.properties (#5844) 2021-08-23 10:24:36 -04:00
Anuken
006c796da7 Added database button in menu 2021-08-23 10:03:26 -04:00
Anuken
160fdee596 Consistent tile attribute display 2021-08-23 09:12:36 -04:00
Anuken
5cc50b0ff3 Fixed floorSpeedMultiplier being squared 2021-08-22 15:53:07 -04:00
Anuken
3ba2498815 Removed atrax from archipelago waves 2021-08-22 13:44:55 -04:00
Anuken
0a0ec12e6c Allow logic itemDrop to @air 2021-08-22 11:43:14 -04:00
Anuken
9c826a5fdd Merge remote-tracking branch 'origin/master' 2021-08-22 10:21:24 -04:00
Anuken
50d01ef6f8 FlyingComp cleanup 2021-08-22 10:21:20 -04:00
Matthew Peng
b860b2bbfb Don't show core ghosts (#5834) 2021-08-22 09:45:17 -04:00
JrTRinny
7773a3b17b let payload source/void replace each other (#5835) 2021-08-22 09:45:05 -04:00
Anuken
c605418e33 public Setting constructor 2021-08-22 09:40:55 -04:00
Anuken
55270996ff Cleanup 2021-08-22 00:36:25 -04:00
Anuken
789fcac439 Merge remote-tracking branch 'origin/master' 2021-08-22 00:35:55 -04:00
Anuken
466118319f Fixed naval units with canBoost = true 2021-08-22 00:35:40 -04:00
fuzzbuck
8117aa8046 add 2 new io servers (#5830)
1 new gamemode which will soon come to existance & placeholder slot for events & possible future gamemode
2021-08-21 18:05:43 -04:00
Darkness6030
6847d2f373 Add HexedPvP server to Global v7 list (#5829) 2021-08-21 14:55:41 -04:00
Anuken
f85c078de8 PR cleanup 2021-08-21 11:34:05 -04:00
Matthew Peng
9cc08ada22 Heal Targetting on Turrets (#5820)
* Heal Targetting on Turrets

* Just in case
2021-08-21 11:33:20 -04:00
Sunny Kim
ec1afdfdc4 Hidden blocks only in the Placement UI (#5806)
* placeablePlayer

* placeablePlayer unlocked
2021-08-21 11:29:16 -04:00
Anuken
92d3d3cd9c Fixed #5824 2021-08-21 09:54:05 -04:00
Anuken
8d23e335ae Merge remote-tracking branch 'origin/master' 2021-08-20 23:04:47 -04:00
Anuken
ec61598a52 Minke ability moved to Oxynoe 2021-08-20 23:04:43 -04:00
彭瑞暄
c0c0ebb71f Update bundle_zh_TW.properties (#5739)
1609 lst.lookup not translated for clarity (using original description)
2021-08-20 23:03:17 -04:00
Fatonndev
c22f6a844e add hexed pvp server (#5819) 2021-08-20 14:29:46 -04:00
Anuken
8b4112f705 Check for repo & display name in mod browser search 2021-08-20 13:35:41 -04:00
Anuken
465afc3128 Sound fixes 2021-08-20 08:54:02 -04:00
Anuken
6730954a2e Fixed particle effect icon offset 2021-08-20 00:16:03 -04:00
Anuken
d03049799e Gradle 7.2 2021-08-20 00:06:37 -04:00
Anuken
3a3622bb58 Boss status color fix 2021-08-19 23:42:27 -04:00
Anuken
38ec05807a Disallow logic-building invalid blocks 2021-08-19 23:32:21 -04:00
Anuken
5d4ab9ecd7 Added max units field for wave editor 2021-08-19 23:26:39 -04:00
Anuken
0ab5f5bb14 hide hidden units in menu 2021-08-19 21:29:50 -04:00
Anuken
4b14008080 Fixed #5812 2021-08-19 17:50:31 -04:00
Anuken
e23054d606 Better support for disabling omniMovement 2021-08-19 16:29:49 -04:00
Anuken
dc5ca76df0 Merge remote-tracking branch 'origin/master' 2021-08-19 14:20:22 -04:00
Anuken
a8b423836e Added unit decal system for mods/future units 2021-08-19 14:20:18 -04:00
Volas171
a4bd160995 omegahub ip change (last) (#5807) 2021-08-19 10:43:58 -04:00
Anuken
558ee579e1 BlockIndexer null team fix 2021-08-19 09:37:12 -04:00
Anuken
41829b8660 Fixed #5803 2021-08-18 20:10:14 -04:00
Anuken
b8eaabe0de Fixed #5802 2021-08-18 18:55:36 -04:00
Anuken
a94735c5a5 Remote unlock tweaks 2021-08-18 17:52:59 -04:00
Anuken
ba48373bbc Game stats cleanup 2021-08-18 16:39:20 -04:00
Anuken
512b65a592 Merge remote-tracking branch 'origin/master' 2021-08-18 13:50:05 -04:00
Anuken
103ee371bd Fixed #5800 2021-08-18 13:49:59 -04:00
buthed010203
179f44cd37 // (#5798) 2021-08-18 12:52:12 -04:00
Anuken
1bf173b1ee Merge remote-tracking branch 'origin/master' 2021-08-18 11:41:44 -04:00
Anuken
356c2cfa80 Fixed #5797 2021-08-18 11:41:38 -04:00
kituta
5b61a183cd Update bundle_ja.properties (#5376)
* Update bundle_ja.properties

* Update bundle_ja.properties

Minor corrections and additions

* Update bundle_ja.properties

* Update bundle_ja.properties

Add 2 lines

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update bundle_ja.properties

* Update core/assets/bundles/bundle_ja.properties

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>

* Update core/assets/bundles/bundle_ja.properties

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>

* Update core/assets/bundles/bundle_ja.properties

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>

* Update bundle_ja.properties

* Update core/assets/bundles/bundle_ja.properties

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>

* Update core/assets/bundles/bundle_ja.properties

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>

Co-authored-by: Take <18237819+Takeno-hito@users.noreply.github.com>
2021-08-18 10:45:39 -04:00
Xasmedy
d5e1b47b52 Adding M.D.N. Hub (#5795) 2021-08-18 10:25:46 -04:00
Anuken
63795d9df8 public AI fields 2021-08-17 22:06:29 -04:00
Anuken
8e179552ec pointless casts begone 2021-08-17 21:45:13 -04:00
Sunny Kim
d1271f3e4b Boss (Guardian) Status Sprite (#5773)
* boss status

* almost forgot

* Update bundle_ko.properties
2021-08-17 18:00:00 -04:00
buthed010203
24e6f5b841 remove stray newline (#5788)
its ugly
2021-08-17 17:59:15 -04:00
Alexander397172YT
7118c972a8 Update servers_v6.json (#5790) 2021-08-17 17:54:29 -04:00
Anuken
e4742133ca Made various fields/methods public 2021-08-17 17:23:02 -04:00
Anuken
ada6ef229c Merge remote-tracking branch 'origin/master' 2021-08-17 11:39:03 -04:00
Anuken
f0c0900770 Lambda memory allocation optimizations 2021-08-17 11:38:57 -04:00
Michael McMahon
a4a6eb6cee Command-line-tools link (#5789)
Link specifically to the `Command line tools only` section instead of the complete Android Studio package.
2021-08-17 08:27:36 -04:00
RebornTrack970
362c7d38a6 Omega Hub Server Update 2 (#5782)
Every Server (exept Rush and expansion) is fixed
2021-08-16 20:22:13 -04:00
Anuken
7b4d488b11 UI cleanup 2021-08-16 20:06:50 -04:00
Anuken
0c5f781702 Sector wave spawning fixes 2021-08-16 13:15:14 -04:00
Anuken
ff5c48a2a0 Merge remote-tracking branch 'origin/master' 2021-08-16 10:34:53 -04:00
Anuken
1a55f19ab2 Fixed #5774 2021-08-16 10:34:48 -04:00
JrTRinny
59456b67a1 payload source and void descriptions (#5778) 2021-08-16 08:22:03 -04:00
buthed010203
1a12510081 Closes #5777 (#5779)
I did a dumb
2021-08-16 08:15:20 -04:00
Anuken
d83f48891a Fixed #5774 2021-08-15 22:23:31 -04:00
Anuken
747c6186d4 DesktopLauncher -debug argument 2021-08-15 22:17:17 -04:00
Anuken
b3ef412368 Extra debug logging for mod pack 2021-08-15 21:59:57 -04:00
MrTnT 2.0
bfdcb971fc Update servers_v6.json (#5748)
* Update servers_v6.json

* Update servers_v6.json
2021-08-15 21:26:19 -04:00
YellOw139
487bc1866a [Bundle][RO] Update (#5668)
* [Bundle][RO] Update

Changelog:

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

* Update bundle_ro.properties

* Update bundle_ro.properties

* progress

* derelict

* typo

* Update bundle_ro.properties

* Update bundle_ro.properties

* teamwork

* []

* AI

* Агрессоры

* sector info

* Update bundle_ro.properties

* Update bundle_ro.properties

* Update bundle_ro.properties

* Update bundle_ro.properties
2021-08-15 21:24:27 -04:00
Thomas Widyantoko
0b99d71bd4 [ID] v7 prealpha translation (#5669)
* 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

* [ID] v7 prealpha translation

draft 1

* [ID] v7 prealpha translation part 2

Fixed a line and made changes to untranslated lines.
2021-08-15 21:24:13 -04:00
Sharlotte
8d811550e2 Update bundle_ko.properties (#5680)
* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* Update bundle_ko.properties

* They don't like unofficial properties h

* Update bundle_ko.properties

* translated b80129e17b (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 7e047ef726 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 1cf2bd4892 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), a5fe8970c6 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c), 1b0de739f9 (diff-5e346bcec4e8e1d545e035b1e438472bc51937398ac3e8e81308605ec82aea2c)
* marged from https://github.com/Anuken/Mindustry/pull/5731
2021-08-15 21:24:07 -04:00
JrTRinny
09486946fc Update bundle_th.properties (#5694)
* Update bundle_th.properties

* banned unit

* better environment block name

* craters fix + color

* name consistensies

* add new updates
2021-08-15 21:23:56 -04:00
RebornTrack970
3f988cec72 TR Translate (#5770) 2021-08-15 21:23:18 -04:00
Anuken
c35dde5569 Fixed #5772 2021-08-15 21:17:16 -04:00
Anuken
79d757856e Merge remote-tracking branch 'origin/master' 2021-08-15 09:34:28 -04:00
Anuken
cd0c48985d Unconditional unit draw state reset 2021-08-15 09:34:23 -04:00
RebornTrack970
b2f35220e3 OmegaHub Server Update (#5769) 2021-08-15 09:30:34 -04:00
Anuken
d9ecaa701b Merge remote-tracking branch 'origin/master' 2021-08-14 23:19:34 -04:00
Anuken
9355496915 Correct SolidPump bar 2021-08-14 23:19:29 -04:00
Matthew Peng
79939db170 If it accepts payloads, then it shouldn't be blocked. (#5767) 2021-08-14 20:35:29 -04:00
Matthew Peng
24d3afca18 If a block doesn't rotate, then don't check if the payload conveyor is trying to input into the output side (#5766)
* If a block doesn't rotate, then don't check if the payload conveyor is trying to input into the output side

* b l o c k

* h

* Revert "h"

This reverts commit 2860818e3f.
2021-08-14 18:48:52 -04:00
Anuken
334b62b0a2 Misc scripting visibility changes 2021-08-14 09:49:25 -04:00
Anuken
16fb70b0ef Fixed #5762 / Fixed #5763 2021-08-14 09:21:02 -04:00
Anuken
c2fcffb0d8 Planet frustum culling 2021-08-13 23:49:47 -04:00
Anuken
681fc6de3d Misc bugfixes 2021-08-13 19:41:14 -04:00
Anuken
9640acfb74 Merge remote-tracking branch 'origin/master' 2021-08-13 19:07:19 -04:00
Anuken
94b12704dc Mobile text input fixes 2021-08-13 19:07:14 -04:00
buthed010203
74468855c2 Offset formations by 22.5 degrees when full (#5754)
This stops the annoying "unit bumping" problem on servers (at least with full formations), removed the other 2 lines as they didnt actually do anything.

Before: https://mee6.is-terrible.com/56YkB59o8.webm
After: I really cant be bothered
2021-08-13 17:45:12 -04:00
Anuken
031b1abe0a Allow animations without top regions 2021-08-13 14:14:58 -04:00
Anuken
0e6d9ea933 Fixed #5760 / Fixed #5761 2021-08-13 13:58:25 -04:00
Anuken
6e5ad304e4 Fixed #5759 2021-08-13 12:17:32 -04:00
Anuken
a689c2cb4d Merge remote-tracking branch 'origin/master' 2021-08-13 11:29:27 -04:00
Anuken
cd53cf0991 Fixed planet zoom 2021-08-13 11:29:22 -04:00
alex
5e2bf1f931 change address of pvp server (#5758) 2021-08-13 10:55:06 -04:00
Anuken
033dadae2c Removed unnecessary 'chat' font 2021-08-13 09:20:46 -04:00
Anuken
1b0de739f9 Sector info list / Minor hint fixes 2021-08-12 22:16:13 -04:00
Anuken
351f1a80c7 Merge remote-tracking branch 'origin/master' 2021-08-12 10:07:34 -04:00
Anuken
def1094357 Added world data progress bar 2021-08-12 10:07:30 -04:00
CxZxRain
4dec658a77 Update servers_v6.json (#5752) 2021-08-12 09:32:15 -04:00
Anuken
a5fe8970c6 Per-team AI settings / Errors for missing player cores 2021-08-12 09:24:20 -04:00
Anuken
1cf2bd4892 Team-specific rules / Player+Enemy team rules 2021-08-11 23:36:06 -04:00
Anuken
9111860fce Merge remote-tracking branch 'origin/master' 2021-08-11 21:18:52 -04:00
Anuken
0cac972061 Support for team-specific multipliers (no UI) 2021-08-11 21:18:48 -04:00
buthed010203
fa9257182b Dont configure if not needed (#5745)
* Dont configure if not needed

* fix
2021-08-11 17:23:34 -04:00
Anuken
4fc18d35ce #5742 2021-08-11 16:42:25 -04:00
Anuken
c2720bbc33 Increased PPT range 2021-08-11 11:36:20 -04:00
Anuken
5d86390e28 Turret heat cleanup 2021-08-11 10:31:36 -04:00
Anuken
ec89db7cb1 Things 2021-08-11 09:54:30 -04:00
Anuken
d15968d291 Merge remote-tracking branch 'origin/master' 2021-08-11 09:27:11 -04:00
Anuken
5e5df8848d Ammo rebalancing / Possible crash fix 2021-08-11 09:27:06 -04:00
Volas171
a0f66a5f94 Update Omega Community Server server ip (#5735)
ip changed, now moved to there
2021-08-11 09:18:36 -04:00
Anuken
d3a15fba96 Filter locked items from stat values 2021-08-10 21:47:28 -04:00
Anuken
14dc293a09 Fixed #5734 / New derelict icon 2021-08-10 19:56:31 -04:00
Anuken
a97690d219 Merge remote-tracking branch 'origin/master' 2021-08-10 17:11:29 -04:00
Anuken
9c626a17f0 Database dialog search bar 2021-08-10 17:11:22 -04:00
buthed010203
3354ef246b spacing (#5732)
Before: ![](https://mee6.is-terrible.com/56KMVIkGc.png)
After: ![](https://xenon.is-ne.at/56KPxNfyF.png)
2021-08-10 16:08:00 -04:00
Anuken
e7e64379dd () 2021-08-10 15:12:58 -04:00
Anuken
78dc94b0ed Merge remote-tracking branch 'origin/master' 2021-08-10 10:16:20 -04:00
Anuken
be38bba0e4 #5729 2021-08-10 10:16:15 -04:00
JrTRinny
6c963a2de7 comment fix (#5730)
* there is no mech pads

* factories
2021-08-10 09:38:46 -04:00
buthed010203
6d517396b3 ??? (#5727) 2021-08-09 18:05:19 -04:00
Matthew Peng
6246a1d39c Option to make a unit not appear on the title screen. (#5728) 2021-08-09 18:04:21 -04:00
Anuken
9c1063c7cc Misc minor bugfixes 2021-08-09 16:53:49 -04:00
Anuken
ed71777a17 . 2021-08-09 14:27:42 -04:00
Anuken
353433a383 Fine, I'll do it myself (#5717) 2021-08-09 14:19:34 -04:00
Anuken
7e047ef726 Stone craters name fix 2021-08-09 12:13:07 -04:00
Anuken
c60f6d155f Fixed #5725 2021-08-09 11:41:39 -04:00
Anuken
42486cd784 Fixed export/import lines curving through planet 2021-08-09 09:59:49 -04:00
Anuken
5b27f4786d ItemBuffer struct 2021-08-09 09:37:45 -04:00
Anuken
01f759a992 Fixed #5722 2021-08-08 20:42:48 -04:00
Anuken
cc0d7af610 Merge remote-tracking branch 'origin/master' 2021-08-08 13:38:01 -04:00
Anuken
00a2c1aad0 Refactored fireball into FireBulletType 2021-08-08 13:37:55 -04:00
buthed010203
e40ab50e10 why are there soaces here ? (#5716)
good question
2021-08-07 21:24:03 -04:00
Yakuzet
99b3420423 fix update TR bundle (#5715)
translated some new things and fixed some translation
2021-08-07 18:12:31 -04:00
Anuken
644d00b268 Misc ammo balancing 2021-08-07 17:37:55 -04:00
Anuken
71c4f27d60 Removed pointless 'device' switcher / Anuken/Mindustry-Suggestions/issues/2811 (but only partially) 2021-08-07 12:34:11 -04:00
Anuken
6cb2c0e8a7 Anuken/Mindustry-Suggestions/issues/2810 2021-08-07 12:22:34 -04:00
Anuken
d3745d043c Merge remote-tracking branch 'origin/master' 2021-08-07 12:08:35 -04:00
Anuken
b1b89290b9 Implemented Anuken/Mindustry-Suggestions/issues/2809 2021-08-07 12:08:30 -04:00
Fatonndev
ca8fa02687 add oblivion pvp server (#5709) 2021-08-07 08:28:29 -04:00
Anuken
ce9bfdbcae Fixed #5710 2021-08-07 08:26:49 -04:00
Anuken
5f29633689 Fixed #5707 2021-08-06 23:19:45 -04:00
Anuken
cab71958d0 Implementation of #4921 2021-08-06 19:40:27 -04:00
Anuken
9c995be22e Merge remote-tracking branch 'origin/master' 2021-08-06 18:02:04 -04:00
Anuken
f0a0b4cfc9 Fixed keyDown not registering at low FPS / Spectre bullet balance 2021-08-06 18:01:57 -04:00
RebornTrack970
395f7e0324 Added the Community Server server to Omega (#5705) 2021-08-06 13:47:30 -04:00
Anuken
b80129e17b Improved environmental block internal names 2021-08-06 11:52:25 -04:00
Anuken
e57b5b6966 Implemented Anuken/Mindustry-Suggestions/issues/2800 2021-08-06 11:17:10 -04:00
Anuken
316adf63ee Multi-target zenith AI 2021-08-06 11:07:30 -04:00
Anuken
588523b311 Avoid lambda capture in puddles 2021-08-06 09:34:38 -04:00
Anuken
b8232326bc Fixed #5703 2021-08-06 09:04:07 -04:00
Anuken
4fa04b9e23 Bannable units / Show tech tree icon for unresearched units 2021-08-05 23:01:58 -04:00
Anuken
6fdbe1d5f0 Fixed minimap not updating when build team changes 2021-08-05 14:20:23 -04:00
Anuken
66ce3e75ec Allow dumping/moving into payload voids 2021-08-05 12:00:35 -04:00
Anuken
ec30232c4e Made AttributeCrafters consume a constant amount of liquid
+ cultivator water requirement decrease
2021-08-05 10:27:46 -04:00
Anuken
6cb6a76ef3 arc 2021-08-05 08:22:53 -04:00
Anuken
46eeb8b960 arc 2021-08-04 23:03:15 -04:00
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
buthed010203
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 Andrew
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 00ca247d0f

* 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
Darkness6030
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-9437
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
Volas171
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
RebornTrack970
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 Andrew
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 00ca247d0f

* 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
VozDuh
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
NiChrosia
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
genNAowl
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
genNAowl
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 Lam
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
Vanguard
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
genNAowl
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
Somka000
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
Thomas Widyantoko
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
OSP
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
GaviTSRA
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 b75a8d5260

* update german translation to 8e52d8a272

* 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
CxZxRainzz
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
thedimas3007
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
genNAowl
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
315cbaec47 progress 2021-01-05 11:17:20 -05:00
Anuken
68535bfcaa progress 2021-01-03 16:21:17 -05:00
1156 changed files with 35743 additions and 17086 deletions

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
.github/pull_request_template.md vendored Normal file
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.

View File

@@ -6,15 +6,15 @@ 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: Add Arc release
@@ -39,7 +39,7 @@ jobs:
cp -a Mindustry/core/build/javadoc/. docs/
cd docs
git add .
git commit -m "Update ${RELEASE_VERSION:1}"
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
@@ -47,7 +47,8 @@ jobs:
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

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

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 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Run unit tests
run: ./gradlew clean cleanTest test --stacktrace

9
.gitignore vendored
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/
@@ -102,6 +103,10 @@ com_crashlytics_export_strings.xml
.externalToolBuilders/
*.launch
## VSCode
.vscode/
## NetBeans
/nbproject/private/
@@ -157,3 +162,7 @@ gradle-app.setting
.DS_Store
Thumbs.db
android/libs/
# ignored due to frequent branch conflicts.
core/assets/logicids.dat
core/assets/icons/icons.properties

View File

@@ -26,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.

View File

@@ -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-17](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
@@ -38,7 +38,7 @@ Server builds are bundled with each released build (in Releases). If you'd rathe
### Android
1. Install the Android SDK [here.](https://developer.android.com/studio#downloads) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required.
2. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory.
3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`.

View File

@@ -5,6 +5,7 @@ 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:
0. **Take note of the fact that modded servers are not allowed on this list.** Such servers confuse users, and there's currently no easy way to fix mod incompatibilities after a failed connection.
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.
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.

View File

@@ -31,9 +31,11 @@ There are two ways to test the translation bundle:
1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.*
2) For advanced users: simply download your fork of mindustry and compile/run the game.
#### Translating for stores (Steam, Google Play)
#### Translating for stores (Steam, ~~Google Play~~)
If you would like to translate the descriptions for Google Play or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does.
NOTE: The Google Play description is in the process of being re-written, please do not translate it.
If you would like to translate the descriptions for ~~Google Play~~ or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does.
**And that's it.**

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"

View File

@@ -7,9 +7,7 @@ buildscript{
}
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'
classpath 'com.android.tools.build:gradle:7.0.3'
}
}
@@ -20,35 +18,19 @@ configurations{ natives }
repositories{
mavenCentral()
maven{ url "https://maven.google.com" }
jcenter() //remove later once google fixes the dependency
}
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.3'
compileSdkVersion 30
sourceSets{
main{
manifest.srcFile 'AndroidManifest.xml'
@@ -59,9 +41,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'
}
@@ -73,7 +59,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)
@@ -109,6 +95,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{
@@ -116,10 +113,37 @@ android{
}
}
}
// Specifies one flavor dimension.
flavorDimensions "version"
productFlavors{
standard{
}
// 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.
gp{
applicationIdSuffix ".gp"
versionNameSuffix "-gp"
}
}
}
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"
//TODO dynamically find best android platform jar instead of hard-coding to 30
def sdkFile = new File((String)findSdkDir(), "/platforms/android-30/android.jar")
if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath)
}
task copyAndroidNatives(){
configurations.natives.files.each{ jar ->
copy{
@@ -131,29 +155,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()){
println "Scheduling sprite pack."
run.dependsOn ":tools:pack"
deploy.dependsOn ":tools:pack"
tasks.whenTaskAdded{ task ->
if(task.name == 'assembleDebug' || task.name == 'assembleRelease'){
task.dependsOn ":tools:pack"
}
}
}

9
android/proguard-rules.pro vendored Normal file
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.** { *; }

View File

@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Mindustry</string>
</resources>

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>

View File

@@ -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,14 +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);
}
@@ -64,7 +66,7 @@ public class AndroidLauncher extends AndroidApplication{
@Override
public rhino.Context getScriptContext(){
return AndroidRhinoContext.enter(getContext().getCacheDir());
return AndroidRhinoContext.enter(getCacheDir());
}
@Override
@@ -72,8 +74,28 @@ public class AndroidLauncher extends AndroidApplication{
}
@Override
public ClassLoader loadJar(Fi jar, String mainClass) throws Exception{
return new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, getClassLoader());
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
@@ -166,9 +188,20 @@ public class AndroidLauncher extends AndroidApplication{
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...");
@@ -210,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();

View File

@@ -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);
}

View File

@@ -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.");
}
});
}
}
}

View File

@@ -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. */

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -101,6 +101,8 @@ public class EntityProcess extends BaseProcessor{
inter.addJavadoc("Interface for {@link $L}", component.fullName());
skipDeprecated(inter);
//implement extra interfaces these components may have, e.g. position
for(Stype extraInterface : component.interfaces().select(i -> !isCompInterface(i))){
//javapoet completely chokes on this if I add `addSuperInterface` or create the type name with TypeName.get
@@ -132,6 +134,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 +276,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 +344,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 +355,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 +449,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,8 +535,10 @@ public class EntityProcess extends BaseProcessor{
mbuilder.addStatement("mindustry.gen.Groups.queueFree(($T)this)", Poolable.class);
}
if(!legacy || specialIO){
builder.addMethod(mbuilder.build());
}
}
//add pool reset method and implement Poolable
if(ann.pooled()){
@@ -560,7 +572,9 @@ 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));
skipDeprecated(builder);
definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy));
}
//generate groups
@@ -665,11 +679,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 +729,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 +751,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 +766,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 +803,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,10 +831,18 @@ 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);
skipDeprecated(nullBuilder);
nullBuilder.addSuperinterface(interf.tname());
if(superclass != null) nullBuilder.superclass(tname(baseName(superclass)));
@@ -806,7 +878,7 @@ public class EntityProcess extends BaseProcessor{
nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build());
write(nullBuilder);
write(nullBuilder, imports.asArray());
}
write(nullsBuilder);
@@ -900,7 +972,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", ""));
}
@@ -914,6 +986,11 @@ public class EntityProcess extends BaseProcessor{
throw new IllegalArgumentException("Missing types.");
}
void skipDeprecated(TypeSpec.Builder builder){
//deprecations are irrelevant in generated code
builder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"deprecation\"").build());
}
class GroupDefinition{
final String name;
final ClassName baseType;
@@ -944,9 +1021,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 +1032,7 @@ public class EntityProcess extends BaseProcessor{
this.components = components;
this.extend = extend;
this.fieldSpecs = fieldSpec;
this.legacy = legacy;
}
@Override

View File

@@ -1,5 +1,7 @@
package mindustry.annotations.impl;
import arc.*;
import arc.audio.*;
import arc.files.*;
import arc.scene.style.*;
import arc.struct.*;
@@ -20,8 +22,8 @@ public class AssetsProcess extends BaseProcessor{
@Override
public void process(RoundEnvironment env) throws Exception{
processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound");
processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music");
processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound", true);
processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music", false);
processUI(env.getElementsAnnotatedWith(StyleDefaults.class));
}
@@ -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 + ")");
@@ -115,17 +117,40 @@ public class AssetsProcess extends BaseProcessor{
JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer);
}
void processSounds(String classname, String path, String rtype) throws Exception{
void processSounds(String classname, String path, String rtype, boolean genid) 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();
if(genid){
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 +159,29 @@ 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"));
if(genid){
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);
}else{
loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; }", Core.class, filepath, rtype, name, rtype);
}
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build());
id ++;
}
if(genid){
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);
}

View File

@@ -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);
}
}
}

View File

@@ -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();

View File

@@ -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") ?

View File

@@ -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();
}
}

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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,52 +17,24 @@ 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);
//class serializers
ClassSerializer 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<>();
//all elements with the Remote annotation
Seq<Smethod> elements = methods(Remote.class);
//list of all method entries
methods = new Seq<>();
//list of all method entries
classes = new Seq<>();
Seq<MethodEntry> methods = new Seq<>();
Seq<Smethod> orderedElements = elements.copy();
orderedElements.sort((a, b) -> -a.toString().compareTo(b.toString()));
orderedElements.sortComparing(Selement::toString);
//create methods
for(Smethod element : orderedElements){
@@ -79,45 +50,25 @@ public class RemoteProcess extends BaseProcessor{
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);
String packetName = Strings.capitalize(element.name()) + "CallPacket";
int[] index = {1};
while(methods.contains(m -> m.packetClassName.equals(packetName + (index[0] == 1 ? "" : index[0])))){
index[0] ++;
}
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());
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()
);
entry.methods.add(method);
methods.add(method);
}
//create read/write generators
RemoteWriteGenerator writegen = new RemoteWriteGenerator(serializer);
//generate the methods to invoke (write)
writegen.generateFor(classes, packageName);
}else if(round == 2){ //round 2: generate all *readers*
RemoteReadGenerator readgen = new RemoteReadGenerator(serializer);
//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);
//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());
//build and write resulting hash class
TypeSpec spec = hashBuilder.build();
JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer);
}
//generate the methods to invoke, as well as the packet classes
CallGenerator.generate(serializer, methods);
}
}

View File

@@ -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 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);
}
}

View File

@@ -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";
}
}

View File

@@ -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);
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 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);
}
}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);

View File

@@ -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;

View File

@@ -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());
}

View File

@@ -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

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -0,0 +1 @@
{version:6,fields:[{name:color,type:arc.graphics.Color},{name:data,type:java.lang.Object},{name:effect,type:mindustry.entities.Effect},{name:lifetime,type:float},{name:offsetPos,type:float},{name:offsetRot,type:float},{name:offsetX,type:float},{name:offsetY,type:float},{name:parent,type:mindustry.gen.Posc},{name:rotWithParent,type:boolean},{name:rotation,type:float},{name:time,type:float},{name:x,type:float},{name:y,type:float}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -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}]}

View File

@@ -16,26 +16,30 @@ buildscript{
}
dependencies{
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.11'
classpath "com.github.anuken:packr:-SNAPSHOT"
classpath "com.mobidevelop.robovm:robovm-gradle-plugin:2.3.14"
classpath "com.github.Anuken.Arc:packer:$arcHash"
classpath "com.github.Anuken.Arc:arc-core:$arcHash"
}
}
plugins{
id 'org.jetbrains.kotlin.jvm' version '1.6.0-RC'
id "org.jetbrains.kotlin.kapt" version "1.6.0-RC"
}
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 = '378626d8abc552bba57864358358045d2f2dbe9b'
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
rhinoVersion = '3c6bbadf73a904eefcc28b6fd8aa742ac575e878'
loadVersionProps = {
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
@@ -83,13 +87,11 @@ allprojects{
}
hasSprites = {
return new File(rootDir, "core/assets/sprites/sprites.atlas").exists()
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists()
}
getModifierString = {
if(versionModifier != "release"){
return "[${versionModifier.toUpperCase()}]"
}
if(versionModifier != "release") return "[${versionModifier.toUpperCase()}]"
return ""
}
@@ -107,8 +109,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")
}
@@ -195,10 +196,21 @@ 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 += [
'--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED',
'--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED',
'--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED'
]
}
}
@@ -206,26 +218,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')
}
}
}
@@ -237,9 +243,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")
@@ -261,7 +267,7 @@ project(":ios"){
props.load(new FileInputStream(vfile))
}else{
props['app.id'] = 'io.anuke.mindustry'
props['app.version'] = '6.0'
props['app.version'] = '7.0'
props['app.mainclass'] = 'mindustry.IOSLauncher'
props['app.executable'] = 'IOSLauncher'
props['app.name'] = 'Mindustry'
@@ -287,6 +293,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
@@ -314,35 +329,55 @@ project(":core"){
}
}
def changelogs = file("../fastlane/metadata/android/en-US/changelogs/")
changelogs.mkdirs()
try{
new File(changelogs, androidVersion + ".txt").text = (result)
}catch(Exception ignored){
}
}
}
task sourcesJar(type: Jar, dependsOn: classes){
classifier = 'sources'
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")
annotationProcessor 'com.github.Anuken:jabel:0.6.0'
compileOnly project(":annotations")
annotationProcessor project(":annotations")
annotationProcessor 'com.github.Anuken:jabel:34e4c172e65b3928cd9eabe1993654ea79c409cd'
kapt project(":annotations")
}
afterEvaluate{
@@ -366,6 +401,11 @@ project(":core"){
destinationDir = new File(buildDir, 'javadoc')
}
}
//comp** classes are only used for code generation
jar{
exclude("mindustry/entities/comp/**")
}
}
project(":server"){
@@ -382,13 +422,15 @@ 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{
@@ -419,6 +461,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{
@@ -436,9 +493,11 @@ task deployAll{
dependsOn "desktop:packrWindows64"
dependsOn "desktop:packrWindows32"
dependsOn "desktop:packrMacOS"
if(versionModifier != "steam"){
dependsOn "server:deploy"
dependsOn "android:deploy"
}
}
task resolveDependencies{
doLast{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 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.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 895 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 558 B

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 B

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 380 B

View File

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 245 B

View File

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 238 B

View File

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 231 B

View File

Before

Width:  |  Height:  |  Size: 233 B

After

Width:  |  Height:  |  Size: 233 B

View File

Before

Width:  |  Height:  |  Size: 162 B

After

Width:  |  Height:  |  Size: 162 B

View File

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 467 B

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