This commit is contained in:
Anuken
2026-09-12 23:21:40 -04:00
parent 89527f879b
commit 56348b3e31
2 changed files with 18 additions and 5 deletions
@@ -47,8 +47,10 @@ public class ItemModule extends BlockModule{
public void updateFlow(){
//update the flow at N fps at most
if(flowTimer.get(1, flowPollInterval)){
int len = content.items().size;
if(items.length != len) items = Arrays.copyOf(items, len);
if(flow == null){
if(flow == null || flow.length != len || cacheSums == null || cacheFlow == null){
if(cacheFlow == null || cacheFlow.length != items.length){
cacheFlow = new WindowedMean[items.length];
for(int i = 0; i < items.length; i++){
@@ -290,6 +292,10 @@ public class ItemModule extends BlockModule{
public void checkArrayCapacity(int size){
if(items.length != size) items = Arrays.copyOf(items, size);
cacheFlow = null;
cacheSums = null;
displayFlow = null;
flow = null;
}
@Override
@@ -20,9 +20,9 @@ public class LiquidModule extends BlockModule{
public static float flowVisualRefreshInterval = 15f;
private static final Interval flowTimer = new Interval(2);
private static WindowedMean[] cacheFlow;
private static float[] cacheSums;
private static float[] displayFlow;
private static @Nullable WindowedMean[] cacheFlow;
private static @Nullable float[] cacheSums;
private static @Nullable float[] displayFlow;
private static final Bits cacheBits = new Bits();
private float[] liquids = new float[content.liquids().size];
@@ -32,7 +32,10 @@ public class LiquidModule extends BlockModule{
public void updateFlow(){
if(flowTimer.get(1, flowPollInterval)){
if(flow == null){
int len = content.liquids().size;
if(liquids.length != len) liquids = Arrays.copyOf(liquids, len);
if(flow == null || flow.length != len || cacheSums == null || cacheFlow == null){
if(cacheFlow == null || cacheFlow.length != liquids.length){
cacheFlow = new WindowedMean[liquids.length];
for(int i = 0; i < liquids.length; i++){
@@ -152,6 +155,10 @@ public class LiquidModule extends BlockModule{
public void checkArrayCapacity(int size){
if(liquids.length != size) liquids = Arrays.copyOf(liquids, size);
cacheFlow = null;
cacheSums = null;
displayFlow = null;
flow = null;
}
@Override