From 0a0ec12e6c0c6f8acacfd7f7b41ae67f6544b40e Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 22 Aug 2021 11:43:14 -0400 Subject: [PATCH] Allow logic itemDrop to @air --- core/src/mindustry/logic/LExecutor.java | 23 ++++++++++++++++------- gradle.properties | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index f9ac8c2f05..94b4e6fa5d 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -487,13 +487,22 @@ public class LExecutor{ case itemDrop -> { if(ai.itemTimer > 0) return; - Building build = exec.building(p1); - int dropped = Math.min(unit.stack.amount, exec.numi(p2)); - if(build != null && build.team == unit.team && build.isValid() && dropped > 0 && unit.within(build, logicItemTransferRange + build.block.size * tilesize/2f)){ - int accepted = build.acceptStack(unit.item(), dropped, unit); - if(accepted > 0){ - Call.transferItemTo(unit, unit.item(), accepted, unit.x, unit.y, build); - ai.itemTimer = LogicAI.transferDelay; + //clear item when dropping to @air + if(exec.obj(p1) == Blocks.air){ + //only server-side; no need to call anything, as items are synced in snapshots + if(!net.client()){ + unit.clearItem(); + } + ai.itemTimer = LogicAI.transferDelay; + }else{ + Building build = exec.building(p1); + int dropped = Math.min(unit.stack.amount, exec.numi(p2)); + if(build != null && build.team == unit.team && build.isValid() && dropped > 0 && unit.within(build, logicItemTransferRange + build.block.size * tilesize/2f)){ + int accepted = build.acceptStack(unit.item(), dropped, unit); + if(accepted > 0){ + Call.transferItemTo(unit, unit.item(), accepted, unit.x, unit.y, build); + ai.itemTimer = LogicAI.transferDelay; + } } } } diff --git a/gradle.properties b/gradle.properties index 7d294adaf4..2bb25b051a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works http.socketTimeout=80000 http.connectionTimeout=80000 -archash=f9d704c4e88dfc9772e1e956268cfe8414f7b133 +archash=95a66af563dfad96ecc4992bd0ab36b07a14e28b