Merge remote-tracking branch 'origin/master'
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-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:
|
First, make sure you have [JDK 16-17](https://adoptium.net/archive.html?variant=openjdk17&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands:
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
|
|||||||
@@ -54,9 +54,9 @@ public class Pathfinder implements Runnable{
|
|||||||
(PathTile.solid(tile) ? 5 : 0),
|
(PathTile.solid(tile) ? 5 : 0),
|
||||||
|
|
||||||
//water
|
//water
|
||||||
(team, tile) -> PathTile.solid(tile) || !PathTile.liquid(tile) ? 200 : 2 +
|
(team, tile) -> (PathTile.solid(tile) || !PathTile.liquid(tile) ? 6000 : 1) +
|
||||||
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) +
|
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) +
|
||||||
(PathTile.deep(tile) ? -1 : 0) +
|
(PathTile.deep(tile) ? 0 : 1) +
|
||||||
(PathTile.damages(tile) ? 35 : 0)
|
(PathTile.damages(tile) ? 35 : 0)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -757,6 +757,8 @@ public class NetServer implements ApplicationListener{
|
|||||||
|
|
||||||
player.add();
|
player.add();
|
||||||
|
|
||||||
|
Events.fire(new PlayerConnectionConfirmed(player));
|
||||||
|
|
||||||
if(player.con == null || player.con.hasConnected) return;
|
if(player.con == null || player.con.hasConnected) return;
|
||||||
|
|
||||||
player.con.hasConnected = true;
|
player.con.hasConnected = true;
|
||||||
|
|||||||
@@ -359,8 +359,9 @@ public class BulletType extends Content implements Cloneable{
|
|||||||
//home in on allies if possible
|
//home in on allies if possible
|
||||||
if(healPercent > 0){
|
if(healPercent > 0){
|
||||||
target = Units.closestTarget(null, b.x, b.y, homingRange,
|
target = Units.closestTarget(null, b.x, b.y, homingRange,
|
||||||
e -> e.checkTarget(collidesAir, collidesGround) && e.team != b.team,
|
e -> e.checkTarget(collidesAir, collidesGround) && e.team != b.team && !b.hasCollided(e.id),
|
||||||
t -> collidesGround && (t.team != b.team || t.damaged()));
|
t -> collidesGround && (t.team != b.team || t.damaged()) && !b.hasCollided(t.id)
|
||||||
|
);
|
||||||
}else{
|
}else{
|
||||||
target = Units.closestTarget(b.team, b.x, b.y, homingRange, e -> e.checkTarget(collidesAir, collidesGround) && !b.hasCollided(e.id), t -> collidesGround && !b.hasCollided(t.id));
|
target = Units.closestTarget(b.team, b.x, b.y, homingRange, e -> e.checkTarget(collidesAir, collidesGround) && !b.hasCollided(e.id), t -> collidesGround && !b.hasCollided(t.id));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -480,7 +480,19 @@ public class EventType{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Called after connecting; when a player receives world data and is ready to play.*/
|
/**
|
||||||
|
* Called after player confirmed it has received world data and is ready to play.
|
||||||
|
* Note that if this is the first world receival, then player.con.hasConnected is false.
|
||||||
|
*/
|
||||||
|
public static class PlayerConnectionConfirmed{
|
||||||
|
public final Player player;
|
||||||
|
|
||||||
|
public PlayerConnectionConfirmed(Player player){
|
||||||
|
this.player = player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Called after connecting; when a player receives world data and is ready to play. Fired only once, after initial connection. */
|
||||||
public static class PlayerJoin{
|
public static class PlayerJoin{
|
||||||
public final Player player;
|
public final Player player;
|
||||||
|
|
||||||
|
|||||||
@@ -696,9 +696,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
});
|
});
|
||||||
|
|
||||||
//flip rotation
|
//flip rotation
|
||||||
if(x == (req.rotation % 2 == 0)){
|
req.block.flipRotation(req, x);
|
||||||
req.rotation = Mathf.mod(req.rotation + 2, 4);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -468,7 +468,7 @@ public class Block extends UnlockableContent{
|
|||||||
if(hasItems && configurable){
|
if(hasItems && configurable){
|
||||||
bars.add("items", entity -> new Bar(() -> Core.bundle.format("bar.items", entity.items.total()), () -> Pal.items, () -> (float)entity.items.total() / itemCapacity));
|
bars.add("items", entity -> new Bar(() -> Core.bundle.format("bar.items", entity.items.total()), () -> Pal.items, () -> (float)entity.items.total() / itemCapacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(unitCapModifier != 0){
|
if(unitCapModifier != 0){
|
||||||
stats.add(Stat.maxUnits, (unitCapModifier < 0 ? "-" : "+") + Math.abs(unitCapModifier));
|
stats.add(Stat.maxUnits, (unitCapModifier < 0 ? "-" : "+") + Math.abs(unitCapModifier));
|
||||||
}
|
}
|
||||||
@@ -824,7 +824,7 @@ public class Block extends UnlockableContent{
|
|||||||
}
|
}
|
||||||
|
|
||||||
clipSize = Math.max(clipSize, size * tilesize);
|
clipSize = Math.max(clipSize, size * tilesize);
|
||||||
|
|
||||||
//only kept to ensure compatibility with v6 mods.
|
//only kept to ensure compatibility with v6 mods.
|
||||||
if(expanded){
|
if(expanded){
|
||||||
clipSize += tilesize * 10f;
|
clipSize += tilesize * 10f;
|
||||||
@@ -989,4 +989,9 @@ public class Block extends UnlockableContent{
|
|||||||
packer.add(PageType.editor, name + "-icon-editor", editorBase);
|
packer.add(PageType.editor, name + "-icon-editor", editorBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void flipRotation(BuildPlan req, boolean x){
|
||||||
|
if(x == (req.rotation % 2 == 0)){
|
||||||
|
req.rotation = Mathf.mod(req.rotation + 2, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user