Quality of Life changes (#11370)

* overlay light support, bulk Call.setItem implementations, Call.setLiquid implementations

* Update core/src/mindustry/graphics/BlockRenderer.java

---------

Co-authored-by: Anuken <arnukren@gmail.com>
This commit is contained in:
WMF
2025-11-17 05:43:54 +01:00
committed by GitHub
parent bb4534afde
commit f48900d6de
8 changed files with 148 additions and 4 deletions

View File

@@ -197,12 +197,62 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
build.items.set(item, amount);
}
@Remote(called = Loc.server, unreliable = true)
public static void setItems(Building build, ItemStack[] items){
if(build == null || build.items == null) return;
for(ItemStack stack : items){
build.items.set(stack.item, stack.amount);
}
}
@Remote(called = Loc.server, unreliable = true)
public static void setTileItems(Item item, int amount, int[] positions){
for(int pos : positions){
Building build = world.build(pos);
if(build != null && build.items != null){
build.items.set(item, amount);
}
}
}
@Remote(called = Loc.server, unreliable = true)
public static void clearItems(Building build){
if(build == null || build.items == null) return;
build.items.clear();
}
@Remote(called = Loc.server, unreliable = true)
public static void setLiquid(Building build, Liquid liquid, float amount){
if(build == null || build.liquids == null) return;
build.liquids.set(liquid, amount);
}
@Remote(called = Loc.server, unreliable = true)
public static void setLiquids(Building build, LiquidStack[] liquids){
if(build == null || build.liquids == null) return;
for(LiquidStack stack : liquids){
build.liquids.set(stack.liquid, stack.amount);
}
}
@Remote(called = Loc.server, unreliable = true)
public static void setTileLiquids(Liquid liquid, float amount, int[] positions){
for(int pos : positions){
Building build = world.build(pos);
if(build != null && build.liquids != null){
build.liquids.set(liquid, amount);
}
}
}
@Remote(called = Loc.server, unreliable = true)
public static void clearLiquids(Building build){
if(build == null || build.liquids == null) return;
build.liquids.clear();
}
@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 || item == null) return;