Added configurable block access validation

This commit is contained in:
Anuken
2020-01-14 10:32:52 -05:00
parent a526eaa112
commit 68be77fa1d
12 changed files with 93 additions and 43 deletions

View File

@@ -529,6 +529,10 @@ public class Administration{
public @NonNull ActionType type;
public @NonNull Tile tile;
/** valid for block placement events only */
public @Nullable Block block;
public int rotation;
/** valid for configure and rotation-type events only. */
public int config;
@@ -554,7 +558,7 @@ public class Administration{
}
public enum ActionType{
breakBlock, placeBlock, rotate, configure, withdrawItem, depositItem
breakBlock, placeBlock, rotate, configure, tapTile, withdrawItem, depositItem
}
}

View File

@@ -114,12 +114,7 @@ public class ArcNetProvider implements NetProvider{
try{
net.handleServerReceived(k, object);
}catch(RuntimeException e){
if(e.getCause() instanceof ValidateException){
ValidateException v = (ValidateException)e.getCause();
Log.err("Validation failed: {0} ({1})", v.player.name, v.getMessage());
}else{
e.printStackTrace();
}
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}

View File

@@ -1,7 +1,9 @@
package mindustry.net;
import arc.util.*;
import arc.struct.*;
import arc.util.ArcAnnotate.*;
import arc.util.*;
import mindustry.entities.traits.BuilderTrait.*;
import mindustry.entities.type.*;
import mindustry.gen.*;
import mindustry.net.Administration.*;
@@ -21,6 +23,8 @@ public abstract class NetConnection{
public int lastRecievedClientSnapshot = -1;
/** Timestamp of last recieved snapshot. */
public long lastRecievedClientTime;
/** Build requests that have been recently rejected. This is cleared every snapshot. */
public Array<BuildRequest> rejectedRequests = new Array<>();
public boolean hasConnected, hasBegunConnecting, hasDisconnected;
public float viewWidth, viewHeight, viewX, viewY;