diff --git a/src/client/java/io/gitlab/jfronny/globalization/mixin/TranslationStorageMixin.java b/src/client/java/io/gitlab/jfronny/globalization/mixin/TranslationStorageMixin.java index 4d957db..33e3a1e 100644 --- a/src/client/java/io/gitlab/jfronny/globalization/mixin/TranslationStorageMixin.java +++ b/src/client/java/io/gitlab/jfronny/globalization/mixin/TranslationStorageMixin.java @@ -1,7 +1,6 @@ package io.gitlab.jfronny.globalization.mixin; import com.google.common.collect.ImmutableMap; -import io.gitlab.jfronny.globalization.DelegateHashMap; import io.gitlab.jfronny.globalization.GlobalizationMap; import net.minecraft.client.resource.language.LanguageDefinition; import net.minecraft.client.resource.language.TranslationStorage; @@ -11,7 +10,8 @@ import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.callback.LocalCapture; -import java.util.*; +import java.util.List; +import java.util.Map; @Mixin(TranslationStorage.class) public class TranslationStorageMixin { diff --git a/src/main/java/io/gitlab/jfronny/globalization/DelegateHashMap.java b/src/main/java/io/gitlab/jfronny/globalization/DelegateHashMap.java deleted file mode 100644 index f16e36f..0000000 --- a/src/main/java/io/gitlab/jfronny/globalization/DelegateHashMap.java +++ /dev/null @@ -1,147 +0,0 @@ -package io.gitlab.jfronny.globalization; - -import java.util.*; -import java.util.function.*; - -public class DelegateHashMap, K, V> extends HashMap { - private final M delegate; - - public DelegateHashMap(M delegate) { - this.delegate = delegate; - } - - public M getDelegate() { - if (!super.isEmpty()) throw new IllegalStateException("Something accesses this maps internal state"); - return delegate; - } - - @Override - public int size() { - return delegate.size(); - } - - @Override - public boolean isEmpty() { - return delegate.isEmpty(); - } - - @Override - public V get(Object key) { - return delegate.get(key); - } - - @Override - public boolean containsKey(Object key) { - return delegate.containsKey(key); - } - - @Override - public V put(K key, V value) { - return delegate.put(key, value); - } - - @Override - public void putAll(Map m) { - delegate.putAll(m); - } - - @Override - public V remove(Object key) { - return delegate.remove(key); - } - - @Override - public void clear() { - delegate.clear(); - } - - @Override - public boolean containsValue(Object value) { - return delegate.containsValue(value); - } - - @Override - public Set keySet() { - return delegate.keySet(); - } - - @Override - public Collection values() { - return delegate.values(); - } - - @Override - public Set> entrySet() { - return delegate.entrySet(); - } - - @Override - public V getOrDefault(Object key, V defaultValue) { - return delegate.getOrDefault(key, defaultValue); - } - - @Override - public V putIfAbsent(K key, V value) { - return delegate.putIfAbsent(key, value); - } - - @Override - public boolean remove(Object key, Object value) { - return delegate.remove(key, value); - } - - @Override - public boolean replace(K key, V oldValue, V newValue) { - return delegate.replace(key, oldValue, newValue); - } - - @Override - public V replace(K key, V value) { - return delegate.replace(key, value); - } - - @Override - public V computeIfAbsent(K key, Function mappingFunction) { - return delegate.computeIfAbsent(key, mappingFunction); - } - - @Override - public V computeIfPresent(K key, BiFunction remappingFunction) { - return delegate.computeIfPresent(key, remappingFunction); - } - - @Override - public V compute(K key, BiFunction remappingFunction) { - return delegate.compute(key, remappingFunction); - } - - @Override - public V merge(K key, V value, BiFunction remappingFunction) { - return delegate.merge(key, value, remappingFunction); - } - - @Override - public void forEach(BiConsumer action) { - delegate.forEach(action); - } - - @Override - public void replaceAll(BiFunction function) { - delegate.replaceAll(function); - } - - @Override - public boolean equals(Object o) { - return delegate.equals(o); - } - - @Override - public int hashCode() { - return delegate.hashCode(); - } - - @Override - public String toString() { - return delegate.toString(); - } -} diff --git a/src/main/java/io/gitlab/jfronny/globalization/Globalization.java b/src/main/java/io/gitlab/jfronny/globalization/Globalization.java index b0d9a84..239dd9c 100644 --- a/src/main/java/io/gitlab/jfronny/globalization/Globalization.java +++ b/src/main/java/io/gitlab/jfronny/globalization/Globalization.java @@ -1,12 +1,7 @@ package io.gitlab.jfronny.globalization; import io.gitlab.jfronny.commons.log.Logger; -import net.fabricmc.api.ModInitializer; -public class Globalization implements ModInitializer { +public class Globalization { public static final Logger LOG = Logger.forName("globalization"); - @Override - public void onInitialize() { - - } } diff --git a/src/main/java/io/gitlab/jfronny/globalization/GlobalizationMap.java b/src/main/java/io/gitlab/jfronny/globalization/GlobalizationMap.java index aa2c90e..f756093 100644 --- a/src/main/java/io/gitlab/jfronny/globalization/GlobalizationMap.java +++ b/src/main/java/io/gitlab/jfronny/globalization/GlobalizationMap.java @@ -32,7 +32,7 @@ public class GlobalizationMap extends AbstractMap { .map(Map::entrySet) .flatMap(Collection::stream) .filter(s -> !target.containsKey(s.getKey())) - .collect(Collectors.toMap(Entry::getKey, Entry::getValue)); + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); Properties cache = new Properties(); T targetLang = service.parseLang(GlobalizationConfig.targetCode); Path cacheFile = targetPath.resolve(targetLang.getIdentifier() + ".cache"); @@ -89,17 +89,40 @@ public class GlobalizationMap extends AbstractMap { @NotNull @Override - public Set> entrySet() { + public Set> entrySet() { return pools.stream() .map(Map::entrySet) .flatMap(Collection::stream) - .collect(Collectors.groupingBy(Entry::getKey, Collectors.toList())) + .collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.toList())) .entrySet() .stream() - .map(s -> new MapEntry<>(s.getKey(), s.getValue().get(s.getValue().size() - 1).getValue())) + .map(s -> new Entry<>(s.getKey(), s.getValue().get(s.getValue().size() - 1).getValue())) .collect(Collectors.toUnmodifiableSet()); } + public record Entry(K key, V value) implements Map.Entry { + @Override + public K getKey() { + return key; + } + + @Override + public V getValue() { + return value; + } + + @Override + public V setValue(V v) { + throw new UnsupportedOperationException(); + } + } + + @NotNull + @Override + public Set keySet() { + return pools.stream().flatMap(s -> s.keySet().stream()).collect(Collectors.toUnmodifiableSet()); + } + @Override public boolean isEmpty() { return pools.isEmpty() || (pools.size() == 1 && pools.get(0).isEmpty()); @@ -129,10 +152,4 @@ public class GlobalizationMap extends AbstractMap { public void clear() { throw new UnsupportedOperationException(); } - - @NotNull - @Override - public Set keySet() { - return pools.stream().flatMap(s -> s.keySet().stream()).collect(Collectors.toUnmodifiableSet()); - } } diff --git a/src/main/java/io/gitlab/jfronny/globalization/MapEntry.java b/src/main/java/io/gitlab/jfronny/globalization/MapEntry.java deleted file mode 100644 index c103ff2..0000000 --- a/src/main/java/io/gitlab/jfronny/globalization/MapEntry.java +++ /dev/null @@ -1,20 +0,0 @@ -package io.gitlab.jfronny.globalization; - -import java.util.Map; - -public record MapEntry(K key, V value) implements Map.Entry { - @Override - public K getKey() { - return key; - } - - @Override - public V getValue() { - return value; - } - - @Override - public V setValue(V v) { - throw new UnsupportedOperationException(); - } -} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 4385403..feef8e8 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -15,8 +15,7 @@ "icon": "assets/globalization/icon.png", "environment": "client", "entrypoints": { - "libjf:config": ["io.gitlab.jfronny.globalization.JFC_GlobalizationConfig"], - "main": ["io.gitlab.jfronny.globalization.Globalization"] + "libjf:config": ["io.gitlab.jfronny.globalization.JFC_GlobalizationConfig"] }, "mixins": [ {