-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Breaking Changes: Improved Config Networking System
Add Caches
- Loading branch information
1 parent
2f60f2d
commit 8f09ec9
Showing
16 changed files
with
241 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.mmodding.mmodding_lib; | ||
|
||
import com.mmodding.mmodding_lib.library.caches.Caches; | ||
import com.mmodding.mmodding_lib.library.config.Config; | ||
import org.jetbrains.annotations.ApiStatus; | ||
|
||
@ApiStatus.Internal | ||
public class LocalCaches { | ||
|
||
public static final Caches.Local<String, Config> CONFIGS = new Caches.Local<>("Configs", "Qualifier", "Config"); | ||
|
||
public static void debugCaches() { | ||
CONFIGS.debug(); | ||
} | ||
|
||
public static void clearCaches() { | ||
CONFIGS.clear(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 9 additions & 25 deletions
34
src/main/java/com/mmodding/mmodding_lib/client/ClientCaches.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,32 @@ | ||
package com.mmodding.mmodding_lib.client; | ||
|
||
import com.mmodding.mmodding_lib.library.caches.Caches; | ||
import com.mmodding.mmodding_lib.library.config.StaticConfig; | ||
import com.mmodding.mmodding_lib.library.glint.GlintPackView; | ||
import com.mmodding.mmodding_lib.library.glint.client.GlintPack; | ||
import net.minecraft.item.Item; | ||
import org.jetbrains.annotations.ApiStatus; | ||
import org.quiltmc.loader.api.minecraft.ClientOnly; | ||
|
||
import java.util.HashMap; | ||
|
||
@ClientOnly | ||
@ApiStatus.Internal | ||
public class ClientCaches { | ||
|
||
public static final ClientCache<Item, GlintPack> GLINT_PACKS = new ClientCache<>("Glint Packs", "Item", "Glint Pack"); | ||
public static final Caches.Client<String, StaticConfig> CONFIGS = new Caches.Client<>("Configs", "Qualifier", "Config"); | ||
|
||
public static final Caches.Client<Item, GlintPack> GLINT_PACKS = new Caches.Client<>("Glint Packs", "Item", "Glint Pack"); | ||
|
||
public static final ClientCache<Item, GlintPackView> GLINT_PACK_OVERRIDES = new ClientCache<>("Glint Pack Overrides", "Item", "Glint Pack View"); | ||
public static final Caches.Client<Item, GlintPackView> GLINT_PACK_OVERRIDES = new Caches.Client<>("Glint Pack Overrides", "Item", "Glint Pack View"); | ||
|
||
public static void debugCaches() { | ||
CONFIGS.debug(); | ||
GLINT_PACKS.debug(); | ||
GLINT_PACK_OVERRIDES.debug(); | ||
} | ||
|
||
public static void avoidCaches() { | ||
public static void clearCaches() { | ||
CONFIGS.clear(); | ||
GLINT_PACKS.clear(); | ||
GLINT_PACK_OVERRIDES.clear(); | ||
} | ||
|
||
public static class ClientCache<K, V> extends HashMap<K, V> { | ||
|
||
private final String cache; | ||
private final String key; | ||
private final String value; | ||
|
||
public ClientCache(String cache, String key, String value) { | ||
this.cache = cache; | ||
this.key = key; | ||
this.value = value; | ||
} | ||
|
||
public void debug() { | ||
System.out.println("Client Cache {" + this.cache + "} :"); | ||
this.forEach((key, value) -> System.out.println( | ||
"- " + this.key + " : " + key + " | " + this.value + " : " + value | ||
)); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
src/main/java/com/mmodding/mmodding_lib/library/caches/Caches.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package com.mmodding.mmodding_lib.library.caches; | ||
|
||
import org.quiltmc.loader.api.minecraft.ClientOnly; | ||
|
||
import java.util.HashMap; | ||
|
||
public class Caches { | ||
|
||
public abstract static class Cache<K, V> extends HashMap<K, V> { | ||
|
||
protected final String cache; | ||
protected final String key; | ||
protected final String value; | ||
|
||
private Cache(String cache, String key, String value) { | ||
this.cache = cache; | ||
this.key = key; | ||
this.value = value; | ||
} | ||
|
||
abstract public boolean clientReserved(); | ||
|
||
public void debug() { | ||
System.out.println((this.clientReserved() ? "Client " : "Local ") + "Cache {" + this.cache + "} :"); | ||
this.forEach((key, value) -> System.out.println( | ||
"- " + this.key + " : " + key + " | " + this.value + " : " + value | ||
)); | ||
} | ||
} | ||
|
||
public static class Local<K, V> extends Cache<K, V> { | ||
|
||
public Local(String cache, String key, String value) { | ||
super(cache, key, value); | ||
} | ||
|
||
@Override | ||
public boolean clientReserved() { | ||
return false; | ||
} | ||
} | ||
|
||
@ClientOnly | ||
public static class Client<K, V> extends Cache<K, V> { | ||
|
||
public Client(String cache, String key, String value) { | ||
super(cache, key, value); | ||
} | ||
|
||
@Override | ||
public boolean clientReserved() { | ||
return true; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.