From cd6b385ae206294cb7cd5dd36d0f7f188ca643b7 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 26 May 2021 15:35:40 +0300 Subject: [PATCH] Removed Tag Helper --- .../complex/CrystalSubblocksMaterial.java | 2 +- .../blocks/complex/MetalMaterial.java | 2 +- .../blocks/complex/StoneMaterial.java | 2 +- .../blocks/complex/WoodenMaterial.java | 2 +- .../ru/betterend/client/BetterEndClient.java | 4 +- .../integration/NourishIntegration.java | 2 +- .../integration/byg/BYGIntegration.java | 2 +- .../mixin/common/TagLoaderMixin.java | 27 ---- .../java/ru/betterend/registry/EndItems.java | 2 +- .../java/ru/betterend/registry/EndTags.java | 2 +- .../java/ru/betterend/util/TagHelper.java | 73 ----------- .../ru/betterend/util/TranslationHelper.java | 118 ------------------ .../resources/betterend.mixins.common.json | 1 - 13 files changed, 10 insertions(+), 229 deletions(-) delete mode 100644 src/main/java/ru/betterend/mixin/common/TagLoaderMixin.java delete mode 100644 src/main/java/ru/betterend/util/TagHelper.java delete mode 100644 src/main/java/ru/betterend/util/TranslationHelper.java diff --git a/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java b/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java index 352909ea..d96a1cde 100644 --- a/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/CrystalSubblocksMaterial.java @@ -4,6 +4,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; import net.minecraft.world.level.block.Block; +import ru.bclib.util.TagHelper; import ru.betterend.blocks.EndPedestal; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.blocks.basis.EndPillarBlock; @@ -13,7 +14,6 @@ import ru.betterend.blocks.basis.EndWallBlock; import ru.betterend.recipe.CraftingRecipes; import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.registry.EndBlocks; -import ru.betterend.util.TagHelper; public class CrystalSubblocksMaterial { public final Block polished; diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java index 3e6463ae..260a6e8a 100644 --- a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.TagHelper; import ru.betterend.blocks.BulbVineLanternBlock; import ru.betterend.blocks.BulbVineLanternColoredBlock; import ru.betterend.blocks.ChandelierBlock; @@ -42,7 +43,6 @@ import ru.betterend.recipe.builders.SmithingTableRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; import ru.betterend.registry.EndTags; -import ru.betterend.util.TagHelper; public class MetalMaterial { public final Block ore; diff --git a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java index 4acb9911..fb1caa8b 100644 --- a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java @@ -6,6 +6,7 @@ import net.minecraft.tags.ItemTags; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.TagHelper; import ru.betterend.blocks.EndPedestal; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.blocks.basis.EndFurnaceBlock; @@ -21,7 +22,6 @@ import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; import ru.betterend.registry.EndTags; -import ru.betterend.util.TagHelper; public class StoneMaterial { public final Block stone; diff --git a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java index 0dac5b08..a02c89bf 100644 --- a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java @@ -11,6 +11,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.MaterialColor; +import ru.bclib.util.TagHelper; import ru.betterend.blocks.basis.BarkBlock; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.blocks.basis.EndBarrelBlock; @@ -34,7 +35,6 @@ import ru.betterend.blocks.basis.StrippableBarkBlock; import ru.betterend.recipe.builders.GridRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndTags; -import ru.betterend.util.TagHelper; public class WoodenMaterial { public final Block log; diff --git a/src/main/java/ru/betterend/client/BetterEndClient.java b/src/main/java/ru/betterend/client/BetterEndClient.java index 1c138334..365a89f4 100644 --- a/src/main/java/ru/betterend/client/BetterEndClient.java +++ b/src/main/java/ru/betterend/client/BetterEndClient.java @@ -8,6 +8,7 @@ import net.minecraft.core.Registry; import net.minecraft.network.chat.Style; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; +import ru.bclib.util.TranslationHelper; import ru.betterend.BetterEnd; import ru.betterend.client.render.ERenderLayer; import ru.betterend.events.ItemTooltipCallback; @@ -19,7 +20,6 @@ import ru.betterend.registry.EndEntitiesRenders; import ru.betterend.registry.EndModelProviders; import ru.betterend.registry.EndParticles; import ru.betterend.registry.EndScreens; -import ru.betterend.util.TranslationHelper; public class BetterEndClient implements ClientModInitializer { @Override @@ -35,7 +35,7 @@ public class BetterEndClient implements ClientModInitializer { registerTooltips(); if (BetterEnd.isDevEnvironment()) { - TranslationHelper.printMissingNames(); + TranslationHelper.printMissingNames(BetterEnd.MOD_ID); } } diff --git a/src/main/java/ru/betterend/integration/NourishIntegration.java b/src/main/java/ru/betterend/integration/NourishIntegration.java index 0fdf6274..602c31f9 100644 --- a/src/main/java/ru/betterend/integration/NourishIntegration.java +++ b/src/main/java/ru/betterend/integration/NourishIntegration.java @@ -2,8 +2,8 @@ package ru.betterend.integration; import net.minecraft.tags.Tag; import net.minecraft.world.item.Item; +import ru.bclib.util.TagHelper; import ru.betterend.registry.EndItems; -import ru.betterend.util.TagHelper; public class NourishIntegration extends ModIntegration { public NourishIntegration() { diff --git a/src/main/java/ru/betterend/integration/byg/BYGIntegration.java b/src/main/java/ru/betterend/integration/byg/BYGIntegration.java index 64a805d7..760300a0 100644 --- a/src/main/java/ru/betterend/integration/byg/BYGIntegration.java +++ b/src/main/java/ru/betterend/integration/byg/BYGIntegration.java @@ -7,13 +7,13 @@ import net.minecraft.data.BuiltinRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.ai.behavior.WeightedList; import net.minecraft.world.level.biome.Biome; +import ru.bclib.util.TagHelper; import ru.betterend.integration.Integrations; import ru.betterend.integration.ModIntegration; import ru.betterend.integration.byg.biomes.BYGBiomes; import ru.betterend.integration.byg.features.BYGFeatures; import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndTags; -import ru.betterend.util.TagHelper; import ru.betterend.world.biome.EndBiome; public class BYGIntegration extends ModIntegration { diff --git a/src/main/java/ru/betterend/mixin/common/TagLoaderMixin.java b/src/main/java/ru/betterend/mixin/common/TagLoaderMixin.java deleted file mode 100644 index 46b477ec..00000000 --- a/src/main/java/ru/betterend/mixin/common/TagLoaderMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package ru.betterend.mixin.common; - -import java.util.Map; -import java.util.concurrent.Executor; -import java.util.function.Supplier; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyArg; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.Tag; -import net.minecraft.tags.TagLoader; -import ru.betterend.util.TagHelper; - -@Mixin(TagLoader.class) -public class TagLoaderMixin { - @Shadow - private String name; - - @ModifyArg(method = "prepare", at = @At(value = "INVOKE", - target = "Ljava/util/concurrent/CompletableFuture;supplyAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;")) - public Supplier> be_modifyTags(Supplier> supplier, Executor executor) { - return () -> TagHelper.apply(name, supplier.get()); - } -} diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 2e06f2a7..174d6b40 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -30,6 +30,7 @@ import net.minecraft.world.item.SwordItem; import net.minecraft.world.item.TieredItem; import net.minecraft.world.item.Tiers; import net.minecraft.world.level.block.DispenserBlock; +import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.config.Configs; import ru.betterend.item.ArmoredElytra; @@ -54,7 +55,6 @@ import ru.betterend.item.tool.EndPickaxeItem; import ru.betterend.item.tool.EndShovelItem; import ru.betterend.item.tool.EndSwordItem; import ru.betterend.tab.CreativeTabs; -import ru.betterend.util.TagHelper; public class EndItems { private static final List MOD_BLOCKS = Lists.newArrayList(); diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index 0dfaaeea..6c242fab 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -26,6 +26,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.LeavesBlock; import net.minecraft.world.level.levelgen.surfacebuilders.SurfaceBuilderConfiguration; import net.minecraft.world.level.material.Material; +import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; import ru.betterend.blocks.basis.EndTerrainBlock; import ru.betterend.blocks.basis.PedestalBlock; @@ -33,7 +34,6 @@ import ru.betterend.blocks.basis.SimpleLeavesBlock; import ru.betterend.blocks.basis.VineBlock; import ru.betterend.item.tool.EndHammerItem; import ru.betterend.mixin.common.ComposterBlockAccessor; -import ru.betterend.util.TagHelper; public class EndTags { // Table with common (c) tags: diff --git a/src/main/java/ru/betterend/util/TagHelper.java b/src/main/java/ru/betterend/util/TagHelper.java deleted file mode 100644 index bef0ffb7..00000000 --- a/src/main/java/ru/betterend/util/TagHelper.java +++ /dev/null @@ -1,73 +0,0 @@ -package ru.betterend.util; - -import java.util.Map; -import java.util.Set; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.Tag; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; - -public class TagHelper { - private static final Map> TAGS_BLOCK = Maps.newConcurrentMap(); - private static final Map> TAGS_ITEM = Maps.newConcurrentMap(); - - public static void addTag(Tag.Named tag, Block... blocks) { - ResourceLocation tagID = tag.getName(); - Set set = TAGS_BLOCK.computeIfAbsent(tagID, k -> Sets.newHashSet()); - for (Block block: blocks) { - ResourceLocation id = Registry.BLOCK.getKey(block); - if (id != Registry.BLOCK.getDefaultKey()) { - set.add(id); - } - } - } - - public static void addTag(Tag.Named tag, ItemLike... items) { - ResourceLocation tagID = tag.getName(); - Set set = TAGS_ITEM.computeIfAbsent(tagID, k -> Sets.newHashSet()); - for (ItemLike item: items) { - ResourceLocation id = Registry.ITEM.getKey(item.asItem()); - if (id != Registry.ITEM.getDefaultKey()) { - set.add(id); - } - } - } - - @SafeVarargs - public static void addTags(ItemLike item, Tag.Named... tags) { - for (Tag.Named tag: tags) { - addTag(tag, item); - } - } - - @SafeVarargs - public static void addTags(Block block, Tag.Named... tags) { - for (Tag.Named tag: tags) { - addTag(tag, block); - } - } - - public static Tag.Builder apply(Tag.Builder builder, Set ids) { - ids.forEach(value -> builder.addElement(value, "Better End Code")); - return builder; - } - - public static Map apply(String entry, Map tagsMap) { - Map> endTags = null; - if (entry.equals("block")) { - endTags = TAGS_BLOCK; - } else if (entry.equals("item")) { - endTags = TAGS_ITEM; - } - if (endTags != null) { - endTags.forEach((id, ids) -> apply(tagsMap.computeIfAbsent(id, key -> Tag.Builder.tag()), ids)); - } - return tagsMap; - } -} diff --git a/src/main/java/ru/betterend/util/TranslationHelper.java b/src/main/java/ru/betterend/util/TranslationHelper.java deleted file mode 100644 index 92cdc229..00000000 --- a/src/main/java/ru/betterend/util/TranslationHelper.java +++ /dev/null @@ -1,118 +0,0 @@ -package ru.betterend.util; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.Collections; -import java.util.List; - -import com.google.common.collect.Lists; -import com.google.gson.Gson; -import com.google.gson.JsonObject; - -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceLocation; -import ru.betterend.BetterEnd; -import ru.betterend.registry.EndBiomes; -import ru.betterend.registry.EndItems; - -public class TranslationHelper { - public static void printMissingNames() { - List missingNamesEn = Lists.newArrayList(); - List missingNamesRu = Lists.newArrayList(); - - Gson gson = new Gson(); - InputStream streamEn = BetterEnd.class.getResourceAsStream("/assets/betterend/lang/en_us.json"); - InputStream streamRu = BetterEnd.class.getResourceAsStream("/assets/betterend/lang/ru_ru.json"); - JsonObject translationEn = gson.fromJson(new InputStreamReader(streamEn), JsonObject.class); - JsonObject translationRu = gson.fromJson(new InputStreamReader(streamRu), JsonObject.class); - - Registry.BLOCK.forEach((block) -> { - if (Registry.BLOCK.getKey(block).getNamespace().equals(BetterEnd.MOD_ID)) { - String name = block.getName().getString(); - if (!translationEn.has(name)) { - missingNamesEn.add(name); - } - if (!translationRu.has(name)) { - missingNamesRu.add(name); - } - } - }); - - EndItems.getModItems().forEach((item) -> { - String name = item.getDescription().getString(); - if (!translationEn.has(name)) { - missingNamesEn.add(name); - } - if (!translationRu.has(name)) { - missingNamesRu.add(name); - } - }); - - EndBiomes.getModBiomes().forEach((endBiome) -> { - if (endBiome.getID().getNamespace().equals(BetterEnd.MOD_ID)) { - String name = "biome." + BetterEnd.MOD_ID + "." + endBiome.getID().getPath(); - if (!translationEn.has(name)) { - missingNamesEn.add(name); - } - if (!translationRu.has(name)) { - missingNamesRu.add(name); - } - } - }); - - Registry.ENTITY_TYPE.forEach((entity) -> { - ResourceLocation id = Registry.ENTITY_TYPE.getKey(entity); - if (id.getNamespace().equals(BetterEnd.MOD_ID)) { - String name = "entity." + BetterEnd.MOD_ID + "." + id.getPath(); - if (!translationEn.has(name)) { - missingNamesEn.add(name); - } - if (!translationRu.has(name)) { - missingNamesRu.add(name); - } - } - }); - - if (!missingNamesEn.isEmpty() || !missingNamesRu.isEmpty()) { - - System.out.println("========================================"); - System.out.println(" MISSING NAMES LIST"); - - if (!missingNamesEn.isEmpty()) { - Collections.sort(missingNamesEn); - System.out.println("========================================"); - System.out.println(" ENGLISH"); - System.out.println("========================================"); - missingNamesEn.forEach((name) -> { - System.out.println(" \"" + name + "\": \"" + fastTranslateEn(name) + "\","); - }); - } - - if (!missingNamesRu.isEmpty()) { - Collections.sort(missingNamesRu); - System.out.println("========================================"); - System.out.println(" RUSSIAN"); - System.out.println("========================================"); - missingNamesRu.forEach((name) -> { - System.out.println(" \"" + name + "\": \"\","); - }); - } - - System.out.println("========================================"); - } - } - - public static String fastTranslateEn(String text) { - String[] words = text.substring(text.lastIndexOf('.') + 1).split("_"); - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < words.length; i++) { - String word = words[i]; - builder.append(Character.toUpperCase(word.charAt(0))); - builder.append(word, 1, word.length()); - if (i < words.length - 1) { - builder.append(' '); - } - } - return builder.toString(); - } -} diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index 5ce12bbf..fe080a91 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -31,7 +31,6 @@ "AnvilBlockMixin", "PlayerListMixin", "AnvilMenuMixin", - "TagLoaderMixin", "EnderManMixin", "EndSpikeMixin", "MonsterMixin",