diff options
20 files changed, 351 insertions, 33 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index c804c99..3d19748 100644 --- a/build.gradle.kts +++ b/build.gradle.kts | |||
| @@ -4,6 +4,7 @@ plugins { | |||
| 4 | id("org.quiltmc.loom") | 4 | id("org.quiltmc.loom") |
| 5 | } | 5 | } |
| 6 | 6 | ||
| 7 | val chippedVersion: String by project | ||
| 7 | val groupid: String by project | 8 | val groupid: String by project |
| 8 | val jakartaAnnotationVersion: String by project | 9 | val jakartaAnnotationVersion: String by project |
| 9 | val loaderVersion: String by project | 10 | val loaderVersion: String by project |
| @@ -15,11 +16,7 @@ val quiltMappings: String by project | |||
| 15 | val quiltedFabricApiVersion: String by project | 16 | val quiltedFabricApiVersion: String by project |
| 16 | 17 | ||
| 17 | group = groupid | 18 | group = groupid |
| 18 | version = "${modVersion}+${minecraftVersion}" | 19 | version = modVersion |
| 19 | |||
| 20 | base { | ||
| 21 | archivesName = modid | ||
| 22 | } | ||
| 23 | 20 | ||
| 24 | repositories { | 21 | repositories { |
| 25 | maven { | 22 | maven { |
| @@ -28,6 +25,16 @@ repositories { | |||
| 28 | includeGroup("vazkii.patchouli") | 25 | includeGroup("vazkii.patchouli") |
| 29 | } | 26 | } |
| 30 | } | 27 | } |
| 28 | maven { | ||
| 29 | url = uri("https://maven.resourcefulbees.com/repository/maven-public/") | ||
| 30 | content { | ||
| 31 | includeGroup("com.teamresourceful") | ||
| 32 | includeGroup("com.teamresourceful.resourcefullib") | ||
| 33 | includeGroup("com.terraformersmc") | ||
| 34 | includeGroup("earth.terrarium.athena") | ||
| 35 | includeGroup("earth.terrarium.chipped") | ||
| 36 | } | ||
| 37 | } | ||
| 31 | } | 38 | } |
| 32 | 39 | ||
| 33 | loom { | 40 | loom { |
| @@ -51,6 +58,8 @@ dependencies { | |||
| 51 | exclude(group = "net.fabricmc", module = "fabric-loader") | 58 | exclude(group = "net.fabricmc", module = "fabric-loader") |
| 52 | } | 59 | } |
| 53 | 60 | ||
| 61 | modCompileOnly("earth.terrarium.chipped:chipped-fabric-${minecraftVersion}:${chippedVersion}") | ||
| 62 | |||
| 54 | compileOnly("jakarta.annotation:jakarta.annotation-api:${jakartaAnnotationVersion}") | 63 | compileOnly("jakarta.annotation:jakarta.annotation-api:${jakartaAnnotationVersion}") |
| 55 | } | 64 | } |
| 56 | 65 | ||
| @@ -66,7 +75,6 @@ java { | |||
| 66 | publishing { | 75 | publishing { |
| 67 | publications { | 76 | publications { |
| 68 | create<MavenPublication>("maven") { | 77 | create<MavenPublication>("maven") { |
| 69 | artifactId = modid | ||
| 70 | from(components["java"]) | 78 | from(components["java"]) |
| 71 | } | 79 | } |
| 72 | } | 80 | } |
| @@ -111,6 +119,6 @@ tasks.javadoc { | |||
| 111 | 119 | ||
| 112 | tasks.jar { | 120 | tasks.jar { |
| 113 | from("LICENSE") { | 121 | from("LICENSE") { |
| 114 | rename { "${it}_${base.archivesName.get()}" } | 122 | rename { "${it}_${name}" } |
| 115 | } | 123 | } |
| 116 | } | 124 | } |
diff --git a/gradle.properties b/gradle.properties index 61e3753..3728189 100644 --- a/gradle.properties +++ b/gradle.properties | |||
| @@ -12,6 +12,7 @@ quiltMappings = 23 | |||
| 12 | loaderVersion = 0.23.0 | 12 | loaderVersion = 0.23.0 |
| 13 | quiltedFabricApiVersion = 7.4.0+0.90.0 | 13 | quiltedFabricApiVersion = 7.4.0+0.90.0 |
| 14 | 14 | ||
| 15 | chippedVersion = 3.0.1 | ||
| 15 | patchouliVersion = 1.20.1-84-FABRIC | 16 | patchouliVersion = 1.20.1-84-FABRIC |
| 16 | 17 | ||
| 17 | jakartaAnnotationVersion = 3.0.0-M1 \ No newline at end of file | 18 | jakartaAnnotationVersion = 3.0.0-M1 \ No newline at end of file |
diff --git a/settings.gradle.kts b/settings.gradle.kts index df4757f..f1ef3c5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts | |||
| @@ -45,4 +45,9 @@ pluginManagement { | |||
| 45 | id("io.freefair.lombok") version "8.4" | 45 | id("io.freefair.lombok") version "8.4" |
| 46 | id("org.quiltmc.loom") version loomPluginVersion | 46 | id("org.quiltmc.loom") version loomPluginVersion |
| 47 | } | 47 | } |
| 48 | } \ No newline at end of file | 48 | } |
| 49 | |||
| 50 | val modid: String by settings | ||
| 51 | val minecraftVersion: String by settings | ||
| 52 | |||
| 53 | rootProject.name = "${modid}-mc${minecraftVersion}" \ No newline at end of file | ||
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/Emc.java b/src/main/java/lv/enes/mc/eris_alchemy/Emc.java index 731ecee..576fdc2 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/Emc.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/Emc.java | |||
| @@ -87,9 +87,7 @@ public final class Emc { | |||
| 87 | public static void initClient(Minecraft ignoredClient) { | 87 | public static void initClient(Minecraft ignoredClient) { |
| 88 | ClientPlayNetworking.registerGlobalReceiver( | 88 | ClientPlayNetworking.registerGlobalReceiver( |
| 89 | NetworkingConstants.UPDATE_EMCS, | 89 | NetworkingConstants.UPDATE_EMCS, |
| 90 | (client, handler, buf, responseSender) -> { | 90 | (client, handler, buf, responseSender) -> syncFrom(buf) |
| 91 | syncFrom(buf); | ||
| 92 | } | ||
| 93 | ); | 91 | ); |
| 94 | } | 92 | } |
| 95 | 93 | ||
| @@ -98,9 +96,7 @@ public final class Emc { | |||
| 98 | reinit(); | 96 | reinit(); |
| 99 | warnOfMissingValues(); | 97 | warnOfMissingValues(); |
| 100 | 98 | ||
| 101 | ServerPlayConnectionEvents.JOIN.register((handler, sender, server1) -> { | 99 | ServerPlayConnectionEvents.JOIN.register((handler, sender, server1) -> syncTo(handler.getPlayer())); |
| 102 | syncTo(handler.getPlayer()); | ||
| 103 | }); | ||
| 104 | } | 100 | } |
| 105 | 101 | ||
| 106 | public static void reloadData( | 102 | public static void reloadData( |
| @@ -192,7 +188,8 @@ public final class Emc { | |||
| 192 | world.getRecipeManager() | 188 | world.getRecipeManager() |
| 193 | .getRecipes() | 189 | .getRecipes() |
| 194 | .stream() | 190 | .stream() |
| 195 | .map(recipe -> new SimplifiedRecipe(recipe, world.registryAccess())) | 191 | .map(recipe -> SimplifiedRecipe.of(recipe, world.registryAccess())) |
| 192 | .flatMap(List::stream) | ||
| 196 | ); | 193 | ); |
| 197 | } | 194 | } |
| 198 | 195 | ||
| @@ -226,7 +223,7 @@ public final class Emc { | |||
| 226 | var sortedItems = sorted(recipes); | 223 | var sortedItems = sorted(recipes); |
| 227 | sortedItems.stream() | 224 | sortedItems.stream() |
| 228 | .filter(id -> !VALUES.containsKey(id)) | 225 | .filter(id -> !VALUES.containsKey(id)) |
| 229 | .forEach(id -> VALUES.put(id, calcEmc(id, recipes))); | 226 | .forEach(id -> calcEmc(id, recipes).ifPresent(v -> VALUES.put(id, OptionalDouble.of(v)))); |
| 230 | ErisAlchemy.LOGGER.info("Done calculating EMC values..."); | 227 | ErisAlchemy.LOGGER.info("Done calculating EMC values..."); |
| 231 | 228 | ||
| 232 | sync(); | 229 | sync(); |
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/recipe/SimplifiedRecipe.java b/src/main/java/lv/enes/mc/eris_alchemy/recipe/SimplifiedRecipe.java index 469ed52..6bb1274 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/recipe/SimplifiedRecipe.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/recipe/SimplifiedRecipe.java | |||
| @@ -4,13 +4,17 @@ import com.google.gson.JsonDeserializationContext; | |||
| 4 | import com.google.gson.JsonDeserializer; | 4 | import com.google.gson.JsonDeserializer; |
| 5 | import com.google.gson.JsonElement; | 5 | import com.google.gson.JsonElement; |
| 6 | import com.google.gson.JsonParseException; | 6 | import com.google.gson.JsonParseException; |
| 7 | import earth.terrarium.chipped.common.recipe.ChippedRecipe; | ||
| 7 | import jakarta.annotation.Nonnull; | 8 | import jakarta.annotation.Nonnull; |
| 9 | import lv.enes.mc.eris_alchemy.utils.ForeignUtils; | ||
| 8 | import lv.enes.mc.eris_alchemy.utils.IngredientProvider; | 10 | import lv.enes.mc.eris_alchemy.utils.IngredientProvider; |
| 9 | import lv.enes.mc.eris_alchemy.utils.ItemUtils; | 11 | import lv.enes.mc.eris_alchemy.utils.ItemUtils; |
| 10 | import lv.enes.mc.eris_alchemy.utils.RecipeUtils; | 12 | import lv.enes.mc.eris_alchemy.utils.RecipeUtils; |
| 13 | import net.minecraft.core.Holder; | ||
| 11 | import net.minecraft.core.RegistryAccess; | 14 | import net.minecraft.core.RegistryAccess; |
| 12 | import net.minecraft.core.registries.BuiltInRegistries; | 15 | import net.minecraft.core.registries.BuiltInRegistries; |
| 13 | import net.minecraft.resources.ResourceLocation; | 16 | import net.minecraft.resources.ResourceLocation; |
| 17 | import net.minecraft.world.item.Item; | ||
| 14 | import net.minecraft.world.item.ItemStack; | 18 | import net.minecraft.world.item.ItemStack; |
| 15 | import net.minecraft.world.item.crafting.Ingredient; | 19 | import net.minecraft.world.item.crafting.Ingredient; |
| 16 | import net.minecraft.world.item.crafting.Recipe; | 20 | import net.minecraft.world.item.crafting.Recipe; |
| @@ -21,20 +25,45 @@ import java.util.Arrays; | |||
| 21 | import java.util.Collection; | 25 | import java.util.Collection; |
| 22 | import java.util.List; | 26 | import java.util.List; |
| 23 | import java.util.Objects; | 27 | import java.util.Objects; |
| 28 | import java.util.function.Predicate; | ||
| 24 | import java.util.function.Supplier; | 29 | import java.util.function.Supplier; |
| 25 | import java.util.stream.Stream; | 30 | import java.util.stream.Stream; |
| 26 | 31 | ||
| 27 | public record SimplifiedRecipe(ItemStack output, List<ItemStack> remainder, List<Supplier<Ingredient>> input) { | 32 | public record SimplifiedRecipe(ItemStack output, List<ItemStack> remainder, List<Supplier<Ingredient>> input) { |
| 28 | public SimplifiedRecipe(Recipe<?> recipe, RegistryAccess registryAccess) { | 33 | public static List<SimplifiedRecipe> of(Recipe<?> recipe, RegistryAccess registryAccess) { |
| 29 | this( | 34 | if (ForeignUtils.IS_CHIPPED_AVAILABLE && recipe instanceof ChippedRecipe chippedRecipe) { |
| 35 | var remainder = List.<ItemStack>of(); | ||
| 36 | return chippedRecipe.tags() | ||
| 37 | .stream() | ||
| 38 | .flatMap(tag -> { | ||
| 39 | var items = tag.stream().map(Holder::value).toList(); | ||
| 40 | Predicate<Item> isOutput = item -> ItemUtils.getId(item).getNamespace().equals("chipped"); | ||
| 41 | var inputs = items.stream() | ||
| 42 | .filter(item -> !isOutput.test(item)) | ||
| 43 | .map(Ingredient::of) | ||
| 44 | .map(x -> (Supplier<Ingredient>) () -> x) | ||
| 45 | .map(List::of) | ||
| 46 | .toList(); | ||
| 47 | var outputs = items.stream().filter(isOutput).map(Item::getDefaultInstance).toList(); | ||
| 48 | return outputs.stream() | ||
| 49 | .flatMap( | ||
| 50 | output -> | ||
| 51 | inputs.stream() | ||
| 52 | .map(input -> new SimplifiedRecipe(output, remainder, input)) | ||
| 53 | ); | ||
| 54 | }) | ||
| 55 | .toList(); | ||
| 56 | } | ||
| 57 | |||
| 58 | return List.of(new SimplifiedRecipe( | ||
| 30 | RecipeUtils.getOutput(recipe, registryAccess), | 59 | RecipeUtils.getOutput(recipe, registryAccess), |
| 31 | List.of(), // TODO: | 60 | List.of(), // TODO |
| 32 | RecipeUtils.getIngredients(recipe) | 61 | RecipeUtils.getIngredients(recipe) |
| 33 | .stream() | 62 | .stream() |
| 34 | .filter(ingredient -> !ingredient.isEmpty()) | 63 | .filter(ingredient -> !ingredient.isEmpty()) |
| 35 | .map(x -> (Supplier<Ingredient>) () -> x) | 64 | .map(x -> (Supplier<Ingredient>)() -> x) |
| 36 | .toList() | 65 | .toList() |
| 37 | ); | 66 | )); |
| 38 | } | 67 | } |
| 39 | 68 | ||
| 40 | public Stream<ResourceLocation> dependencies() { | 69 | public Stream<ResourceLocation> dependencies() { |
| @@ -45,15 +74,8 @@ public record SimplifiedRecipe(ItemStack output, List<ItemStack> remainder, List | |||
| 45 | } | 74 | } |
| 46 | 75 | ||
| 47 | public boolean hasDuplication() { | 76 | public boolean hasDuplication() { |
| 48 | var outputId = ItemUtils.getId(output); | 77 | return remainder.stream().anyMatch(stack -> ItemStack.isSameItem(stack, output)) |
| 49 | var outputsInRemainder = remainder.stream() | 78 | || input.stream().anyMatch(ingredient -> ingredient.get().test(output)); |
| 50 | .map(ItemUtils::getId) | ||
| 51 | .anyMatch(id -> Objects.equals(id, outputId)); | ||
| 52 | if (outputsInRemainder) { | ||
| 53 | return true; | ||
| 54 | } | ||
| 55 | |||
| 56 | return input.stream().anyMatch(ingredient -> ingredient.get().test(output)); | ||
| 57 | } | 79 | } |
| 58 | 80 | ||
| 59 | public boolean isAllowed(BannedRecipe ban) { | 81 | public boolean isAllowed(BannedRecipe ban) { |
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/utils/ForeignUtils.java b/src/main/java/lv/enes/mc/eris_alchemy/utils/ForeignUtils.java new file mode 100644 index 0000000..b686a9e --- /dev/null +++ b/src/main/java/lv/enes/mc/eris_alchemy/utils/ForeignUtils.java | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | package lv.enes.mc.eris_alchemy.utils; | ||
| 2 | |||
| 3 | public class ForeignUtils { | ||
| 4 | public static boolean IS_CHIPPED_AVAILABLE = check("earth.terrarium.chipped.Chipped"); | ||
| 5 | |||
| 6 | private static boolean check(String className) { | ||
| 7 | try { | ||
| 8 | Class.forName(className); | ||
| 9 | return true; | ||
| 10 | } catch (ClassNotFoundException e) { | ||
| 11 | return false; | ||
| 12 | } | ||
| 13 | } | ||
| 14 | } | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/ad_astra.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/ad_astra.json new file mode 100644 index 0000000..396f26d --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/ad_astra.json | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | [ | ||
| 2 | "ad_astra:calorite_block -> ad_astra:calorite_ingot", | ||
| 3 | "ad_astra:calorite_nugget -> ad_astra:calorite_ingot", | ||
| 4 | "ad_astra:cheese_block -> ad_astra:cheese", | ||
| 5 | |||
| 6 | "ad_astra:desh_block -> ad_astra:desh_ingot", | ||
| 7 | "ad_astra:desh_nugget -> ad_astra:desh_ingot", | ||
| 8 | |||
| 9 | "ad_astra:ostrum_block -> ad_astra:ostrum_ingot", | ||
| 10 | "ad_astra:ostrum_nugget -> ad_astra:ostrum_ingot", | ||
| 11 | |||
| 12 | "ad_astra:raw_calorite_block -> ad_astra:raw_calorite", | ||
| 13 | "ad_astra:raw_desh_block -> ad_astra:raw_desh", | ||
| 14 | "ad_astra:raw_ostrum_block -> ad_astra:raw_ostrum", | ||
| 15 | |||
| 16 | "ad_astra:steel_block -> ad_astra:steel_ingot", | ||
| 17 | "ad_astra:steel_nugget -> ad_astra:steel_ingot", | ||
| 18 | |||
| 19 | "ad_astra:venus_sandstone -> ad_astra:venus_sand" | ||
| 20 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/c.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/c.json new file mode 100644 index 0000000..41db69d --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/c.json | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | [ | ||
| 2 | "#c:glass_blocks -> #c:glass_blocks", | ||
| 3 | "#c:glass_panes -> #c:glass_panes" | ||
| 4 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/chipped.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/chipped.json new file mode 100644 index 0000000..bdd88f3 --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/chipped.json | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | [ | ||
| 2 | "chipped:ash_sand -> minecraft:soul_sand", | ||
| 3 | "chipped:course_sand -> minecraft:soul_sand", | ||
| 4 | "chipped:desert_sand -> minecraft:soul_sand", | ||
| 5 | "chipped:kelp_sand -> minecraft:soul_sand", | ||
| 6 | "chipped:lush_red_sand -> minecraft:soul_sand", | ||
| 7 | "chipped:overgrown_sand -> minecraft:soul_sand", | ||
| 8 | "chipped:pearl_sand -> minecraft:soul_sand", | ||
| 9 | "chipped:soft_sand -> minecraft:soul_sand", | ||
| 10 | "chipped:tar_sand -> minecraft:soul_sand", | ||
| 11 | "chipped:wet_sand -> minecraft:soul_sand", | ||
| 12 | "chipped:wet_red_sand -> minecraft:soul_sand", | ||
| 13 | "chipped:white_sand -> minecraft:soul_sand" | ||
| 14 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/computercraft.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/computercraft.json new file mode 100644 index 0000000..dcbcbd1 --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/computercraft.json | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | [ | ||
| 2 | "computercraft:wired_modem_full -> computercraft:wired_modem" | ||
| 3 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/create.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/create.json new file mode 100644 index 0000000..30a221a --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/create.json | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | [ | ||
| 2 | "create:andesite_alloy_block -> create:andesite_alloy", | ||
| 3 | "create:brass_block -> create:brass_ingot", | ||
| 4 | "create:brass_nugget -> create:brass_ingot", | ||
| 5 | "create:builders_tea -> minecraft:glass_bottle", | ||
| 6 | "create:cinder_flour -> minecraft:netherrack", | ||
| 7 | "create:copper_nugget -> minecraft:copper_ingot", | ||
| 8 | "create:experience_block -> create:experience_nugget", | ||
| 9 | "create:raw_zinc_block -> create:raw_zinc", | ||
| 10 | "create:sail_frame -> create:white_sail", | ||
| 11 | "create:secondary_linear_chassis -> create:linear_chassis", | ||
| 12 | "create:small_rose_quartz_tiles -> create:rose_quartz_tiles", | ||
| 13 | "create:stressometer -> create:speedometer", | ||
| 14 | "create:vertical_gearbox -> create:gearbox", | ||
| 15 | "create:zinc_block -> create:zinc_ingot", | ||
| 16 | "create:zinc_nugget -> create:zinc_ingot", | ||
| 17 | |||
| 18 | "create:cut_andesite_slab -> create:cut_andesite", | ||
| 19 | "create:cut_asurine_slab -> create:cut_asurine", | ||
| 20 | "create:cut_calcite_slab -> create:cut_calcite", | ||
| 21 | "create:cut_crimsite_slab -> create:cut_crimsite", | ||
| 22 | "create:cut_deepslate_slab -> create:cut_deepslate", | ||
| 23 | "create:cut_diorite_slab -> create:cut_diorite", | ||
| 24 | "create:cut_dripstone_slab -> create:cut_dripstone", | ||
| 25 | "create:cut_granite_slab -> create:cut_granite", | ||
| 26 | "create:cut_limestone_slab -> create:cut_limestone", | ||
| 27 | "create:cut_ochrum_slab -> create:cut_ochrum", | ||
| 28 | "create:cut_scorchia_slab -> create:cut_scorchia", | ||
| 29 | "create:cut_scoria_slab -> create:cut_scoria", | ||
| 30 | "create:cut_tuff_slab -> create:cut_tuff", | ||
| 31 | "create:cut_veridium_slab -> create:cut_veridium", | ||
| 32 | |||
| 33 | "create:cut_andesite_brick_slab -> create:cut_andesite_bricks", | ||
| 34 | "create:cut_asurine_brick_slab -> create:cut_asurine_bricks", | ||
| 35 | "create:cut_calcite_brick_slab -> create:cut_calcite_bricks", | ||
| 36 | "create:cut_crimsite_brick_slab -> create:cut_crimsite_bricks", | ||
| 37 | "create:cut_deepslate_brick_slab -> create:cut_deepslate_bricks", | ||
| 38 | "create:cut_diorite_brick_slab -> create:cut_diorite_bricks", | ||
| 39 | "create:cut_dripstone_brick_slab -> create:cut_dripstone_bricks", | ||
| 40 | "create:cut_granite_brick_slab -> create:cut_granite_bricks", | ||
| 41 | "create:cut_limestone_brick_slab -> create:cut_limestone_bricks", | ||
| 42 | "create:cut_ochrum_brick_slab -> create:cut_ochrum_bricks", | ||
| 43 | "create:cut_scorchia_brick_slab -> create:cut_scorchia_bricks", | ||
| 44 | "create:cut_scoria_brick_slab -> create:cut_scoria_bricks", | ||
| 45 | "create:cut_tuff_brick_slab -> create:cut_tuff_bricks", | ||
| 46 | "create:cut_veridium_brick_slab -> create:cut_veridium_bricks", | ||
| 47 | |||
| 48 | "create:polished_cut_andesite_slab -> create:polished_cut_andesite", | ||
| 49 | "create:polished_cut_asurine_slab -> create:polished_cut_asurine", | ||
| 50 | "create:polished_cut_calcite_slab -> create:polished_cut_calcite", | ||
| 51 | "create:polished_cut_crimsite_slab -> create:polished_cut_crimsite", | ||
| 52 | "create:polished_cut_deepslate_slab -> create:polished_cut_deepslate", | ||
| 53 | "create:polished_cut_diorite_slab -> create:polished_cut_diorite", | ||
| 54 | "create:polished_cut_dripstone_slab -> create:polished_cut_dripstone", | ||
| 55 | "create:polished_cut_granite_slab -> create:polished_cut_granite", | ||
| 56 | "create:polished_cut_limestone_slab -> create:polished_cut_limestone", | ||
| 57 | "create:polished_cut_ochrum_slab -> create:polished_cut_ochrum", | ||
| 58 | "create:polished_cut_scorchia_slab -> create:polished_cut_scorchia", | ||
| 59 | "create:polished_cut_scoria_slab -> create:polished_cut_scoria", | ||
| 60 | "create:polished_cut_tuff_slab -> create:polished_cut_tuff", | ||
| 61 | "create:polished_cut_veridium_slab -> create:polished_cut_veridium", | ||
| 62 | |||
| 63 | "create:small_andesite_brick_slab -> create:small_andesite_bricks", | ||
| 64 | "create:small_asurine_brick_slab -> create:small_asurine_bricks", | ||
| 65 | "create:small_calcite_brick_slab -> create:small_calcite_bricks", | ||
| 66 | "create:small_crimsite_brick_slab -> create:small_crimsite_bricks", | ||
| 67 | "create:small_deepslate_brick_slab -> create:small_deepslate_bricks", | ||
| 68 | "create:small_diorite_brick_slab -> create:small_diorite_bricks", | ||
| 69 | "create:small_dripstone_brick_slab -> create:small_dripstone_bricks", | ||
| 70 | "create:small_granite_brick_slab -> create:small_granite_bricks", | ||
| 71 | "create:small_limestone_brick_slab -> create:small_limestone_bricks", | ||
| 72 | "create:small_ochrum_brick_slab -> create:small_ochrum_bricks", | ||
| 73 | "create:small_scorchia_brick_slab -> create:small_scorchia_bricks", | ||
| 74 | "create:small_scoria_brick_slab -> create:small_scoria_bricks", | ||
| 75 | "create:small_tuff_brick_slab -> create:small_tuff_bricks", | ||
| 76 | "create:small_veridium_brick_slab -> create:small_veridium_bricks" | ||
| 77 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/farmersdelight.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/farmersdelight.json new file mode 100644 index 0000000..0e4b21f --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/farmersdelight.json | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | [ | ||
| 2 | "farmersdelight:apple_pie_slice -> farmersdelight:apple_pie", | ||
| 3 | "farmersdelight:beetroot_crate -> minecraft:beetroot", | ||
| 4 | "farmersdelight:cabbage_crate -> farmersdelight:cabbage", | ||
| 5 | "farmersdelight:cabbage_leaf -> farmersdelight:cabbage", | ||
| 6 | "farmersdelight:cake_slice -> minecraft:cake", | ||
| 7 | "farmersdelight:canvas_rug -> farmersdelight:canvas", | ||
| 8 | "farmersdelight:carrot_crate -> minecraft:carrot", | ||
| 9 | "farmersdelight:chocolate_pie_slice -> farmersdelight:chocolate_pie", | ||
| 10 | "farmersdelight:full_tatami_mat -> farmersdelight:tatami", | ||
| 11 | "farmersdelight:half_tatami_mat -> farmersdelight:full_tatami_mat", | ||
| 12 | "farmersdelight:milk_bottle -> minecraft:glass_bottle", | ||
| 13 | "farmersdelight:milk_bottle -> minecraft:milk_bucket", | ||
| 14 | "farmersdelight:onion_crate -> farmersdelight:onion", | ||
| 15 | "farmersdelight:potato_crate -> minecraft:potato", | ||
| 16 | "farmersdelight:pumpkin_slice -> minecraft:pumpkin", | ||
| 17 | "farmersdelight:rice_bag -> farmersdelight:rice", | ||
| 18 | "farmersdelight:rice_bale -> farmersdelight:rice_panicle", | ||
| 19 | "farmersdelight:safety_net -> farmersdelight:rope", | ||
| 20 | "farmersdelight:straw_bale -> farmersdelight:straw", | ||
| 21 | "farmersdelight:sweet_berry_cheesecake_slice -> farmersdelight:sweet_berry_cheesecake", | ||
| 22 | "farmersdelight:tomato_crate -> farmersdelight:tomato" | ||
| 23 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/minecraft.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/minecraft.json index 663e70e..62d93fc 100644 --- a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/minecraft.json +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/minecraft.json | |||
| @@ -1,26 +1,42 @@ | |||
| 1 | [ | 1 | [ |
| 2 | "#minecraft:beds -> #minecraft:beds", | 2 | "#minecraft:beds -> #minecraft:beds", |
| 3 | "#minecraft:signs -> #minecraft:planks", | ||
| 4 | "#minecraft:wooden_doors -> #minecraft:planks", | ||
| 5 | "#minecraft:wooden_trapdoors -> #minecraft:planks", | ||
| 3 | "#minecraft:wool -> #minecraft:wool", | 6 | "#minecraft:wool -> #minecraft:wool", |
| 7 | "#minecraft:wool -> minecraft:string", | ||
| 4 | "#minecraft:wool_carpets -> #minecraft:wool_carpets", | 8 | "#minecraft:wool_carpets -> #minecraft:wool_carpets", |
| 5 | 9 | ||
| 10 | "minecraft:amethyst_block -> minecraft:amethyst_shard", | ||
| 11 | |||
| 6 | "minecraft:bone_block -> minecraft:bone_meal", | 12 | "minecraft:bone_block -> minecraft:bone_meal", |
| 13 | "minecraft:bricks -> minecraft:brick", | ||
| 7 | 14 | ||
| 8 | "minecraft:chiseled_quartz_block -> minecraft:quartz_slab", | 15 | "minecraft:chiseled_quartz_block -> minecraft:quartz_slab", |
| 9 | "minecraft:chiseled_red_sandstone -> minecraft:red_sandstone_slab", | 16 | "minecraft:chiseled_red_sandstone -> minecraft:red_sandstone_slab", |
| 10 | "minecraft:chiseled_sandstone -> minecraft:sandstone_slab", | 17 | "minecraft:chiseled_sandstone -> minecraft:sandstone_slab", |
| 18 | "minecraft:clay -> minecraft:clay_ball", | ||
| 11 | "minecraft:coal_block -> minecraft:coal", | 19 | "minecraft:coal_block -> minecraft:coal", |
| 20 | "minecraft:cobbled_deepslate -> minecraft:deepslate", | ||
| 21 | "minecraft:cobblestone -> minecraft:andesite", | ||
| 22 | "minecraft:cobblestone -> minecraft:diorite", | ||
| 23 | "minecraft:cobblestone -> minecraft:gravel", | ||
| 24 | "minecraft:cobblestone -> minecraft:stone", | ||
| 12 | "minecraft:copper_block -> minecraft:copper_ingot", | 25 | "minecraft:copper_block -> minecraft:copper_ingot", |
| 13 | 26 | ||
| 14 | "minecraft:diamond_block -> minecraft:diamond", | 27 | "minecraft:diamond_block -> minecraft:diamond", |
| 28 | "minecraft:diamond_horse_armor -> minecraft:diamond", | ||
| 15 | "minecraft:disc_fragment_5 -> minecraft:music_disc_5", | 29 | "minecraft:disc_fragment_5 -> minecraft:music_disc_5", |
| 16 | "minecraft:dried_kelp_block -> minecraft:dried_kelp", | 30 | "minecraft:dried_kelp_block -> minecraft:dried_kelp", |
| 17 | 31 | ||
| 18 | "minecraft:emerald_block -> minecraft:emerald", | 32 | "minecraft:emerald_block -> minecraft:emerald", |
| 19 | 33 | ||
| 20 | "minecraft:filled_map -> minecraft:map", | 34 | "minecraft:filled_map -> minecraft:map", |
| 21 | 35 | ||
| 36 | "minecraft:glowstone -> minecraft:glowstone_dust", | ||
| 22 | "minecraft:gold_block -> minecraft:gold_ingot", | 37 | "minecraft:gold_block -> minecraft:gold_ingot", |
| 23 | "minecraft:gold_nugget -> minecraft:gold_ingot", | 38 | "minecraft:gold_nugget -> minecraft:gold_ingot", |
| 39 | "minecraft:golden_horse_armor -> minecraft:gold_ingot", | ||
| 24 | "minecraft:golden_helmet -> minecraft:gold_nugget", | 40 | "minecraft:golden_helmet -> minecraft:gold_nugget", |
| 25 | "minecraft:golden_chestplate -> minecraft:gold_nugget", | 41 | "minecraft:golden_chestplate -> minecraft:gold_nugget", |
| 26 | "minecraft:golden_leggings -> minecraft:gold_nugget", | 42 | "minecraft:golden_leggings -> minecraft:gold_nugget", |
| @@ -30,12 +46,16 @@ | |||
| 30 | "minecraft:golden_axe -> minecraft:gold_nugget", | 46 | "minecraft:golden_axe -> minecraft:gold_nugget", |
| 31 | "minecraft:golden_shovel -> minecraft:gold_nugget", | 47 | "minecraft:golden_shovel -> minecraft:gold_nugget", |
| 32 | "minecraft:golden_hoe -> minecraft:gold_nugget", | 48 | "minecraft:golden_hoe -> minecraft:gold_nugget", |
| 49 | "minecraft:granite -> minecraft:red_sand", | ||
| 50 | "minecraft:gravel -> minecraft:sand", | ||
| 33 | 51 | ||
| 34 | "minecraft:hay_block -> minecraft:wheat", | 52 | "minecraft:hay_block -> minecraft:wheat", |
| 35 | "minecraft:honey_block -> minecraft:honey_bottle", | 53 | "minecraft:honey_block -> minecraft:honey_bottle", |
| 54 | "minecraft:honey_bottle -> minecraft:glass_bottle", | ||
| 36 | 55 | ||
| 37 | "minecraft:iron_block -> minecraft:iron_ingot", | 56 | "minecraft:iron_block -> minecraft:iron_ingot", |
| 38 | "minecraft:iron_nugget -> minecraft:iron_ingot", | 57 | "minecraft:iron_nugget -> minecraft:iron_ingot", |
| 58 | "minecraft:iron_horse_armor -> minecraft:iron_ingot", | ||
| 39 | "minecraft:iron_helmet -> minecraft:iron_nugget", | 59 | "minecraft:iron_helmet -> minecraft:iron_nugget", |
| 40 | "minecraft:iron_chestplate -> minecraft:iron_nugget", | 60 | "minecraft:iron_chestplate -> minecraft:iron_nugget", |
| 41 | "minecraft:iron_leggings -> minecraft:iron_nugget", | 61 | "minecraft:iron_leggings -> minecraft:iron_nugget", |
| @@ -47,18 +67,33 @@ | |||
| 47 | "minecraft:iron_hoe -> minecraft:iron_nugget", | 67 | "minecraft:iron_hoe -> minecraft:iron_nugget", |
| 48 | 68 | ||
| 49 | "minecraft:lapis_block -> minecraft:lapis_lazuli", | 69 | "minecraft:lapis_block -> minecraft:lapis_lazuli", |
| 50 | 70 | "minecraft:leather_horse_armor -> minecraft:leather", | |
| 71 | "minecraft:leather_helmet -> minecraft:leather", | ||
| 72 | "minecraft:leather_chestplate -> minecraft:leather", | ||
| 73 | "minecraft:leather_leggings -> minecraft:leather", | ||
| 74 | "minecraft:leather_boots -> minecraft:leather", | ||
| 75 | |||
| 76 | "minecraft:melon -> minecraft:melon_slice", | ||
| 77 | |||
| 78 | "minecraft:nether_bricks -> minecraft:nether_brick", | ||
| 79 | "minecraft:nether_wart_block -> minecraft:nether_wart", | ||
| 51 | "minecraft:netherite_block -> minecraft:netherite_ingot", | 80 | "minecraft:netherite_block -> minecraft:netherite_ingot", |
| 52 | 81 | ||
| 53 | "minecraft:redstone_block -> minecraft:redstone", | 82 | "minecraft:redstone_block -> minecraft:redstone", |
| 54 | 83 | ||
| 84 | "minecraft:sandstone -> minecraft:sand", | ||
| 55 | "minecraft:slime_block -> minecraft:slime_ball", | 85 | "minecraft:slime_block -> minecraft:slime_ball", |
| 56 | 86 | ||
| 57 | "minecraft:purpur_pillar -> minecraft:purpur_slab", | 87 | "minecraft:purpur_pillar -> minecraft:purpur_slab", |
| 58 | 88 | ||
| 89 | "minecraft:quartz_block -> minecraft:quartz", | ||
| 90 | "minecraft:quartz -> minecraft:diorite", | ||
| 91 | |||
| 59 | "minecraft:raw_copper_block -> minecraft:raw_copper", | 92 | "minecraft:raw_copper_block -> minecraft:raw_copper", |
| 60 | "minecraft:raw_gold_block -> minecraft:raw_gold", | 93 | "minecraft:raw_gold_block -> minecraft:raw_gold", |
| 61 | "minecraft:raw_iron_block -> minecraft:raw_iron", | 94 | "minecraft:raw_iron_block -> minecraft:raw_iron", |
| 62 | 95 | ||
| 96 | "minecraft:soul_sand -> minecraft:quartz", | ||
| 97 | |||
| 63 | "minecraft:waxed_copper_block -> minecraft:copper_ingot" | 98 | "minecraft:waxed_copper_block -> minecraft:copper_ingot" |
| 64 | ] \ No newline at end of file | 99 | ] \ No newline at end of file |
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/travelersbackpack.json b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/travelersbackpack.json new file mode 100644 index 0000000..de92516 --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/cycle_cut/travelersbackpack.json | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | [ | ||
| 2 | "#eris_alchemy:travelersbackpack_sleeping_bags -> #eris_alchemy:travelersbackpack_sleeping_bags" | ||
| 3 | ] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/fake_recipes/farmersdelight.json b/src/main/resources/data/eris_alchemy/eris_alchemy/fake_recipes/farmersdelight.json new file mode 100644 index 0000000..cd41c1b --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/fake_recipes/farmersdelight.json | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | [{ | ||
| 2 | "output": "farmersdelight:rich_soil", | ||
| 3 | "input": "farmersdelight:organic_compost" | ||
| 4 | }] \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/farmersdelight.json b/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/farmersdelight.json new file mode 100644 index 0000000..6e274cf --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/farmersdelight.json | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | { | ||
| 2 | "farmersdelight:cabbage": 24, | ||
| 3 | "farmersdelight:cabbage_seeds": 16, | ||
| 4 | "farmersdelight:ham": 64, | ||
| 5 | "farmersdelight:onion": 24, | ||
| 6 | "farmersdelight:rice": 24, | ||
| 7 | "farmersdelight:rice_panicle": 16, | ||
| 8 | "farmersdelight:straw": 16, | ||
| 9 | "farmersdelight:tomato": 24, | ||
| 10 | "farmersdelight:tomato_seeds": 16, | ||
| 11 | "farmersdelight:tree_bark": 16 | ||
| 12 | } \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/porting_lib.json b/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/porting_lib.json new file mode 100644 index 0000000..c01528d --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/item_emcs/porting_lib.json | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | { | ||
| 2 | "porting_lib:area_selector": null | ||
| 3 | } \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/c.json b/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/c.json new file mode 100644 index 0000000..c95d0cb --- /dev/null +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/c.json | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | { | ||
| 2 | "c:glass_blocks": 1 | ||
| 3 | } \ No newline at end of file | ||
diff --git a/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/minecraft.json b/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/minecraft.json index 70e4803..90bc05c 100644 --- a/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/minecraft.json +++ b/src/main/resources/data/eris_alchemy/eris_alchemy/item_tag_emcs/minecraft.json | |||
| @@ -16,5 +16,6 @@ | |||
| 16 | "minecraft:redstone_ores": null, | 16 | "minecraft:redstone_ores": null, |
| 17 | "minecraft:sand": 1, | 17 | "minecraft:sand": 1, |
| 18 | "minecraft:saplings": 32, | 18 | "minecraft:saplings": 32, |
| 19 | "minecraft:wool": 48 | 19 | "minecraft:wool": 48, |
| 20 | "minecraft:wool_carpets": 32 | ||
| 20 | } \ No newline at end of file | 21 | } \ No newline at end of file |
diff --git a/src/main/resources/data/eris_alchemy/tags/items/travelersbackpack_sleeping_bags.json b/src/main/resources/data/eris_alchemy/tags/items/travelersbackpack_sleeping_bags.json new file mode 100644 index 0000000..cd8db7f --- /dev/null +++ b/src/main/resources/data/eris_alchemy/tags/items/travelersbackpack_sleeping_bags.json | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | { | ||
| 2 | "replace": false, | ||
| 3 | "values": [ | ||
| 4 | { | ||
| 5 | "id": "#travelersbackpack:sleeping_bags", | ||
| 6 | "required": false | ||
| 7 | }, | ||
| 8 | { | ||
| 9 | "id": "travelersbackpack:blue_sleeping_bag", | ||
| 10 | "required": false | ||
| 11 | }, | ||
| 12 | { | ||
| 13 | "id": "travelersbackpack:brown_sleeping_bag", | ||
| 14 | "required": false | ||
| 15 | }, | ||
| 16 | { | ||
| 17 | "id": "travelersbackpack:cyan_sleeping_bag", | ||
| 18 | "required": false | ||
| 19 | }, | ||
| 20 | { | ||
| 21 | "id": "travelersbackpack:gray_sleeping_bag", | ||
| 22 | "required": false | ||
| 23 | }, | ||
| 24 | { | ||
| 25 | "id": "travelersbackpack:green_sleeping_bag", | ||
| 26 | "required": false | ||
| 27 | }, | ||
| 28 | { | ||
| 29 | "id": "travelersbackpack:light_blue_sleeping_bag", | ||
| 30 | "required": false | ||
| 31 | }, | ||
| 32 | { | ||
| 33 | "id": "travelersbackpack:light_gray_sleeping_bag", | ||
| 34 | "required": false | ||
| 35 | }, | ||
| 36 | { | ||
| 37 | "id": "travelersbackpack:lime_sleeping_bag", | ||
| 38 | "required": false | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | "id": "travelersbackpack:magenta_sleeping_bag", | ||
| 42 | "required": false | ||
| 43 | }, | ||
| 44 | { | ||
| 45 | "id": "travelersbackpack:orange_sleeping_bag", | ||
| 46 | "required": false | ||
| 47 | }, | ||
| 48 | { | ||
| 49 | "id": "travelersbackpack:pink_sleeping_bag", | ||
| 50 | "required": false | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | "id": "travelersbackpack:purple_sleeping_bag", | ||
| 54 | "required": false | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | "id": "travelersbackpack:red_sleeping_bag", | ||
| 58 | "required": false | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | "id": "travelersbackpack:yellow_sleeping_bag", | ||
| 62 | "required": false | ||
| 63 | }, | ||
| 64 | { | ||
| 65 | "id": "travelersbackpack:white_sleeping_bag", | ||
| 66 | "required": false | ||
| 67 | } | ||
| 68 | ] | ||
| 69 | } \ No newline at end of file | ||