From d83d1a362463479d38a716982a63923753e21fc5 Mon Sep 17 00:00:00 2001 From: KrLite <68179735+KrLite@users.noreply.github.com> Date: Sat, 30 Dec 2023 12:50:17 +0800 Subject: [PATCH] 2.0.0 --- .../REIClientPlugin.java | 126 +++++++++++++----- .../util/ModPredicate.java | 2 + .../rei_collapsible_entries/lang/en_us.json | 30 ++++- .../rei_collapsible_entries/lang/zh_cn.json | 30 ++++- 4 files changed, 152 insertions(+), 36 deletions(-) diff --git a/src/main/java/net/krlite/rei_collapsible_entries/REIClientPlugin.java b/src/main/java/net/krlite/rei_collapsible_entries/REIClientPlugin.java index 8dc9412..e95c3a4 100644 --- a/src/main/java/net/krlite/rei_collapsible_entries/REIClientPlugin.java +++ b/src/main/java/net/krlite/rei_collapsible_entries/REIClientPlugin.java @@ -24,7 +24,8 @@ public class REIClientPlugin implements me.shedaniel.rei.api.client.plugins.REIC public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { REICollapsibleEntries.LOGGER.info("Registering quality-of-life collapsible entries for REI!"); - types: { + types: + { // Fluids MC.buildCollection("fluids") .predicate(ModPredicate.type(VanillaEntryTypes.FLUID)) @@ -65,7 +66,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Minecraft - minecraft: { + minecraft: + { // TODO: 2023/12/30 // Tags Arrays.stream(new String[]{ @@ -74,7 +76,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { "stairs", "slabs", "doors", "trapdoors", "fence_gates", "boats", "walls", "fences", "trim_templates", "decorated_pot_sherds", "swords", "shovels", "pickaxes", - "axes", "hoes", "small_flowers", "tall_flowers", "rails" + "axes", "hoes", "small_flowers", "tall_flowers", "rails", + "saplings" }).forEach(tag -> MC.registerCollapsibleEntryFromTag(registry, tag)); // Tools according to materials @@ -148,9 +151,14 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { .predicate(ModPredicate.pathTrailing("horse_armor")) .register(registry); + // Minecarts + MC.buildCollection("minecarts") + .predicate(ModPredicate.idTrailing(Registries.ITEM.getId(Items.MINECART))) + .register(registry); + // Potions - Arrays.stream(new String[]{ null, "lingering", "splash" }).forEach(prefix -> - MC.buildCollection(prefix, "potions") + Arrays.stream(new String[]{null, "lingering", "splash"}).forEach(prefix -> + MC.buildCollection(joinAll(prefix, "potions")) .predicate(ModPredicate.idTrailing(MC.id(joinAll(prefix, "potion")))) .register(registry) ); @@ -168,15 +176,15 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // Corals { - final String[] TYPES = new String[]{ "tube", "brain", "bubble", "fire", "horn" }; - final String[] PREFIXES = new String[]{ null, "dead" }; - final String[] POSTFIXES = new String[]{ "coral", "coral_fan", "coral_block" }; + final String[] TYPES = new String[]{"tube", "brain", "bubble", "fire", "horn"}; + final String[] PREFIXES = new String[]{null, "dead"}; + final String[] POSTFIXES = new String[]{"coral", "coral_fan", "coral_block"}; Arrays.stream(POSTFIXES).forEach(postfix -> MC.buildCollection("blocks", postfix) .predicate(ModPredicate.iterate( p -> ModPredicate.iterate( - pp -> ModPredicate.id(MC.id(joinAll(pp ,p))), + pp -> ModPredicate.id(MC.id(joinAll(pp, p, postfix))), PREFIXES ), TYPES @@ -200,7 +208,7 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // ... Arrays.stream(new String[]{ - "button", "pressure_plate", "copper", "sapling" + "button", "pressure_plate", "copper" }).forEach(type -> MC.buildCollection("blocks", type) .predicate(ModPredicate.pathTrailing(type)) .register(registry) @@ -209,7 +217,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Ad Astra - adAstra: { + adAstra: + { // Flags AD_ASTRA.buildCollection("flags") .predicate(ModPredicate.idTrailing(AD_ASTRA.id("flag"))) @@ -219,15 +228,35 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { AD_ASTRA.buildCollection("globes") .predicate(ModPredicate.idTrailing(AD_ASTRA.id("globe"))) .register(registry); + + // Plates + AD_ASTRA.buildCollection("plates") + .predicate(ModPredicate.idTrailing(AD_ASTRA.id("plate"))) + .register(registry); + + // Materials + Arrays.stream(new String[]{"iron", "steel", "desh", "ostrum", "calorite"}).forEach(material -> + AD_ASTRA.buildCollection("materials", material) + .predicate(ModPredicate.idContains(AD_ASTRA.id(material))) + .register(registry) + ); + + // Planet materials + Arrays.stream(new String[]{"moon", "mars", "venus", "mercury", "glacio", "permafrost"}).forEach(planet -> + AD_ASTRA.buildCollection("planets", planet) + .predicate(ModPredicate.idContains(AD_ASTRA.id(planet))) + .register(registry) + ); } // --- Applied Energetics 2 - ae2: { + ae2: + { // Paint balls final String postfix = "paint_ball"; - Arrays.stream(new String[]{ null, "lumen" }).forEach(type -> + Arrays.stream(new String[]{null, "lumen"}).forEach(type -> AE2.buildCollection(joinAll(type, "paint_balls")) .predicate(ModPredicate.dyeVariants(dyeColor -> ModPredicate.id(AE2.id(joinAll(dyeColor.getName(), type, postfix))) @@ -238,7 +267,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Catwalks LLC. - catwalksLLC: { + catwalksLLC: + { // Paint rollers CATWALKS.buildTagged("filled_paint_rollers") .predicate(ModPredicate.mod(CATWALKS) @@ -249,7 +279,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Computer Craft - computerCraft: { + computerCraft: + { // Disks CC.buildCollection("disks") .predicate(ModPredicate.id(CC.id("disk"))) @@ -268,7 +299,8 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Create - create: { + create: + { // Stone types Arrays.stream(new String[]{ "veridium", "scorchia", "scoria", "ochrum", "limestone", @@ -282,28 +314,30 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { ); // Copper tiles & shingles - Arrays.stream(new String[]{ "tile", "shingle" }).forEach(type -> + Arrays.stream(new String[]{"tile", "shingle"}).forEach(type -> CREATE.buildCollection("blocks", joinAll("copper", type)) .predicate(ModPredicate.idContains(CREATE.id(joinAll("copper", type)))) .register(registry) ); // Toolboxes & seats - Arrays.stream(new String[]{ "toolboxes", "seats" }).forEach(tag -> + Arrays.stream(new String[]{"toolboxes", "seats"}).forEach(tag -> CREATE.registerCollapsibleEntryFromTag(registry, tag) ); } // --- Farmer's Delight - farmersDelight: { + farmersDelight: + { // Canvas signs FARMERS_DELIGHT.registerCollapsibleEntryFromTag(registry, "canvas_signs"); } // --- Hephaestus - hephaestus: { + hephaestus: + { // Modifiers TC.buildCollection("modifiers") .predicate(ModPredicate.mod(TC) @@ -361,14 +395,14 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { .register(registry); // Stations - Arrays.stream(new String[]{ "part_builder", "tinker_station", "crafting_station"}).forEach(station -> + Arrays.stream(new String[]{"part_builder", "tinker_station", "crafting_station"}).forEach(station -> TC.buildCollection("stations", station) .predicate(ModPredicate.id(TC.id(station))) .register(registry) ); // Foundries & Smelteries - Arrays.stream(new String[]{ "foundry", "smeltery" }).forEach(type -> + Arrays.stream(new String[]{"foundry", "smeltery"}).forEach(type -> TC.buildTagged("blocks", type) .predicate(ModPredicate.tag(TC.itemTag(type))) .register(registry) @@ -387,14 +421,14 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { .register(registry); // Slime grasses - Arrays.stream(new String[]{ "ichor", "ender", "sky", "earth", "vanilla" }).forEach(type -> + Arrays.stream(new String[]{"ichor", "ender", "sky", "earth", "vanilla"}).forEach(type -> TC.buildCollection("slime_grasses", type) .predicate(ModPredicate.idTrailing(TC.id(type, "slime_grass"))) .register(registry) ); // Slime dirt & congealed slimes & slimes - Arrays.stream(new String[]{ "slime_dirt", "congealed_slime", "slime"}).forEach(suffix -> + Arrays.stream(new String[]{"slime_dirt", "congealed_slime", "slime"}).forEach(suffix -> TC.buildCollection("blocks", suffix) .predicate(ModPredicate.idTrailing(TC.id(suffix))) ); @@ -409,16 +443,18 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { // --- Item Filters - itemFilters: { + itemFilters: + { // Filters ITEM_FILTERS.registerCollapsibleEntryFromTag(registry, "filters"); } // --- Kibe - kibe: { + kibe: + { // Colored blocks - Arrays.stream(new String[]{ "sleeping_bag", "glider", "rune", "elevator" }).forEach(thing -> + Arrays.stream(new String[]{"sleeping_bag", "glider", "rune", "elevator"}).forEach(thing -> KIBE.buildCollection("things", thing) .predicate(ModPredicate.dyeVariants( dyeColor -> ModPredicate.id(KIBE.id(joinAll(dyeColor.getName(), thing))) @@ -429,17 +465,47 @@ public void registerCollapsibleEntries(CollapsibleEntryRegistry registry) { ) .register(registry) ); + + // Kibes + KIBE.buildCollection("kibes") + .predicate(ModPredicate.idTrailing(KIBE.id("kibe"))) + .register(registry); + + // Kibes + KIBE.buildCollection("rings") + .predicate(ModPredicate.idTrailing(KIBE.id("ring"))) + .register(registry); + + // Tanks + KIBE.buildCollection("tanks") + .predicate(ModPredicate.id(KIBE.id("tank"))) + .register(registry); + + // Spikes and belts + Arrays.stream(new String[]{"spikes", "belt"}).forEach(type -> + KIBE.buildCollection("blocks", type) + .predicate(ModPredicate.idTrailing(KIBE.id(type))) + .register(registry) + ); + + // Stone generators + Arrays.stream(new String[]{"cobblestone", "basalt"}).forEach(type -> + KIBE.buildCollection(joinAll(type, "generators")) + .predicate(ModPredicate.idLeading(KIBE.id(joinAll(type, "generator")))) + .register(registry) + ); } // --- Promenade - promenade: { + promenade: + { // Piles PROMENADE.buildCollection("piles") - .predicate(ModPredicate.idTrailing(PROMENADE.id("pile"))); + .predicate(ModPredicate.idTrailing(PROMENADE.id("pile"))); // Mushrooms & mushroom blocks - Arrays.stream(new String[]{ null, "block" }).forEach(type -> + Arrays.stream(new String[]{null, "block"}).forEach(type -> PROMENADE.buildCollection("blocks", joinAll("mushroom", type)) .predicate(ModPredicate.idContains(PROMENADE.id(joinAll("mushroom", type)))) .register(registry) diff --git a/src/main/java/net/krlite/rei_collapsible_entries/util/ModPredicate.java b/src/main/java/net/krlite/rei_collapsible_entries/util/ModPredicate.java index 60388a8..bcfb03a 100644 --- a/src/main/java/net/krlite/rei_collapsible_entries/util/ModPredicate.java +++ b/src/main/java/net/krlite/rei_collapsible_entries/util/ModPredicate.java @@ -2,6 +2,8 @@ import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.EntryType; +import net.minecraft.registry.Registries; +import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; import net.minecraft.util.DyeColor; import net.minecraft.util.Identifier; diff --git a/src/main/resources/assets/rei_collapsible_entries/lang/en_us.json b/src/main/resources/assets/rei_collapsible_entries/lang/en_us.json index 242a379..6fc9f0f 100644 --- a/src/main/resources/assets/rei_collapsible_entries/lang/en_us.json +++ b/src/main/resources/assets/rei_collapsible_entries/lang/en_us.json @@ -35,6 +35,7 @@ "tagged.minecraft.small_flowers" : "Flowers", "tagged.minecraft.tall_flowers" : "Tall Flowers", "tagged.minecraft.rails" : "Rails", + "tagged.minecraft.sapling" : "Saplings", "tagged.catwalksinc.filled_paint_rolls": "§6Filled Paint Rollers", @@ -77,6 +78,7 @@ "collection.minecraft.suspicious_stews": "Suspicious Stews", "collection.minecraft.banner_patterns" : "Banner Patterns", "collection.minecraft.horse_armors" : "Horse Armors", + "collection.minecraft.minecarts" : "Minecarts", "collection.minecraft.spawn_eggs": "Spawn Eggs", "collection.minecraft.buckets" : "Fluid Buckets", @@ -91,7 +93,6 @@ "collection.minecraft.blocks/button" : "Buttons", "collection.minecraft.blocks/pressure_plate" : "Pressure Plates", "collection.minecraft.blocks/copper" : "Copper Blocks", - "collection.minecraft.blocks/sapling" : "Saplings", "collection.minecraft.blocks/coral" : "Corals", "collection.minecraft.blocks/coral_fan" : "Coral Fans", "collection.minecraft.blocks/coral_block" : "Coral Blocks", @@ -122,8 +123,22 @@ "collection.minecraft.splash_potions" : "Splash Potions", "collection.minecraft.potions" : "Potions", - "collection.ad_astra:flags" : "Flags", - "collection.ad_astra:globes": "Globes", + "collection.ad_astra.flags" : "Flags", + "collection.ad_astra.globes": "Globes", + "collection.ad_astra.plates": "Metal Plates", + + "collection.ad_astra.materials/iron" : "Iron", + "collection.ad_astra.materials/steel" : "Steel", + "collection.ad_astra.materials/desh" : "Desh", + "collection.ad_astra.materials/ostrum" : "Ostrum", + "collection.ad_astra.materials/calorite": "Calorite", + + "collection.ad_astra.planets/moon" : "Moon", + "collection.ad_astra.planets/mars" : "Mars", + "collection.ad_astra.planets/venus" : "Venus", + "collection.ad_astra.planets/mercury" : "Mercury", + "collection.ad_astra.planets/glacio" : "Glacio", + "collection.ad_astra.planets/permafrost": "Permafrost", "collection.ae2.paint_balls" : "Paint Balls", "collection.ae2.lumen_paint_balls": "Lumen Paint Balls", @@ -194,11 +209,20 @@ "collection.indrev.modules": "Modules", + "collection.kibe.kibes" : "Kibes", + "collection.kibe.rings" : "Rings", + "collection.kibe.tanks" : "Tanks", + "collection.kibe.cobblestone_generators": "Cobblestone Generators", + "collection.kibe.basalt_generators" : "Basalt Generators", + "collection.kibe.things/sleeping_bag": "Sleeping Bags", "collection.kibe.things/glider" : "Gliders", "collection.kibe.things/rune" : "Runes", "collection.kibe.things/elevator" : "Elevators", + "collection.kibe.blocks/spikes" : "Spikes", + "collection.kibe.blocks/belt" : "Belts", + "collection.promenade.piles": "Piles", "collection.promenade.blocks/mushroom" : "Mushrooms", diff --git a/src/main/resources/assets/rei_collapsible_entries/lang/zh_cn.json b/src/main/resources/assets/rei_collapsible_entries/lang/zh_cn.json index cc280ed..fe8fc54 100644 --- a/src/main/resources/assets/rei_collapsible_entries/lang/zh_cn.json +++ b/src/main/resources/assets/rei_collapsible_entries/lang/zh_cn.json @@ -35,6 +35,7 @@ "tagged.minecraft.small_flowers" : "花", "tagged.minecraft.tall_flowers" : "花丛", "tagged.minecraft.rails" : "铁轨", + "tagged.minecraft.sapling" : "树苗", "tagged.catwalksinc.filled_paint_rolls": "§6油漆滚筒", @@ -77,6 +78,7 @@ "collection.minecraft.suspicious_stews": "迷之炖菜", "collection.minecraft.banner_patterns" : "旗帜图案", "collection.minecraft.horse_armors" : "马铠", + "collection.minecraft.minecarts" : "矿车", "collection.minecraft.spawn_eggs": "刷怪蛋", "collection.minecraft.buckets" : "流体桶", @@ -91,7 +93,6 @@ "collection.minecraft.blocks/button" : "按钮", "collection.minecraft.blocks/pressure_plate" : "压力板", "collection.minecraft.blocks/copper" : "铜块", - "collection.minecraft.blocks/sapling" : "树苗", "collection.minecraft.blocks/coral" : "珊瑚", "collection.minecraft.blocks/coral_fan" : "珊瑚扇", "collection.minecraft.blocks/coral_block" : "珊瑚块", @@ -122,8 +123,22 @@ "collection.minecraft.splash_potions" : "喷溅型药水", "collection.minecraft.potions" : "药水", - "collection.ad_astra:flags" : "基地旗帜", - "collection.ad_astra:globes": "地球仪", + "collection.ad_astra.flags" : "基地旗帜", + "collection.ad_astra.globes": "地球仪", + "collection.ad_astra.plates": "金属板", + + "collection.ad_astra.materials/iron" : "铁制物品", + "collection.ad_astra.materials/steel" : "钢制物品", + "collection.ad_astra.materials/desh" : "戴斯物品", + "collection.ad_astra.materials/ostrum" : "紫金物品", + "collection.ad_astra.materials/calorite": "耐热合金物品", + + "collection.ad_astra.planets/moon" : "月球物品", + "collection.ad_astra.planets/mars" : "火星物品", + "collection.ad_astra.planets/venus" : "金星物品", + "collection.ad_astra.planets/mercury" : "水星物品", + "collection.ad_astra.planets/glacio" : "霜原星物品", + "collection.ad_astra.planets/permafrost": "冻土物品", "collection.ae2.paint_balls" : "染色球", "collection.ae2.lumen_paint_balls": "光通染色球", @@ -194,11 +209,20 @@ "collection.indrev.modules": "模块", + "collection.kibe.kibes" : "羊肉面饼", + "collection.kibe.rings" : "戒指", + "collection.kibe.tanks" : "储罐", + "collection.kibe.cobblestone_generators": "圆石生成器", + "collection.kibe.basalt_generators" : "玄武岩生成器", + "collection.kibe.things/sleeping_bag": "睡袋", "collection.kibe.things/glider" : "滑翔翼", "collection.kibe.things/rune" : "符文", "collection.kibe.things/elevator" : "电梯", + "collection.kibe.blocks/spikes" : "尖刺", + "collection.kibe.blocks/belt" : "传送带", + "collection.promenade.piles": "树叶堆和花丛", "collection.promenade.blocks/mushroom" : "蘑菇",