diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index db54b04..62008db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,17 +19,17 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 10 - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: temurin - - uses: actions/cache@v2 + - uses: actions/cache@v4 with: path: | ~/.gradle/caches diff --git a/README.md b/README.md index 99f5c85..1051fcb 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -polycheat but worse (like very worse) + bw stat checker!!! +additonal features that arent in vanilla minecraft for obvious reasons diff --git a/gradle.properties b/gradle.properties index 243caa4..31e262f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ mod_name=Additional # Sets the id of your mod that mod loaders use to recognize it. mod_id=additional # Sets the version of your mod. Make sure to update this when you make changes according to semver. -mod_version=3.0.1 +mod_version=3.0.2 # Sets the name of the jar file that you put in your 'mods' folder. mod_archives_name=Additional diff --git a/src/main/java/me/waffles/additional/Additional.java b/src/main/java/me/waffles/additional/Additional.java index 1a5efa0..ef8d4db 100644 --- a/src/main/java/me/waffles/additional/Additional.java +++ b/src/main/java/me/waffles/additional/Additional.java @@ -23,15 +23,17 @@ public class Additional { public static final String NAME = "@NAME@"; public static final String VERSION = "@VER@"; public static ModConfig config; - public static int maxSize = 16; - public static EldestRemovalMap duelsStatsList = new EldestRemovalMap<>(maxSize); - public static EldestRemovalMap bedwarsStatsList = new EldestRemovalMap<>(maxSize); - public static EldestRemovalMap playerProfileList = new EldestRemovalMap<>(maxSize); + public static EldestRemovalMap duelsStatsList; + public static EldestRemovalMap bedwarsStatsList; + public static EldestRemovalMap playerProfileList; @Mod.EventHandler public void onInit(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(this); config = new ModConfig(); + duelsStatsList = new EldestRemovalMap<>(ModConfig.maxCacheSize); + bedwarsStatsList = new EldestRemovalMap<>(ModConfig.maxCacheSize); + playerProfileList = new EldestRemovalMap<>(ModConfig.maxCacheSize); CommandManager.INSTANCE.registerCommand(new BedwarsStatsCommand()); CommandManager.INSTANCE.registerCommand(new DuelsStatsCommand()); } diff --git a/src/main/java/me/waffles/additional/config/ModConfig.java b/src/main/java/me/waffles/additional/config/ModConfig.java index b8d08d1..188809a 100644 --- a/src/main/java/me/waffles/additional/config/ModConfig.java +++ b/src/main/java/me/waffles/additional/config/ModConfig.java @@ -2,6 +2,7 @@ import cc.polyfrost.oneconfig.config.annotations.*; import cc.polyfrost.oneconfig.config.core.OneKeyBind; +import cc.polyfrost.oneconfig.config.data.InfoType; import cc.polyfrost.oneconfig.libs.universal.UKeyboard; import cc.polyfrost.oneconfig.utils.Notifications; import me.waffles.additional.Additional; @@ -78,6 +79,24 @@ public class ModConfig extends Config { Notifications.INSTANCE.send("Additional", "Cleared player cache", 3000); }; + @Slider( + name = "Amount of players cached", + min = 1, + max = 16, + step = 1, + category = "Stat Checking" + ) + public static int maxCacheSize = 4; + + @Info( + text = "Restart Minecraft to apply changes", + type = InfoType.INFO, + category = "Stat Checking", + size = OptionSize.DUAL + ) + public static boolean ignored2; // Useless. Java limitations with @annotation. + + public ModConfig() { super(new Mod(Additional.NAME, ModType.UTIL_QOL), Additional.MODID + ".json"); initialize(); diff --git a/src/main/java/me/waffles/additional/util/EldestRemovalMap.java b/src/main/java/me/waffles/additional/util/EldestRemovalMap.java index b38744f..c4ac052 100644 --- a/src/main/java/me/waffles/additional/util/EldestRemovalMap.java +++ b/src/main/java/me/waffles/additional/util/EldestRemovalMap.java @@ -7,7 +7,7 @@ public class EldestRemovalMap extends LinkedHashMap { private final int MAX_SIZE; public EldestRemovalMap(int maxSize) { - super(maxSize, 0.75f, true); // true = access order (LRU behavior) + super(maxSize + 1, 1.0f, true); // true = access order (LRU behavior) this.MAX_SIZE = maxSize; }