Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2026-01-01 11:14:05 -05:00
50 changed files with 359 additions and 15 deletions

View File

@@ -37,6 +37,7 @@ import mindustry.ui.fragments.*;
import mindustry.world.*;
import mindustry.world.blocks.ConstructBlock.*;
import mindustry.world.blocks.*;
import mindustry.world.blocks.defense.turrets.*;
import mindustry.world.blocks.distribution.*;
import mindustry.world.blocks.payloads.*;
import mindustry.world.blocks.storage.*;
@@ -2149,7 +2150,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
if(build != null && build.acceptStack(stack.item, stack.amount, player.unit()) > 0 && build.interactable(player.team()) &&
build.block.hasItems && player.unit().stack().amount > 0 && build.interactable(player.team())){
if(build.allowDeposit() && itemDepositCooldown <= 0f){
if(build.allowDeposit() && canDepositItem(build)){
Call.transferInventory(player, build);
itemDepositCooldown = state.rules.itemDepositCooldown;
}
@@ -2158,6 +2159,14 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
}
public boolean canDepositItem(Building build){
//takes advantage of itemDepositCooldown being able to be negative, allows the cooldown to be different for each building
if(build.block.depositCooldown >= 0){
return itemDepositCooldown - state.rules.itemDepositCooldown <= -build.block.depositCooldown;
}
return itemDepositCooldown <= 0;
}
public void rebuildArea(int x1, int y1, int x2, int y2){
NormalizeResult result = Placement.normalizeArea(x1, y1, x2, y2, rotation, false, 999999999);
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);