From 8a3dd53aa2eb99095f7582a19819c2f032e87c0c Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Oct 2021 21:01:20 -0400 Subject: [PATCH 1/8] ClassMap regen --- core/src/mindustry/mod/ClassMap.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index 54b5891ab1..9599378eb5 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -166,6 +166,7 @@ public class ClassMap{ classes.put("Bush", mindustry.world.blocks.environment.Bush.class); classes.put("Cliff", mindustry.world.blocks.environment.Cliff.class); classes.put("DoubleOverlayFloor", mindustry.world.blocks.environment.DoubleOverlayFloor.class); + classes.put("EmptyFloor", mindustry.world.blocks.environment.EmptyFloor.class); classes.put("Floor", mindustry.world.blocks.environment.Floor.class); classes.put("OreBlock", mindustry.world.blocks.environment.OreBlock.class); classes.put("OverlayFloor", mindustry.world.blocks.environment.OverlayFloor.class); @@ -221,17 +222,25 @@ public class ClassMap{ classes.put("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class); classes.put("BlockProducerBuild", mindustry.world.blocks.payloads.BlockProducer.BlockProducerBuild.class); classes.put("BuildPayload", mindustry.world.blocks.payloads.BuildPayload.class); + classes.put("Constructor", mindustry.world.blocks.payloads.Constructor.class); + classes.put("ConstructorBuild", mindustry.world.blocks.payloads.Constructor.ConstructorBuild.class); classes.put("NuclearWarhead", mindustry.world.blocks.payloads.NuclearWarhead.class); classes.put("NuclearWarheadBuild", mindustry.world.blocks.payloads.NuclearWarhead.NuclearWarheadBuild.class); classes.put("Payload", mindustry.world.blocks.payloads.Payload.class); classes.put("PayloadBlock", mindustry.world.blocks.payloads.PayloadBlock.class); classes.put("PayloadBlockBuild", mindustry.world.blocks.payloads.PayloadBlock.PayloadBlockBuild.class); + classes.put("PayloadDeconstructor", mindustry.world.blocks.payloads.PayloadDeconstructor.class); + classes.put("PayloadDeconstructorBuild", mindustry.world.blocks.payloads.PayloadDeconstructor.PayloadDeconstructorBuild.class); + classes.put("PayloadLoader", mindustry.world.blocks.payloads.PayloadLoader.class); + classes.put("PayloadLoaderBuild", mindustry.world.blocks.payloads.PayloadLoader.PayloadLoaderBuild.class); classes.put("PayloadMassDriver", mindustry.world.blocks.payloads.PayloadMassDriver.class); classes.put("PayloadDriverBuild", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverBuild.class); classes.put("PayloadDriverState", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverState.class); classes.put("PayloadMassDriverData", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadMassDriverData.class); classes.put("PayloadSource", mindustry.world.blocks.payloads.PayloadSource.class); classes.put("PayloadSourceBuild", mindustry.world.blocks.payloads.PayloadSource.PayloadSourceBuild.class); + classes.put("PayloadUnloader", mindustry.world.blocks.payloads.PayloadUnloader.class); + classes.put("PayloadUnloaderBuild", mindustry.world.blocks.payloads.PayloadUnloader.PayloadUnloaderBuild.class); classes.put("PayloadVoid", mindustry.world.blocks.payloads.PayloadVoid.class); classes.put("PayloadVoidBuild", mindustry.world.blocks.payloads.PayloadVoid.PayloadVoidBuild.class); classes.put("UnitPayload", mindustry.world.blocks.payloads.UnitPayload.class); From df156444e7e23c0fedb355679d6c170da44db991 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Oct 2021 21:24:19 -0400 Subject: [PATCH 2/8] Prioritize mod content in parser --- core/src/mindustry/mod/ContentParser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index b83af88097..93f6567667 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -566,8 +566,8 @@ public class ContentParser{ } private T locate(ContentType type, String name){ - T first = Vars.content.getByName(type, name); //try vanilla replacement - return first != null ? first : Vars.content.getByName(type, currentMod.name + "-" + name); + T first = Vars.content.getByName(type, currentMod.name + "-" + name); //try vanilla replacement + return first != null ? first : Vars.content.getByName(type, name); } private T locateAny(String name){ From 3de9cfa1d7b584747c0fd04bafe18fd53fcbdddf Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Oct 2021 21:26:34 -0400 Subject: [PATCH 3/8] Don't crash on invalid research --- core/src/mindustry/mod/ContentParser.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 93f6567667..c195bd14be 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -566,8 +566,8 @@ public class ContentParser{ } private T locate(ContentType type, String name){ - T first = Vars.content.getByName(type, currentMod.name + "-" + name); //try vanilla replacement - return first != null ? first : Vars.content.getByName(type, name); + T first = Vars.content.getByName(type, name); //try vanilla replacement + return first != null ? first : Vars.content.getByName(type, currentMod.name + "-" + name); } private T locateAny(String name){ @@ -746,15 +746,15 @@ public class ContentParser{ TechNode parent = TechTree.all.find(t -> t.content.name.equals(researchName) || t.content.name.equals(currentMod.name + "-" + researchName)); if(parent == null){ - throw new IllegalArgumentException("Content '" + researchName + "' isn't in the tech tree, but '" + unlock.name + "' requires it to be researched."); + Log.warn("Content '" + researchName + "' isn't in the tech tree, but '" + unlock.name + "' requires it to be researched."); + }else{ + //add this node to the parent + if(!parent.children.contains(node)){ + parent.children.add(node); + } + //reparent the node + node.parent = parent; } - - //add this node to the parent - if(!parent.children.contains(node)){ - parent.children.add(node); - } - //reparent the node - node.parent = parent; }); } } From d8cf65e24c5f4135bd13159235bfd4dd7a663b8b Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Oct 2021 21:59:02 -0400 Subject: [PATCH 4/8] More permissive json type re-declarations --- core/src/mindustry/mod/ContentParser.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index c195bd14be..2134b21fec 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -236,10 +236,11 @@ public class ContentParser{ Block block; if(locate(ContentType.block, name) != null){ - block = locate(ContentType.block, name); - if(value.has("type")){ - throw new IllegalArgumentException("When defining properties for an existing block, you must not re-declare its type. The original type will be used. Block: " + name); + Log.warn("Warning: '" + name + "' re-declares a type. This will be interpreted as a new block. If you wish to override a vanilla block, omit the 'type' section, as vanilla block `type`s cannot be changed."); + block = make(resolve(value.getString("type", ""), Block.class), mod + "-" + name); + }else{ + block = locate(ContentType.block, name); } }else{ block = make(resolve(value.getString("type", ""), Block.class), mod + "-" + name); From 18c5f508b127591aa65f28dc7bb8b8b610114769 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 14 Oct 2021 22:41:33 -0400 Subject: [PATCH 5/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 100027a0d6..b2756d1ed1 100644 --- a/README.md +++ b/README.md @@ -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 16](https://adoptopenjdk.net/archive.html?variant=openjdk16&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands: +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 From dc14f425931fc3c2775c9ee13a8df243f7f12ff8 Mon Sep 17 00:00:00 2001 From: router Date: Fri, 15 Oct 2021 16:33:26 +0300 Subject: [PATCH 6/8] .pl hosting moment (#6156) * .pl hosting moment * Update servers_be.json --- servers_be.json | 2 +- servers_v7.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/servers_be.json b/servers_be.json index 8d93d2bf8f..6097ace2ae 100644 --- a/servers_be.json +++ b/servers_be.json @@ -3,7 +3,7 @@ "address": "be.mindustry.nydus.app:6567" }, { - "address": "46.105.36.238:7777" + "address": "0.baseduser.eu.org:7777" }, { "address": "v7.mindurka.tk:9999" diff --git a/servers_v7.json b/servers_v7.json index 9e3ad434d4..2e48a3cfef 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,7 +1,7 @@ [ { "name": "mindustry.pl", - "address": ["46.105.36.238:6000", "46.105.36.238:6666", "46.105.36.238:6966"] + "address": ["0.baseduser.eu.org:6000", "0.baseduser.eu.org:6666", "0.baseduser.eu.org:6966"] }, { "name": "C.A.M.S.", From 9a5ac14bc3e0fe206fa9fa1b7bb32ccf555800d9 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 15 Oct 2021 11:40:55 -0400 Subject: [PATCH 7/8] Fixed #6158 --- .../blocks/liquid/liquid-container-liquid.png | Bin 0 -> 208 bytes .../production/cryofluid-mixer-bottom.png | Bin 1295 -> 1290 bytes .../world/blocks/environment/StaticTree.java | 1 + .../world/blocks/payloads/PayloadBlock.java | 1 + core/src/mindustry/world/meta/BlockGroup.java | 2 +- 5 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 core/assets-raw/sprites/blocks/liquid/liquid-container-liquid.png diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-container-liquid.png b/core/assets-raw/sprites/blocks/liquid/liquid-container-liquid.png new file mode 100644 index 0000000000000000000000000000000000000000..435e380369376b87ce0c32673206fe8568b32dbd GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z|iIC z;uumf=k3jdybOvw%mzFDmOqQTyCAe>1AE6Mn?zj(1_p+TQ}cN2pU>%=v-f+%`Hc_O zJwAPfLwVudDWAj%dYF?d~zIja#$c_Wabz#3%bS!ppYl66*u6{1- HoD!M<&+|&t literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png index b9bc65af455f75fe3580f25ac892691dc0f3cf26..8b07e080d3d551ee7a127d9cb6458fa9c6708220 100644 GIT binary patch delta 1257 zcmeC@>f)MUSbxOR#WAE}&eiC%ej<(n{|-ELSad9B(;o@GBX1bLvwmTd@Rw7VQ^EaM z`Gdr<&E<>O{oS6Zh6$OqF;ARt+OneDW=-#2+t90_cWod4n47R{`Lg}_t5&bxot+-H zzp{GsmR(J|3QBg)`}*hBp~QvrF3gbSbGNX!T>F;QlI4{eKf`8*`U`G?vlRIM2r^_$ z=kT4#-q82|e1QcM!;TpXM32}$|M2E0+s(Y(hXzu@Dxc=t)y(@6H@3bZk>kf)f8RMKvfjP6EB^*_I`~d3P3sQ}sJ-}2U#p?` zrI1p_t?64d^_-cWK86jmn=L=pC%W&e zspfm&RCD}h25-N7UC*ufsMwV^{AW68%Wc@QE2-`YyEbBQ+=gTmKslHZ_-<&9$HOC@{=R#M2`p+4< zYdI#RpLz36?w*dG{080?Isv=*r>MSf?&3_e*`RZyPw%?ATtVTs$VK%Guax6&Z98q1 zpWfKL+1F#9LZVgSO82#8AW!C1fRgp={9p6gIt9zVWfAr?1dE6emqn9v5ec~(a zn&5q}QFx(}!>Myx0sS0dpERv+T`XqI(ps3+*wD#wC1mH;y~+11HoE=(JURH&-HkI; z*Rck5O*L^e63t7lKUSn6wOS*Y^+JxNxu(+&Q+3hImI*F9K0kSRY+ik0-MZ%Z>-JY< zUw_>t(Z62n`tirwU#jlzfBUZX==b^kA!g3sm$S(BuQ#w?Zh!av*Ih5Z?%MJD!M`hC zl}ej}d}bWe*tKxej+%ytrF-;)CLXh2DSRa?e_BM^ajlT9>zrAyKNPvtpHQ41d`MjM zKves3-$gZtqCN#>&C_bqWXpJ1e&v0Lgs{b=!?JCFaYz{aqq=+_d? zE0P@iWaES{Tr&&`IM1ZowZMckC`(B6_RdEMU5tj0uH2Z+u@jV0{uwXyU1fJc@oBrr zll-=z1l?tygq1Wc7v(IO_A2;%(nRM2T26eGFK4B!zVcr5hQx%;3pP%=e&@92)aPLn z84Nyux_ZxdQ>yY7_SL2H%z4=UYQE2WQ*fndRm^kFk{6u4921;YXbNVDE3|tEEB#>; YS3Y@8NGT+kfq{X+)78&qol`;+02c>F^#A|> delta 1262 zcmeC;>gSqZSbx&f#WAE}&eiCRc_M}awdE?V0t+-Qxe9s-F4R8sm!YInK-6{7l|K$z z4}?ES3YuOK6ba#&INw4^aG{8x)zg3yCYNfFg9l&Fl{|mrUTWplyX(rYy}w&wv+a3R zyMFxH>t@$3iumbm+cfWfjIG`kVX40#e~3)p{P|ei1m^{rpBOIGvp48hP|{L%1_(r@)KDNL9vc9ourM4 zCQ{cPHQqOq>6R%xnX3BfTKx@HiMEFOKd&6|yu9(sjmfv{r!rg-xta1UgY~L-?*Bzh z7Sr_QQ)Y*aLd$8+LlFmd7M}|_q4(m=o@a4yV(k)7`y_QS-jO*|KatWb_mV zrwE^ZB_pWuh%bp}LQlJ!_Zp>S4?#yIevKrC)H_!4`)i9?9-R2X!|>+KyQ}Mb&z-wD zW5Oi$D>e#gExXUNp3wf3`C#5t8^vkO0pIISDkg+(;{0SNeQn{f&cnwT)^hkx>c4rZ zOQF*3{m+9bcJpO7@vhJb*u_6Z^?h>}XQIspog037+t%4E*uE!zQ9Z*f<@j6MPFt-{ zZ@l-(PQ`!1hnKID-$xfSF zlDhMMV;9C1nTDmSa+t3vn>z?NDBW@u4C0UVWHe#ft}C|JVMQs#UvS zjdrm2HN9J9^EN0zvEBHN9qzf@;0)xoO{G9B$oJ zV!be_JR_(j<`dr>4pYXUvarT9mkpErZ(i)1#~l#N8OqHP)9K(l)p~dJvtHrXU#u*x z)$hx8M?Q*DSQ_D3FRT*$&@4@-ebL4)qcDcE(~4&+wL}*OO?2b%Y?0=d%ai{hK21#g zL-DuRyBiNCuwH(d`u0~zRp-Hkr}?{Y$A5Tx+;-~O3x72omtXeQ(S7CroxNF#&7Ed;IDHqT8n{JMsOT zBeZV?!!;|LT%o7J*CtI5`WzzYW9Y!We{tRNLo*Htey>l>mhAaDa|Qd8YY%^3;1SGL z-LbXLutkgQ$(4s&8FOWoS-4Wv@7ClJco^x2%~DRWZ0Xo&-d))wB8GHYs@O|8A$PJ-@AP4;fkjrJ5LI~xF8%QsL&b^tz@F-z&Fv% c Date: Fri, 15 Oct 2021 12:07:07 -0400 Subject: [PATCH 8/8] Make Unit type default to Alpha --- .../main/java/mindustry/annotations/entity/EntityProcess.java | 2 +- core/src/mindustry/entities/comp/UnitComp.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java index 3b859e3436..e01d0f15cb 100644 --- a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java +++ b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java @@ -878,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); diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index 7236f5618b..507a451dce 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -11,6 +11,7 @@ import arc.util.*; import mindustry.ai.*; import mindustry.ai.types.*; import mindustry.annotations.Annotations.*; +import mindustry.content.*; import mindustry.core.*; import mindustry.ctype.*; import mindustry.entities.*; @@ -41,7 +42,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I @Import WeaponMount[] mounts; private UnitController controller; - UnitType type; + UnitType type = UnitTypes.alpha; boolean spawnedByCore; double flag;