mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-10-02 03:00:29 +03:00
@@ -651,6 +651,17 @@ public class NetServer implements ApplicationListener{
|
||||
return Float.isInfinite(f) || Float.isNaN(f);
|
||||
}
|
||||
|
||||
public static void syncBuilding(Building build){
|
||||
if(build == null) return;
|
||||
netServer.syncStream.reset();
|
||||
netServer.dataStreamWrites.i(build.pos());
|
||||
netServer.dataStreamWrites.s(build.block.id);
|
||||
build.writeSync(netServer.dataStreamWrites);
|
||||
|
||||
Call.blockSnapshot((short)1, netServer.syncStream.toByteArray());
|
||||
netServer.syncStream.reset();
|
||||
}
|
||||
|
||||
@Remote(targets = Loc.client, priority = PacketPriority.low, unreliable = true)
|
||||
public static void requestBlockSnapshot(Player player, int pos){
|
||||
Building build = world.build(pos);
|
||||
|
||||
@@ -732,7 +732,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
Events.fire(new TapEvent(player, tile));
|
||||
}
|
||||
|
||||
@Remote(targets = Loc.both, called = Loc.server, forward = true)
|
||||
@Remote(targets = Loc.both, called = Loc.server)
|
||||
public static void buildingControlSelect(Player player, Building build){
|
||||
if(player == null || build == null || player.dead()) return;
|
||||
|
||||
@@ -744,7 +744,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
if(player.team() == build.team && build.canControlSelect(player.unit())){
|
||||
var before = player.unit();
|
||||
|
||||
build.onControlSelect(player.unit());
|
||||
Call.unitBuildingControlSelect(player.unit(), build);
|
||||
|
||||
if(!before.dead && before.spawnedByCore && !before.isPlayer()){
|
||||
Call.unitDespawn(before);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class NoiseFilter extends GenerateFilter{
|
||||
|
||||
if(noise > threshold && (target == Blocks.air || in.floor == target || in.block == target)){
|
||||
if(floor != Blocks.air) in.floor = floor;
|
||||
if(block != Blocks.air && in.block != Blocks.air && !in.block.breakable) in.block = block;
|
||||
if(block != Blocks.air && in.block != Blocks.air && !in.block.synthetic()) in.block = block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.core.*;
|
||||
import mindustry.ctype.Content;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -176,6 +177,7 @@ public class PayloadConveyor extends Block{
|
||||
if(item.dump()){
|
||||
item = null;
|
||||
moved();
|
||||
NetServer.syncBuilding(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user