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

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

View File

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

View File

@@ -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);
@@ -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));
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;
sync = true;
group = BlockGroup.payloads;
envEnabled |= Env.space;
}

View File

@@ -1,7 +1,7 @@
package mindustry.world.meta;
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. */
public final boolean anyReplace;