From 6b3919e8f73bd1224356a954277f4a21d20e3b1d Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 26 Nov 2020 16:49:01 -0500 Subject: [PATCH] Added Call#setItem --- core/src/mindustry/entities/comp/BuildingComp.java | 2 +- core/src/mindustry/input/InputHandler.java | 12 ++++++++++-- gradle.properties | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index efe05f4f0c..533e99b24b 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -435,7 +435,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, } /** Handle a stack input. */ - public void handleStack(Item item, int amount, Teamc source){ + public void handleStack(Item item, int amount, @Nullable Teamc source){ noSleep(); items.add(item, amount); } diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index f0b749fbfd..551fd5e82d 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -96,9 +96,17 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ } @Remote(called = Loc.server, unreliable = true) - public static void transferItemTo(Unit unit, Item item, int amount, float x, float y, Building build){ + public static void setItem(Building build, Item item, int amount){ if(build == null || build.items == null) return; - unit.stack.amount = Math.max(unit.stack.amount - amount, 0); + build.items.set(item, amount); + } + + @Remote(called = Loc.server, unreliable = true) + public static void transferItemTo(@Nullable Unit unit, Item item, int amount, float x, float y, Building build){ + if(build == null || build.items == null) return; + + if(unit != null) unit.stack.amount = Math.max(unit.stack.amount - amount, 0); + for(int i = 0; i < Mathf.clamp(amount / 3, 1, 8); i++){ Time.run(i * 3, () -> createItemTransfer(item, amount, x, y, build, () -> {})); } diff --git a/gradle.properties b/gradle.properties index cd20e76ae5..e5c7e5fe4d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash= +archash=7a2a357f6cfdc3725ce581093a0ced91f4474222