Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features

This commit is contained in:
Anuken
2021-10-15 14:24:48 -04:00
10 changed files with 29 additions and 17 deletions

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). 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. 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 ### Windows

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

View File

@@ -11,6 +11,7 @@ import arc.util.*;
import mindustry.ai.*; import mindustry.ai.*;
import mindustry.ai.types.*; import mindustry.ai.types.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.core.*; import mindustry.core.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.*; import mindustry.entities.*;
@@ -41,7 +42,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Import WeaponMount[] mounts; @Import WeaponMount[] mounts;
private UnitController controller; private UnitController controller;
UnitType type; UnitType type = UnitTypes.alpha;
boolean spawnedByCore; boolean spawnedByCore;
double flag; double flag;

View File

@@ -166,6 +166,7 @@ public class ClassMap{
classes.put("Bush", mindustry.world.blocks.environment.Bush.class); classes.put("Bush", mindustry.world.blocks.environment.Bush.class);
classes.put("Cliff", mindustry.world.blocks.environment.Cliff.class); classes.put("Cliff", mindustry.world.blocks.environment.Cliff.class);
classes.put("DoubleOverlayFloor", mindustry.world.blocks.environment.DoubleOverlayFloor.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("Floor", mindustry.world.blocks.environment.Floor.class);
classes.put("OreBlock", mindustry.world.blocks.environment.OreBlock.class); classes.put("OreBlock", mindustry.world.blocks.environment.OreBlock.class);
classes.put("OverlayFloor", mindustry.world.blocks.environment.OverlayFloor.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("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class);
classes.put("BlockProducerBuild", mindustry.world.blocks.payloads.BlockProducer.BlockProducerBuild.class); classes.put("BlockProducerBuild", mindustry.world.blocks.payloads.BlockProducer.BlockProducerBuild.class);
classes.put("BuildPayload", mindustry.world.blocks.payloads.BuildPayload.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("NuclearWarhead", mindustry.world.blocks.payloads.NuclearWarhead.class);
classes.put("NuclearWarheadBuild", mindustry.world.blocks.payloads.NuclearWarhead.NuclearWarheadBuild.class); classes.put("NuclearWarheadBuild", mindustry.world.blocks.payloads.NuclearWarhead.NuclearWarheadBuild.class);
classes.put("Payload", mindustry.world.blocks.payloads.Payload.class); classes.put("Payload", mindustry.world.blocks.payloads.Payload.class);
classes.put("PayloadBlock", mindustry.world.blocks.payloads.PayloadBlock.class); classes.put("PayloadBlock", mindustry.world.blocks.payloads.PayloadBlock.class);
classes.put("PayloadBlockBuild", mindustry.world.blocks.payloads.PayloadBlock.PayloadBlockBuild.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("PayloadMassDriver", mindustry.world.blocks.payloads.PayloadMassDriver.class);
classes.put("PayloadDriverBuild", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverBuild.class); classes.put("PayloadDriverBuild", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverBuild.class);
classes.put("PayloadDriverState", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverState.class); classes.put("PayloadDriverState", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadDriverState.class);
classes.put("PayloadMassDriverData", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadMassDriverData.class); classes.put("PayloadMassDriverData", mindustry.world.blocks.payloads.PayloadMassDriver.PayloadMassDriverData.class);
classes.put("PayloadSource", mindustry.world.blocks.payloads.PayloadSource.class); classes.put("PayloadSource", mindustry.world.blocks.payloads.PayloadSource.class);
classes.put("PayloadSourceBuild", mindustry.world.blocks.payloads.PayloadSource.PayloadSourceBuild.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("PayloadVoid", mindustry.world.blocks.payloads.PayloadVoid.class);
classes.put("PayloadVoidBuild", mindustry.world.blocks.payloads.PayloadVoid.PayloadVoidBuild.class); classes.put("PayloadVoidBuild", mindustry.world.blocks.payloads.PayloadVoid.PayloadVoidBuild.class);
classes.put("UnitPayload", mindustry.world.blocks.payloads.UnitPayload.class); classes.put("UnitPayload", mindustry.world.blocks.payloads.UnitPayload.class);

View File

@@ -236,10 +236,11 @@ public class ContentParser{
Block block; Block block;
if(locate(ContentType.block, name) != null){ if(locate(ContentType.block, name) != null){
block = locate(ContentType.block, name);
if(value.has("type")){ 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{ }else{
block = make(resolve(value.getString("type", ""), Block.class), mod + "-" + name); block = make(resolve(value.getString("type", ""), Block.class), mod + "-" + name);
@@ -746,15 +747,15 @@ public class ContentParser{
TechNode parent = TechTree.all.find(t -> t.content.name.equals(researchName) || t.content.name.equals(currentMod.name + "-" + researchName)); TechNode parent = TechTree.all.find(t -> t.content.name.equals(researchName) || t.content.name.equals(currentMod.name + "-" + researchName));
if(parent == null){ 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;
}); });
} }
} }

View File

@@ -25,6 +25,7 @@ public class PayloadBlock extends Block{
update = true; update = true;
sync = true; sync = true;
group = BlockGroup.payloads;
envEnabled |= Env.space; envEnabled |= Env.space;
} }

View File

@@ -1,7 +1,7 @@
package mindustry.world.meta; package mindustry.world.meta;
public enum BlockGroup{ public enum BlockGroup{
none, walls(true), projectors(true), turrets(true), transportation(true), power, liquids(true), drills, units, logic(true); none, walls(true), projectors(true), turrets(true), transportation(true), power, liquids(true), drills, units, logic(true), payloads(true);
/** if true, any block in this category replaces any other block in this category. */ /** if true, any block in this category replaces any other block in this category. */
public final boolean anyReplace; public final boolean anyReplace;

View File

@@ -3,7 +3,7 @@
"address": "be.mindustry.nydus.app:6567" "address": "be.mindustry.nydus.app:6567"
}, },
{ {
"address": "46.105.36.238:7777" "address": "0.baseduser.eu.org:7777"
}, },
{ {
"address": "v7.mindurka.tk:9999" "address": "v7.mindurka.tk:9999"

View File

@@ -1,7 +1,7 @@
[ [
{ {
"name": "mindustry.pl", "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.", "name": "C.A.M.S.",