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:
@@ -344,7 +344,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
public static void tileConfig(@Nullable Player player, Building build, @Nullable Object value){
|
public static void tileConfig(@Nullable Player player, Building build, @Nullable Object value){
|
||||||
if(build == null) return;
|
if(build == null) return;
|
||||||
if(net.server() && (!Units.canInteract(player, build) ||
|
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);
|
build.configured(player == null || player.dead() ? null : player.unit(), value);
|
||||||
Core.app.post(() -> Events.fire(new ConfigEvent(build, player, value)));
|
Core.app.post(() -> Events.fire(new ConfigEvent(build, player, value)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -355,7 +355,7 @@ public class PowerNode extends PowerBlock{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placed(){
|
public void placed(){
|
||||||
if(net.client()) return;
|
if(net.client() || power.links.size > 0) return;
|
||||||
|
|
||||||
getPotentialLinks(tile, team, other -> {
|
getPotentialLinks(tile, team, other -> {
|
||||||
if(!power.links.contains(other.pos())){
|
if(!power.links.contains(other.pos())){
|
||||||
@@ -384,15 +384,15 @@ public class PowerNode extends PowerBlock{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == other){
|
if(this == other){ //double tapped
|
||||||
if(other.power.links.size == 0){
|
if(other.power.links.size == 0 || Core.input.shift()){ //find links
|
||||||
int[] total = {0};
|
int[] total = {0};
|
||||||
getPotentialLinks(tile, team, link -> {
|
getPotentialLinks(tile, team, link -> {
|
||||||
if(!insulated(this, link) && total[0]++ < maxNodes){
|
if(!insulated(this, link) && total[0]++ < maxNodes){
|
||||||
configure(link.pos());
|
configure(link.pos());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else{
|
}else{ //clear links
|
||||||
while(power.links.size > 0){
|
while(power.links.size > 0){
|
||||||
configure(power.links.get(0));
|
configure(power.links.get(0));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class StorageBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaximumAccepted(Item item){
|
public int getMaximumAccepted(Item item){
|
||||||
return itemCapacity;
|
return linkedCore != null ? linkedCore.getMaximumAccepted(item) : itemCapacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user