Fix new avatar weapons being null

This commit is contained in:
KingRainbow44
2023-05-31 21:04:38 -04:00
Unverified
parent bcf54dd6ba
commit 73c23707b4
7 changed files with 82 additions and 51 deletions
+23 -5
View File
@@ -1,15 +1,16 @@
package emu.grasscutter.utils;
import static emu.grasscutter.utils.FileUtils.getResourcePath;
import static emu.grasscutter.utils.lang.Language.translate;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.config.ConfigContainer;
import emu.grasscutter.data.DataLoader;
import emu.grasscutter.game.world.Position;
import emu.grasscutter.utils.objects.Returnable;
import io.javalin.http.Context;
import io.netty.buffer.*;
import it.unimi.dsi.fastutil.ints.*;
import org.slf4j.Logger;
import javax.annotation.Nullable;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
@@ -17,8 +18,9 @@ import java.time.*;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
import javax.annotation.Nullable;
import org.slf4j.Logger;
import static emu.grasscutter.utils.FileUtils.getResourcePath;
import static emu.grasscutter.utils.lang.Language.translate;
@SuppressWarnings({"UnusedReturnValue", "BooleanMethodIsAlwaysInverted"})
public final class Utils {
@@ -477,4 +479,20 @@ public final class Utils {
// Return the request IP.
return ctx.ip();
}
/**
* Waits for the task to return true.
* This will halt the thread until the task returns true.
*
* @param runnable The task to run.
*/
public static void waitFor(Returnable<Boolean> runnable) {
while (!runnable.invoke()) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}