From 38e55ab54155fba51a3d44a4b40f7c264fcf79ab Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 24 Jul 2020 23:38:33 -0400 Subject: [PATCH] Added most things to tech tree --- .../defense/large-overdrive-projector-top.png | Bin 516 -> 0 bytes .../defense/large-overdrive-projector.png | Bin 1333 -> 0 bytes core/src/mindustry/content/Items.java | 2 +- core/src/mindustry/content/Liquids.java | 1 + core/src/mindustry/content/TechTree.java | 431 +++++++++++------- .../world/blocks/units/UnitFactory.java | 8 +- gradle.properties | 2 +- 7 files changed, 264 insertions(+), 180 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/defense/large-overdrive-projector-top.png delete mode 100644 core/assets-raw/sprites/blocks/defense/large-overdrive-projector.png diff --git a/core/assets-raw/sprites/blocks/defense/large-overdrive-projector-top.png b/core/assets-raw/sprites/blocks/defense/large-overdrive-projector-top.png deleted file mode 100644 index 4daa23ba53a6f620e90c37b3a57cb93ff576abb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%z_j$TFhE&XX zd*`6zVFLk|i@bMR+!mx<;+P`rSFG-KOVacI-Hm5zPO!ew0_uc-gmm-oyeB^Yetom@ z-rK*%kE;83biVtjs@U|GE#`5zb<@{^?>`>(Bv@Od))cyKkeOw+&q8U7{0ysoCGHuv zI<++~doGk+(0c40-ZITOOgi35$;Uq7>c`ZwmX+f1wKX#(6K}P)_tpR3@vYRpKXJQ( z_Ms`=Zaw-B1>52cvT8W{489~yeC(akk|^FK7tf@;r+3GRfX&C|*S_uE#8ko~BBrSB z@Z7*r(1^)`jkEIs{{tB%g(h={0}St~Kd^d8#P@uE^q<2@hVcwXf*XS|(+t4_Jq&3q z2FeYRaG{?}Jb##f?w5Rj^tbc`frB;t|N0f4GcejS{9_26r^s|{y%%S|RcntEKSDhj zS5>ufO6}Lub+~$`@zAmLkLDNacm8=E)7c|nRVT`yu_vXI-9$yn>Bo;ynvWdjwyMy^HA0D}rffw$D>p@4e$@OGBaUA{b;OBU9ApeeQej_RxW|ndj7%de`3_h@h4K0dP|Xv@v62MmA_!CGEcJ>URL2;Op{>k$UP zfWVFz4p51}ei=&xs6b$E$kPEb5!i2K%K)Mfjxu-0kN5AOhvYLU0ni8);WHzM08j{( z;j<1tggirw1 z@R<#-m|0PcaINEC01^bt2cHNmQ(Gz#`a1ptutM;tul}}bP(B-BRL3E}2*DHns@p;m z8WKSBD?uX6>No|sA|S#aAxMKm0az|o2!vG~mjK6s4F6hLO?U_ZPkZ4(*nO@V0MU>g z+1)-EdV`&C4A4{ju5OJc6}awUZU>k-2>AK;6$)|J6GYa#uE@=R|IR1=_rdn zuU)5L+kHbN0LZyF{m-@!c6Yn!{XFS0%V7ktLTHkwRV#p{!Cj3f%w|)gFGrHLK?^V| zr|m+s0-!tjc2n8C2-;gy3&5zHCh0230Puv5K*$2<%WAv8ssXf%IHU-b0N3)Gq@Sh= zz`BA)f=~@`mf0lT0~G+?7w|Xc07B*)#((%tMkI1Pd6= zkR3!5AXpF0 ztZa(OxmnZGGY~YhvZ8=<#Iqi;Y^uw<~(? zO$LHw2`o(`9D#s-fkVVQZx9GA@;Ylphwnz~g rWBBL>G^!p5gvJ^^>J~D(9$tiBPw=?lX+v|>00000NkvXXu0mjfoa|M% diff --git a/core/src/mindustry/content/Items.java b/core/src/mindustry/content/Items.java index a671f25b57..285cc0a558 100644 --- a/core/src/mindustry/content/Items.java +++ b/core/src/mindustry/content/Items.java @@ -31,7 +31,7 @@ public class Items implements ContentList{ }}; sand = new Item("sand", Color.valueOf("f7cba4")){{ - + alwaysUnlocked = true; }}; coal = new Item("coal", Color.valueOf("272727")){{ diff --git a/core/src/mindustry/content/Liquids.java b/core/src/mindustry/content/Liquids.java index 56d3e481ab..aaced53394 100644 --- a/core/src/mindustry/content/Liquids.java +++ b/core/src/mindustry/content/Liquids.java @@ -13,6 +13,7 @@ public class Liquids implements ContentList{ water = new Liquid("water", Color.valueOf("596ab8")){{ heatCapacity = 0.4f; effect = StatusEffects.wet; + alwaysUnlocked = true; }}; slag = new Liquid("slag", Color.valueOf("ffa166")){{ diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index 61ab5b8e40..02a130f93a 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -10,6 +10,7 @@ import mindustry.type.*; import mindustry.world.*; import static mindustry.content.Blocks.*; +import static mindustry.content.UnitTypes.*; public class TechTree implements ContentList{ private static ObjectMap map = new ObjectMap<>(); @@ -72,6 +73,260 @@ public class TechTree implements ContentList{ }); }); + node(mechanicalDrill, () -> { + + node(mechanicalPump, () -> { + node(conduit, () -> { + node(liquidJunction, () -> { + node(liquidRouter, () -> { + node(liquidTank); + + node(bridgeConduit); + + node(pulseConduit, () -> { + node(phaseConduit, () -> { + + }); + + node(platedConduit, () -> { + + }); + }); + + node(rotaryPump, () -> { + node(thermalPump, () -> { + + }); + }); + }); + }); + }); + }); + + node(Items.coal, () -> { + node(Items.graphite, () -> { + node(graphitePress, () -> { + node(Items.titanium, () -> { + node(pneumaticDrill, () -> { + node(Items.sporePod, () -> { + node(cultivator, () -> { + + }); + }); + + node(Items.thorium, () -> { + node(laserDrill, () -> { + node(blastDrill, () -> { + + }); + + node(waterExtractor, () -> { + node(oilExtractor, () -> { + + }); + }); + }); + }); + }); + }); + + node(Items.pyratite, () -> { + node(pyratiteMixer, () -> { + node(Items.blastCompound, () -> { + node(blastMixer, () -> { + + }); + }); + }); + }); + + node(Items.silicon, () -> { + node(siliconSmelter, () -> { + + node(Liquids.oil, () -> { + node(sporePress, () -> { + node(coalCentrifuge, () -> { + node(multiPress, () -> { + node(siliconCrucible, () -> { + + }); + }); + }); + + node(Items.plastanium, () -> { + node(plastaniumCompressor, () -> { + node(Items.phasefabric, () -> { + node(phaseWeaver, () -> { + + }); + }); + }); + }); + }); + }); + + node(Items.metaglass, () -> { + node(kiln, () -> { + node(incinerator, () -> { + node(Items.scrap, () -> { + node(Liquids.slag, () -> { + node(melter, () -> { + node(Items.surgealloy, () -> { + node(surgeSmelter, () -> { + + }); + }); + + node(separator, () -> { + node(pulverizer, () -> { + node(disassembler, () -> { + + }); + }); + }); + + node(Liquids.cryofluid, () -> { + node(cryofluidMixer, () -> { + + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); + + + node(combustionGenerator, () -> { + node(powerNode, () -> { + node(powerNodeLarge, () -> { + node(diode, () -> { + node(surgeTower, () -> { + + }); + }); + }); + + node(battery, () -> { + node(batteryLarge, () -> { + + }); + }); + + node(mender, () -> { + node(mendProjector, () -> { + node(forceProjector, () -> { + node(overdriveProjector, () -> { + node(overdriveDome, () -> { + + }); + }); + }); + + node(repairPoint, () -> { + + }); + }); + }); + + node(turbineGenerator, () -> { + node(thermalGenerator, () -> { + node(differentialGenerator, () -> { + node(thoriumReactor, () -> { + node(impactReactor, () -> { + + }); + + node(rtgGenerator, () -> { + + }); + }); + }); + }); + }); + + node(solarPanel, () -> { + node(largeSolarPanel, () -> { + + }); + }); + + node(groundFactory, () -> { + node(dagger, () -> { + node(mace, () -> { + node(fortress, () -> { + + }); + }); + + node(nova, () -> { + node(pulsar, () -> { + node(quasar, () -> { + + }); + }); + }); + + node(crawler, () -> { + node(atrax, () -> { + node(spiroct, () -> { + + }); + }); + }); + }); + + node(airFactory, () -> { + node(flare, () -> { + node(horizon, () -> { + node(zenith, () -> { + node(antumbra, () -> { + node(eclipse, () -> { + + }); + }); + }); + }); + + node(mono, () -> { + node(poly, () -> { + node(mega, () -> { + + }); + }); + }); + }); + + node(navalFactory, () -> { + node(risso, () -> { + node(minke, () -> { + node(bryde, () -> { + + }); + }); + }); + }); + }); + + node(additiveReconstructor, () -> { + node(multiplicativeReconstructor, () -> { + node(exponentialReconstructor, () -> { + node(tetrativeReconstructor, () -> { + }); + }); + }); + }); + }); + }); + }); + }); + }); + node(coreFoundation, () -> { node(coreNucleus, () -> { @@ -149,182 +404,6 @@ public class TechTree implements ContentList{ }); }); }); - - node(mechanicalDrill, () -> { - - node(Liquids.water, () -> { - node(mechanicalPump, () -> { - node(conduit, () -> { - node(liquidJunction, () -> { - node(liquidRouter, () -> { - node(liquidTank); - - node(bridgeConduit); - - node(pulseConduit, () -> { - node(phaseConduit, () -> { - - }); - - node(platedConduit, () -> { - - }); - }); - - node(rotaryPump, () -> { - node(thermalPump, () -> { - - }); - }); - }); - }); - }); - }); - }); - - node(Items.coal, () -> { - node(graphitePress, () -> { - node(pneumaticDrill, () -> { - node(cultivator, () -> { - - }); - - node(laserDrill, () -> { - node(blastDrill, () -> { - - }); - - node(waterExtractor, () -> { - node(oilExtractor, () -> { - - }); - }); - }); - }); - - node(pyratiteMixer, () -> { - node(blastMixer, () -> { - - }); - }); - - node(siliconSmelter, () -> { - - node(sporePress, () -> { - node(coalCentrifuge, () -> { - node(multiPress, () -> { - node(siliconCrucible, () -> { - - }); - }); - }); - - - node(plastaniumCompressor, () -> { - node(phaseWeaver, () -> { - - }); - }); - }); - - node(kiln, () -> { - node(incinerator, () -> { - node(melter, () -> { - node(surgeSmelter, () -> { - - }); - - node(separator, () -> { - node(pulverizer, () -> { - node(disassembler, () -> { - - }); - }); - }); - - node(cryofluidMixer, () -> { - - }); - }); - }); - }); - }); - }); - - node(combustionGenerator, () -> { - node(powerNode, () -> { - node(powerNodeLarge, () -> { - node(diode, () -> { - node(surgeTower, () -> { - - }); - }); - }); - - node(battery, () -> { - node(batteryLarge, () -> { - - }); - }); - - node(mender, () -> { - node(mendProjector, () -> { - node(forceProjector, () -> { - node(overdriveProjector, () -> { - node(overdriveDome, () -> { - - }); - }); - }); - - node(repairPoint, () -> { - - }); - }); - }); - - node(turbineGenerator, () -> { - node(thermalGenerator, () -> { - node(differentialGenerator, () -> { - node(thoriumReactor, () -> { - node(impactReactor, () -> { - - }); - - node(rtgGenerator, () -> { - - }); - }); - }); - }); - }); - - node(solarPanel, () -> { - node(largeSolarPanel, () -> { - - }); - }); - - node(groundFactory, () -> { - node(airFactory, () -> { - node(navalFactory, () -> { - - }); - - node(additiveReconstructor, () -> { - node(multiplicativeReconstructor, () -> { - node(exponentialReconstructor, () -> { - node(tetrativeReconstructor, () -> { - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); }); } diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index f2804359b4..6f7bec33d7 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -127,9 +127,13 @@ public class UnitFactory extends UnitBlock{ @Override public void buildConfiguration(Table table){ - Seq units = Seq.with(plans).map(u -> u.unit); + Seq units = Seq.with(plans).map(u -> u.unit).filter(u -> u.unlockedNow()); - ItemSelection.buildTable(table, units, () -> currentPlan == -1 ? null : plans[currentPlan].unit, unit -> configure(units.indexOf(unit))); + if(units.any()){ + ItemSelection.buildTable(table, units, () -> currentPlan == -1 ? null : plans[currentPlan].unit, unit -> configure(units.indexOf(unit))); + }else{ + table.table(Styles.black3, t -> t.add("$none").color(Color.lightGray)); + } } @Override diff --git a/gradle.properties b/gradle.properties index ef9df1eb5f..cc97bde904 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=e3078d7782509f39e5b0ee6989c5f7eeea0ad1b7 +archash=7cc77789e24f6c78fc61922ab2025d1f2d0df7bf