let's not do that
This commit is contained in:
@@ -701,10 +701,6 @@ public class Block extends UnlockableContent implements Senseable{
|
|||||||
return liquidFilter[liq.id];
|
return liquidFilter[liq.id];
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canReplace(Tile tile, Block other){
|
|
||||||
return canReplace(other);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean canReplace(Block other){
|
public boolean canReplace(Block other){
|
||||||
if(other.alwaysReplace) return true;
|
if(other.alwaysReplace) return true;
|
||||||
if(other.privileged) return false;
|
if(other.privileged) return false;
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ public class Build{
|
|||||||
|
|
||||||
//floors have different checks
|
//floors have different checks
|
||||||
if(type.isFloor()){
|
if(type.isFloor()){
|
||||||
return type.isOverlay() ? type.canReplace(tile, tile.overlay()) : type.canReplace(tile, tile.floor());
|
return type.isOverlay() ? tile.overlay() != type : tile.floor() != type;
|
||||||
}
|
}
|
||||||
|
|
||||||
//campaign darkness check
|
//campaign darkness check
|
||||||
@@ -247,7 +247,7 @@ public class Build{
|
|||||||
!check.floor().placeableOn && !type.ignoreBuildDarkness || //solid floor
|
!check.floor().placeableOn && !type.ignoreBuildDarkness || //solid floor
|
||||||
//when you have a payload, you cannot place blocks on things, even if normal placement rules allow it. this is a hack that assumes checkVisible = true means it's coming from a payload
|
//when you have a payload, you cannot place blocks on things, even if normal placement rules allow it. this is a hack that assumes checkVisible = true means it's coming from a payload
|
||||||
(!checkVisible && checkCoreRadius && !check.block().alwaysReplace) || //replacing a block that should be replaced (e.g. payload placement)
|
(!checkVisible && checkCoreRadius && !check.block().alwaysReplace) || //replacing a block that should be replaced (e.g. payload placement)
|
||||||
!(((type.canReplace(check, check.block()) || (check.build != null && check.build.canBeReplaced(type)) || (type == check.block && team != Team.derelict && state.rules.derelictRepair && check.team() == Team.derelict)) || //can replace type OR can replace derelict block of same type
|
!(((type.canReplace(check.block()) || (check.build != null && check.build.canBeReplaced(type)) || (type == check.block && team != Team.derelict && state.rules.derelictRepair && check.team() == Team.derelict)) || //can replace type OR can replace derelict block of same type
|
||||||
(check.build instanceof ConstructBuild build && build.current == type && check.centerX() == tile.x && check.centerY() == tile.y)) && //same type in construction
|
(check.build instanceof ConstructBuild build && build.current == type && check.centerX() == tile.x && check.centerY() == tile.y)) && //same type in construction
|
||||||
type.bounds(tile.x, tile.y, Tmp.r1).grow(0.01f).contains(check.block.bounds(check.centerX(), check.centerY(), Tmp.r2))) || //no replacement
|
type.bounds(tile.x, tile.y, Tmp.r1).grow(0.01f).contains(check.block.bounds(check.centerX(), check.centerY(), Tmp.r2))) || //no replacement
|
||||||
(type.requiresWater && check.floor().liquidDrop != Liquids.water) //requires water but none found
|
(type.requiresWater && check.floor().liquidDrop != Liquids.water) //requires water but none found
|
||||||
|
|||||||
Reference in New Issue
Block a user