Cease node dumbness (#6670)

* Cease.

* Mobile players are second rate citizens

* Undo config on ratelimit, revert PowerNode for loop

* Fix being unable to drop items into core vaults when there are over 1k of the item already
This commit is contained in:
buthed010203 2022-03-28 14:32:36 -04:00 committed by GitHub
parent 12e1f328e8
commit 2bfc23c216
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View File

@ -344,7 +344,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
public static void tileConfig(@Nullable Player player, Building build, @Nullable Object value){
if(build == null) return;
if(net.server() && (!Units.canInteract(player, build) ||
!netServer.admins.allowAction(player, ActionType.configure, build.tile, action -> action.config = value))) throw new ValidateException(player, "Player cannot configure a tile.");
!netServer.admins.allowAction(player, ActionType.configure, build.tile, action -> action.config = value))){
var packet = new TileConfigCallPacket(); //undo the config on the client
packet.player = player;
packet.build = build;
packet.value = build.config();
player.con.send(packet, true);
throw new ValidateException(player, "Player cannot configure a tile.");
}
build.configured(player == null || player.dead() ? null : player.unit(), value);
Core.app.post(() -> Events.fire(new ConfigEvent(build, player, value)));
}

View File

@ -355,7 +355,7 @@ public class PowerNode extends PowerBlock{
@Override
public void placed(){
if(net.client()) return;
if(net.client() || power.links.size > 0) return;
getPotentialLinks(tile, team, other -> {
if(!power.links.contains(other.pos())){
@ -384,15 +384,15 @@ public class PowerNode extends PowerBlock{
return false;
}
if(this == other){
if(other.power.links.size == 0){
if(this == other){ //double tapped
if(other.power.links.size == 0 || Core.input.shift()){ //find links
int[] total = {0};
getPotentialLinks(tile, team, link -> {
if(!insulated(this, link) && total[0]++ < maxNodes){
configure(link.pos());
}
});
}else{
}else{ //clear links
while(power.links.size > 0){
configure(power.links.get(0));
}

View File

@ -84,7 +84,7 @@ public class StorageBlock extends Block{
@Override
public int getMaximumAccepted(Item item){
return itemCapacity;
return linkedCore != null ? linkedCore.getMaximumAccepted(item) : itemCapacity;
}
@Override