Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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.",
|
||||||
|
|||||||
Reference in New Issue
Block a user