From 458922e945375a785cfe075fdc9631923ff70198 Mon Sep 17 00:00:00 2001 From: BlueZeeKing Date: Tue, 28 Nov 2023 14:24:57 -0500 Subject: [PATCH] Update to pre 4 --- gradle.properties | 10 +++++----- .../io/icker/factions/api/persistents/Faction.java | 2 +- src/main/java/io/icker/factions/database/Database.java | 6 ++++-- .../io/icker/factions/util/PlaceholdersWrapper.java | 9 ++++++--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/gradle.properties b/gradle.properties index d305ae79..068186d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,17 @@ org.gradle.jvmargs=-Xmx2G # Fabric Properties -minecraft_version=1.20.2 -yarn_mappings=1.20.2+build.1 -loader_version=0.14.22 +minecraft_version=1.20.3-pre4 +yarn_mappings=1.20.3-pre4+build.1 +loader_version=0.14.25 # Mod Properties -mod_version = 2.5.2 +mod_version = 2.6.0 maven_group = io.icker archives_base_name = factions # Dependencies -fabric_version=0.89.0+1.20.2 +fabric_version=0.91.1+1.20.3 lucko_permissions_version=0.3-SNAPSHOT dynmap_api_version=3.7-SNAPSHOT papi_version=2.1.3+1.20.1 diff --git a/src/main/java/io/icker/factions/api/persistents/Faction.java b/src/main/java/io/icker/factions/api/persistents/Faction.java index da275b22..e679d1c0 100644 --- a/src/main/java/io/icker/factions/api/persistents/Faction.java +++ b/src/main/java/io/icker/factions/api/persistents/Faction.java @@ -136,7 +136,7 @@ public SimpleInventory getSafe() { } public DefaultedList clearSafe() { - DefaultedList stacks = this.safe.stacks; + DefaultedList stacks = this.safe.heldStacks; this.safe = new SimpleInventory(54); return stacks; } diff --git a/src/main/java/io/icker/factions/database/Database.java b/src/main/java/io/icker/factions/database/Database.java index 4c1d9daf..61622b01 100644 --- a/src/main/java/io/icker/factions/database/Database.java +++ b/src/main/java/io/icker/factions/database/Database.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; +import java.nio.file.Path; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -15,6 +16,7 @@ import net.minecraft.nbt.NbtElement; import net.minecraft.nbt.NbtIo; import net.minecraft.nbt.NbtList; +import net.minecraft.nbt.NbtTagSizeTracker; public class Database { private static final File BASE_PATH = @@ -44,7 +46,7 @@ public static HashMap load(Class clazz, Function getStoreK } try { - NbtList list = (NbtList) NbtIo.readCompressed(file).get(KEY); + NbtList list = (NbtList) NbtIo.readCompressed(Path.of(file.getPath()), NbtTagSizeTracker.ofUnlimitedBytes()).get(KEY); for (T item : deserializeList(clazz, list)) { store.put(getStoreKey.apply(item), item); } @@ -107,7 +109,7 @@ public static void save(Class clazz, List items) { try { NbtCompound fileData = new NbtCompound(); fileData.put(KEY, serializeList(clazz, items)); - NbtIo.writeCompressed(fileData, file); + NbtIo.writeCompressed(fileData, Path.of(file.getPath())); } catch (IOException | ReflectiveOperationException e) { FactionsMod.LOGGER.error("Failed to write NBT data ({})", file, e); } diff --git a/src/main/java/io/icker/factions/util/PlaceholdersWrapper.java b/src/main/java/io/icker/factions/util/PlaceholdersWrapper.java index 5784ff26..e79d1427 100644 --- a/src/main/java/io/icker/factions/util/PlaceholdersWrapper.java +++ b/src/main/java/io/icker/factions/util/PlaceholdersWrapper.java @@ -98,8 +98,7 @@ public static void init() { int red = mapBoundRange(faction.calculateMaxPower(), 0, 170, 255, faction.getPower()); int green = mapBoundRange(0, faction.calculateMaxPower(), 170, 255, faction.getPower()); return Text.literal(String.valueOf(faction.getPower())) - .setStyle(Style.EMPTY.withColor(TextColor.parse( - "#" + Integer.toHexString(red) + Integer.toHexString(green) + "AA"))); + .setStyle(Style.EMPTY.withColor(rgbToInt(red, green, 170))); }); register("max_power", (member) -> { @@ -131,10 +130,14 @@ public static void init() { int reqPower = faction.getClaims().size() * FactionsMod.CONFIG.POWER.CLAIM_WEIGHT; int red = mapBoundRange(0, faction.getPower(), 85, 255, reqPower); return Text.literal(String.valueOf(reqPower)).setStyle(Style.EMPTY - .withColor(TextColor.parse("#" + Integer.toHexString(red) + "5555"))); + .withColor(rgbToInt(red, 85, 85))); }); } + private static int rgbToInt(int red, int green, int blue) { + return (red & 255 << 16) | (green & 255 << 8) | (blue & 255); + } + private static int mapBoundRange(int from_min, int from_max, int to_min, int to_max, int value) { return Math.min(to_max, Math.max(to_min,