diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index a3b888c9a..97719137f 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -135,8 +135,7 @@ jobs:
-k $API_TOKEN \
-rt $RELEASE_TYPE \
-v 'Java 17' \
- -v 1.20.1 \
- -v Forge \
+ -v 1.20.4 \
-v NeoForge \
-c ./CHANGELOG.md \
--required-dep codechicken-lib-1-8 \
@@ -178,9 +177,8 @@ jobs:
create-version \
-v "$MOD_VERSION" \
-c ./CHANGELOG.md \
- -gv 1.20.1 \
+ -gv 1.20.4 \
-vt $RELEASE_TYPE \
- -l forge \
-l neoforge \
--required-dep codechicken-lib \
--required-dep cb-multipart \
diff --git a/api/build.gradle b/api/build.gradle
index 6c7a5a6dd..a53db100f 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -1,13 +1,7 @@
plugins {
- id 'net.neoforged.gradle'
-}
-
-minecraft {
- mappings channel: mcp_mappings, version: mcp_mappings_version
-// accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg")
+ id 'net.neoforged.gradle.userdev'
}
dependencies {
- minecraft "net.neoforged:forge:${mc_version}-${forge_version}"
+ implementation "net.neoforged:neoforge:${forge_version}"
}
-
diff --git a/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java b/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java
index e30d08f92..5c8bdb7e4 100644
--- a/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java
+++ b/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java
@@ -1,11 +1,10 @@
package mrtjp.projectred.api;
import net.minecraft.core.BlockPos;
+import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.CapabilityManager;
-import net.minecraftforge.common.capabilities.CapabilityToken;
+import net.neoforged.neoforge.capabilities.BlockCapability;
import java.util.Set;
@@ -14,12 +13,12 @@ public interface IExpansionAPI {
/**
* The capability instance for {@link Frame}
*/
- Capability FRAME_CAPABILITY = CapabilityManager.get(new CapabilityToken<>() { });
+ BlockCapability FRAME_CAPABILITY = BlockCapability.createVoid(new ResourceLocation(ProjectRedAPI.EXPANSION_MOD_ID, "frame"), Frame.class);
/**
* The capability instance for {@link MovementController}
*/
- Capability MOVEMENT_CONTROLLER_CAPABILITY = CapabilityManager.get(new CapabilityToken<>() { });
+ BlockCapability MOVEMENT_CONTROLLER_CAPABILITY = BlockCapability.createVoid(new ResourceLocation(ProjectRedAPI.EXPANSION_MOD_ID, "movement_controller"), MovementController.class);
/**
* Used to register a {@link BlockMover} to a specific block. This BlockMover will be engaged every time
diff --git a/build.gradle b/build.gradle
index 2c2e0bbf1..464ae5bb5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -11,7 +11,7 @@ group = 'mrtjp'
version = "${mc_version}-${mod_version}"
println "Starting build of ${name}, Version: ${mod_version}"
-println "Using Forge: ${forge_version}, for Minecraft: ${mc_version}, with Mappings: ${mcp_mappings}"
+println "Using NeoForge: ${forge_version}, for Minecraft: ${mc_version}"
// Common submodule configurations
subprojects { p ->
@@ -28,7 +28,9 @@ subprojects { p ->
version = rootProject.version
// ForgeGradle version settings
- archivesBaseName = rootProject.name
+ base {
+ archivesName = rootProject.name
+ }
// Jar settings
jar {
diff --git a/core/build.gradle b/core/build.gradle
index 415415773..8e3dff4c0 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'net.neoforged.gradle'
+ id 'net.neoforged.gradle.userdev'
}
String mod_id = 'projectred_core'
@@ -8,40 +8,37 @@ String mod_id = 'projectred_core'
sourceSets.main.java.srcDirs += ['../api/src/main/java']
minecraft {
- mappings channel: mcp_mappings, version: mcp_mappings_version
- accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg")
- runs {
- data {
- property 'mixin.env.remapRefMap', 'true'
- property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
-
- ideaModule "${rootProject.name}.${project.name}.main"
-
- workingDirectory file('run')
- args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
- mods {
- '${mod_id}' { source sourceSets.main }
- }
- }
+ accessTransformers.file file("src/main/resources/META-INF/accesstransformer.cfg")
+}
+
+runs {
+ data {
+ systemProperty 'mixin.env.remapRefMap', 'true'
+ systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
+
+ workingDirectory file('run')
+ programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
+ modSource sourceSets.main
}
}
dependencies {
- minecraft "net.neoforged:forge:${mc_version}-${forge_version}"
+ implementation "net.neoforged:neoforge:${forge_version}"
- implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal")
- implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal")
+ implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}"
+ implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}"
// JEI
- compileOnly(fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}"))
- compileOnly(fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}"))
- runtimeOnly(fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}"))
+ compileOnly("mezz.jei:jei-${mc_version}-common-api:${jei_version}")
+ compileOnly("mezz.jei:jei-${mc_version}-neoforge-api:${jei_version}")
+ runtimeOnly("mezz.jei:jei-${mc_version}-neoforge:${jei_version}")
// CCTweaked
- compileOnly("cc.tweaked:cc-tweaked-${mc_version}-core-api:${cct_version}")
- compileOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge-api:${cct_version}"))
- runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge:${cct_version}"))
+ // compileOnly("cc.tweaked:cc-tweaked-${mc_version}-core-api:${cct_version}")
+ // compileOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge-api:${cct_version}"))
+ // runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge:${cct_version}"))
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
}
+
diff --git a/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad b/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad
deleted file mode 100644
index 4ec0a4a10..000000000
--- a/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad
+++ /dev/null
@@ -1,2 +0,0 @@
-// 1.20.1 2024-05-02T16:36:18.642499 projectred_core Block Loot Tables
-edf858efe8491e7cce71f1a266f10e218c81a42c data/projectred_core/loot_tables/blocks/electrotine_generator.json
diff --git a/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
new file mode 100644
index 000000000..629551ea0
--- /dev/null
+++ b/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -0,0 +1,2 @@
+// 1.20.4 2024-11-23T19:52:38.925742 Loot Tables
+a0514a25061c79be8aebe827aaf7dbc833bc142c data/projectred_core/loot_tables/blocks/electrotine_generator.json
diff --git a/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32 b/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32
index bc2a15cc5..5af0afe5e 100644
--- a/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32
+++ b/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32
@@ -1,48 +1,48 @@
-// 1.20.1 2024-05-02T16:36:18.636221 projectred_core Recipes.
-6df9318cfe3b74a47229e918565717ef412c448a data/projectred_core/recipes/anode.json
-f250ff3d3454f55fadea66dc89afea26c601ae4d data/projectred_core/recipes/black_illumar.json
-236725b2b0282de7ba2f80261320dcde31ed3df8 data/projectred_core/recipes/blue_illumar.json
-ef26b7f8cee8d13086cc152c80aadb88412e76b0 data/projectred_core/recipes/boule.json
-624a1650e739812451427764837f54ec793562d6 data/projectred_core/recipes/brown_illumar.json
-1c00dbe36fa928f982af65ccd758443fef3e5411 data/projectred_core/recipes/cathode.json
-0c868aa79b0124f54fbded7ba06d3e579f0e6f36 data/projectred_core/recipes/conductive_plate.json
-d553bff3c0c854010e483f8be0f5822eb8fc1532 data/projectred_core/recipes/copper_coil.json
-e6b2efe2ad3e708518d3702c1213dccdd709eb5c data/projectred_core/recipes/cyan_illumar.json
-41f3d0f835b83252d31d8a8d0f1a3bf462ea1a8c data/projectred_core/recipes/draw_plate.json
-08b470f09db0e5f339fd333dbe95e4e122e90b35 data/projectred_core/recipes/electrotine_generator.json
-25a5fd9c78c2f2f16cf44f6afb780fb5912e722d data/projectred_core/recipes/electrotine_ingot.json
-bec3ba19234c79bdecabede578f5ae639d873cfd data/projectred_core/recipes/electrotine_iron_comp.json
-38b8c13a1c850643a44fb185c4350c3c5a69f6b5 data/projectred_core/recipes/electrotine_silicon.json
-3487f3d43581e73981bb0d8cb55ee71150c0c161 data/projectred_core/recipes/electrotine_silicon_comp.json
-38a97587cca400f22c53da1c62f3b115584a1e64 data/projectred_core/recipes/energized_silicon.json
-4fb85e506d25bc14424c1a4f1f6d4bbb61671037 data/projectred_core/recipes/energized_silicon_chip.json
-68c48c4a6daf1586a02211c27537e5ee0a5ddcb4 data/projectred_core/recipes/glow_silicon_comp.json
-0da34869cb89f0d154d3293f78be840d9c8db80e data/projectred_core/recipes/gold_coil.json
-9a6cf93b7dc4e2c3e6b4473f8e84a14bd64e2687 data/projectred_core/recipes/gray_illumar.json
-35c8a676a2546b845983f8c635797eb1611cde7e data/projectred_core/recipes/green_illumar.json
-a65beaefdcabb72c8965f26c8bc393672a1f5278 data/projectred_core/recipes/infused_silicon.json
-be7349135660f14f1395a32ff8be936922b642fb data/projectred_core/recipes/iron_coil.json
-06ca89557ab83f51bdcfb8fa0404bd51afac2f8a data/projectred_core/recipes/light_blue_illumar.json
-da35c8a29094c40897d9d0bc2a14e997a85e7480 data/projectred_core/recipes/light_gray_illumar.json
-6858c14e8b178982d1f03c68e258b169f01d288b data/projectred_core/recipes/lime_illumar.json
-15f9f006d24ecb238cc283093fb0bf5313fc4f55 data/projectred_core/recipes/magenta_illumar.json
-bcd31892d44d481bfa3af6655d7d1333efa0740d data/projectred_core/recipes/motor.json
-4b5b579b7bb5b66c7a42ae0d1a6e8db35d97416f data/projectred_core/recipes/multimeter.json
-b680b9bf38af0a45c4751e5a25865a1fc563b87f data/projectred_core/recipes/orange_illumar.json
-25b435c2d32bf284ea8683943d968ecaa516f1ed data/projectred_core/recipes/pink_illumar.json
-d9de5d90fde04c7d5978f8ff692ad4fedeb92bf2 data/projectred_core/recipes/plate.json
-f97023d8b2284d76247dc3c34451438d4329924a data/projectred_core/recipes/platformed_plate.json
-b6b878dbd1b6316e303c7c931260d4b4f4282044 data/projectred_core/recipes/pointer.json
-c3d1e963e8b5ac9d73759b9932306c2933c411a9 data/projectred_core/recipes/purple_illumar.json
-d3eff17e454afbdddc5fd3445ff51ebeaa790bea data/projectred_core/recipes/red_illumar.json
-47033e063761a2bf687d5c4b7b83d156eeaec939 data/projectred_core/recipes/red_ingot.json
-9fee17214ce2c53ced6f273280dd905619eea04e data/projectred_core/recipes/red_iron_comp.json
-50e44357d146ff4c1f33201ef0138260bf22f138 data/projectred_core/recipes/red_silicon_comp.json
-45a075d35f8a9d5b0ae4a24f4f42f2078836f310 data/projectred_core/recipes/sail.json
-3f0f9cce1cb8ea18b403f30d0f6e034eb919d2a3 data/projectred_core/recipes/sand_coal_comp.json
-18b38eb30f4e5a001325f8545881fa7bccfc2c56 data/projectred_core/recipes/screwdriver.json
-74eecc551491b0f4df62107b5f72eb652a37e50c data/projectred_core/recipes/silicon.json
-f24d99e4721fcc8efc4aa43dfc56c936d535aa2a data/projectred_core/recipes/silicon_chip.json
-35fbd73b8dc5bb510e1d878666e5bc2d504b4340 data/projectred_core/recipes/white_illumar.json
-722b3cc591ad2fe503e8f5678541add99d1baf8d data/projectred_core/recipes/woven_cloth.json
-826271d08c8e38b1c677d90b8844aafca3871141 data/projectred_core/recipes/yellow_illumar.json
+// 1.20.4 2024-11-23T19:52:38.912607 projectred_core Recipes.
+011ec1d6efa6439752346f0a5ab4eb0b353c8346 data/projectred_core/recipes/anode.json
+05f64bb226148d7af439a1f4faa65cf0115d124f data/projectred_core/recipes/black_illumar.json
+9771cf39e5870cc76fef4b3ea2753810adcf9285 data/projectred_core/recipes/blue_illumar.json
+e87407cfa99e294173ac074e839c314851d5109d data/projectred_core/recipes/boule.json
+e80ebcaf6f249ade7afafce5df4422ddd8b50014 data/projectred_core/recipes/brown_illumar.json
+ae1180243acd8a6ad39a0cdcb7e5ae130936e59e data/projectred_core/recipes/cathode.json
+8820431a6b0df0f1faabbd6ad7a5fa376f56b599 data/projectred_core/recipes/conductive_plate.json
+9b565853c0d85f672827bda4488f2344dd598a0e data/projectred_core/recipes/copper_coil.json
+a4f7b6d6e777f8cccaefd5ce49216c7a4c5c0892 data/projectred_core/recipes/cyan_illumar.json
+12ec8a18c14fd7dac6a5cdebf78d306e521d2ee0 data/projectred_core/recipes/draw_plate.json
+968917206f5278b9b7ff114ebbfb0cd822807973 data/projectred_core/recipes/electrotine_generator.json
+3596f7a764960ae334fc7ba5b872b044d4e8cbd1 data/projectred_core/recipes/electrotine_ingot.json
+b97d06f8048b50a6ee10119ae499979ed4ef32e1 data/projectred_core/recipes/electrotine_iron_comp.json
+66606b4fd7c45c07037e6b582084b94afc23c2ed data/projectred_core/recipes/electrotine_silicon.json
+8367bd21c399c00a71c43ee42c4ccf4ccb4a5d9a data/projectred_core/recipes/electrotine_silicon_comp.json
+8208f70f6374845f674c0002137c7e7443e32ea7 data/projectred_core/recipes/energized_silicon.json
+a5b433cb7b4b0391d459ce976c9c20e6a0191a47 data/projectred_core/recipes/energized_silicon_chip.json
+1694b4904fd0b20e385c949b6d3dd387d20394b4 data/projectred_core/recipes/glow_silicon_comp.json
+48388da33f0762e9fb923888dcb422d0895bceae data/projectred_core/recipes/gold_coil.json
+1ba6974bd28b7390e8294e96a481a92c4fe0a957 data/projectred_core/recipes/gray_illumar.json
+d99ce49de1c687518a97b683e274ab7dbc1a49bf data/projectred_core/recipes/green_illumar.json
+c146f539ea48b6c76621e5a942ec052cd4b95bb7 data/projectred_core/recipes/infused_silicon.json
+c0c5515557d878557336db021d8069d68d4660c1 data/projectred_core/recipes/iron_coil.json
+7c0907930a5f10a77de29c5088c61434b7b02e10 data/projectred_core/recipes/light_blue_illumar.json
+eb42398b582a29dc25e35d7eb436ed5717a367b6 data/projectred_core/recipes/light_gray_illumar.json
+abbcdbe736ad5bb18955911a8bf037953cba7efc data/projectred_core/recipes/lime_illumar.json
+b11cea454867a56544d3466c51415f23bc63a03c data/projectred_core/recipes/magenta_illumar.json
+4c588b2521cc1b758d4636fb1e5a6655acda56e9 data/projectred_core/recipes/motor.json
+4f23a84c739ed9e55ce0ea9c8ce8ee5367114f20 data/projectred_core/recipes/multimeter.json
+0bdbf57249aba68bead95b7bf8cce2f76d0dc611 data/projectred_core/recipes/orange_illumar.json
+10b5e98df6622205a5fe07b7e503d64f2f2d902d data/projectred_core/recipes/pink_illumar.json
+9b8bd9a802ae07342ee59ca2ed3db893fa1be6b2 data/projectred_core/recipes/plate.json
+311e066ba0fd702d304238d7de9c755bade58da5 data/projectred_core/recipes/platformed_plate.json
+11197fd21b759f43cf776f9cd43507007e8b909d data/projectred_core/recipes/pointer.json
+691710cd3f52407100a366abcfde5a5e1c29e487 data/projectred_core/recipes/purple_illumar.json
+59b62d0fe4787a47f5a62daf9dd26c582424ebf3 data/projectred_core/recipes/red_illumar.json
+fbfeb163faa41d0fbc78153ac570bd66a4e82f5e data/projectred_core/recipes/red_ingot.json
+478b595cdff72d2f61383319a33db29225e118a4 data/projectred_core/recipes/red_iron_comp.json
+7ec16e660f73113b359f5068094ace5efc0126fe data/projectred_core/recipes/red_silicon_comp.json
+aa3d8ba178651351e749ff032ccf7100d353e394 data/projectred_core/recipes/sail.json
+3ef15ccd51ab7f496518845f2f5202a4e853c66c data/projectred_core/recipes/sand_coal_comp.json
+b140cda6443a74f01ce48daed21b5ff5168aaa9e data/projectred_core/recipes/screwdriver.json
+ac91f0e8b466962cbac8148400e0ba000559f4ce data/projectred_core/recipes/silicon.json
+97d16c8ca7079aa64b3a609582af03a8f0dbb1e6 data/projectred_core/recipes/silicon_chip.json
+61f6e4eb5fe3b30ad290ef860dc23ce5041240e4 data/projectred_core/recipes/white_illumar.json
+ae8534cad1bcaa59bbfec215947594ba24ffbd48 data/projectred_core/recipes/woven_cloth.json
+0cee2cc2f570a96c7a9c70e452dbb7a1d3237953 data/projectred_core/recipes/yellow_illumar.json
diff --git a/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 b/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5
index a012fd8d3..98027dd0e 100644
--- a/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5
+++ b/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5
@@ -1,4 +1,4 @@
-// 1.20.1 2024-05-02T16:36:18.646512 Tags for minecraft:item mod id projectred_core
+// 1.20.4 2024-11-23T19:52:38.926176 Tags for minecraft:item mod id projectred_core
92105d826828321073ede0ce0ecce9d84a8df0db data/forge/tags/items/dusts.json
6a3de78381bcb92b0a8f9953c598cf7fc42cb3c6 data/forge/tags/items/dusts/electrotine.json
9bb828e78355e586e44d0350583fbdf5610a36f6 data/forge/tags/items/gems.json
diff --git a/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862 b/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862
index 92c3ae2fb..d7856fe17 100644
--- a/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862
+++ b/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862
@@ -1,4 +1,4 @@
-// 1.20.1 2024-05-02T16:36:18.646807 projectred_core Item models.
+// 1.20.4 2024-11-23T19:52:38.926677 projectred_core Item models.
b12b23b4ee2dfe55a99741d7fe8e6f4787e348c5 assets/projectred_core/models/item/anode.json
862e1a7b058c18759bc2dddce1211e6b3b96f341 assets/projectred_core/models/item/black_illumar.json
8da2c7613c8d8a99280b69d798966b4556950a49 assets/projectred_core/models/item/blue_illumar.json
diff --git a/core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2 b/core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f
similarity index 50%
rename from core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2
rename to core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f
index 237ff05a2..0f980f9dd 100644
--- a/core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2
+++ b/core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f
@@ -1,2 +1,2 @@
-// 1.20.1 2024-05-02T16:36:18.64587 ProjectRed-Core Languages: en_us
+// 1.20.4 2024-11-23T19:52:38.924139 Languages: en_us for mod: projectred_core
789a8db6ffa570c8db0bb245338757a5c3790ae6 assets/projectred_core/lang/en_us.json
diff --git a/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142 b/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142
index 66c5e8a7b..a397afe93 100644
--- a/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142
+++ b/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142
@@ -1,2 +1,2 @@
-// 1.20.1 2024-05-02T16:36:18.649205 Tags for minecraft:block mod id projectred_core
+// 1.20.4 2024-11-23T19:52:38.931335 Tags for minecraft:block mod id projectred_core
dabd78c12058db0f6f5c9f20eb3ab78775843770 data/minecraft/tags/blocks/mineable/pickaxe.json
diff --git a/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d b/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d
index e04b3e0cf..8ff466e3f 100644
--- a/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d
+++ b/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d
@@ -1,4 +1,4 @@
-// 1.20.1 2024-05-02T16:36:18.64417 ProjectRed-Core Block State Models
+// 1.20.4 2024-11-23T19:52:38.920667 ProjectRed-Core Block State Models
2066fd5cf5e8c7b963f617014ef5e6fe2bf6671a assets/projectred_core/blockstates/electrotine_generator.json
76a3e81fab4af40997c86364497b3c682571c4bd assets/projectred_core/models/block/electrotine_generator.json
2320dfd49b9c2dc8024323870ab92e6ed68b2f1f assets/projectred_core/models/block/electrotine_generator_state1.json
diff --git a/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json b/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json
index 44d5f955a..3d3bdffb8 100644
--- a/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json
+++ b/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_core:blocks/electrotine_generator"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/anode.json b/core/src/main/generated/data/projectred_core/recipes/anode.json
index 67f215374..0e739f73a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/anode.json
+++ b/core/src/main/generated/data/projectred_core/recipes/anode.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/black_illumar.json b/core/src/main/generated/data/projectred_core/recipes/black_illumar.json
index a75433daa..7d1889d88 100644
--- a/core/src/main/generated/data/projectred_core/recipes/black_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/black_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json b/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json
index be40e3b17..29f361dda 100644
--- a/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/boule.json b/core/src/main/generated/data/projectred_core/recipes/boule.json
index ec1a66fa0..def133f69 100644
--- a/core/src/main/generated/data/projectred_core/recipes/boule.json
+++ b/core/src/main/generated/data/projectred_core/recipes/boule.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:sand_coal_comp"
},
- "result": {
- "item": "projectred_core:boule"
- }
+ "result": "projectred_core:boule"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json b/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json
index f8f3ad002..1ab7121cf 100644
--- a/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/cathode.json b/core/src/main/generated/data/projectred_core/recipes/cathode.json
index 9eca7bc78..3e1a5c970 100644
--- a/core/src/main/generated/data/projectred_core/recipes/cathode.json
+++ b/core/src/main/generated/data/projectred_core/recipes/cathode.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json b/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json
index 329c87a50..7a8318058 100644
--- a/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json
+++ b/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/copper_coil.json b/core/src/main/generated/data/projectred_core/recipes/copper_coil.json
index ec702fdf8..b814324df 100644
--- a/core/src/main/generated/data/projectred_core/recipes/copper_coil.json
+++ b/core/src/main/generated/data/projectred_core/recipes/copper_coil.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"tag": "forge:ingots/copper"
diff --git a/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json b/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json
index 842c94b4a..0ce67ffb0 100644
--- a/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/draw_plate.json b/core/src/main/generated/data/projectred_core/recipes/draw_plate.json
index fb4228049..d15e8a922 100644
--- a/core/src/main/generated/data/projectred_core/recipes/draw_plate.json
+++ b/core/src/main/generated/data/projectred_core/recipes/draw_plate.json
@@ -1,17 +1,18 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"D": {
- "type": "forge:nbt",
- "count": 1,
+ "type": "neoforge:nbt",
"item": "cb_microblock:microblock",
- "nbt": "{factory_id:0,mat:\"minecraft:diamond_block\",size:2}"
+ "strict": true,
+ "tag": "{factory_id:0,mat:\"minecraft:diamond_block\",size:2}"
},
"I": {
- "type": "forge:nbt",
- "count": 1,
+ "type": "neoforge:nbt",
"item": "cb_microblock:microblock",
- "nbt": "{factory_id:3,mat:\"minecraft:iron_block\",size:2}"
+ "strict": true,
+ "tag": "{factory_id:3,mat:\"minecraft:iron_block\",size:2}"
}
},
"pattern": [
@@ -20,7 +21,6 @@
" I "
],
"result": {
- "item": "projectred_core:draw_plate",
- "nbt": "{Damage:0}"
+ "item": "projectred_core:draw_plate"
}
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json
index 671b1652d..aff308a36 100644
--- a/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json
+++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"b": {
"item": "minecraft:bricks"
diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json
index bbd6cb611..ec510e6e8 100644
--- a/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json
+++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:electrotine_iron_comp"
},
- "result": {
- "item": "projectred_core:electrotine_ingot"
- }
+ "result": "projectred_core:electrotine_ingot"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json
index 66c63d7b8..f9a70c13c 100644
--- a/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"tag": "forge:dusts/electrotine"
diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json
index c0817ebe9..bec7c2ec3 100644
--- a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json
+++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:electrotine_silicon_comp"
},
- "result": {
- "item": "projectred_core:electrotine_silicon"
- }
+ "result": "projectred_core:electrotine_silicon"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json
index 11384d6db..beb4d6cc4 100644
--- a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"E": {
"tag": "forge:dusts/electrotine"
diff --git a/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json b/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json
index a90397bed..e5b19587a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json
+++ b/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:glow_silicon_comp"
},
- "result": {
- "item": "projectred_core:energized_silicon"
- }
+ "result": "projectred_core:energized_silicon"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json b/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json
index eb0ff4adb..e08087080 100644
--- a/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json
+++ b/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"E": {
"item": "projectred_core:energized_silicon"
diff --git a/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json
index ed59d9eb1..d7db53ac5 100644
--- a/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"G": {
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/gold_coil.json b/core/src/main/generated/data/projectred_core/recipes/gold_coil.json
index e2e2be022..a85a40976 100644
--- a/core/src/main/generated/data/projectred_core/recipes/gold_coil.json
+++ b/core/src/main/generated/data/projectred_core/recipes/gold_coil.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"D": {
"item": "projectred_core:draw_plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json b/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json
index a3dc6dcf0..0b049fa99 100644
--- a/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/green_illumar.json b/core/src/main/generated/data/projectred_core/recipes/green_illumar.json
index 07f44fd4e..a6f8a4fc6 100644
--- a/core/src/main/generated/data/projectred_core/recipes/green_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/green_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json b/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json
index 38a6a4ce8..916d6c57c 100644
--- a/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json
+++ b/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:red_silicon_comp"
},
- "result": {
- "item": "projectred_core:infused_silicon"
- }
+ "result": "projectred_core:infused_silicon"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/iron_coil.json b/core/src/main/generated/data/projectred_core/recipes/iron_coil.json
index 38f9d4f1b..aa5104f1a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/iron_coil.json
+++ b/core/src/main/generated/data/projectred_core/recipes/iron_coil.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"D": {
"item": "projectred_core:draw_plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json b/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json
index baac9ebb4..ad4dec12e 100644
--- a/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json b/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json
index cf3650295..31756499f 100644
--- a/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json b/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json
index c25e2c7e6..5b6818651 100644
--- a/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json b/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json
index 5bb57853a..93fb79a90 100644
--- a/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/motor.json b/core/src/main/generated/data/projectred_core/recipes/motor.json
index f2570960f..70a8e1a06 100644
--- a/core/src/main/generated/data/projectred_core/recipes/motor.json
+++ b/core/src/main/generated/data/projectred_core/recipes/motor.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:copper_coil"
diff --git a/core/src/main/generated/data/projectred_core/recipes/multimeter.json b/core/src/main/generated/data/projectred_core/recipes/multimeter.json
index ead953801..606a3aed4 100644
--- a/core/src/main/generated/data/projectred_core/recipes/multimeter.json
+++ b/core/src/main/generated/data/projectred_core/recipes/multimeter.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"A": {
"tag": "forge:ingots/red_alloy"
@@ -23,7 +24,6 @@
"BGR"
],
"result": {
- "item": "projectred_core:multimeter",
- "nbt": "{Damage:0}"
+ "item": "projectred_core:multimeter"
}
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json b/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json
index 8704747ba..daa6711cf 100644
--- a/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json b/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json
index 6d8f74a95..63a5b9963 100644
--- a/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/plate.json b/core/src/main/generated/data/projectred_core/recipes/plate.json
index 7177c9622..9e50451f7 100644
--- a/core/src/main/generated/data/projectred_core/recipes/plate.json
+++ b/core/src/main/generated/data/projectred_core/recipes/plate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
diff --git a/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json b/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json
index 48b6c4ece..3ea1cdf97 100644
--- a/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json
+++ b/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/pointer.json b/core/src/main/generated/data/projectred_core/recipes/pointer.json
index 254ac76c6..d0b8660b6 100644
--- a/core/src/main/generated/data/projectred_core/recipes/pointer.json
+++ b/core/src/main/generated/data/projectred_core/recipes/pointer.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json b/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json
index 30e2a41b3..c8ec0fcdf 100644
--- a/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/red_illumar.json b/core/src/main/generated/data/projectred_core/recipes/red_illumar.json
index 42f11b559..a36413e78 100644
--- a/core/src/main/generated/data/projectred_core/recipes/red_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/red_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/red_ingot.json b/core/src/main/generated/data/projectred_core/recipes/red_ingot.json
index 411940a84..035ccc6ee 100644
--- a/core/src/main/generated/data/projectred_core/recipes/red_ingot.json
+++ b/core/src/main/generated/data/projectred_core/recipes/red_ingot.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.0,
"ingredient": {
"item": "projectred_core:red_iron_comp"
},
- "result": {
- "item": "projectred_core:red_ingot"
- }
+ "result": "projectred_core:red_ingot"
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json b/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json
index 773ed2a9f..1c9b951da 100644
--- a/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"I": {
"tag": "forge:ingots/iron"
diff --git a/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json
index 2cc39f56a..9879ac4ad 100644
--- a/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"R": {
"tag": "forge:dusts/redstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/sail.json b/core/src/main/generated/data/projectred_core/recipes/sail.json
index 9b0fef9ab..d8653607a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/sail.json
+++ b/core/src/main/generated/data/projectred_core/recipes/sail.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"item": "projectred_core:woven_cloth"
diff --git a/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json b/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json
index b2bf42595..349517d19 100644
--- a/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json
+++ b/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"tag": "forge:storage_blocks/coal"
diff --git a/core/src/main/generated/data/projectred_core/recipes/screwdriver.json b/core/src/main/generated/data/projectred_core/recipes/screwdriver.json
index 15e6928cb..b57c010a3 100644
--- a/core/src/main/generated/data/projectred_core/recipes/screwdriver.json
+++ b/core/src/main/generated/data/projectred_core/recipes/screwdriver.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"tag": "forge:dyes/blue"
@@ -14,7 +15,6 @@
" BI"
],
"result": {
- "item": "projectred_core:screwdriver",
- "nbt": "{Damage:0}"
+ "item": "projectred_core:screwdriver"
}
}
\ No newline at end of file
diff --git a/core/src/main/generated/data/projectred_core/recipes/silicon.json b/core/src/main/generated/data/projectred_core/recipes/silicon.json
index d99c3ef65..99a05cae5 100644
--- a/core/src/main/generated/data/projectred_core/recipes/silicon.json
+++ b/core/src/main/generated/data/projectred_core/recipes/silicon.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_core:boule"
diff --git a/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json b/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json
index f10e2fde4..039f6c7c1 100644
--- a/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json
+++ b/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "projectred_core:plate"
diff --git a/core/src/main/generated/data/projectred_core/recipes/white_illumar.json b/core/src/main/generated/data/projectred_core/recipes/white_illumar.json
index fb403a94b..086d54212 100644
--- a/core/src/main/generated/data/projectred_core/recipes/white_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/white_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json b/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json
index 97fb5cdcb..28b81992a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json
+++ b/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:string"
diff --git a/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json b/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json
index 4ba8a6f71..170696a8a 100644
--- a/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json
+++ b/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dusts/glowstone"
diff --git a/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java b/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java
index 05282cb31..7abaa3149 100644
--- a/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java
+++ b/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java
@@ -1,55 +1,46 @@
package mrtjp.projectred.compatibility;
-import dan200.computercraft.api.ComputerCraftAPI;
-import dan200.computercraft.api.redstone.BundledRedstoneProvider;
-import mrtjp.projectred.api.IBundledTileInteraction;
-import mrtjp.projectred.api.ProjectRedAPI;
-import mrtjp.projectred.core.BundledSignalsLib;
-import mrtjp.projectred.core.ProjectRedCore;
-import net.minecraft.core.BlockPos;
-import net.minecraft.core.Direction;
-import net.minecraft.world.level.Level;
-
-import javax.annotation.Nonnull;
+//import dan200.computercraft.api.ComputerCraftAPI;
+//import dan200.computercraft.api.redstone.BundledRedstoneProvider;
public class ComputerCraftCompatibility {
public static void init(Object ccModObject) {
- if (ProjectRedAPI.transmissionAPI != null) {
- ProjectRedCore.LOGGER.info("Loading Project Red ComputerCraft Compatibility Module");
- ComputerCraftAPI.registerBundledRedstoneProvider(new CCPRBundledRedstoneProvider());
- ProjectRedAPI.transmissionAPI.registerBundledTileInteraction(new PRCCBundledTileInteraction());
- }
- }
-
- /**
- * This is used by ComputerCraft to query bundled signals from third-party entities
- */
- private static class CCPRBundledRedstoneProvider implements BundledRedstoneProvider {
- @Override
- public int getBundledRedstoneOutput(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Direction side) {
- assert ProjectRedAPI.transmissionAPI != null;
- byte[] signal = ProjectRedAPI.transmissionAPI.getBundledInput(world, pos.relative(side), side.getOpposite());
- return BundledSignalsLib.packDigital(signal);
- }
+// if (ProjectRedAPI.transmissionAPI != null) {
+// ProjectRedCore.LOGGER.info("Loading Project Red ComputerCraft Compatibility Module");
+// ComputerCraftAPI.registerBundledRedstoneProvider(new CCPRBundledRedstoneProvider());
+// ProjectRedAPI.transmissionAPI.registerBundledTileInteraction(new PRCCBundledTileInteraction());
+// }
}
- private static class PRCCBundledTileInteraction implements IBundledTileInteraction {
- @Override
- public boolean isValidInteractionFor(Level world, BlockPos pos, Direction side) {
- return ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side) != -1;
- }
-
- @Override
- public boolean canConnectBundled(Level world, BlockPos pos, Direction side) {
- return true;
- }
-
- @Override
- public byte[] getBundledSignal(Level world, BlockPos pos, Direction side) {
- int signal = ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side);
- return BundledSignalsLib.unpackDigital(null, signal);
- }
- }
+// /**
+// * This is used by ComputerCraft to query bundled signals from third-party entities
+// */
+// private static class CCPRBundledRedstoneProvider implements BundledRedstoneProvider {
+// @Override
+// public int getBundledRedstoneOutput(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Direction side) {
+// assert ProjectRedAPI.transmissionAPI != null;
+// byte[] signal = ProjectRedAPI.transmissionAPI.getBundledInput(world, pos.relative(side), side.getOpposite());
+// return BundledSignalsLib.packDigital(signal);
+// }
+// }
+//
+// private static class PRCCBundledTileInteraction implements IBundledTileInteraction {
+// @Override
+// public boolean isValidInteractionFor(Level world, BlockPos pos, Direction side) {
+// return ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side) != -1;
+// }
+//
+// @Override
+// public boolean canConnectBundled(Level world, BlockPos pos, Direction side) {
+// return true;
+// }
+//
+// @Override
+// public byte[] getBundledSignal(Level world, BlockPos pos, Direction side) {
+// int signal = ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side);
+// return BundledSignalsLib.unpackDigital(null, signal);
+// }
+// }
}
diff --git a/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java b/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java
index 679f50624..2c7d534cd 100644
--- a/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java
+++ b/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java
@@ -3,15 +3,14 @@
import codechicken.lib.data.MCDataInput;
import codechicken.lib.packet.ICustomPacketHandler;
import codechicken.lib.packet.PacketCustom;
-import codechicken.lib.packet.PacketCustomChannelBuilder;
+import codechicken.lib.packet.PacketCustomChannel;
import mrtjp.projectred.core.tile.IPacketReceiverTile;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
-import net.minecraft.server.network.ServerGamePacketListenerImpl;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
+import net.neoforged.bus.api.IEventBus;
import java.util.Objects;
@@ -27,11 +26,14 @@ public class CoreNetwork {
// Client to server messages
public static final int NET_TILE_PACKET_TO_SERVER = 3;
- public static void init() {
- PacketCustomChannelBuilder.named(NET_CHANNEL)
- .assignClientHandler(() -> ClientHandler::new)
- .assignServerHandler(() -> ServerHandler::new)
- .build();
+ // Channel instance
+ private static final PacketCustomChannel channel = new PacketCustomChannel(NET_CHANNEL)
+ .versioned(ProjectRedCore.getContainer().getModInfo().getVersion().toString())
+ .client(() -> ClientHandler::new)
+ .server(() -> ServerHandler::new);
+
+ public static void init(IEventBus modBus) {
+ channel.init(modBus);
}
public static PacketCustom createTileClientPacket(IPacketReceiverTile tile, byte key) {
@@ -51,7 +53,7 @@ public static PacketCustom createTileServerPacket(IPacketReceiverTile tile, byte
private static class ClientHandler implements ICustomPacketHandler.IClientPacketHandler {
@Override
- public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener handler) {
+ public void handlePacket(PacketCustom packet, Minecraft mc) {
switch (packet.getType()) {
case NET_TILE_PACKET_TO_CLIENT:
handleTilePacket(Objects.requireNonNull(mc.level), packet);
@@ -73,7 +75,7 @@ private void handleTilePacket(Level world, MCDataInput data) {
private static class ServerHandler implements ICustomPacketHandler.IServerPacketHandler {
@Override
- public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) {
+ public void handlePacket(PacketCustom packet, ServerPlayer sender) {
switch (packet.getType()) {
case NET_TILE_PACKET_TO_SERVER:
handleTilePacket(sender.level(), packet, sender);
diff --git a/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java b/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java
index 76ea7378f..b77934918 100644
--- a/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java
+++ b/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java
@@ -4,6 +4,7 @@
import mrtjp.projectred.compatibility.ComputerCraftCompatibility;
import mrtjp.projectred.core.data.*;
import mrtjp.projectred.core.init.*;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
@@ -13,20 +14,22 @@
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.common.data.BlockTagsProvider;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.data.event.GatherDataEvent;
-import net.minecraftforge.eventbus.api.IEventBus;
-import net.minecraftforge.fml.DistExecutor;
-import net.minecraftforge.fml.OptionalMod;
-import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
-import net.minecraftforge.registries.DeferredRegister;
-import net.minecraftforge.registries.ForgeRegistries;
+import net.neoforged.bus.api.IEventBus;
+import net.neoforged.fml.ModContainer;
+import net.neoforged.fml.OptionalMod;
+import net.neoforged.fml.common.Mod;
+import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.neoforged.fml.loading.FMLEnvironment;
+import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
+import net.neoforged.neoforge.common.data.BlockTagsProvider;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.data.event.GatherDataEvent;
+import net.neoforged.neoforge.registries.DeferredRegister;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Objects;
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
@@ -37,14 +40,16 @@ public class ProjectRedCore {
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
- public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID);
- public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID);
- public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID);
- public static final DeferredRegister- ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID);
- public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, MOD_ID);
+ public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID);
+ public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID);
+ public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID);
+ public static final DeferredRegister
- ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID);
+ public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, MOD_ID);
public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID);
public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID);
+ private static @Nullable ModContainer container;
+
static {
CoreBlocks.register();
CoreItems.register();
@@ -53,13 +58,19 @@ public class ProjectRedCore {
CoreCreativeModeTabs.register();
}
- public ProjectRedCore() {
- final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
+ public ProjectRedCore(ModContainer container, IEventBus modEventBus) {
+ ProjectRedCore.container = container;
modEventBus.addListener(this::commonSetup);
modEventBus.addListener(this::onGatherDataEvent);
+ modEventBus.addListener(this::onRegisterCaps);
+
+ if (FMLEnvironment.dist.isClient()) {
+ CoreClientInit.init(modEventBus);
+ }
- DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> CoreClientInit::init);
+ // Init packet handler
+ CoreNetwork.init(modEventBus);
BLOCKS.register(modEventBus);
ITEMS.register(modEventBus);
@@ -69,10 +80,11 @@ public ProjectRedCore() {
CREATIVE_TABS.register(modEventBus);
}
- private void commonSetup(final FMLCommonSetupEvent event) {
- // Init packet handler
- CoreNetwork.init();
+ public static ModContainer getContainer() {
+ return Objects.requireNonNull(container);
+ }
+ private void commonSetup(final FMLCommonSetupEvent event) {
// Load config file
Configurator.load();
@@ -100,4 +112,8 @@ private void onGatherDataEvent(final GatherDataEvent event) {
generator.addProvider(event.includeServer(), blockTagsProvider);
generator.addProvider(event.includeServer(), new CoreItemTagsProvider(output, event.getLookupProvider(), blockTagsProvider.contentsGetter(), fileHelper));
}
+
+ public void onRegisterCaps(RegisterCapabilitiesEvent event) {
+ CoreBlocks.registerCaps(event);
+ }
}
diff --git a/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java b/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java
index ee65c6744..5932f2681 100644
--- a/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java
+++ b/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java
@@ -21,8 +21,8 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.client.model.data.ModelData;
-import net.minecraftforge.client.model.generators.ConfiguredModel;
+import net.neoforged.neoforge.client.model.data.ModelData;
+import net.neoforged.neoforge.client.model.generators.ConfiguredModel;
import javax.annotation.Nullable;
diff --git a/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java b/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java
index 4af488c99..8521f48d0 100644
--- a/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java
+++ b/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java
@@ -19,7 +19,7 @@
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.phys.Vec3;
-import net.minecraftforge.client.event.RenderLevelStageEvent;
+import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
import org.jetbrains.annotations.Nullable;
import java.awt.*;
@@ -29,8 +29,8 @@
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static net.minecraft.client.renderer.RenderStateShard.*;
-import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_LEVEL;
-import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES;
+import static net.neoforged.neoforge.client.event.RenderLevelStageEvent.Stage.AFTER_LEVEL;
+import static net.neoforged.neoforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES;
public class HaloRenderer {
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java
index f5e700f88..df1107306 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java
@@ -1,14 +1,14 @@
package mrtjp.projectred.core.data;
import mrtjp.projectred.core.block.ProjectRedBlock;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.client.model.generators.BlockModelBuilder;
-import net.minecraftforge.client.model.generators.BlockStateProvider;
-import net.minecraftforge.client.model.generators.ConfiguredModel;
-import net.minecraftforge.client.model.generators.ModelFile;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.registries.ForgeRegistries;
+import net.neoforged.neoforge.client.model.generators.BlockModelBuilder;
+import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
+import net.neoforged.neoforge.client.model.generators.ConfiguredModel;
+import net.neoforged.neoforge.client.model.generators.ModelFile;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import javax.annotation.Nonnull;
@@ -60,7 +60,7 @@ private void addRotatablePoweredMachineVariants(Block block, ModelFile idleModel
}
private BlockModelBuilder createFrontFacedPoweredMachineModel(Block block, int state) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String modelName = texture + (state > 0 ? "_state" + state : "");
return models().orientableWithBottom(modelName,
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java
index 7a778975a..e31ee451c 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java
@@ -3,8 +3,8 @@
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
-import net.minecraftforge.common.data.BlockTagsProvider;
-import net.minecraftforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.data.BlockTagsProvider;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import java.util.concurrent.CompletableFuture;
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java
index fefad7b62..1ea6ef983 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java
@@ -2,7 +2,7 @@
import codechicken.lib.datagen.ItemModelProvider;
import net.minecraft.data.PackOutput;
-import net.minecraftforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java
index f776b4d5a..60ab1aad4 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java
@@ -5,8 +5,8 @@
import net.minecraft.data.tags.ItemTagsProvider;
import net.minecraft.data.tags.TagsProvider;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.common.Tags;
-import net.minecraftforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.Tags;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import javax.annotation.Nullable;
import java.util.concurrent.CompletableFuture;
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java
index f9f32aec1..dc67ee9fa 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java
@@ -1,7 +1,7 @@
package mrtjp.projectred.core.data;
import net.minecraft.data.PackOutput;
-import net.minecraftforge.common.data.LanguageProvider;
+import net.neoforged.neoforge.common.data.LanguageProvider;
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;
@@ -13,11 +13,6 @@ public CoreLanguageProvider(PackOutput output) {
super(output, MOD_ID, "en_us");
}
- @Override
- public String getName() {
- return "ProjectRed-Core Languages: en_us";
- }
-
@Override
protected void addTranslations() {
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java
index e90169efd..835a4017f 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java
@@ -1,19 +1,44 @@
package mrtjp.projectred.core.data;
-import codechicken.lib.datagen.LootTableProvider;
+import mrtjp.projectred.core.ProjectRedCore;
+import net.minecraft.core.Holder;
import net.minecraft.data.PackOutput;
+import net.minecraft.data.loot.BlockLootSubProvider;
+import net.minecraft.data.loot.LootTableProvider;
+import net.minecraft.world.flag.FeatureFlags;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
+
+import java.util.List;
+import java.util.Set;
-import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;
-public class CoreLootTableProvider extends LootTableProvider.BlockLootProvider {
+public class CoreLootTableProvider extends LootTableProvider {
public CoreLootTableProvider(PackOutput output) {
- super(output, MOD_ID);
+ super(output, Set.of(), List.of(
+ new LootTableProvider.SubProviderEntry(BlockLootTables::new, LootContextParamSets.BLOCK)
+ ));
}
- @Override
- protected void registerTables() {
- register(ELECTROTINE_GENERATOR_BLOCK.get(), singleItem(ELECTROTINE_GENERATOR_BLOCK.get()));
+ private static final class BlockLootTables extends BlockLootSubProvider {
+
+ BlockLootTables() {
+ super(Set.of(), FeatureFlags.REGISTRY.allFlags());
+ }
+
+ @Override
+ protected Iterable getKnownBlocks() {
+ return ProjectRedCore.BLOCKS.getEntries()
+ .stream()
+ .map(Holder::value)
+ .toList();
+ }
+
+ @Override
+ protected void generate() {
+ dropSelf(ELECTROTINE_GENERATOR_BLOCK.get());
+ }
}
}
diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java
index e97e29cf6..e63389acb 100644
--- a/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java
+++ b/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java
@@ -12,14 +12,14 @@
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;
-import net.minecraftforge.common.crafting.StrictNBTIngredient;
+import net.neoforged.neoforge.common.crafting.NBTIngredient;
import java.util.Objects;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;
import static mrtjp.projectred.core.init.CoreItems.*;
import static mrtjp.projectred.core.init.CoreTags.*;
-import static net.minecraftforge.common.Tags.Items.*;
+import static net.neoforged.neoforge.common.Tags.Items.*;
public class CoreRecipeProvider extends RecipeProvider {
@@ -197,8 +197,8 @@ protected void registerRecipes() {
}
shapedRecipe(DRAW_PLATE_ITEM.get())
- .key('I', StrictNBTIngredient.of(ItemMicroBlock.create(3, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.IRON_BLOCK.defaultBlockState()))))))
- .key('D', StrictNBTIngredient.of(ItemMicroBlock.create(0, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.DIAMOND_BLOCK.defaultBlockState()))))))
+ .key('I', NBTIngredient.of(true, ItemMicroBlock.create(3, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.IRON_BLOCK.defaultBlockState()))))))
+ .key('D', NBTIngredient.of(true, ItemMicroBlock.create(0, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.DIAMOND_BLOCK.defaultBlockState()))))))
.patternLine(" I ")
.patternLine("IDI")
.patternLine(" I ");
diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java b/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java
index 5df485057..fda950c0a 100644
--- a/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java
+++ b/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java
@@ -6,7 +6,10 @@
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
-import net.minecraftforge.registries.RegistryObject;
+import net.neoforged.neoforge.capabilities.Capabilities;
+import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.core.ProjectRedCore.*;
@@ -16,10 +19,10 @@ public class CoreBlocks {
public static final String ID_ELECTROTINE_GENERATOR = "electrotine_generator";
// Blocks
- public static RegistryObject ELECTROTINE_GENERATOR_BLOCK;
+ public static Supplier ELECTROTINE_GENERATOR_BLOCK;
// Tile
- public static RegistryObject> ELECTROTINE_GENERATOR_TILE;
+ public static Supplier> ELECTROTINE_GENERATOR_TILE;
public static void register() {
@@ -33,4 +36,8 @@ public static void register() {
// Tiles
ELECTROTINE_GENERATOR_TILE = BLOCK_ENTITY_TYPES.register(ID_ELECTROTINE_GENERATOR, () -> BlockEntityType.Builder.of(ElectrotineGeneratorTile::new, ELECTROTINE_GENERATOR_BLOCK.get()).build(null));
}
+
+ public static void registerCaps(RegisterCapabilitiesEvent event) {
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, ELECTROTINE_GENERATOR_TILE.get(), (tile, ctx) -> tile.getHandler());
+ }
}
diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java b/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java
index 1130c5246..7be8a0f03 100644
--- a/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java
+++ b/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java
@@ -7,11 +7,10 @@
import mrtjp.projectred.core.gui.screen.inventory.ElectrotineGeneratorScreen;
import net.minecraft.client.gui.screens.MenuScreens;
import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.client.event.RegisterShadersEvent;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.eventbus.api.IEventBus;
-import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
+import net.neoforged.bus.api.IEventBus;
+import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
+import net.neoforged.neoforge.client.event.RegisterShadersEvent;
+import net.neoforged.neoforge.common.NeoForge;
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreMenus.ELECTROTINE_GENERATOR_CONTAINER;
@@ -21,9 +20,7 @@ public class CoreClientInit {
public static CCShaderInstance HALO_SHADER;
- public static void init() {
- final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
-
+ public static void init(IEventBus modEventBus) {
modEventBus.addListener(CoreClientInit::clientSetup);
modEventBus.addListener(CoreClientInit::onRegisterShaders);
}
@@ -37,7 +34,7 @@ private static void clientSetup(final FMLClientSetupEvent event) {
HaloRenderer.init();
// Register Halo renderer
- MinecraftForge.EVENT_BUS.addListener(HaloRenderer::onRenderLevelStageEvent);
+ NeoForge.EVENT_BUS.addListener(HaloRenderer::onRenderLevelStageEvent);
// Register resource reload listener
ResourceUtils.registerReloadListener(HaloRenderer::onResourceManagerReload);
diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java b/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java
index c014b7f1c..817e78660 100644
--- a/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java
+++ b/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java
@@ -3,7 +3,8 @@
import mrtjp.projectred.core.ProjectRedCore;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;
@@ -12,7 +13,7 @@
@SuppressWarnings("NotNullFieldNotInitialized")
public class CoreCreativeModeTabs {
- public static RegistryObject CORE_CREATIVE_TAB;
+ public static Supplier CORE_CREATIVE_TAB;
public static void register() {
diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java b/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java
index c679089f8..ab1842c11 100644
--- a/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java
+++ b/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java
@@ -4,7 +4,6 @@
import mrtjp.projectred.core.item.MultimeterItem;
import mrtjp.projectred.core.item.ScrewdriverItem;
import net.minecraft.world.item.Item;
-import net.minecraftforge.registries.RegistryObject;
import java.util.function.Supplier;
@@ -68,64 +67,64 @@ public class CoreItems {
public static final String ID_MULTIMETER = "multimeter";
// Ingots / dusts / gems
- public static RegistryObject
- RED_ALLOY_INGOT_ITEM;
- public static RegistryObject
- ELECTROTINE_ALLOY_INGOT_ITEM;
- public static RegistryObject
- ELECTROTINE_DUST_ITEM;
- public static RegistryObject
- RUBY_ITEM;
- public static RegistryObject
- SAPPHIRE_ITEM;
- public static RegistryObject
- PERIDOT_ITEM;
+ public static Supplier
- RED_ALLOY_INGOT_ITEM;
+ public static Supplier
- ELECTROTINE_ALLOY_INGOT_ITEM;
+ public static Supplier
- ELECTROTINE_DUST_ITEM;
+ public static Supplier
- RUBY_ITEM;
+ public static Supplier
- SAPPHIRE_ITEM;
+ public static Supplier
- PERIDOT_ITEM;
// Recipe ingredients
- public static RegistryObject
- PLATE_ITEM;
- public static RegistryObject
- CONDUCTIVE_PLATE_ITEM;
- public static RegistryObject
- WIRED_PLATE_ITEM;
- public static RegistryObject
- BUNDLED_PLATE_ITEM;
- public static RegistryObject
- PLATFORMED_PLATE_ITEM;
- public static RegistryObject
- ANODE_ITEM;
- public static RegistryObject
- CATHODE_ITEM;
- public static RegistryObject
- POINTER_ITEM;
- public static RegistryObject
- SILICON_CHIP_ITEM;
- public static RegistryObject
- ENERGIZED_SILICON_CHIP_ITEM;
- public static RegistryObject
- SAND_COAL_COMP_ITEM;
- public static RegistryObject
- RED_IRON_COMP_ITEM;
- public static RegistryObject
- ELECTROTINE_IRON_COMP_ITEM;
- public static RegistryObject
- SILICON_BOULE_ITEM;
- public static RegistryObject
- SILICON_ITEM;
- public static RegistryObject
- RED_SILICON_COMP_ITEM;
- public static RegistryObject
- GLOW_SILICON_COMP_ITEM;
- public static RegistryObject
- ELECTROTINE_SILICON_COMP_ITEM;
- public static RegistryObject
- INFUSED_SILICON_ITEM;
- public static RegistryObject
- ENERGIZED_SILICON_ITEM;
- public static RegistryObject
- ELECTROTINE_SILICON_ITEM;
- public static RegistryObject
- COPPER_COIL_ITEM;
- public static RegistryObject
- IRON_COIL_ITEM;
- public static RegistryObject
- GOLD_COIL_ITEM;
- public static RegistryObject
- MOTOR_ITEM;
- public static RegistryObject
- WOVEN_CLOTH_ITEM;
- public static RegistryObject
- SAIL_ITEM;
+ public static Supplier
- PLATE_ITEM;
+ public static Supplier
- CONDUCTIVE_PLATE_ITEM;
+ public static Supplier
- WIRED_PLATE_ITEM;
+ public static Supplier
- BUNDLED_PLATE_ITEM;
+ public static Supplier
- PLATFORMED_PLATE_ITEM;
+ public static Supplier
- ANODE_ITEM;
+ public static Supplier
- CATHODE_ITEM;
+ public static Supplier
- POINTER_ITEM;
+ public static Supplier
- SILICON_CHIP_ITEM;
+ public static Supplier
- ENERGIZED_SILICON_CHIP_ITEM;
+ public static Supplier
- SAND_COAL_COMP_ITEM;
+ public static Supplier
- RED_IRON_COMP_ITEM;
+ public static Supplier
- ELECTROTINE_IRON_COMP_ITEM;
+ public static Supplier
- SILICON_BOULE_ITEM;
+ public static Supplier
- SILICON_ITEM;
+ public static Supplier
- RED_SILICON_COMP_ITEM;
+ public static Supplier
- GLOW_SILICON_COMP_ITEM;
+ public static Supplier
- ELECTROTINE_SILICON_COMP_ITEM;
+ public static Supplier
- INFUSED_SILICON_ITEM;
+ public static Supplier
- ENERGIZED_SILICON_ITEM;
+ public static Supplier
- ELECTROTINE_SILICON_ITEM;
+ public static Supplier
- COPPER_COIL_ITEM;
+ public static Supplier
- IRON_COIL_ITEM;
+ public static Supplier
- GOLD_COIL_ITEM;
+ public static Supplier
- MOTOR_ITEM;
+ public static Supplier
- WOVEN_CLOTH_ITEM;
+ public static Supplier
- SAIL_ITEM;
// Illumars
- public static RegistryObject
- WHITE_ILLUMAR_ITEM;
- public static RegistryObject
- ORANGE_ILLUMAR_ITEM;
- public static RegistryObject
- MAGENTA_ILLUMAR_ITEM;
- public static RegistryObject
- LIGHT_BLUE_ILLUMAR_ITEM;
- public static RegistryObject
- YELLOW_ILLUMAR_ITEM;
- public static RegistryObject
- LIME_ILLUMAR_ITEM;
- public static RegistryObject
- PINK_ILLUMAR_ITEM;
- public static RegistryObject
- GRAY_ILLUMAR_ITEM;
- public static RegistryObject
- LIGHT_GRAY_ILLUMAR_ITEM;
- public static RegistryObject
- CYAN_ILLUMAR_ITEM;
- public static RegistryObject
- PURPLE_ILLUMAR_ITEM;
- public static RegistryObject
- BLUE_ILLUMAR_ITEM;
- public static RegistryObject
- BROWN_ILLUMAR_ITEM;
- public static RegistryObject
- GREEN_ILLUMAR_ITEM;
- public static RegistryObject
- RED_ILLUMAR_ITEM;
- public static RegistryObject
- BLACK_ILLUMAR_ITEM;
+ public static Supplier
- WHITE_ILLUMAR_ITEM;
+ public static Supplier
- ORANGE_ILLUMAR_ITEM;
+ public static Supplier
- MAGENTA_ILLUMAR_ITEM;
+ public static Supplier
- LIGHT_BLUE_ILLUMAR_ITEM;
+ public static Supplier
- YELLOW_ILLUMAR_ITEM;
+ public static Supplier
- LIME_ILLUMAR_ITEM;
+ public static Supplier
- PINK_ILLUMAR_ITEM;
+ public static Supplier
- GRAY_ILLUMAR_ITEM;
+ public static Supplier
- LIGHT_GRAY_ILLUMAR_ITEM;
+ public static Supplier
- CYAN_ILLUMAR_ITEM;
+ public static Supplier
- PURPLE_ILLUMAR_ITEM;
+ public static Supplier
- BLUE_ILLUMAR_ITEM;
+ public static Supplier
- BROWN_ILLUMAR_ITEM;
+ public static Supplier
- GREEN_ILLUMAR_ITEM;
+ public static Supplier
- RED_ILLUMAR_ITEM;
+ public static Supplier
- BLACK_ILLUMAR_ITEM;
// Tools
- public static RegistryObject
- DRAW_PLATE_ITEM;
- public static RegistryObject
- SCREWDRIVER_ITEM;
- public static RegistryObject
- MULTIMETER_ITEM;
+ public static Supplier
- DRAW_PLATE_ITEM;
+ public static Supplier
- SCREWDRIVER_ITEM;
+ public static Supplier
- MULTIMETER_ITEM;
public static void register() {
diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java b/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java
index e88276f54..dfb208428 100644
--- a/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java
+++ b/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java
@@ -3,7 +3,8 @@
import codechicken.lib.inventory.container.ICCLContainerType;
import mrtjp.projectred.core.inventory.container.ElectrotineGeneratorContainer;
import net.minecraft.world.inventory.MenuType;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.core.ProjectRedCore.MENU_TYPES;
import static mrtjp.projectred.core.init.CoreBlocks.ID_ELECTROTINE_GENERATOR;
@@ -11,7 +12,7 @@
@SuppressWarnings("NotNullFieldNotInitialized")
public class CoreMenus {
- public static RegistryObject> ELECTROTINE_GENERATOR_CONTAINER;
+ public static Supplier> ELECTROTINE_GENERATOR_CONTAINER;
public static void register() {
diff --git a/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java b/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java
index 8e9f49606..5eca98450 100644
--- a/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java
+++ b/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java
@@ -10,9 +10,7 @@
import mrtjp.projectred.core.power.ILowLoadPowerLine;
import mrtjp.projectred.core.power.PowerConductor;
import net.minecraft.core.BlockPos;
-import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
-import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -22,14 +20,8 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.InvWrapper;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.InvWrapper;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_TILE;
import static mrtjp.projectred.core.init.CoreItems.ELECTROTINE_DUST_ITEM;
@@ -41,7 +33,7 @@ public class ElectrotineGeneratorTile extends BasePoweredTile implements ILowLoa
private int chargeFlow = 0;
private final ElectrotineGeneratorInventory inventory = new ElectrotineGeneratorInventory();
- private final LazyOptional extends IItemHandler> handler = LazyOptional.of(() -> new InvWrapper(inventory));
+ private final IItemHandler handler = new InvWrapper(inventory);
private int burnTimeRemaining = 0;
private int powerStored = 0;
@@ -207,19 +199,8 @@ public boolean canConductorWork() {
}
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) {
- return handler.cast();
- }
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- handler.invalidate();
+ public IItemHandler getHandler() {
+ return handler;
}
//endregion
diff --git a/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java b/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java
index 600b87b4f..74e38998f 100644
--- a/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java
+++ b/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java
@@ -4,6 +4,7 @@
import codechicken.lib.data.MCDataOutput;
import codechicken.lib.packet.PacketCustom;
import mrtjp.projectred.core.CoreNetwork;
+import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import java.util.Collection;
@@ -20,7 +21,7 @@ default void sendUpdateToServer(int key, Consumer writer) {
default void sendUpdateToPlayersWatchingChunk(int key, Consumer writer) {
PacketCustom packet = CoreNetwork.createTileClientPacket(this, (byte) key);
writer.accept(packet);
- packet.sendToChunk(getBlockLevel(), getBlockPosition());
+ packet.sendToChunk((ServerLevel) getBlockLevel(), getBlockPosition());
}
default void sendUpdateToPlayer(int key, Consumer writer, ServerPlayer player) {
diff --git a/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java b/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java
index 72684ac96..6d8d112f0 100644
--- a/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java
+++ b/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java
@@ -7,7 +7,7 @@
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.inventory.Slot;
import net.minecraft.world.item.ItemStack;
-import net.minecraftforge.items.IItemHandler;
+import net.neoforged.neoforge.items.IItemHandler;
import java.util.function.Consumer;
diff --git a/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java b/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java
index 7c7e664a2..88428a4e7 100644
--- a/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java
+++ b/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java
@@ -11,8 +11,8 @@
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.VoxelShape;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
import org.jetbrains.annotations.Nullable;
import java.util.LinkedList;
@@ -147,7 +147,7 @@ public Tri(Vector3 v0, Vector3 v1, Vector3 v2) {
this.v1 = v1;
this.v2 = v2;
this.normal = VectorUtils.calculateNormal(v0, v1, v2);
- this.side = Objects.requireNonNull(VectorUtils.calcNormalSide(normal));
+ this.side = Objects.requireNonNull(VectorUtils.findSideE(normal));
// Precompute some constants to speed up tracing
u = v1.copy().subtract(v0);
diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java b/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java
index 8e1eb91f7..36360da75 100644
--- a/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java
+++ b/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java
@@ -113,9 +113,9 @@ public boolean mouseDragged(double x, double y, int button, double dragX, double
}
@Override
- public boolean mouseScrolled(double x, double y, double scroll) {
- boolean consumed = super.mouseScrolled(x, y, scroll);
- return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scroll, c), consumed);
+ public boolean mouseScrolled(double x, double y, double scrollX, double scrollY) {
+ boolean consumed = super.mouseScrolled(x, y, scrollX, scrollY);
+ return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scrollX, scrollY, c), consumed);
}
@Override
diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUINode.java b/core/src/main/java/mrtjp/projectred/redui/RedUINode.java
index be44f53a5..81ff47347 100644
--- a/core/src/main/java/mrtjp/projectred/redui/RedUINode.java
+++ b/core/src/main/java/mrtjp/projectred/redui/RedUINode.java
@@ -681,11 +681,12 @@ default void frameUpdate(Point mouse, float partialFrame) { }
* Nodes throughout the graph are called in z order.
*
* @param p The mouse position, relative to the parent
- * @param scroll The scroll amount (positive for scroll up, negative for scroll down)
+ * @param scrollX The scroll amount (positive for scroll right, negative for scroll left)
+ * @param scrollY The scroll amount (positive for scroll up, negative for scroll down)
* @param consumed True if another higher-ordered node consumed this event
* @return True if this event was consumed
*/
- default boolean mouseScrolled(Point p, double scroll, boolean consumed) { return false; }
+ default boolean mouseScrolled(Point p, double scrollX, double scrollY, boolean consumed) { return false; }
/**
* Key press event called when any key is pressed down
diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java b/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java
index dfc946c18..7ee8f721c 100644
--- a/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java
+++ b/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java
@@ -105,9 +105,9 @@ public boolean mouseDragged(double x, double y, int button, double dragX, double
}
@Override
- public boolean mouseScrolled(double x, double y, double scroll) {
- boolean consumed = super.mouseScrolled(x, y, scroll);
- return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scroll, c), consumed);
+ public boolean mouseScrolled(double x, double y, double scrollX, double scrollY) {
+ boolean consumed = super.mouseScrolled(x, y, scrollX, scrollY);
+ return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scrollX, scrollY, c), consumed);
}
@Override
diff --git a/core/src/main/resources/META-INF/accesstransformer.cfg b/core/src/main/resources/META-INF/accesstransformer.cfg
index cab382a6e..753303956 100644
--- a/core/src/main/resources/META-INF/accesstransformer.cfg
+++ b/core/src/main/resources/META-INF/accesstransformer.cfg
@@ -4,28 +4,28 @@ public net.minecraft.client.renderer.RenderType *() # All Methods
public net.minecraft.client.renderer.RenderType * # All Fields.
public net.minecraft.client.renderer.PostChain * # All fields
-public net.minecraft.client.renderer.LevelRenderer m_109501_(IIIZ)V # setSectionDirty
+public net.minecraft.client.renderer.LevelRenderer setSectionDirty(IIIZ)V
-public net.minecraft.client.particle.Particle m_107271_(F)V # setAlpha
+public net.minecraft.client.particle.Particle setAlpha(F)V
-public net.minecraft.client.gui.GuiComponent m_168740_(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIIII)V # fillGradient
+public net.minecraft.client.gui.GuiComponent fillGradient(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIIII)V
-public net.minecraft.world.level.lighting.LevelLightEngine f_75802_ # blockEngine
-public net.minecraft.world.level.lighting.LevelLightEngine f_75803_ # skyEngine
+public net.minecraft.world.level.lighting.LevelLightEngine blockEngine
+public net.minecraft.world.level.lighting.LevelLightEngine skyEngine
-public-f net.minecraft.world.level.block.RedStoneWireBlock f_55508_ # shouldSignal
+public-f net.minecraft.world.level.block.RedStoneWireBlock shouldSignal
-public-f net.minecraft.world.level.block.entity.BlockEntity f_58858_ # worldPosition
+public-f net.minecraft.world.level.block.entity.BlockEntity worldPosition
-public net.minecraft.world.entity.LivingEntity f_20936_ # useItemRemaining
-public net.minecraft.world.entity.LivingEntity f_20935_ # useItem
+public net.minecraft.world.entity.LivingEntity useItemRemaining
+public net.minecraft.world.entity.LivingEntity useItem
-public net.minecraft.world.inventory.AbstractContainerMenu m_182420_(II)V # updateDataSlotListeners
-public net.minecraft.world.SimpleContainer f_19147_ # items
+public net.minecraft.world.inventory.AbstractContainerMenu updateDataSlotListeners(II)V
+public net.minecraft.world.SimpleContainer items
-public net.minecraft.world.phys.shapes.VoxelShape (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V #
-public net.minecraft.world.phys.shapes.VoxelShape f_83211_ # shape
-public net.minecraft.world.phys.shapes.VoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords
-public net.minecraft.world.phys.shapes.SliceShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords
-public net.minecraft.world.phys.shapes.ArrayVoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords
-public net.minecraft.world.phys.shapes.CubeVoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords
+public net.minecraft.world.phys.shapes.VoxelShape (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V
+public net.minecraft.world.phys.shapes.VoxelShape shape
+public net.minecraft.world.phys.shapes.VoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList;
+public net.minecraft.world.phys.shapes.SliceShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList;
+public net.minecraft.world.phys.shapes.ArrayVoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList;
+public net.minecraft.world.phys.shapes.CubeVoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList;
diff --git a/core/src/main/resources/META-INF/mods.toml b/core/src/main/resources/META-INF/mods.toml
index a6833522f..6c16feff0 100644
--- a/core/src/main/resources/META-INF/mods.toml
+++ b/core/src/main/resources/META-INF/mods.toml
@@ -1,5 +1,5 @@
modLoader="javafml"
-loaderVersion="[${lang_version},)"
+loaderVersion="[2,)"
issueTrackerURL="https://github.com/MrTJP/ProjectRed"
license="MIT"
@@ -14,33 +14,37 @@ license="MIT"
description='''
Redstone. The way it was meant to be.
'''
+
+[[accessTransformers]]
+ file="META-INF/accesstransformer.cfg"
+
[[dependencies.projectred_core]]
- modId="forge"
- mandatory=true
+ modId="neoforge"
+ type="required"
versionRange="[${forge_version},)"
ordering="NONE"
side="BOTH"
[[dependencies.projectred_core]]
modId="minecraft"
- mandatory=true
- versionRange="[1.20.1]"
+ type="required"
+ versionRange="[1.20.4]"
ordering="NONE"
side="BOTH"
[[dependencies.projectred_core]]
modId="codechickenlib"
- mandatory=true
+type="required"
versionRange="[${ccl_version},)"
ordering="AFTER"
side="BOTH"
[[dependencies.projectred_core]]
modId="cb_multipart"
- mandatory=true
+ type="required"
versionRange="[${cbm_version},)"
ordering="AFTER"
side="BOTH"
[[dependencies.projectred_core]]
modId="computercraft"
- mandatory=false
+ type="optional"
versionRange="[${cct_version},)"
ordering="AFTER"
side="BOTH"
diff --git a/expansion/build.gradle b/expansion/build.gradle
index ffe280382..7924cba24 100644
--- a/expansion/build.gradle
+++ b/expansion/build.gradle
@@ -1,37 +1,29 @@
plugins {
- id 'net.neoforged.gradle'
- id 'org.spongepowered.mixin'
+ id 'net.neoforged.gradle.userdev'
}
String mod_id = 'projectred_expansion'
minecraft {
- mappings channel: mcp_mappings, version: mcp_mappings_version
- accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg")
- runs {
- data {
- property 'mixin.env.remapRefMap', 'true'
- property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
-
- ideaModule "${rootProject.name}.${project.name}.main"
-
- workingDirectory file('run')
- args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
- mods {
- 'projectred_core' { source project(':core').sourceSets.main }
- '${mod_id}' { source sourceSets.main }
- }
- }
+ accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg")
+}
+
+runs {
+ data {
+ systemProperty 'mixin.env.remapRefMap', 'true'
+ systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
+
+ workingDirectory file('run')
+ programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
+ modSource sourceSets.main
}
}
dependencies {
- minecraft "net.neoforged:forge:${mc_version}-${forge_version}"
-
- annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
+ implementation "net.neoforged:neoforge:${forge_version}"
- implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal")
- implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal")
+ implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}"
+ implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}"
implementation project(":core")
}
diff --git a/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c b/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c
index a670f12a0..94e73d934 100644
--- a/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c
+++ b/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c
@@ -1,16 +1,16 @@
-// 1.20.1 2024-07-17T09:25:42.183541 projectred_expansion Recipes.
-85bb6c41f9e4589d26aa40c725805c4faad05edd data/projectred_expansion/recipes/auto_crafter.json
-5df2a0b2893205f86665701a94a454ac48b46282 data/projectred_expansion/recipes/battery.json
-dee1cdd1324b775f4abadfb0e5b4d32692c59578 data/projectred_expansion/recipes/battery_box.json
-276a60fd6d4fb1dd6680c2eadd41c492bcdbd6ca data/projectred_expansion/recipes/block_breaker.json
-8dc5c21ea601500ed0daef433856de7deaa647a7 data/projectred_expansion/recipes/charging_bench.json
-2274a1fc3dd5679f0445a214c32a564157dd2005 data/projectred_expansion/recipes/deployer.json
-19a1b55cba9047a09864bf666171fd4ca061855c data/projectred_expansion/recipes/electric_screwdriver.json
-15a6483de04f3dc43b2cb8ff1cfcfe0ffc89a18e data/projectred_expansion/recipes/fire_starter.json
-d7358d444da8cec8a8829cb434ec11cb2836851a data/projectred_expansion/recipes/frame.json
-c2d2c7a8f0766b54baba75ba96c6a82da7ea9dab data/projectred_expansion/recipes/frame_actuator.json
-5773437e817b2c68d78de93362089445c2af01cb data/projectred_expansion/recipes/frame_motor.json
-fdbb66d601f89ad975d76b3d122be4727131bf55 data/projectred_expansion/recipes/pneumatic_tube.json
-a38011f406e353c0a9fce3b0cb8d71d4ad63232d data/projectred_expansion/recipes/project_bench.json
-d56ef0cd3f1fe5ffeff5f42f97f07ffe2dcda571 data/projectred_expansion/recipes/recipe_plan.json
-69887f47f105ea9b6c01b5cbbf027670614ae154 data/projectred_expansion/recipes/transposer.json
+// 1.20.4 2024-11-23T19:56:53.549788 projectred_expansion Recipes.
+f0b0c2440ccb17348c72df954668cdcf8d98991c data/projectred_expansion/recipes/auto_crafter.json
+fdf67dbb46f178b2b13016d9e5b62cf58fcb8c15 data/projectred_expansion/recipes/battery.json
+1e77bae9380d21a22f5815518d053dd23719f9a9 data/projectred_expansion/recipes/battery_box.json
+455f388a99158d727c6d3f72483eaaa0c606aa31 data/projectred_expansion/recipes/block_breaker.json
+13be4ed3925f9569cccac80f6c9bfdb60e036fd4 data/projectred_expansion/recipes/charging_bench.json
+dcc020408ee6ae6717756ad33bfe3590ca5ee782 data/projectred_expansion/recipes/deployer.json
+b4a3d1e143354ae19a2414ebeb8ab4efce5e41c7 data/projectred_expansion/recipes/electric_screwdriver.json
+148ea0d7649a9fbbf49a70e5bd9bfb34639b8fad data/projectred_expansion/recipes/fire_starter.json
+d174597d0a96e02a8f156ec6428a9876144c6498 data/projectred_expansion/recipes/frame.json
+4c9c86b6240372b7916f56032d941b14e0bec49e data/projectred_expansion/recipes/frame_actuator.json
+224c8f0b5db3ef035f27b9f2a04342074365794a data/projectred_expansion/recipes/frame_motor.json
+2b1bd47107caebbdb35a909b6901faa38a79693b data/projectred_expansion/recipes/pneumatic_tube.json
+252d039e223fecec4dbcb5039a3a2c25c81db8c0 data/projectred_expansion/recipes/project_bench.json
+2a33850d479f14531fe252e6f034f42981e77a4f data/projectred_expansion/recipes/recipe_plan.json
+a524d1cf8fbb18678f70f5ed87a293f768300c2e data/projectred_expansion/recipes/transposer.json
diff --git a/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6 b/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6
index be752abb4..491a45dda 100644
--- a/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6
+++ b/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6
@@ -1,2 +1,2 @@
-// 1.20.1 2024-07-17T09:25:42.184345 ProjectRed-Expansion Sound Definitions
+// 1.20.4 2024-11-23T19:56:53.551933 ProjectRed-Expansion Sound Definitions
a5c096942d7b68dd1d2ad18bb30fb7661e9c4a6e assets/projectred_expansion/sounds.json
diff --git a/expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f b/expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7
similarity index 50%
rename from expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f
rename to expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7
index 438012cd3..8500afc52 100644
--- a/expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f
+++ b/expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7
@@ -1,2 +1,2 @@
-// 1.20.1 2024-07-17T09:25:42.179248 ProjectRed-Expansion Languages: en_us
+// 1.20.4 2024-11-23T19:56:53.552519 Languages: en_us for mod: projectred_expansion
a6d45bbcb1528dc8143d599fb525aeef4ac965c7 assets/projectred_expansion/lang/en_us.json
diff --git a/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
new file mode 100644
index 000000000..6f2940b8d
--- /dev/null
+++ b/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -0,0 +1,12 @@
+// 1.20.4 2024-11-23T19:56:53.552845 Loot Tables
+04484b1b363f7673d15270c19fd4d88ab6410ace data/projectred_expansion/loot_tables/blocks/auto_crafter.json
+64a97d71d84f836088caee3ff8f908e6f086617b data/projectred_expansion/loot_tables/blocks/battery_box.json
+3de05757e806994b974977dad318a36b2ba74970 data/projectred_expansion/loot_tables/blocks/block_breaker.json
+ce66e28f0f23195d32130d79a557232f2a2ceac7 data/projectred_expansion/loot_tables/blocks/charging_bench.json
+66c34e5cc447dc93ac744b829b371c1e7c985e6a data/projectred_expansion/loot_tables/blocks/deployer.json
+bc0bbce1005d69a2fae1789454625322447a61f2 data/projectred_expansion/loot_tables/blocks/fire_starter.json
+f145c60c8abfcaabbff18acc635cd5c4529e63b6 data/projectred_expansion/loot_tables/blocks/frame.json
+2f71cf74cc67a46ba7192ac3b095bd51a9466952 data/projectred_expansion/loot_tables/blocks/frame_actuator.json
+590d2bf06aea9fc7cd062cff7369f224cd1f9e1e data/projectred_expansion/loot_tables/blocks/frame_motor.json
+0ca9a575a4a3175e02f8fa48ac659a39ab8b8be8 data/projectred_expansion/loot_tables/blocks/project_bench.json
+c03a58bdd06100368c19951cd3e49cac2cd9d58b data/projectred_expansion/loot_tables/blocks/transposer.json
diff --git a/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e b/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e
deleted file mode 100644
index f3dd5d339..000000000
--- a/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e
+++ /dev/null
@@ -1,12 +0,0 @@
-// 1.20.1 2024-07-17T09:25:42.184807 projectred_expansion Block Loot Tables
-411e319a86714481cefff3111427cc18b9b2bfa1 data/projectred_expansion/loot_tables/blocks/auto_crafter.json
-ecc97100e22b21390a50009a20f67e2bffd693c3 data/projectred_expansion/loot_tables/blocks/battery_box.json
-393d359b1203076e7a24f85ba5cd300d40def9b2 data/projectred_expansion/loot_tables/blocks/block_breaker.json
-937adf7ed2cd79a1ac65f77a0b22219c1d9631ea data/projectred_expansion/loot_tables/blocks/charging_bench.json
-f264c9e4ae53755c1ce54deaabafb4195b3ec616 data/projectred_expansion/loot_tables/blocks/deployer.json
-d084408f60ef161ea16b326c5a63e3d23713745e data/projectred_expansion/loot_tables/blocks/fire_starter.json
-dffb6a70909e6c64dd0afa60966dc987ae5d6754 data/projectred_expansion/loot_tables/blocks/frame.json
-1ea1d24f7f8f2944871de260fe87ea6e37cf2cfa data/projectred_expansion/loot_tables/blocks/frame_actuator.json
-07e5557543ebcba7088f33bd3dfc2e971536b6f0 data/projectred_expansion/loot_tables/blocks/frame_motor.json
-089c17353de9a38e79e8e5e14e99df5cd4bc317a data/projectred_expansion/loot_tables/blocks/project_bench.json
-596c0aec0f93d4753e3827f9222cd37d24391d66 data/projectred_expansion/loot_tables/blocks/transposer.json
diff --git a/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9 b/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9
index 727c2a87b..c45554245 100644
--- a/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9
+++ b/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9
@@ -1,4 +1,4 @@
-// 1.20.1 2024-07-17T09:25:42.187734 Tags for minecraft:block mod id projectred_expansion
+// 1.20.4 2024-11-23T19:56:53.55822 Tags for minecraft:block mod id projectred_expansion
2efbad637314a6835101b9f533fdf72e1ac5075c data/minecraft/tags/blocks/mineable/axe.json
bb9a393ab494be5a5399d225556fb7aff2f4980c data/minecraft/tags/blocks/mineable/pickaxe.json
bb9a393ab494be5a5399d225556fb7aff2f4980c data/minecraft/tags/blocks/needs_stone_tool.json
diff --git a/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e b/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e
index a3c85e494..a29577c54 100644
--- a/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e
+++ b/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e
@@ -1,4 +1,4 @@
-// 1.20.1 2024-08-05T10:07:41.167181 Block States: projectred_expansion
+// 1.20.4 2024-11-23T19:56:53.553431 Block States: projectred_expansion
b697bf3bc54738e649092c6b88cbb4fd9b3da8a3 assets/projectred_expansion/blockstates/auto_crafter.json
1d92e2503aa76e8cf9e908f7afa248a291fcf387 assets/projectred_expansion/blockstates/battery_box.json
325a4ac57dbf6f6f049812d1442992b5f7368d21 assets/projectred_expansion/blockstates/block_breaker.json
diff --git a/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 b/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5
index 3eab588d1..b41c40850 100644
--- a/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5
+++ b/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5
@@ -1,4 +1,4 @@
-// 1.20.1 2024-11-20T09:27:37.993874 projectred_expansion Item models.
+// 1.20.4 2024-11-23T19:56:53.543982 projectred_expansion Item models.
599e9047cbf1215359e3106b1a6a0757a569ffc9 assets/projectred_expansion/models/item/auto_crafter.json
736ab07c8745c163e8a3cb90abc9308466032009 assets/projectred_expansion/models/item/battery.json
d887cd7b776f1227da04cf267bf0a48dbc706027 assets/projectred_expansion/models/item/battery_box.json
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json
index aaad48833..4e31294f1 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/auto_crafter"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json
index 4eeab1225..03caf21e8 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/battery_box"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json
index 99db5e6f2..5b4b4caf1 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/block_breaker"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json
index c16b3ad1d..409b26892 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/charging_bench"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json
index 184aea320..f2cd9c9ff 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/deployer"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json
index e5581df73..ddb48a5e5 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/fire_starter"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json
index 46e877c40..7e5cec955 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/frame"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json
index 1548121d4..7e65ad293 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/frame_actuator"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json
index 13a4389d4..3e3ea0dcc 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/frame_motor"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json
index d1a4447e4..12dd5191d 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/project_bench"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json
index 19f7b6698..15ea2e1c7 100644
--- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json
+++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_expansion:blocks/transposer"
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json b/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json
index ed19fdcce..895ee49fe 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "minecraft:crafting_table"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json b/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json
index 67d47818e..6b7c1632e 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"tag": "forge:ingots/copper"
@@ -17,7 +18,6 @@
"ETE"
],
"result": {
- "item": "projectred_expansion:battery",
- "nbt": "{Damage:0}"
+ "item": "projectred_expansion:battery"
}
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json b/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json
index 8d4313856..5f01362f4 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_expansion:battery"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json b/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json
index f0b86cbe1..f4958172f 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"A": {
"item": "minecraft:iron_pickaxe"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json b/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json
index 4aa587a99..8e9b231a9 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_expansion:battery"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json b/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json
index 50dbb248e..e0fbbe4ed 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "minecraft:chest"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json b/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json
index f73d8a57d..2a035d4ca 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_expansion:battery"
@@ -17,7 +18,6 @@
" B"
],
"result": {
- "item": "projectred_expansion:electric_screwdriver",
- "nbt": "{Damage:0}"
+ "item": "projectred_expansion:electric_screwdriver"
}
}
\ No newline at end of file
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json b/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json
index c7199401c..f39e5d783 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "minecraft:cobblestone"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json
index 6d2131ee3..104ba7b02 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"L": {
"tag": "minecraft:logs"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json
index 3cbae65ff..4ca11fd11 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:copper_coil"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json
index f15ef99a1..9609da487 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"E": {
"tag": "forge:ingots/electrotine_alloy"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json b/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json
index 96f0e1d82..d401f3030 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"tag": "forge:ingots/copper"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json b/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json
index 4ce578440..227ec116a 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "minecraft:crafting_table"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json b/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json
index 966b04021..36aa4168d 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"tag": "forge:dyes/blue"
diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json b/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json
index 5078ec43a..22c0429bd 100644
--- a/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json
+++ b/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"P": {
"item": "minecraft:piston"
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java b/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java
index 82a29c50f..7b90e19de 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java
@@ -11,12 +11,12 @@
import net.minecraft.world.inventory.ResultContainer;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.CraftingRecipe;
+import net.minecraft.world.item.crafting.RecipeHolder;
import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.level.Level;
-import net.minecraftforge.common.ForgeHooks;
+import net.neoforged.neoforge.common.CommonHooks;
import javax.annotation.Nullable;
-import java.util.List;
import java.util.function.Predicate;
public class CraftingHelper {
@@ -37,8 +37,8 @@ public int getHeight() {
}
@Override
- public List getItems() {
- return List.copyOf(items);
+ public NonNullList getItems() {
+ return NonNullList.copyOf(items);
}
}
@@ -48,7 +48,7 @@ public List getItems() {
private final InventorySource inputSource;
- private @Nullable CraftingRecipe recipe = null;
+ private @Nullable RecipeHolder recipe = null;
private CraftingResult result = CraftingResult.EMPTY;
public CraftingHelper(InventorySource inputSource) {
@@ -90,7 +90,7 @@ public void loadRecipe() {
recipe = inputSource.getWorld().getRecipeManager()
.getRecipeFor(RecipeType.CRAFTING, craftingInventory, inputSource.getWorld()).orElse(null);
- craftResultInventory.setItem(0, recipe == null ? ItemStack.EMPTY : recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess()));
+ craftResultInventory.setItem(0, recipe == null ? ItemStack.EMPTY : recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess()));
}
public void loadOutput() {
@@ -128,9 +128,9 @@ public boolean onCraftedByPlayer(Player player, boolean leaveRemainingInGrid) {
}
// Re-obtain remaining items in case "setCraftingPlayer" changes remaining items
- ForgeHooks.setCraftingPlayer(player);
- NonNullList remainingStacks = recipe.getRemainingItems(craftingInventory); // Skip re-searching for recipe, should be ok
- ForgeHooks.setCraftingPlayer(null);
+ CommonHooks.setCraftingPlayer(player);
+ NonNullList remainingStacks = recipe.value().getRemainingItems(craftingInventory); // Skip re-searching for recipe, should be ok
+ CommonHooks.setCraftingPlayer(null);
Container craftingGird = inputSource.getCraftingMatrix();
Container storage = inputSource.getStorage();
@@ -184,9 +184,9 @@ private CraftingResult craftFromSource(Container source, boolean simulate) {
if (recipe == null) return CraftingResult.EMPTY;
- if (!recipe.matches(craftingInventory, inputSource.getWorld())) return CraftingResult.EMPTY;
+ if (!recipe.value().matches(craftingInventory, inputSource.getWorld())) return CraftingResult.EMPTY;
- ItemStack result = recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess());
+ ItemStack result = recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess());
if (result.isEmpty()) return CraftingResult.EMPTY;
if (simulate) {
@@ -207,8 +207,8 @@ private CraftingResult craftFromSource(Container source, boolean simulate) {
// Recipe must still function with new input swapped in
craftingInventory.setItem(slot, input);
boolean canStillCraft =
- recipe.matches(craftingInventory, inputSource.getWorld()) &&
- ItemStack.isSameItem(result, recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess()));
+ recipe.value().matches(craftingInventory, inputSource.getWorld()) &&
+ ItemStack.isSameItem(result, recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess()));
craftingInventory.setItem(slot, previousInput);
return canStillCraft;
@@ -223,7 +223,7 @@ private CraftingResult craftFromSource(Container source, boolean simulate) {
return CraftingResult.missingIngredients(missingIngredientMask);
}
- return new CraftingResult(result, recipe.getRemainingItems(craftingInventory), 0, simulate ? source : copyInventory(source));
+ return new CraftingResult(result, recipe.value().getRemainingItems(craftingInventory), 0, simulate ? source : copyInventory(source));
}
private boolean consumeIngredient(Container storage, int startIndex, Predicate matchFunc) {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java b/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java
index 945e5d0b2..08719ec9b 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java
@@ -2,12 +2,11 @@
import codechicken.lib.packet.ICustomPacketHandler;
import codechicken.lib.packet.PacketCustom;
-import codechicken.lib.packet.PacketCustomChannelBuilder;
+import codechicken.lib.packet.PacketCustomChannel;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
-import net.minecraft.server.network.ServerGamePacketListenerImpl;
+import net.neoforged.bus.api.IEventBus;
import java.util.Objects;
@@ -21,17 +20,21 @@ public class ExpansionNetwork {
public static final int MM_FROM_SERVER = 1;
public static final int LINK_DEBUG_RENDERER_FROM_SERVER = 2;
- public static void init() {
- PacketCustomChannelBuilder.named(NET_CHANNEL)
- .assignClientHandler(() -> ClientHandler::new)
- .assignServerHandler(() -> ServerHandler::new)
- .build();
+ // Channel instance
+ private static final PacketCustomChannel channel = new PacketCustomChannel(NET_CHANNEL)
+ .versioned(ProjectRedExpansion.getContainer().getModInfo().getVersion().toString())
+ .client(() -> ClientHandler::new)
+ .server(() -> ServerHandler::new);
+
+
+ public static void init(IEventBus modBus) {
+ channel.init(modBus);
}
private static class ClientHandler implements ICustomPacketHandler.IClientPacketHandler {
@Override
- public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener handler) {
+ public void handlePacket(PacketCustom packet, Minecraft mc) {
switch (packet.getType()) {
case MM_FROM_SERVER -> MovementManager.getInstance(Objects.requireNonNull(mc.level)).read(packet, mc.level);
case LINK_DEBUG_RENDERER_FROM_SERVER -> GraphDebugManager.getInstance(Objects.requireNonNull(mc.level)).read(packet, mc.level);
@@ -43,7 +46,7 @@ public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener
private static class ServerHandler implements ICustomPacketHandler.IServerPacketHandler {
@Override
- public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) {
+ public void handlePacket(PacketCustom packet, ServerPlayer sender) {
}
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java b/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java
index 1434383e9..9b0bd3535 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java
@@ -27,12 +27,12 @@
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.client.event.RegisterClientCommandsEvent;
-import net.minecraftforge.client.event.RenderLevelStageEvent;
-import net.minecraftforge.event.TickEvent;
-import net.minecraftforge.event.level.LevelEvent;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
+import net.neoforged.neoforge.client.event.RegisterClientCommandsEvent;
+import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
+import net.neoforged.neoforge.event.TickEvent;
+import net.neoforged.neoforge.event.level.LevelEvent;
import java.util.*;
import java.util.function.Function;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java b/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java
index f09a6e8f7..3b5fe4fd7 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java
@@ -28,14 +28,14 @@
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.Vec3;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.client.event.RenderLevelStageEvent;
-import net.minecraftforge.client.model.data.ModelData;
-import net.minecraftforge.event.TickEvent;
-import net.minecraftforge.event.level.ChunkEvent;
-import net.minecraftforge.event.level.ChunkWatchEvent;
-import net.minecraftforge.event.level.LevelEvent;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
+import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
+import net.neoforged.neoforge.client.model.data.ModelData;
+import net.neoforged.neoforge.event.TickEvent;
+import net.neoforged.neoforge.event.level.ChunkEvent;
+import net.neoforged.neoforge.event.level.ChunkWatchEvent;
+import net.neoforged.neoforge.event.level.LevelEvent;
import javax.annotation.Nullable;
import java.util.*;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java b/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java
index d6e1b55be..42d83a041 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java
@@ -14,7 +14,6 @@
import net.minecraft.world.level.chunk.LevelChunk;
import net.minecraft.world.level.chunk.LevelChunkSection;
import net.minecraft.world.level.levelgen.Heightmap;
-import net.minecraftforge.common.util.LazyOptional;
import javax.annotation.Nullable;
import java.util.HashMap;
@@ -42,15 +41,17 @@ public static void registerFrameInteraction(FrameInteraction interaction) {
}
public static @Nullable Frame getFrame(Level level, BlockPos pos) {
- Block block = level.getBlockState(pos).getBlock();
+ BlockState state = level.getBlockState(pos);
+ Block block = state.getBlock();
if (block instanceof Frame f) return f;
BlockEntity be = level.getBlockEntity(pos);
if (be instanceof Frame f) return f;
if (be != null) {
- LazyOptional cap = be.getCapability(IExpansionAPI.FRAME_CAPABILITY);
- if (cap.isPresent()) return cap.orElseThrow(() -> new RuntimeException("??"));
+ @SuppressWarnings("DataFlowIssue")
+ var cap = level.getCapability(IExpansionAPI.FRAME_CAPABILITY, pos, state, be, null);
+ if (cap != null) return cap;
}
for (FrameInteraction interaction : frameInteractions) {
@@ -61,15 +62,17 @@ public static void registerFrameInteraction(FrameInteraction interaction) {
}
public static @Nullable MovementController getMovementController(Level level, BlockPos pos) {
- Block block = level.getBlockState(pos).getBlock();
+ BlockState state = level.getBlockState(pos);
+ Block block = state.getBlock();
if (block instanceof MovementController mhb) return mhb;
BlockEntity be = level.getBlockEntity(pos);
if (be instanceof MovementController mbe) return mbe;
if (be != null) {
- LazyOptional cap = be.getCapability(IExpansionAPI.MOVEMENT_CONTROLLER_CAPABILITY);
- if (cap.isPresent()) return cap.orElseThrow(() -> new RuntimeException("??"));
+ @SuppressWarnings("DataFlowIssue")
+ var cap = level.getCapability(IExpansionAPI.MOVEMENT_CONTROLLER_CAPABILITY, pos, state, be, null);
+ if (cap != null) return cap;
}
return null;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java b/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java
index 05e9ad305..b0ab3f233 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java
@@ -7,6 +7,7 @@
import mrtjp.projectred.api.ProjectRedAPI;
import mrtjp.projectred.expansion.data.*;
import mrtjp.projectred.expansion.init.*;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
@@ -16,19 +17,21 @@
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.data.event.GatherDataEvent;
-import net.minecraftforge.eventbus.api.IEventBus;
-import net.minecraftforge.fml.DistExecutor;
-import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
-import net.minecraftforge.registries.DeferredRegister;
-import net.minecraftforge.registries.ForgeRegistries;
+import net.neoforged.bus.api.IEventBus;
+import net.neoforged.fml.ModContainer;
+import net.neoforged.fml.common.Mod;
+import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.neoforged.fml.loading.FMLEnvironment;
+import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
+import net.neoforged.neoforge.common.NeoForge;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.data.event.GatherDataEvent;
+import net.neoforged.neoforge.registries.DeferredRegister;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Objects;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
@@ -39,15 +42,17 @@ public class ProjectRedExpansion {
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
- public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID);
- public static final DeferredRegister
- ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID);
- public static final DeferredRegister SOUNDS = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, MOD_ID);
- public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID);
- public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID);
+ public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID);
+ public static final DeferredRegister
- ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID);
+ public static final DeferredRegister SOUNDS = DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, MOD_ID);
+ public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID);
+ public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID);
public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID);
public static final DeferredRegister PART_CONVERTERS = DeferredRegister.create(PartConverter.PART_CONVERTERS, MOD_ID);
public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID);
+ private static @Nullable ModContainer container;
+
static {
ProjectRedAPI.expansionAPI = ExpansionAPI.INSTANCE;
@@ -59,13 +64,19 @@ public class ProjectRedExpansion {
ExpansionCreativeModeTabs.register();
}
- public ProjectRedExpansion() {
- final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
+ public ProjectRedExpansion(ModContainer container, IEventBus modEventBus) {
+ ProjectRedExpansion.container = container;
modEventBus.addListener(this::commonSetup);
modEventBus.addListener(this::onGatherDataEvent);
+ modEventBus.addListener(this::onRegisterCaps);
- DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> ExpansionClientInit::init);
+ if (FMLEnvironment.dist.isClient()) {
+ ExpansionClientInit.init(modEventBus);
+ }
+
+ // Init packet handler
+ ExpansionNetwork.init(modEventBus);
BLOCKS.register(modEventBus);
ITEMS.register(modEventBus);
@@ -77,23 +88,24 @@ public ProjectRedExpansion() {
CREATIVE_TABS.register(modEventBus);
// MovementManager hooks
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkWatchEvent);
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkUnwatchEvent);
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkUnloadEvent);
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelTick);
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelLoad);
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelUnload);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onChunkWatchEvent);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onChunkUnwatchEvent);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onChunkUnloadEvent);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onLevelTick);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onLevelLoad);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onLevelUnload);
// GraphDebugManager hooks
- MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onLevelUnload);
- MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onLevelTick);
- MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::registerClientCommands);
+ NeoForge.EVENT_BUS.addListener(GraphDebugManager::onLevelUnload);
+ NeoForge.EVENT_BUS.addListener(GraphDebugManager::onLevelTick);
+ NeoForge.EVENT_BUS.addListener(GraphDebugManager::registerClientCommands);
}
- private void commonSetup(final FMLCommonSetupEvent event) {
- // Init packet handler
- ExpansionNetwork.init();
+ public static ModContainer getContainer() {
+ return Objects.requireNonNull(container);
+ }
+ private void commonSetup(final FMLCommonSetupEvent event) {
// Register frame as Multipart tile passthrough interface
MultipartGenerator.INSTANCE.registerPassThroughInterface(Frame.class);
@@ -115,4 +127,8 @@ private void onGatherDataEvent(final GatherDataEvent event) {
generator.addProvider(event.includeServer(), new ExpansionRecipeProvider(output));
generator.addProvider(event.includeServer(), new ExpansionLootTableProvider(output));
}
+
+ public void onRegisterCaps(RegisterCapabilitiesEvent event) {
+ ExpansionBlocks.registerCaps(event);
+ }
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java b/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java
index 2ad3122af..0e0bdc94c 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java
@@ -11,17 +11,17 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.registries.DeferredRegister;
-import net.minecraftforge.registries.RegistryObject;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
+import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent;
+import net.neoforged.neoforge.registries.DeferredRegister;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionParts.ID_PNEUMATIC_TUBE;
@@ -36,8 +36,8 @@ public enum TubeType {
private final List textureNames;
- private @Nullable RegistryObject
- itemSupplier;
- private @Nullable RegistryObject> partSupplier;
+ private @Nullable Supplier
- itemSupplier;
+ private @Nullable Supplier> partSupplier;
@OnlyIn(Dist.CLIENT)
private @Nullable List textures;
@@ -64,7 +64,7 @@ public MultipartType getPartType() {
return Objects.requireNonNull(partSupplier).get();
}
- public RegistryObject
- getItemRegistryObject() {
+ public Supplier
- getItemRegistryObject() {
return Objects.requireNonNull(itemSupplier);
}
@@ -78,7 +78,7 @@ public List getTextures() {
}
@OnlyIn (Dist.CLIENT)
- public void onTextureStitchEvent(TextureStitchEvent.Post event) {
+ public void onTextureStitchEvent(TextureAtlasStitchedEvent event) {
if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return;
if (textureNames.isEmpty()) return;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java b/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java
index f477f528b..44f385942 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java
@@ -11,6 +11,7 @@
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
@@ -69,7 +70,7 @@ public List getDrops(BlockState state, LootParams.Builder builder) {
}
@Override
- public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) {
+ public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader world, BlockPos pos, Player player) {
BlockEntity tile = world.getBlockEntity(pos);
if (tile instanceof BatteryBoxTile)
return ((BatteryBoxTile) tile).createStackWithStoredPower(); // Pick block with stored power
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java b/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java
index 97888b08a..ea9887ba9 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java
@@ -19,7 +19,7 @@
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
-import net.minecraftforge.fml.DistExecutor;
+import net.neoforged.fml.loading.FMLEnvironment;
import java.util.LinkedList;
import java.util.List;
@@ -103,9 +103,12 @@ private static VoxelShape generateShape(int mask) {
// Clients will use verts directly from parsed OBJ.
// Server will use data-pack JSON file with verts from OBJ
- Vertex5[] verts = DistExecutor.unsafeRunForDist(
- () -> () -> FrameModelRenderer.getQuadsForMask(mask),
- () -> () -> getQuadsForMask(mask));
+ Vertex5[] verts;
+ if (FMLEnvironment.dist.isClient()) {
+ verts = FrameModelRenderer.getQuadsForMask(mask);
+ } else {
+ verts = getQuadsForMask(mask);
+ }
VoxelShape parent = VoxelShapeCache.merge(ImmutableSet.copyOf(faceShapes));
return ModelVoxelShape.fromQuads(parent, verts);
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java
index a3e3f5a66..81dff4e2b 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java
@@ -19,7 +19,7 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.client.model.data.ModelData;
+import net.neoforged.neoforge.client.model.data.ModelData;
import org.jetbrains.annotations.Nullable;
public class FrameBlockRenderer implements ICCBlockRenderer, IItemRenderer {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java
index 55c3794e4..54f8111e2 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java
@@ -10,8 +10,8 @@
import net.minecraft.client.renderer.texture.TextureAtlas;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.client.event.TextureStitchEvent;
-import net.minecraftforge.fml.loading.FMLEnvironment;
+import net.neoforged.fml.loading.FMLEnvironment;
+import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent;
import java.io.FileWriter;
import java.io.IOException;
@@ -45,7 +45,7 @@ public static Vertex5[] getQuadsForMask(int mask) {
return getOrGenerateModel(mask).verts;
}
- public static void onTextureStitchEvent(TextureStitchEvent.Post event) {
+ public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) {
if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return;
frameIcon = new IconTransformation(event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame")));
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java
index 25004423d..665dcd648 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java
@@ -14,7 +14,7 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.client.event.TextureStitchEvent;
+import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent;
import javax.annotation.Nullable;
import java.util.Objects;
@@ -82,7 +82,7 @@ private void createIconTransforms() {
}
}
- public static void onTextureStitchEvent(TextureStitchEvent.Post event) {
+ public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) {
if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return;
topIcon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame_motor_top"));
frontBack0Icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame_motor_front_back_0"));
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java
index caf349b38..24fb48ed8 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java
@@ -12,7 +12,7 @@
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.client.model.data.ModelData;
+import net.neoforged.neoforge.client.model.data.ModelData;
import org.jetbrains.annotations.Nullable;
/**
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java
index 1e5cbda0b..fab00bc24 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java
@@ -14,7 +14,7 @@
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.client.event.TextureStitchEvent;
+import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent;
import java.util.LinkedList;
import java.util.List;
@@ -135,7 +135,7 @@ public ParticleRenderType getRenderType() {
return PARTICLE_TYPE_SMOKE;
}
- public static void onTextureStitchEvent(TextureStitchEvent.Post event) {
+ public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) {
if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return;
SMOKE_PARTICLE_SPRITE = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "particle/smoke"));
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java
index 960d4ec14..e048a0e34 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java
@@ -2,14 +2,14 @@
import mrtjp.projectred.core.block.ProjectRedBlock;
import mrtjp.projectred.expansion.block.BatteryBoxBlock;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.client.model.generators.BlockModelBuilder;
-import net.minecraftforge.client.model.generators.BlockStateProvider;
-import net.minecraftforge.client.model.generators.ConfiguredModel;
-import net.minecraftforge.client.model.generators.ModelFile;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.registries.ForgeRegistries;
+import net.neoforged.neoforge.client.model.generators.BlockModelBuilder;
+import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
+import net.neoforged.neoforge.client.model.generators.ConfiguredModel;
+import net.neoforged.neoforge.client.model.generators.ModelFile;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
@@ -42,7 +42,7 @@ protected void registerStatesAndModels() {
}
private void addProgrammaticWithParticleTexture(Block block, String texSuffix) {
- String blockName = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String blockName = BuiltInRegistries.BLOCK.getKey(block).getPath();
String texName = blockName + texSuffix;
ModelFile dummy = models()
.withExistingParent(blockName + "_programmatically_rendered", "block")
@@ -172,7 +172,7 @@ private void addSidedPoweredDeviceVariants(Block block, ModelFile idle, ModelFil
}
private BlockModelBuilder createOppositeMatchingFaceModel(Block block) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
return models().cube(texture,
modLoc("block/" + texture + "_bottom"),
modLoc("block/" + texture + "_top"),
@@ -184,7 +184,7 @@ private BlockModelBuilder createOppositeMatchingFaceModel(Block block) {
}
private BlockModelBuilder createBatteryModel(Block block, int charge) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String modelName = texture + (charge > 0 ? "_charge" + charge : "");
return models().cubeBottomTop(modelName,
modLoc("block/" + texture + "_side_" + charge),
@@ -193,7 +193,7 @@ private BlockModelBuilder createBatteryModel(Block block, int charge) {
}
private BlockModelBuilder createFrontFacedMachineModel(Block block, int state) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String modelName = texture + (state > 0 ? "_state" + state : "");
return models().orientableWithBottom(modelName,
modLoc("block/" + texture + "_side"),
@@ -203,7 +203,7 @@ private BlockModelBuilder createFrontFacedMachineModel(Block block, int state) {
}
private BlockModelBuilder createSideAndTopStateModel(Block block, int state) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String modelName = texture + (state > 0 ? "_state" + state : "");
return models().cubeBottomTop(modelName,
modLoc("block/" + texture + "_side_" + state),
@@ -212,7 +212,7 @@ private BlockModelBuilder createSideAndTopStateModel(Block block, int state) {
}
private BlockModelBuilder createSideStateModel(Block block, int state) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String modelName = texture + (state > 0 ? "_state" + state : "");
return models().cubeBottomTop(modelName,
modLoc("block/" + texture + "_side_" + state),
@@ -221,7 +221,7 @@ private BlockModelBuilder createSideStateModel(Block block, int state) {
}
private BlockModelBuilder createSideAndTopActiveModel(Block block, boolean active) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String activeKey = active ? "_active" : "";
String modelName = texture + activeKey;
return models().cubeBottomTop(modelName,
@@ -231,7 +231,7 @@ private BlockModelBuilder createSideAndTopActiveModel(Block block, boolean activ
}
private BlockModelBuilder createOppositeMatchingFaceDeviceModel(Block block, boolean active) {
- String texture = ForgeRegistries.BLOCKS.getKey(block).getPath();
+ String texture = BuiltInRegistries.BLOCK.getKey(block).getPath();
String activeKey = active ? "_active" : "";
String modelName = texture + activeKey;
return models().cube(modelName,
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java
index 0382390d7..ec5278146 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java
@@ -3,8 +3,8 @@
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
-import net.minecraftforge.common.data.BlockTagsProvider;
-import net.minecraftforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.data.BlockTagsProvider;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import java.util.concurrent.CompletableFuture;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java
index 0c4f2b782..6106c1a89 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java
@@ -8,9 +8,9 @@
import net.minecraft.data.PackOutput;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.client.model.generators.ItemModelBuilder;
-import net.minecraftforge.client.model.generators.ModelFile;
-import net.minecraftforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.client.model.generators.ItemModelBuilder;
+import net.neoforged.neoforge.client.model.generators.ModelFile;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java
index f71ac730f..99cd96c30 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java
@@ -2,7 +2,7 @@
import mrtjp.projectred.expansion.TubeType;
import net.minecraft.data.PackOutput;
-import net.minecraftforge.common.data.LanguageProvider;
+import net.neoforged.neoforge.common.data.LanguageProvider;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
@@ -15,11 +15,6 @@ public ExpansionLanguageProvider(PackOutput output) {
super(output, MOD_ID, "en_us");
}
- @Override
- public String getName() {
- return "ProjectRed-Expansion Languages: en_us";
- }
-
@Override
protected void addTranslations() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java
index 2afa13346..8f9e8704a 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java
@@ -1,30 +1,53 @@
package mrtjp.projectred.expansion.data;
-import codechicken.lib.datagen.LootTableProvider;
+import mrtjp.projectred.expansion.ProjectRedExpansion;
+import net.minecraft.core.Holder;
import net.minecraft.data.PackOutput;
+import net.minecraft.data.loot.BlockLootSubProvider;
+import net.minecraft.data.loot.LootTableProvider;
+import net.minecraft.world.flag.FeatureFlags;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
+
+import java.util.List;
+import java.util.Set;
-import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
-public class ExpansionLootTableProvider extends LootTableProvider.BlockLootProvider {
+public class ExpansionLootTableProvider extends LootTableProvider {
public ExpansionLootTableProvider(PackOutput output) {
- super(output, MOD_ID);
+ super(output, Set.of(), List.of(
+ new LootTableProvider.SubProviderEntry(BlockLootTable::new, LootContextParamSets.BLOCK)
+ ));
}
- @Override
- protected void registerTables() {
-
- register(PROJECT_BENCH_BLOCK.get(), singleItem(PROJECT_BENCH_BLOCK.get()));
- register(BATTERY_BOX_BLOCK.get(), singleItem(BATTERY_BOX_BLOCK.get()));
- register(AUTO_CRAFTER_BLOCK.get(), singleItem(AUTO_CRAFTER_BLOCK.get()));
- register(CHARGING_BENCH_BLOCK.get(), singleItem(CHARGING_BENCH_BLOCK.get()));
- register(FIRE_STARTER_BLOCK.get(), singleItem(FIRE_STARTER_BLOCK.get()));
- register(FRAME_BLOCK.get(), singleItem(FRAME_BLOCK.get()));
- register(FRAME_MOTOR_BLOCK.get(), singleItem(FRAME_MOTOR_BLOCK.get()));
- register(FRAME_ACTUATOR_BLOCK.get(), singleItem(FRAME_ACTUATOR_BLOCK.get()));
- register(TRANSPOSER_BLOCK.get(), singleItem(TRANSPOSER_BLOCK.get()));
- register(BLOCK_BREAKER_BLOCK.get(), singleItem(BLOCK_BREAKER_BLOCK.get()));
- register(DEPLOYER_BLOCK.get(), singleItem(DEPLOYER_BLOCK.get()));
+ private static final class BlockLootTable extends BlockLootSubProvider {
+ BlockLootTable() {
+ super(Set.of(), FeatureFlags.REGISTRY.allFlags());
+ }
+
+ @Override
+ protected Iterable getKnownBlocks() {
+ return ProjectRedExpansion.BLOCKS.getEntries()
+ .stream()
+ .map(Holder::value)
+ .toList();
+ }
+
+ @Override
+ protected void generate() {
+ dropSelf(PROJECT_BENCH_BLOCK.get());
+ dropSelf(BATTERY_BOX_BLOCK.get());
+ dropSelf(AUTO_CRAFTER_BLOCK.get());
+ dropSelf(CHARGING_BENCH_BLOCK.get());
+ dropSelf(FIRE_STARTER_BLOCK.get());
+ dropSelf(FRAME_BLOCK.get());
+ dropSelf(FRAME_MOTOR_BLOCK.get());
+ dropSelf(FRAME_ACTUATOR_BLOCK.get());
+ dropSelf(TRANSPOSER_BLOCK.get());
+ dropSelf(BLOCK_BREAKER_BLOCK.get());
+ dropSelf(DEPLOYER_BLOCK.get());
+ }
}
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java
index fcf5d930d..a88cb5933 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java
@@ -6,7 +6,7 @@
import net.minecraft.tags.ItemTags;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;
-import net.minecraftforge.common.Tags;
+import net.neoforged.neoforge.common.Tags;
import static mrtjp.projectred.core.init.CoreItems.COPPER_COIL_ITEM;
import static mrtjp.projectred.core.init.CoreItems.MOTOR_ITEM;
@@ -14,7 +14,7 @@
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
import static mrtjp.projectred.expansion.init.ExpansionItems.*;
-import static net.minecraftforge.common.Tags.Items.INGOTS_COPPER;
+
public class ExpansionRecipeProvider extends RecipeProvider {
@@ -132,7 +132,7 @@ protected void registerRecipes() {
// Parts
shapedRecipe(TubeType.PNEUMATIC_TUBE.getItem(), 8)
- .key('B', INGOTS_COPPER) //TODO replace with brass
+ .key('B', Tags.Items.INGOTS_COPPER) //TODO replace with brass
.key('G', Tags.Items.GLASS_PANES)
.patternLine("BGB")
.patternLine("BGB")
@@ -142,7 +142,7 @@ protected void registerRecipes() {
shapedRecipe(BATTERY_ITEM.get(), 1)
.key('E', ELECTROTINE_DUST_TAG)
.key('T', TIN_INGOT_TAG)
- .key('C', INGOTS_COPPER)
+ .key('C', Tags.Items.INGOTS_COPPER)
.patternLine("ETE")
.patternLine("ECE")
.patternLine("ETE");
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java
index 7c7f16981..513e019c3 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java
@@ -3,8 +3,8 @@
import mrtjp.projectred.expansion.init.ExpansionUnlocal;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.common.data.SoundDefinitionsProvider;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.data.SoundDefinitionsProvider;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionSounds.DEPRESSURIZE;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java
index 090225b77..7acb4c740 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java
@@ -6,7 +6,10 @@
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
-import net.minecraftforge.registries.RegistryObject;
+import net.neoforged.neoforge.capabilities.Capabilities;
+import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.*;
@@ -26,31 +29,30 @@ public class ExpansionBlocks {
public static final String ID_DEPLOYER = "deployer";
// Blocks
- public static RegistryObject FRAME_BLOCK;
-
- public static RegistryObject PROJECT_BENCH_BLOCK;
- public static RegistryObject BATTERY_BOX_BLOCK;
- public static RegistryObject CHARGING_BENCH_BLOCK;
- public static RegistryObject AUTO_CRAFTER_BLOCK;
- public static RegistryObject FIRE_STARTER_BLOCK;
- public static RegistryObject FRAME_MOTOR_BLOCK;
- public static RegistryObject FRAME_ACTUATOR_BLOCK;
- public static RegistryObject TRANSPOSER_BLOCK;
- public static RegistryObject BLOCK_BREAKER_BLOCK;
- public static RegistryObject DEPLOYER_BLOCK;
+ public static Supplier FRAME_BLOCK;
+
+ public static Supplier PROJECT_BENCH_BLOCK;
+ public static Supplier BATTERY_BOX_BLOCK;
+ public static Supplier CHARGING_BENCH_BLOCK;
+ public static Supplier AUTO_CRAFTER_BLOCK;
+ public static Supplier FIRE_STARTER_BLOCK;
+ public static Supplier FRAME_MOTOR_BLOCK;
+ public static Supplier FRAME_ACTUATOR_BLOCK;
+ public static Supplier TRANSPOSER_BLOCK;
+ public static Supplier BLOCK_BREAKER_BLOCK;
+ public static Supplier DEPLOYER_BLOCK;
// Tiles
- public static RegistryObject> PROJECT_BENCH_TILE;
- public static RegistryObject> BATTERY_BOX_TILE;
- public static RegistryObject> CHARGING_BENCH_TILE;
- public static RegistryObject> AUTO_CRAFTER_TILE;
- public static RegistryObject> FIRE_STARTER_TILE;
- public static RegistryObject> FRAME_MOTOR_TILE;
- public static RegistryObject> FRAME_ACTUATOR_TILE;
- public static RegistryObject> TRANSPOSER_BLOCK_TILE;
- public static RegistryObject> BLOCK_BREAKER_TILE;
- public static RegistryObject> DEPLOYER_TILE;
-
+ public static Supplier> PROJECT_BENCH_TILE;
+ public static Supplier> BATTERY_BOX_TILE;
+ public static Supplier> CHARGING_BENCH_TILE;
+ public static Supplier> AUTO_CRAFTER_TILE;
+ public static Supplier> FIRE_STARTER_TILE;
+ public static Supplier> FRAME_MOTOR_TILE;
+ public static Supplier> FRAME_ACTUATOR_TILE;
+ public static Supplier> TRANSPOSER_BLOCK_TILE;
+ public static Supplier> BLOCK_BREAKER_TILE;
+ public static Supplier> DEPLOYER_TILE;
public static void register() {
@@ -98,4 +100,12 @@ public static void register() {
ITEMS.register(ID_FRAME, () -> new BlockItem(FRAME_BLOCK.get(), new Item.Properties()));
}
+ public static void registerCaps(RegisterCapabilitiesEvent event) {
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, PROJECT_BENCH_TILE.get(), (tile, ctx) -> tile.getHandler());
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, BATTERY_BOX_TILE.get(), BatteryBoxTile::getHandler);
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, CHARGING_BENCH_TILE.get(), ChargingBenchTile::getHandler);
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, AUTO_CRAFTER_TILE.get(), (tile, ctx) -> tile.getHandler());
+ event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, DEPLOYER_TILE.get(), (tile, ctx) -> tile.getHandler());
+ }
+
}
\ No newline at end of file
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java
index a62f22b35..013ace5bc 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java
@@ -15,10 +15,9 @@
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.eventbus.api.IEventBus;
-import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
+import net.neoforged.bus.api.IEventBus;
+import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
+import net.neoforged.neoforge.common.NeoForge;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
@@ -32,16 +31,14 @@ public class ExpansionClientInit {
public static final ResourceLocation ITEM_MODEL_PROPERTY_CHARGE_LEVEL = new ResourceLocation(MOD_ID, "charge_level");
public static final ResourceLocation ITEM_MODEL_PROPERTY_WRITTEN_RECIPE_PLAN = new ResourceLocation(MOD_ID, "written");
- public static void init() {
- final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
-
+ public static void init(IEventBus modEventBus) {
modEventBus.addListener(ExpansionClientInit::clientSetup);
// MovementManager hooks
- MinecraftForge.EVENT_BUS.addListener(MovementManager::onRenderLevelStage);
+ NeoForge.EVENT_BUS.addListener(MovementManager::onRenderLevelStage);
// GraphDebugManager hooks
- MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onRenderLevelStage);
+ NeoForge.EVENT_BUS.addListener(GraphDebugManager::onRenderLevelStage);
// Register sprites
modEventBus.addListener(FrameModelRenderer::onTextureStitchEvent);
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java
index edcd91187..266c0bb6b 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java
@@ -5,7 +5,8 @@
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
@@ -14,7 +15,7 @@
@SuppressWarnings("NotNullFieldNotInitialized")
public class ExpansionCreativeModeTabs {
- public static RegistryObject EXPANSION_CREATIVE_TAB;
+ public static Supplier EXPANSION_CREATIVE_TAB;
public static void register() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java
index f41a4198b..3c1073e9f 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java
@@ -5,7 +5,8 @@
import mrtjp.projectred.expansion.item.EmptyBatteryItem;
import mrtjp.projectred.expansion.item.RecipePlanItem;
import net.minecraft.world.item.Item;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.ITEMS;
@@ -17,10 +18,10 @@ public class ExpansionItems {
public static final String ID_EMPTY_BATTERY = "empty_battery";
public static final String ID_ELECTRIC_SCREWDRIVER = "electric_screwdriver";
- public static RegistryObject
- RECIPE_PLAN_ITEM;
- public static RegistryObject
- BATTERY_ITEM;
- public static RegistryObject
- EMPTY_BATTERY_ITEM;
- public static RegistryObject
- ELECTRIC_SCREWDRIVER_ITEM;
+ public static Supplier
- RECIPE_PLAN_ITEM;
+ public static Supplier
- BATTERY_ITEM;
+ public static Supplier
- EMPTY_BATTERY_ITEM;
+ public static Supplier
- ELECTRIC_SCREWDRIVER_ITEM;
public static void register() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java
index a8dba033e..4c1b86214 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java
@@ -3,7 +3,8 @@
import codechicken.lib.inventory.container.ICCLContainerType;
import mrtjp.projectred.expansion.inventory.container.*;
import net.minecraft.world.inventory.MenuType;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MENU_TYPES;
import static mrtjp.projectred.expansion.init.ExpansionBlocks.*;
@@ -11,11 +12,11 @@
@SuppressWarnings("NotNullFieldNotInitialized")
public class ExpansionMenus {
- public static RegistryObject> PROJECT_BENCH_CONTAINER;
- public static RegistryObject> BATTERY_BOX_CONTAINER;
- public static RegistryObject> AUTO_CRAFTER_CONTAINER;
- public static RegistryObject> CHARGING_BENCH_CONTAINER;
- public static RegistryObject> DEPLOYER_CONTAINER;
+ public static Supplier> PROJECT_BENCH_CONTAINER;
+ public static Supplier> BATTERY_BOX_CONTAINER;
+ public static Supplier> AUTO_CRAFTER_CONTAINER;
+ public static Supplier> CHARGING_BENCH_CONTAINER;
+ public static Supplier> DEPLOYER_CONTAINER;
public static void register() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java
index 248fbd3f4..be167b818 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java
@@ -5,7 +5,8 @@
import mrtjp.projectred.expansion.TubeType;
import mrtjp.projectred.expansion.part.FramePart;
import mrtjp.projectred.expansion.part.FramePartConverter;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.*;
@@ -16,7 +17,7 @@ public class ExpansionParts {
public static final String ID_PNEUMATIC_TUBE = "pneumatic_tube";
- public static RegistryObject> FRAME_PART;
+ public static Supplier> FRAME_PART;
public static void register() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java
index 00b6b5282..cea693126 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java
@@ -3,7 +3,8 @@
import mrtjp.projectred.expansion.ProjectRedExpansion;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
-import net.minecraftforge.registries.RegistryObject;
+
+import java.util.function.Supplier;
import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID;
@@ -15,8 +16,8 @@ public class ExpansionSounds {
public static final String SOUND_DEPRESSURIZE = "depressurize";
// Sound events
- public static RegistryObject PRESSURIZE;
- public static RegistryObject DEPRESSURIZE;
+ public static Supplier PRESSURIZE;
+ public static Supplier DEPRESSURIZE;
public static void register() {
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java b/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java
index 466d8bb32..a0f755aaf 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java
@@ -34,8 +34,8 @@
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.util.LinkedList;
@@ -125,7 +125,7 @@ public void writeDesc(MCDataOutput packet) {
packet.writeByte(packedConnMap());
packet.writeBoolean(material != null);
if (material != null) {
- packet.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material);
+ packet.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material);
}
}
@@ -147,7 +147,7 @@ public ItemStack getCloneStack(PartRayTraceResult hit) {
public void readDesc(MCDataInput packet) {
connMap = packet.readUByte();
if (packet.readBoolean()) {
- material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS);
+ material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials());
}
}
//endregion
@@ -179,7 +179,7 @@ protected void read(MCDataInput packet, int key) {
if (useStaticRenderer()) tile().markRender();
}
case KEY_MATERIAL -> {
- material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS);
+ material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials());
if (useStaticRenderer()) tile().markRender();
}
case KEY_REMOVE_MATERIAL -> {
@@ -200,7 +200,7 @@ protected void sendMaterialUpdate() {
if (material == null) {
sendUpdate(KEY_REMOVE_MATERIAL, p -> {});
} else {
- sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material));
+ sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material));
}
}
//endregion
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java b/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java
index 0065b98ef..16ad52a36 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java
@@ -21,10 +21,10 @@
import net.minecraft.sounds.SoundSource;
import net.minecraft.world.WorldlyContainer;
import net.minecraft.world.item.ItemStack;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.fml.DistExecutor;
+import net.neoforged.api.distmarker.Dist;
+import net.neoforged.api.distmarker.OnlyIn;
+import net.neoforged.fml.loading.FMLEnvironment;
+import net.neoforged.neoforge.capabilities.Capabilities;
import java.util.Collection;
import java.util.Collections;
@@ -50,10 +50,10 @@ public class PneumaticTubePart extends GraphContainerTubePart implements Pneumat
public PneumaticTubePart(TubeType pipeType) {
super(pipeType);
- DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
+ if (FMLEnvironment.dist.isClient()) {
linkCache.setRemovedCallback(this::onLinksRemoved);
linkCache.setAddedCallback(this::onLinksAdded);
- });
+ }
}
@Override
@@ -254,9 +254,9 @@ private boolean hasEndpointOnSide(int s) {
return wc.getSlotsForFace(Direction.values()[lookup.otherDirection]).length > 0;
}
- var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]);
- if (itemCapOpt.isPresent()) {
- return itemCapOpt.orElseThrow(NullPointerException::new).getSlots() > 0;
+ var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]);
+ if (itemCap != null) {
+ return itemCap.getSlots() > 0;
}
return false;
@@ -464,9 +464,8 @@ public boolean onPayloadReachedOutput(int id, PneumaticTubePayload payload) {
}
// Pass to IItemHandler capability
- var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]);
- if (itemCapOpt.isPresent()) {
- var itemCap = itemCapOpt.orElseThrow(NullPointerException::new);
+ var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]);
+ if (itemCap != null) {
if (InventoryLib.injectItemHandler(itemCap, payload.getItemStack(), false)) {
sendPayloadRemoved(Collections.singletonList(id));
return true;
@@ -506,9 +505,8 @@ public boolean canItemExitTube(PneumaticTubePayload payload, int side, Pneumatic
}
// Check IItemHandler cap
- var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]);
- if (itemCapOpt.isPresent()) {
- var itemCap = itemCapOpt.orElseThrow(NullPointerException::new);
+ var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]);
+ if (itemCap != null) {
ItemStack copy = payload.getItemStack().copy();
InventoryLib.injectItemHandler(itemCap, copy, true);
if (copy.getCount() < payload.getItemStack().getCount()) { // If anything was inserted
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java
index d37f9995c..bfed70143 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java
@@ -9,7 +9,6 @@
import mrtjp.projectred.expansion.inventory.container.AutoCrafterContainer;
import mrtjp.projectred.expansion.item.RecipePlanItem;
import net.minecraft.core.BlockPos;
-import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.Container;
@@ -20,14 +19,8 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.InvWrapper;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.InvWrapper;
public class AutoCrafterTile extends BaseMachineTile implements CraftingHelper.InventorySource {
@@ -42,7 +35,7 @@ public boolean canPlaceItem(int slot, ItemStack stack) {
private final BaseInventory storageInventory = new BaseInventory(18);
private final BaseInventory craftingGrid = new BaseInventory(9);
- private final LazyOptional extends IItemHandler> handler = LazyOptional.of(() -> new InvWrapper(storageInventory));
+ private final IItemHandler handler = new InvWrapper(storageInventory);
private final CraftingHelper craftingHelper = new CraftingHelper(this);
@@ -232,19 +225,8 @@ protected void finishWork() {
//endregion
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) {
- return handler.cast();
- }
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- handler.invalidate();
+ public IItemHandler getHandler() {
+ return handler;
}
//endregion
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java
index 0440b0889..f74128b88 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java
@@ -21,13 +21,9 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.SidedInvWrapper;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.SidedInvWrapper;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Objects;
@@ -39,7 +35,10 @@ public class BatteryBoxTile extends LowLoadPoweredTile {
public static final String TAG_KEY_CHARGE_LEVEL_STATE = "charge_level";
private final BatteryBoxInventory inventory = new BatteryBoxInventory();
- private final LazyOptional extends IItemHandler>[] handlers = SidedInvWrapper.create(inventory, Direction.UP, Direction.DOWN);
+ private final IItemHandler[] handlers = {
+ new SidedInvWrapper(inventory, Direction.DOWN),
+ new SidedInvWrapper(inventory, Direction.UP),
+ };
private int powerStored = 0;
@@ -213,21 +212,8 @@ private boolean tryDischargeBattery() {
}
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) {
- return side == Direction.UP ? handlers[0].cast() : handlers[1].cast();
- }
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- for (LazyOptional> handler : handlers) {
- handler.invalidate();
- }
+ public IItemHandler getHandler(Direction side) {
+ return handlers[side == Direction.UP ? 1 : 0];
}
//endregion
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java
index 31e1e2cc8..e7e732c75 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java
@@ -14,7 +14,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.minecraftforge.common.TierSortingRegistry;
+import net.neoforged.neoforge.common.TierSortingRegistry;
import java.util.List;
import java.util.UUID;
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java
index 985e6f038..e86249995 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java
@@ -20,19 +20,19 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.SidedInvWrapper;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.SidedInvWrapper;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class ChargingBenchTile extends LowLoadPoweredTile {
private final ChargingBenchInventory inventory = new ChargingBenchInventory();
- private final LazyOptional extends IItemHandler>[] handlers = SidedInvWrapper.create(inventory, Direction.UP, Direction.DOWN);
+
+ private final IItemHandler[] handlers = {
+ new SidedInvWrapper(inventory, Direction.DOWN),
+ new SidedInvWrapper(inventory, Direction.UP)
+ };
private boolean isCharged = false;
private int chargeSlot = 0;
@@ -174,21 +174,8 @@ private boolean tryDropDownItemInSlot(int i) {
}
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) {
- return side == Direction.UP ? handlers[0].cast() : handlers[1].cast();
- }
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- for (LazyOptional> handler : handlers) {
- handler.invalidate();
- }
+ public IItemHandler getHandler(Direction side) {
+ return handlers[side == Direction.UP ? 1 : 0];
}
//endregion
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java
index ef8a3209e..33e96ee70 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java
@@ -25,18 +25,13 @@
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
-import net.minecraftforge.common.ForgeHooks;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.FakePlayerFactory;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock;
-import net.minecraftforge.eventbus.api.Event;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.InvWrapper;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import net.neoforged.bus.api.Event;
+import net.neoforged.neoforge.common.CommonHooks;
+import net.neoforged.neoforge.common.util.FakePlayerFactory;
+import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.InvWrapper;
+
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@@ -50,7 +45,7 @@ public class DeployerBlockEntity extends BaseDeviceTile {
private final BaseInventory inventory = new BaseInventory(9);
- private final LazyOptional extends IItemHandler> handler = LazyOptional.of(() -> new InvWrapper(inventory));
+ private final IItemHandler handler = new InvWrapper(inventory);
public DeployerBlockEntity(BlockPos pos, BlockState state) {
super(ExpansionBlocks.DEPLOYER_TILE.get(), pos, state);
@@ -174,7 +169,7 @@ protected boolean deployFromFakePlayer(Player player) {
// Mimics the logic of and MultiPlayerGameMode#performUseItemOn
protected InteractionResult runUseOnLogic(Player player, BlockPos usePos, BlockHitResult hit) {
- RightClickBlock event = ForgeHooks.onRightClickBlock(player, InteractionHand.MAIN_HAND, usePos, hit);
+ PlayerInteractEvent.RightClickBlock event = CommonHooks.onRightClickBlock(player, InteractionHand.MAIN_HAND, usePos, hit);
if (event.isCanceled()) {
return event.getCancellationResult();
}
@@ -208,7 +203,7 @@ protected InteractionResult runUseOnLogic(Player player, BlockPos usePos, BlockH
}
// At this point, block use has failed. PLayer use is now attempted (i.e. food, weapons, etc)
- result = ForgeHooks.onItemRightClick(player, InteractionHand.MAIN_HAND);
+ result = CommonHooks.onItemRightClick(player, InteractionHand.MAIN_HAND);
if (result != null) {
return result;
}
@@ -243,7 +238,7 @@ protected InteractionResult runInteractWithEntityLogic(Player player, BlockPos u
// Then try direct interaction
Vec3 vec3 = hit.getLocation().subtract(entity.getX(), entity.getY(), entity.getZ());
- result = ForgeHooks.onInteractEntityAt(player, entity, vec3, InteractionHand.MAIN_HAND);
+ result = CommonHooks.onInteractEntityAt(player, entity, vec3, InteractionHand.MAIN_HAND);
if (result != null) {
return result;
}
@@ -261,21 +256,8 @@ protected void handlePostDeployExcess(List excess) {
}
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) {
- if (side != Direction.values()[this.side ^ 1]) {
- return handler.cast();
- }
- }
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- handler.invalidate();
+ public IItemHandler getHandler() {
+ return handler;
}
//endregion
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java
index d1441078c..00a88a8f2 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java
@@ -13,7 +13,6 @@
import mrtjp.projectred.expansion.item.RecipePlanItem;
import mrtjp.projectred.lib.InventoryLib;
import net.minecraft.core.BlockPos;
-import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.*;
@@ -23,14 +22,8 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
-import net.minecraftforge.common.capabilities.Capability;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
-import net.minecraftforge.common.util.LazyOptional;
-import net.minecraftforge.items.IItemHandler;
-import net.minecraftforge.items.wrapper.InvWrapper;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import net.neoforged.neoforge.items.IItemHandler;
+import net.neoforged.neoforge.items.wrapper.InvWrapper;
public class ProjectBenchTile extends ProjectRedTile implements IPacketReceiverTile, CraftingHelper.InventorySource {
@@ -48,7 +41,7 @@ public boolean canPlaceItem(int slot, ItemStack stack) {
private final BaseInventory planCraftingGrid = new BaseInventory(9);
private final CraftingHelper craftingHelper = new CraftingHelper(this);
- private final LazyOptional> storageInventoryCap = LazyOptional.of(this::createStorageInventoryCap);
+ private final IItemHandler handler = new InvWrapper(storageInventory);
private boolean isPlanRecipe = false;
private boolean recipeNeedsUpdate = true;
@@ -264,22 +257,8 @@ public CraftingHelper getCraftingHelper() {
//endregion
//region Capabilities
- @Nonnull
- @Override
- public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) {
- if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER)
- return storageInventoryCap.cast();
- return super.getCapability(cap, side);
- }
-
- @Override
- public void invalidateCaps() {
- super.invalidateCaps();
- storageInventoryCap.invalidate();
- }
-
- private IItemHandler createStorageInventoryCap() {
- return new InvWrapper(storageInventory);
+ public IItemHandler getHandler() {
+ return handler;
}
//endregion
}
diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java
index 0efb18a9c..328c3816b 100644
--- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java
+++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java
@@ -8,7 +8,9 @@
import net.minecraft.core.Direction;
import net.minecraft.world.WorldlyContainer;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraftforge.common.capabilities.ForgeCapabilities;
+import net.neoforged.neoforge.capabilities.Capabilities;
+
+import java.util.Objects;
public class TransposerBlockEntity extends BasePneumaticDeviceBlockEntity implements RedstoneConnector {
@@ -57,9 +59,9 @@ private boolean importFromInventory() {
}
// Import from Item Handler capability
- var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]);
- if (itemCapOpt.isPresent()) {
- var itemCap = itemCapOpt.orElseThrow(NullPointerException::new);
+ var level = Objects.requireNonNull(lookup.tile.getLevel());
+ var itemCap = level.getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]);
+ if (itemCap != null) {
for (int s = 0; s < itemCap.getSlots(); s++) {
var extracted = itemCap.extractItem(s, containerImportStackSize(), false);
diff --git a/expansion/src/main/resources/META-INF/mods.toml b/expansion/src/main/resources/META-INF/mods.toml
index 534c7cc27..ab6e4189b 100644
--- a/expansion/src/main/resources/META-INF/mods.toml
+++ b/expansion/src/main/resources/META-INF/mods.toml
@@ -1,5 +1,5 @@
modLoader="javafml"
-loaderVersion="[${lang_version},)"
+loaderVersion="[2,)"
issueTrackerURL="https://github.com/MrTJP/ProjectRed"
license="MIT"
@@ -15,32 +15,32 @@ license="MIT"
Redstone. The way it was meant to be.
'''
[[dependencies.projectred_expansion]]
- modId="forge"
- mandatory=true
+ modId="neoforge"
+ type="required"
versionRange="[${forge_version},)"
ordering="NONE"
side="BOTH"
[[dependencies.projectred_expansion]]
modId="minecraft"
- mandatory=true
- versionRange="[1.20.1]"
+ type="required"
+ versionRange="[1.20.4]"
ordering="NONE"
side="BOTH"
[[dependencies.projectred_expansion]]
modId="codechickenlib"
- mandatory=true
+ type="required"
versionRange="[${ccl_version},)"
ordering="AFTER"
side="BOTH"
[[dependencies.projectred_expansion]]
modId="cb_multipart"
- mandatory=true
+ type="required"
versionRange="[${cbm_version},)"
ordering="AFTER"
side="BOTH"
[[dependencies.projectred_expansion]]
modId="projectred_core"
- mandatory=true
+ type="required"
versionRange="[${file.jarVersion},)"
ordering="AFTER"
side="BOTH"
\ No newline at end of file
diff --git a/expansion/src/main/resources/mixins.projectred.expansion.json b/expansion/src/main/resources/mixins.projectred.expansion.json
index 3029d28b4..eb89522be 100644
--- a/expansion/src/main/resources/mixins.projectred.expansion.json
+++ b/expansion/src/main/resources/mixins.projectred.expansion.json
@@ -2,7 +2,6 @@
"required": true,
"minVersion": "0.8",
"package": "mrtjp.projectred.expansion.mixin",
- "refmap": "mixins.projectred.expansion.refmap.json",
"target": "@env(DEFAULT)",
"compatibilityLevel": "JAVA_17",
"client": [
diff --git a/exploration/build.gradle b/exploration/build.gradle
index 2ff8a0dfd..05ad03a64 100644
--- a/exploration/build.gradle
+++ b/exploration/build.gradle
@@ -1,34 +1,29 @@
plugins {
- id 'net.neoforged.gradle'
+ id 'net.neoforged.gradle.userdev'
}
String mod_id = 'projectred_exploration'
minecraft {
- mappings channel: mcp_mappings, version: mcp_mappings_version
- accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg")
- runs {
- data {
- property 'mixin.env.remapRefMap', 'true'
- property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
+ accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg")
+}
- ideaModule "${rootProject.name}.${project.name}.main"
+runs {
+ data {
+ systemProperty 'mixin.env.remapRefMap', 'true'
+ systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
- workingDirectory file('run')
- args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
- mods {
- 'projectred_core' { source project(':core').sourceSets.main }
- '${mod_id}' { source sourceSets.main }
- }
- }
+ workingDirectory file('run')
+ programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources")
+ modSource sourceSets.main
}
}
dependencies {
- minecraft "net.neoforged:forge:${mc_version}-${forge_version}"
+ implementation "net.neoforged:neoforge:${forge_version}"
- implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal")
- implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal")
+ implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}"
+ implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}"
implementation project(":core")
}
diff --git a/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937 b/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937
deleted file mode 100644
index 4f9c8db64..000000000
--- a/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937
+++ /dev/null
@@ -1,35 +0,0 @@
-// 1.20.1 2024-12-24T19:37:49.042697 projectred_exploration Block Loot Tables
-f377cd52869f1bb40758dc52113c67c61d878b62 data/projectred_exploration/loot_tables/blocks/basalt.json
-6b10d48608a3129d5d7885f5430a1f1e15b1a801 data/projectred_exploration/loot_tables/blocks/basalt_brick.json
-0208b3852855ab1b7d0729980dcde806b2b17f00 data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json
-061264989a77fe5d66e3ed5b3654e5f4f5dffd1b data/projectred_exploration/loot_tables/blocks/basalt_cobble.json
-97ec71d4d8af5454ddb5ae9e4e4e7e49d72baae5 data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json
-63339b3c8a6c6e021d1263bf7c9b0e7104e61b07 data/projectred_exploration/loot_tables/blocks/basalt_wall.json
-1139f49b5c08fea0f1e9b0c60b844762fecbf508 data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json
-e2ae109c6659c7709c28da431a674eb8c607bc6b data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json
-ce59282023621005bfe023f7e7649eb55df8df20 data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json
-90743dedec7a4cda562b906c4bb361806e25bd50 data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json
-2c8b823513399fc72f285df091a59dca9efe7d23 data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json
-6e2af0d13cd64325734e20b72cb13cc288a5763c data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json
-1f80078186126007a55ffa3312150b02f8bcb40b data/projectred_exploration/loot_tables/blocks/electrotine_block.json
-e3736d3df27fe6b845e109135612ed9856c8a0eb data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json
-08fc1f6cd5af8e816cc6b635407a64f7659978ce data/projectred_exploration/loot_tables/blocks/electrotine_ore.json
-fad0c3502933b945d3c8551461faf2dde43d826e data/projectred_exploration/loot_tables/blocks/marble.json
-b96fe74b3cd68ed650c10d6109585a481be779bd data/projectred_exploration/loot_tables/blocks/marble_brick.json
-6e05b4737ceaf7b7765ab85ead6576e700f8ab54 data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json
-a8847ac135e1fd6232498b4a2d9205a5cfefcf55 data/projectred_exploration/loot_tables/blocks/marble_wall.json
-bcd10a3de152e415a1f5ae9798ab640e425b2bb0 data/projectred_exploration/loot_tables/blocks/peridot_block.json
-b3dc016100461c28ed1f9c91706b27fbedd567cb data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json
-1c35291a40768dc61cfb8aff1f9fdbfd8643ed63 data/projectred_exploration/loot_tables/blocks/peridot_ore.json
-8b79f7c34ac6e57f434776c0ee38e9971567d6cb data/projectred_exploration/loot_tables/blocks/raw_silver_block.json
-da70bd8e675d2cbff62044aad2e3f1b5c51f79b6 data/projectred_exploration/loot_tables/blocks/raw_tin_block.json
-ba61f0b0b1d54626377c356362fc8ca98856a2f3 data/projectred_exploration/loot_tables/blocks/ruby_block.json
-77aacd814910ae9589955f5eb1384c8029bc72ee data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json
-c4cb08e8ea7e7e32fb4aa2c4c484920e7a9019f2 data/projectred_exploration/loot_tables/blocks/ruby_ore.json
-08633a25d21e8b5933c4dd253b1cfdafe7030dcd data/projectred_exploration/loot_tables/blocks/sapphire_block.json
-89016b6428da9530bd1ec46b96ab793e87edffe9 data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json
-e80459901675826889d9de14de57bc829e62fac5 data/projectred_exploration/loot_tables/blocks/sapphire_ore.json
-65989d0c279840b6a7751351c3a5d898802705ae data/projectred_exploration/loot_tables/blocks/silver_block.json
-34854d2e01bede100f7e67cd9507d02475f6d6f8 data/projectred_exploration/loot_tables/blocks/silver_ore.json
-dcc50b58d079ebca41e9c2661fc58a999653290c data/projectred_exploration/loot_tables/blocks/tin_block.json
-9d420b3e2f3226c2a7709487849463eed2f53675 data/projectred_exploration/loot_tables/blocks/tin_ore.json
diff --git a/exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b b/exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81
similarity index 50%
rename from exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b
rename to exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81
index dfa9952a7..88d81b491 100644
--- a/exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b
+++ b/exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81
@@ -1,2 +1,2 @@
-// 1.20.1 2024-09-04T10:59:19.228555 ProjectRed-Exploration Language Provider: en_us
+// 1.20.4 2024-11-23T19:58:58.462573 Languages: en_us for mod: projectred_exploration
3b35694ed5565f42df808b4991567dc9246b4cbe assets/projectred_exploration/lang/en_us.json
diff --git a/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924
index 7823fc7f2..0de37f3aa 100644
--- a/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924
+++ b/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924
@@ -1,11 +1,11 @@
-// 1.20.1 2024-05-02T20:44:10.058531 Registries
-97a9d9566938e88658a47d375bd0e2bae7f7829e data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json
-5f408decc1342a0450a070a020338aae79a6ee65 data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json
-502601ae57a9cd29e8b57fcf3bc50ae9f6168ac5 data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json
-00e94eea9249db1c0437056954a5ca50f0289029 data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json
-a8c210ada7c2775eb53cb097ce9510c778a69eb5 data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json
-5be9342be1fe6bcd34bf37ce4acf990ffd4e718b data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json
-bb9efec7aeb60ad4278b7a06c601bf56aad74c2b data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json
+// 1.20.4 2024-11-23T19:58:58.477528 Registries
+97a9d9566938e88658a47d375bd0e2bae7f7829e data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json
+5f408decc1342a0450a070a020338aae79a6ee65 data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json
+502601ae57a9cd29e8b57fcf3bc50ae9f6168ac5 data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json
+00e94eea9249db1c0437056954a5ca50f0289029 data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json
+a8c210ada7c2775eb53cb097ce9510c778a69eb5 data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json
+5be9342be1fe6bcd34bf37ce4acf990ffd4e718b data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json
+bb9efec7aeb60ad4278b7a06c601bf56aad74c2b data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json
cf641c7961b1c8fba63980f1143a37e329fa6161 data/projectred_exploration/worldgen/configured_carver/marble_cave.json
5b0149656d80666adff6ee0d8154235f477c71d0 data/projectred_exploration/worldgen/configured_feature/electrotine_ore.json
d8a2ef028fa4f9def86d83496c1ab51cc71e5732 data/projectred_exploration/worldgen/configured_feature/peridot_ore.json
diff --git a/exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 b/exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed
similarity index 97%
rename from exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5
rename to exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed
index 7a665aa37..95746a547 100644
--- a/exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5
+++ b/exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed
@@ -1,4 +1,4 @@
-// 1.20.1 2024-07-16T21:14:45.153124 Tags for minecraft:item mod id projectred_core
+// 1.20.4 2024-11-25T08:19:12.995114 Tags for minecraft:item mod id projectred_exploration
d179a2e8b33551c32e1fde1f934d3c452080f4c7 data/cb_microblock/tags/items/tools/saw.json
e71523a9e962242fb027bd7af5b4f6a7b7a958a4 data/forge/tags/items/ingots.json
aa652ed8416a65e56e8df506616390236f05d840 data/forge/tags/items/ingots/silver.json
diff --git a/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc b/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc
index b11f3b4ca..c1587ab47 100644
--- a/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc
+++ b/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc
@@ -1,4 +1,4 @@
-// 1.20.1 2024-09-04T10:59:19.232416 Tags for minecraft:block mod id projectred_exploration
+// 1.20.4 2024-11-23T19:58:58.472307 Tags for minecraft:block mod id projectred_exploration
ab48eb507afbf19940589bc7ac60ddf81b1d7b12 data/forge/tags/blocks/ores.json
f5e1a14a6429e644ffc9f0661838ed3892dddcaa data/forge/tags/blocks/ores/electrotine.json
ce719fb9caf3444b61fdd325c978241c1cfd22ec data/forge/tags/blocks/ores/peridot.json
diff --git a/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
new file mode 100644
index 000000000..63e00e648
--- /dev/null
+++ b/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -0,0 +1,35 @@
+// 1.20.4 2024-12-28T12:13:42.888227 Loot Tables
+0a0b8bb7a070856566134ffbb194fcc2349b64a2 data/projectred_exploration/loot_tables/blocks/basalt.json
+26c37f715a8e6bbd33ced2cbcd458d88dfba1bb4 data/projectred_exploration/loot_tables/blocks/basalt_brick.json
+eb7810f78431bf7e020a6535de9f1eb72bd5e104 data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json
+fb549c46aca2f11d8e2559b66c0b89bbe96f52f4 data/projectred_exploration/loot_tables/blocks/basalt_cobble.json
+ac605dcc9966b9ce1e1e8a972766dba36f7531cd data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json
+d1297a4d0b162c0786d6ec9c209262b108c42398 data/projectred_exploration/loot_tables/blocks/basalt_wall.json
+67cbf6a9fed26bf03a33f924ecf973d81c41a9e3 data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json
+28b3885760690a85d0ff107c3453da25ddf5b13e data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json
+98e205c6fa6bfa20d41cbf8a32aaff5c9369deeb data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json
+0cd01e0b4534183ee0189cc8c4e529f9cc0e2897 data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json
+b4fad0d1ccb5c1cfd588b8abc3cf67dc1478125d data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json
+451acd60c79404febc06b49b067fa1177cc4ca16 data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json
+c53a361c6e3e9e1e973b240e7fc38f00188e5d28 data/projectred_exploration/loot_tables/blocks/electrotine_block.json
+633865c932bab374b10b824495e7caacfb948abc data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json
+7a3db38d99181940e1e3223ac57c46cd49465bfa data/projectred_exploration/loot_tables/blocks/electrotine_ore.json
+06d140660d7e0a278ad19239eb3099c0c2469d18 data/projectred_exploration/loot_tables/blocks/marble.json
+45868175594662feeed3f7729a5e6e223111f009 data/projectred_exploration/loot_tables/blocks/marble_brick.json
+687476fa458ceee32aaa7b127aafc8c50173b3de data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json
+8209145784282e93db51e2c1bdfd842c66eaae73 data/projectred_exploration/loot_tables/blocks/marble_wall.json
+0860435aa80863e1e22e078ae162330f591c5dcc data/projectred_exploration/loot_tables/blocks/peridot_block.json
+3afc22ebb7e6139ce0c2b6176e8d08c6da74eb83 data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json
+39ca2e913b142974337b73e98fd813a822705ba8 data/projectred_exploration/loot_tables/blocks/peridot_ore.json
+27b6163f7c2722df1267068db2f9c76df47c2b04 data/projectred_exploration/loot_tables/blocks/raw_silver_block.json
+d7177b34451c83d3ad2d407ad2521176caca9247 data/projectred_exploration/loot_tables/blocks/raw_tin_block.json
+abb6e05f2ad11e0e4fd365ad3d19564b6b6090bd data/projectred_exploration/loot_tables/blocks/ruby_block.json
+d40cc9bc0abba818c48f5377e20fe705d94cc4b3 data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json
+6f55d94d3e9c7863d1f55f100851e99867573805 data/projectred_exploration/loot_tables/blocks/ruby_ore.json
+b18cc3cf59fb9a82af0c1174ea44cde4f4fffc15 data/projectred_exploration/loot_tables/blocks/sapphire_block.json
+c6d925776d6fe1c3c8abd23384b7cbf84b735402 data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json
+700520f144c14d7744d5eb98fa4a6411a6e5bb37 data/projectred_exploration/loot_tables/blocks/sapphire_ore.json
+bab6115fa82711b0e3166f0f95e19cdade00c74e data/projectred_exploration/loot_tables/blocks/silver_block.json
+1fa864432f741208a209296fd4fe47cbf32e997d data/projectred_exploration/loot_tables/blocks/silver_ore.json
+14ae3a0713ce17ee91a2d23aba5a35cbe97309d9 data/projectred_exploration/loot_tables/blocks/tin_block.json
+8163d7b32500cb6212c8c4cafb6872dcfe41bfd4 data/projectred_exploration/loot_tables/blocks/tin_ore.json
diff --git a/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c b/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c
index c782f0d07..122d36cfd 100644
--- a/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c
+++ b/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c
@@ -1,4 +1,4 @@
-// 1.20.1 2024-05-02T16:38:18.808606 projectred_exploration Item models.
+// 1.20.4 2024-11-23T19:58:58.477924 projectred_exploration Item models.
9d4eda6cefe361588d1d75676f06f0353ec66e6d assets/projectred_exploration/models/item/athame.json
14e6570eb4c8b533bcdd8d7a508fb9083cfa3166 assets/projectred_exploration/models/item/basalt.json
e6ec2207092dc4571f1153302a561412bd2b2f57 assets/projectred_exploration/models/item/basalt_brick.json
diff --git a/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84 b/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84
index 9b7f2898a..79451d458 100644
--- a/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84
+++ b/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84
@@ -1,102 +1,102 @@
-// 1.20.1 2024-06-22T11:08:44.190504 projectred_exploration Recipes.
-516fc1e95323b31fb9ba7e0a14ebf236e38eb240 data/projectred_exploration/recipes/athame.json
-c580751c155e6c97873ca79fcefd56de6adb0f79 data/projectred_exploration/recipes/backpack_dye.json
-bffb872878c8c398815a8379ba3da55bdc2f403d data/projectred_exploration/recipes/basalt.json
-8424ef14c64b2fcb3a047ba07205e3f506bc9841 data/projectred_exploration/recipes/basalt_brick.json
-29da3a1779dce66c770a26e7ed76cbea93653a99 data/projectred_exploration/recipes/basalt_brick_wall.json
-5faf0b193cdb996aeab45fd276f65d8f37cb3eb8 data/projectred_exploration/recipes/basalt_cobble_wall.json
-a7b89ed7c2567ecc46f1bf9cba7ac985fe636696 data/projectred_exploration/recipes/basalt_wall.json
-f4e73c4de0c9f8f76519f7060c3561d14d801c5b data/projectred_exploration/recipes/black_backpack.json
-1e661c0a7f636375b4182e198270b5d7a88a2059 data/projectred_exploration/recipes/blue_backpack.json
-4be73d78f75ecafefea5aa597471f53ae7dee796 data/projectred_exploration/recipes/brown_backpack.json
-9885fbdf76c3ca29ba047274691c7fb73a5faea5 data/projectred_exploration/recipes/cyan_backpack.json
-ef7657b6fbe71d8bacf8d133fd4f02014b10fa0f data/projectred_exploration/recipes/diamond_sickle.json
-f4dfba6fd848afc45037e3461b267724df6a6f17 data/projectred_exploration/recipes/electrotine_block.json
-9d1606ac50f680514a4aacc97bd3d051a205d8ad data/projectred_exploration/recipes/electrotine_block_wall.json
-ea0f98150adf3119687e07a01a863f70aa5d4c57 data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json
-16c57b76033ccd12cc2e7c88a2f0e879a154eaa1 data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json
-649cb806f4a28e83bbf9da291c59502e0efb160c data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json
-99b9e93e3456ba774e6443534a77d1d94b223802 data/projectred_exploration/recipes/gold_saw.json
-612da094117b37fb571b8437a83895703c9a28b1 data/projectred_exploration/recipes/gold_sickle.json
-52104f0dfd5cb8a4ac27c95a66c2b032d1424a92 data/projectred_exploration/recipes/gray_backpack.json
-815dcee9a0edd3f0c28aad0462daf8055c56d390 data/projectred_exploration/recipes/green_backpack.json
-417650820c985d30b49de077890af44b90cf1b95 data/projectred_exploration/recipes/iron_sickle.json
-78031516e6cfcb1515be58acf6d1a273896e402b data/projectred_exploration/recipes/light_blue_backpack.json
-8359f46bb1c133ef2a2566f39cb967c8cc44b795 data/projectred_exploration/recipes/light_gray_backpack.json
-8fdd81913172ece1bedda794d5b1ba79544fcd5d data/projectred_exploration/recipes/lime_backpack.json
-9d2fa7b429b3124747a8f15a16e1aa3c50bd119c data/projectred_exploration/recipes/magenta_backpack.json
-4e114595836fa28d08d27aff8bfc742cbd06ae36 data/projectred_exploration/recipes/marble_brick.json
-0ba50afd6cd5b0a2dd2b3ca86e1f2530c6e5a0f8 data/projectred_exploration/recipes/marble_brick_wall.json
-42e6ec6574368ebb262cbab16f0215ce91c68b52 data/projectred_exploration/recipes/marble_wall.json
-cb491c2a40e7a50098bafbfb051d68a18fa9fe6e data/projectred_exploration/recipes/orange_backpack.json
-5a0a0c6ab3e93d0ae234823b48fa66829a50ef77 data/projectred_exploration/recipes/peridot_axe.json
-3c6693564927d3750dc85525faf3117a19b91518 data/projectred_exploration/recipes/peridot_block.json
-ed768fbd04cc5576de326f8b5c72e7ae5068f20d data/projectred_exploration/recipes/peridot_block_wall.json
-b209c8cbf58357ffc79a7dbe2ce31f44f21c765e data/projectred_exploration/recipes/peridot_boots.json
-efbd37926306d9b641c5762764be933535231c09 data/projectred_exploration/recipes/peridot_chestplate.json
-c7d2651976143b2f2291ceafc16e7c905feb7eb8 data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json
-03b60f9d5ed730a2b8fc4c41c750e6e6f7b88b40 data/projectred_exploration/recipes/peridot_from_nineblock.json
-37d416a59e49c5838ccb9ae7045fdcf80dd1eb7f data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json
-30baba12dc1d13afc85729b4643372ccc7427eec data/projectred_exploration/recipes/peridot_helmet.json
-7f564d3c2e88fe45355c7f3b05126ec86bc8808e data/projectred_exploration/recipes/peridot_hoe.json
-9914a862a6cf40b24164e5bcca5838c446a0bc96 data/projectred_exploration/recipes/peridot_leggings.json
-03aee9c448917b135704b092ab133e9a04a4ad87 data/projectred_exploration/recipes/peridot_pickaxe.json
-65fb8041579d9c63088e9094b0ea04835d57ad30 data/projectred_exploration/recipes/peridot_saw.json
-ab328a30bb5c5f11ea3c9eabc01af037d052c881 data/projectred_exploration/recipes/peridot_shovel.json
-198af25f92429514ab0517736be51cd92e7cf94f data/projectred_exploration/recipes/peridot_sickle.json
-ca495e85a2bab6477dbd71fe25a8758f6e3d0e6e data/projectred_exploration/recipes/peridot_sword.json
-b94fe6b34e64e736edfd8c57112e615e6133fb93 data/projectred_exploration/recipes/pink_backpack.json
-ca15a8900e8340f0cda344ddcc7c7261d5b2db19 data/projectred_exploration/recipes/purple_backpack.json
-d0f867fc87bfcfcb49cafc64c7727aa99c58524e data/projectred_exploration/recipes/raw_silver_block.json
-4f40453e0046a71705b431de7e3d72e925de15fa data/projectred_exploration/recipes/raw_silver_from_nineblock.json
-e89bb0c2515f603135f2de50d1503e343c4fd399 data/projectred_exploration/recipes/raw_tin_block.json
-efee17d4f20fd8084d6fb6f4bcd098b07e722124 data/projectred_exploration/recipes/raw_tin_from_nineblock.json
-653f9339f5a1fbec688aca56e01af603f561ac5b data/projectred_exploration/recipes/red_backpack.json
-a5b68914ee96aed435b2ed9b72917047b820b25e data/projectred_exploration/recipes/ruby_axe.json
-0e1a99055c5ec032304bf00604d6690cd3bad45d data/projectred_exploration/recipes/ruby_block.json
-99913b72d89cda5de6a876ae85a7c392caf2d6cd data/projectred_exploration/recipes/ruby_block_wall.json
-4e95dc82ad1fe115f989a43035028aea0fc912c7 data/projectred_exploration/recipes/ruby_boots.json
-69fef73fef3ae879a7946a01f68a53ae51f20504 data/projectred_exploration/recipes/ruby_chestplate.json
-6ebbdc6acee4458e3f965357f16dacaba5c5e9da data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json
-a4c3ded828f16a84ed462a7f075f3c7d5a5a44d0 data/projectred_exploration/recipes/ruby_from_nineblock.json
-361adb2dbcb10768f3b0f527a204ce2a25161cd7 data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json
-f3af61d20ca47ea6d638aef8845805c5d113a73f data/projectred_exploration/recipes/ruby_helmet.json
-cb60bec7e54cc53437ec6d2e843053379a9e6939 data/projectred_exploration/recipes/ruby_hoe.json
-299c17c5d5e596104152d6cea32c611f508721b9 data/projectred_exploration/recipes/ruby_leggings.json
-025e859acca3945fc4b179bf51cfb91a277ac130 data/projectred_exploration/recipes/ruby_pickaxe.json
-48bb0595fac0176489c8e5b84944da030a346a87 data/projectred_exploration/recipes/ruby_saw.json
-e21c149a8e296baa1a152d4b4f2cb5d9a81ac58c data/projectred_exploration/recipes/ruby_shovel.json
-ec1922f37c62123832a99e58d8bd5c27067300f8 data/projectred_exploration/recipes/ruby_sickle.json
-abbe60f4c3316383be8a68b924c911af2ede2b7e data/projectred_exploration/recipes/ruby_sword.json
-ef7540661622fe13f8105245653abcf5fb5c272d data/projectred_exploration/recipes/sapphire_axe.json
-d5146f1b60a6dfba96bd3c28efba82bd294e2d18 data/projectred_exploration/recipes/sapphire_block.json
-86141365004d5c386f9fe5d836fdb6665c424ae4 data/projectred_exploration/recipes/sapphire_block_wall.json
-1d7c23b61133fdacec5b977e925373c0119d6abe data/projectred_exploration/recipes/sapphire_boots.json
-ad00c592bf4e699a979105e1acc2570bf22f5474 data/projectred_exploration/recipes/sapphire_chestplate.json
-f6664876d8cbc02ac9a18cada605ed64136b9689 data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json
-0e38188d99cdeedfa6e7ec7dbb76dac03b127ab1 data/projectred_exploration/recipes/sapphire_from_nineblock.json
-d50d082ec0c097ad91a589a49f2dee6320eff332 data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json
-66e0f7f3b771da2cb58bbe3908acad5f3f8d659a data/projectred_exploration/recipes/sapphire_helmet.json
-ff02a876ed71626a23635e3ffe194e91b526324c data/projectred_exploration/recipes/sapphire_hoe.json
-8c6c2e1aaaee480a3293f9c1b3fce876caca9075 data/projectred_exploration/recipes/sapphire_leggings.json
-a8d06d879b873941da6de1d7123465a380f9a5dc data/projectred_exploration/recipes/sapphire_pickaxe.json
-c76d36739ccd1b07a9434f74ea270c7c748f8a69 data/projectred_exploration/recipes/sapphire_saw.json
-96f292fb6afb3beddce2d76d0b2fe223f5174b68 data/projectred_exploration/recipes/sapphire_shovel.json
-ccd4b46dbbe3b9866bc8f07f0c2cc51a3806be77 data/projectred_exploration/recipes/sapphire_sickle.json
-baf7ce07486fbb99345e2b66283cbbe2a62f3c23 data/projectred_exploration/recipes/sapphire_sword.json
-5ec7332428e4e511cd98dbabede90ee7bf1601e3 data/projectred_exploration/recipes/silver_block.json
-bfac71439cad7ef8bbba7789c792362bed9ad8e5 data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json
-f670c83d005c6f2bb54cde13e6b85a673f96b6dd data/projectred_exploration/recipes/silver_ingot_from_nineblock.json
-d307293a6ee47c8f47196d1b4e9622aaabe1ec28 data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json
-b5264de1dc49170cd05eaca197ead4898a953c54 data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json
-c8569df13ddab7a241c41d038539940331266bfa data/projectred_exploration/recipes/stone_sickle.json
-aaaf54f311c8b7c0730bb52f4c14d7b4587a50de data/projectred_exploration/recipes/string_from_wool_gin.json
-4ad1a7ffbc49f03f4c2bf283750545780351b261 data/projectred_exploration/recipes/tin_block.json
-02fa62056d8d69555bd81075265cef8373c9e28d data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json
-3d679e8e776418981c57e29e3b6d2909b8fa4624 data/projectred_exploration/recipes/tin_ingot_from_nineblock.json
-a8b49d5b4a38d5f2f3a0fa1a41e5c0881c1284a1 data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json
-88d663776697ca2996d58d97ef2c5bc94829ea8b data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json
-cb98188ef77b9420ff33b16eb36533e26267b803 data/projectred_exploration/recipes/white_backpack.json
-38dbf984da79493395fbaceda5f359cd9a262793 data/projectred_exploration/recipes/wood_sickle.json
-571f740df980fb4f565ca1bde50e7a32cc2adf40 data/projectred_exploration/recipes/wool_gin.json
-344ed363e368115ba5de67c1b252e936d9fff949 data/projectred_exploration/recipes/yellow_backpack.json
+// 1.20.4 2024-11-23T19:58:58.465808 projectred_exploration Recipes.
+e214ae6784f803bdc14a13b0ce8a699feca50df4 data/projectred_exploration/recipes/athame.json
+ff770c527d98321aaadaca1451df68f098bad744 data/projectred_exploration/recipes/backpack_dye.json
+3ca19de04c6fe31b2d3ebcb990d79dc188d748f7 data/projectred_exploration/recipes/basalt.json
+b5a455f65e9de0c0b0423005e8305f15a34860d0 data/projectred_exploration/recipes/basalt_brick.json
+29892af1faeb9eebc5787f2ce6f01898b01453a2 data/projectred_exploration/recipes/basalt_brick_wall.json
+125fac365b2535b9c92d5c21362c5c663fc152ae data/projectred_exploration/recipes/basalt_cobble_wall.json
+e3d3e657da01be0ec6d5768116e08b552bf11aae data/projectred_exploration/recipes/basalt_wall.json
+ac495893610e823d2b195671d964d7da69c7c4ce data/projectred_exploration/recipes/black_backpack.json
+0133b775b3b10a63cec2d32632c8afabd5b75758 data/projectred_exploration/recipes/blue_backpack.json
+240f9b528e8bd9e178b4a4adc214f9ad43ca4220 data/projectred_exploration/recipes/brown_backpack.json
+8be92c4d7446fca2fd919cf734c576d8c445c933 data/projectred_exploration/recipes/cyan_backpack.json
+cf487ada5f2a52b413ad34932247d36dffb31767 data/projectred_exploration/recipes/diamond_sickle.json
+791c6c860db7c9c5d485f5a25b7466283b8e4ec5 data/projectred_exploration/recipes/electrotine_block.json
+df3b86d30afa6518e5ad8b2aeea4040d348c0caa data/projectred_exploration/recipes/electrotine_block_wall.json
+dbe8f7607ce1b840fbf135c138438abbfa551e93 data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json
+2e88feb4b91e844f5449b4740e2aaecac20d0144 data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json
+2bc45897dee12409d0e9b3b1f655784926721239 data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json
+5c2cbb1a480cd20452e756f89aad51c41d26495f data/projectred_exploration/recipes/gold_saw.json
+ea0f7b26f47bb6c0c0567f21aefbbe49aa5d1239 data/projectred_exploration/recipes/gold_sickle.json
+00d79fe082341c7a3fba9269744c610df72563a0 data/projectred_exploration/recipes/gray_backpack.json
+6571c0faa1b860afb4f149af6c3cd45df476409b data/projectred_exploration/recipes/green_backpack.json
+529683e82f73ffb8e5305f0460938ff383c769cb data/projectred_exploration/recipes/iron_sickle.json
+99c12f8fe55e8fd6c754e3e914866fc686c5ca8c data/projectred_exploration/recipes/light_blue_backpack.json
+7c9019408da4c771447784c590fd91f06c6ea148 data/projectred_exploration/recipes/light_gray_backpack.json
+3b98faf073fa7b19288e8a6072070449674187f3 data/projectred_exploration/recipes/lime_backpack.json
+2f05506dbcff46606b7d0a648f41fa23e7f3a735 data/projectred_exploration/recipes/magenta_backpack.json
+94a6a9d49b23aac7c114464b7c5cec9aa757c116 data/projectred_exploration/recipes/marble_brick.json
+71d4847949966ed55fb1a0bdcbb2b809422f32c6 data/projectred_exploration/recipes/marble_brick_wall.json
+03f72dd01492d25dd2cf78109ed8e089c74babd4 data/projectred_exploration/recipes/marble_wall.json
+fcb3d1af2ecf354b148b70e09ea4d29f6bea5c08 data/projectred_exploration/recipes/orange_backpack.json
+f7493dd90413f40f3116c85c913245c6173c220f data/projectred_exploration/recipes/peridot_axe.json
+c713682cb9d815a87075d93a62dd5fdf181f8d90 data/projectred_exploration/recipes/peridot_block.json
+f8fb693836d36a2d7c042970aac24f84c30ccc80 data/projectred_exploration/recipes/peridot_block_wall.json
+c5c35fc02fbc94629cf73bb4bef45387aaf7ed37 data/projectred_exploration/recipes/peridot_boots.json
+dc462e532012390741724ccabd1f29d26970901c data/projectred_exploration/recipes/peridot_chestplate.json
+131f7d9b4adfa2a1eece3c059c02fdd56d78a10d data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json
+ea35f3b6704a0025f27374a983e77eab31232bc9 data/projectred_exploration/recipes/peridot_from_nineblock.json
+73a0f852a24a8260b6617900b9464a03c3b189fd data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json
+3fef73982712847249689f857c8f96ff83caf231 data/projectred_exploration/recipes/peridot_helmet.json
+a1903fe53f29c4725aa92e61cf271d391d298259 data/projectred_exploration/recipes/peridot_hoe.json
+89fbf71fd4535205b35216aa0820cb4871f4b3c9 data/projectred_exploration/recipes/peridot_leggings.json
+c2f125a0d9c7f92e31692dbf355e9a29f4ae0015 data/projectred_exploration/recipes/peridot_pickaxe.json
+3c88fc626528dcdd43f7bad7e68e979506da456d data/projectred_exploration/recipes/peridot_saw.json
+ddb3d303eb1021e6cd6bc51ebbe3dcda1eda2826 data/projectred_exploration/recipes/peridot_shovel.json
+2f7b48a677aabd91fb6cf480ced6fa86e9235303 data/projectred_exploration/recipes/peridot_sickle.json
+eb69ddcedcafccad928df4c4436b1cfdd83f3a4b data/projectred_exploration/recipes/peridot_sword.json
+ad3a6b8cae02e508d4a436bdb64b95a424f3d36c data/projectred_exploration/recipes/pink_backpack.json
+5d482b4ee675a328b4253277de7982140d5359f1 data/projectred_exploration/recipes/purple_backpack.json
+61c8382ef6981cb0f10a35ae467f94b27a6b6f2a data/projectred_exploration/recipes/raw_silver_block.json
+661861421c72aa6cf3caa2f70e0461ce15a34faf data/projectred_exploration/recipes/raw_silver_from_nineblock.json
+cfb30fc579040abc457fd7b4acd55fab816ad083 data/projectred_exploration/recipes/raw_tin_block.json
+82d16f178e8fbd1c696c8050a01a3166bfb5b1df data/projectred_exploration/recipes/raw_tin_from_nineblock.json
+538e390d4b22149b95615242b8158f7b379570d4 data/projectred_exploration/recipes/red_backpack.json
+9161d13aa841a2e474febd3bbfa33da56b462e42 data/projectred_exploration/recipes/ruby_axe.json
+9dd3366e1b793768ad8d5a8b45c5fcd975647bab data/projectred_exploration/recipes/ruby_block.json
+fd58d63fe1faff73b18d661e699501e4231bd625 data/projectred_exploration/recipes/ruby_block_wall.json
+4d1963ea707d066f0d0eb2cbb7ff1df3218c1140 data/projectred_exploration/recipes/ruby_boots.json
+05a8b0aaa526620e80af290b892ddcc32a83de96 data/projectred_exploration/recipes/ruby_chestplate.json
+e4389a690a77647767e8a7d224422077da8e3331 data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json
+e8ede87f8e77d1546ab818c45b35f407a0e2d4ba data/projectred_exploration/recipes/ruby_from_nineblock.json
+5a36c46cd3a8640de3fe7742f874dea5ebe55199 data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json
+25dc3ad0370d8a93c69b3f48e9ca7295a083368e data/projectred_exploration/recipes/ruby_helmet.json
+b8c2ec8d49c235a02656ceffd0c0abdc4da5f9df data/projectred_exploration/recipes/ruby_hoe.json
+413395459efa5760cafb5a2101f9585183bbf77c data/projectred_exploration/recipes/ruby_leggings.json
+ece44bcf2fa32d6c3bc50cf57fa343f10c687e79 data/projectred_exploration/recipes/ruby_pickaxe.json
+237f8893909db7fa84aa04d239168836cc759fd3 data/projectred_exploration/recipes/ruby_saw.json
+214a10d9d3c31aac948d41a6822fa16e9e649f22 data/projectred_exploration/recipes/ruby_shovel.json
+d70309423fa042b4ff74eb9f15e0b2ab910e3c9a data/projectred_exploration/recipes/ruby_sickle.json
+61b965e4f8c388545082b79e17663aa00e74d703 data/projectred_exploration/recipes/ruby_sword.json
+d8d92ed7a74c8810710477b7e3866411bedf6c90 data/projectred_exploration/recipes/sapphire_axe.json
+69164aff16dab6a88308509686d731c32bc3da3e data/projectred_exploration/recipes/sapphire_block.json
+965b9cfd3f5b70d669acbaae33e6f80a356f28b8 data/projectred_exploration/recipes/sapphire_block_wall.json
+668f2669e2e3d16afe4c5205751a45561d6919f7 data/projectred_exploration/recipes/sapphire_boots.json
+5954d077004b4c52091d15c46fb9c3ce077b5aad data/projectred_exploration/recipes/sapphire_chestplate.json
+810195c8c10b9c74b54acd92c49f7abe1219adca data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json
+a4a6cab84ba5c0393c4f60e39487c166ad21146f data/projectred_exploration/recipes/sapphire_from_nineblock.json
+bacd09a758a052be0aae4acef1c653deaf5979de data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json
+4d63186d2b5b86ce0a2f96729efc0726debe5704 data/projectred_exploration/recipes/sapphire_helmet.json
+7a4d6f38442cf2917708b478c4568bec04726810 data/projectred_exploration/recipes/sapphire_hoe.json
+379a54fcb5a315cd21357706d38c36087c6d0831 data/projectred_exploration/recipes/sapphire_leggings.json
+7e12afdf777a7a6df25969a027ff49478c6e0dc0 data/projectred_exploration/recipes/sapphire_pickaxe.json
+356e57793e63b1ccf8834dc59b29b3968d3a9a06 data/projectred_exploration/recipes/sapphire_saw.json
+9c98efaa696c354e263d0b2b7dd2df88d4144ce0 data/projectred_exploration/recipes/sapphire_shovel.json
+fe84801421b0c85f31f1300c8cd99a42e2a8196a data/projectred_exploration/recipes/sapphire_sickle.json
+c687bc5fa85f68eba1e349ebcc53d2e1c524d4a8 data/projectred_exploration/recipes/sapphire_sword.json
+83977b0b6f65cc355576a0fade0551828517ff89 data/projectred_exploration/recipes/silver_block.json
+e4709673a248da0da781c025e3bc17898de97e68 data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json
+94a9cbb50b15c379c79ca779f64e27edb12c5039 data/projectred_exploration/recipes/silver_ingot_from_nineblock.json
+971c3fad6dc0f27269768991cbc6c2794ee78635 data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json
+bc61f1a837fd93c058ebb91b209db4da8e385cf7 data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json
+812b76edfa0c109ce0096a7546b8a7294e4eddfe data/projectred_exploration/recipes/stone_sickle.json
+09f22ad3e69f689e61147e22f156736b0eec3e4c data/projectred_exploration/recipes/string_from_wool_gin.json
+6f4d63467d9c4bdd03de5e068f68fffc61f1618b data/projectred_exploration/recipes/tin_block.json
+77db6a752f18d8cecb2da38d0ab4cca1d2b93499 data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json
+3315e63dddafcf68dcf29679a34e20da5529d93b data/projectred_exploration/recipes/tin_ingot_from_nineblock.json
+e89cad19108f701f68a1c1a2d90b4661d81351ed data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json
+db30ddf508264f303ea9b93fac8966578cfd03ec data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json
+ad3e6ff337010cfa10e986472705698867e1646c data/projectred_exploration/recipes/white_backpack.json
+3779d4f4d951e78864d6036139e87f50a7b96458 data/projectred_exploration/recipes/wood_sickle.json
+7b3f57d0b29eb5eb334fd1cfb2379cda09506432 data/projectred_exploration/recipes/wool_gin.json
+67571bf17cb23fcc289ff146923694d46528b569 data/projectred_exploration/recipes/yellow_backpack.json
diff --git a/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9 b/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9
index 71e40c8b0..2a7db055d 100644
--- a/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9
+++ b/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9
@@ -1,4 +1,4 @@
-// 1.20.1 2024-05-02T16:38:18.803185 ProjectRed-Exploration Block State Models
+// 1.20.4 2024-11-23T19:58:58.473226 ProjectRed-Exploration Block State Models
712e68fe8499682bd75aa6d0d410c4f07401c48f assets/projectred_exploration/blockstates/basalt.json
3d825a3f24d6944a5f9e1f5134d6070c3af075d4 assets/projectred_exploration/blockstates/basalt_brick.json
addfaa1bcf6d5801accfbd4c60731ab0d5e5a926 assets/projectred_exploration/blockstates/basalt_brick_wall.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json
index 0b2fe7dea..911b68d49 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json
index 2de297ecf..80349986d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt_brick"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json
index 2ea4a083f..2b04d18ff 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt_brick_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json
index 7be373b1b..d53136d16 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt_cobble"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json
index e4b7ae91f..cbacfac84 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt_cobble_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json
index 9063e49fb..96f0f9255 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/basalt_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json
index b0cd89186..2299744b1 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:electrotine_dust"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_electrotine_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json
index 3c297eea5..01a52eb28 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:peridot"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_peridot_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json
index 48db24b09..23ea15dfa 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:ruby"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_ruby_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json
index e34ad44bf..7566cdb32 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:sapphire"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_sapphire_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json
index 40bacd9a9..783357b74 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json
@@ -28,6 +28,16 @@
},
{
"type": "minecraft:item",
+ "functions": [
+ {
+ "enchantment": "minecraft:fortune",
+ "formula": "minecraft:ore_drops",
+ "function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"name": "projectred_exploration:raw_silver"
}
]
@@ -35,5 +45,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_silver_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json
index bd195dc7f..476260c1a 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json
@@ -28,6 +28,16 @@
},
{
"type": "minecraft:item",
+ "functions": [
+ {
+ "enchantment": "minecraft:fortune",
+ "formula": "minecraft:ore_drops",
+ "function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"name": "projectred_exploration:raw_tin"
}
]
@@ -35,5 +45,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/deepslate_tin_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json
index 8cce42296..913958458 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/electrotine_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json
index 42108ee2b..0607733f9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/electrotine_block_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json
index 757b2d4a5..17cb528d6 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:electrotine_dust"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/electrotine_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json
index da4fd8415..5d0e40853 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/marble"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json
index 53a80e67b..81a150fd5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/marble_brick"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json
index fd603244f..81f19792d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/marble_brick_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json
index ff756e75f..d04435dee 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/marble_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json
index 1ef4fcf35..381aa46cc 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/peridot_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json
index 433d400f7..a113b9c4b 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/peridot_block_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json
index 8d3bbac0c..d715272ec 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:peridot"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/peridot_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json
index 1b477b3a0..748ebe603 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/raw_silver_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json
index 5ccb212a2..1a5383a6f 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/raw_tin_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json
index fc7606ea0..0120d0b64 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/ruby_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json
index 493bf3fc4..6101eeaf9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/ruby_block_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json
index ef51c7e99..ba5d7c365 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:ruby"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/ruby_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json
index 46ebda96a..9bcede215 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/sapphire_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json
index 43d85f767..b1982690c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/sapphire_block_wall"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json
index 6141681e3..2f5bb1570 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json
@@ -42,6 +42,9 @@
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
}
],
"name": "projectred_core:sapphire"
@@ -51,5 +54,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/sapphire_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json
index 2653dbba9..24215545a 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/silver_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json
index b60cc90ed..285e186f9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json
@@ -28,6 +28,16 @@
},
{
"type": "minecraft:item",
+ "functions": [
+ {
+ "enchantment": "minecraft:fortune",
+ "formula": "minecraft:ore_drops",
+ "function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"name": "projectred_exploration:raw_silver"
}
]
@@ -35,5 +45,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/silver_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json
index a59dc157c..fa8c576e8 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json
@@ -3,6 +3,11 @@
"pools": [
{
"bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
@@ -11,5 +16,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/tin_block"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json
index 164eb194a..3b6d6c3d8 100644
--- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json
+++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json
@@ -28,6 +28,16 @@
},
{
"type": "minecraft:item",
+ "functions": [
+ {
+ "enchantment": "minecraft:fortune",
+ "formula": "minecraft:ore_drops",
+ "function": "minecraft:apply_bonus"
+ },
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"name": "projectred_exploration:raw_tin"
}
]
@@ -35,5 +45,6 @@
],
"rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "projectred_exploration:blocks/tin_ore"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json
similarity index 100%
rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json
rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json b/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json
index 679678e48..64c8c3235 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:ingots/silver"
@@ -13,7 +14,6 @@
"W"
],
"result": {
- "item": "projectred_exploration:athame",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:athame"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json b/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json
index 6ad4a4b5f..43a8fc346 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json
@@ -1,3 +1,4 @@
{
- "type": "projectred_exploration:backpack_dye"
+ "type": "projectred_exploration:backpack_dye",
+ "category": "misc"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json
index 5d45d888f..60b26d6b5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "projectred_exploration:basalt_cobble"
},
- "result": {
- "item": "projectred_exploration:basalt"
- }
+ "result": "projectred_exploration:basalt"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json
index 93a662030..05cbfa179 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_exploration:basalt"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json
index daffa6129..a7e5839b6 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"item": "projectred_exploration:basalt_brick"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json
index 20b3f7a4e..418f9d418 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"item": "projectred_exploration:basalt_cobble"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json
index 51db9ab98..2b759988d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:stone/basalt"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json
index c2ea3641a..66446bc99 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json
index f51d76524..cc651b847 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json
index 2feb97ca8..62b18270f 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json
index 98ae1053a..e06dd3d70 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json
index fda42f8f6..1e4719e61 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/diamond"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:diamond_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:diamond_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json
index 0332a61a0..7f4a8687d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:dusts/electrotine"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json
index 281dcc79f..9d4e5e4ae 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:storage_blocks/electrotine"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json
index 6aac6e127..279886bf3 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:deepslate_electrotine_ore"
},
- "result": {
- "item": "projectred_core:electrotine_dust"
- }
+ "result": "projectred_core:electrotine_dust"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json
index 79645fd8e..7fcf00873 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:electrotine_ore"
},
- "result": {
- "item": "projectred_core:electrotine_dust"
- }
+ "result": "projectred_core:electrotine_dust"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json
index c5ac14da6..e076e110d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:electrotine_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json
index eaded20bc..352c72cb5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:ingots/gold"
@@ -16,7 +17,6 @@
"SMM"
],
"result": {
- "item": "projectred_exploration:gold_saw",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:gold_saw"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json
index 8b1f7b549..36ba3fd4e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:ingots/gold"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:gold_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:gold_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json
index 100cb2de5..3455c8c28 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json
index 72a883754..1d2d5d0a5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json
index 970ecbfb7..9ce365d97 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:ingots/iron"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:iron_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:iron_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json
index 627a68591..7a1472cb9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json
index c418168bb..997473820 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json
index 9c1785bba..92ea3d0e1 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json
index c2ed6f820..acf60fa1f 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json
index bf2fe3e39..dcfb48457 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"B": {
"item": "projectred_exploration:marble"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json
index b94eb749d..f36fbef62 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"item": "projectred_exploration:marble_brick"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json
index ba677a9a3..2ca024517 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:stone/marble"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json
index be4ecff92..f591fe193 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json
index 7f859a730..ee01199cf 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:peridot_axe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_axe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json
index c4c118a0b..9ad8936bf 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:gems/peridot"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json
index ab5c55d54..16cf38580 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:storage_blocks/peridot"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json
index 9a619aaa9..600658904 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:peridot_boots",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_boots"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json
index eedab5e75..18c548e9b 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -11,7 +12,6 @@
"MMM"
],
"result": {
- "item": "projectred_exploration:peridot_chestplate",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_chestplate"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json
index d2becde99..14a1a78c9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:deepslate_peridot_ore"
},
- "result": {
- "item": "projectred_core:peridot"
- }
+ "result": "projectred_core:peridot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json
index 3bcdc0ccb..ea9760eaf 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:peridot_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json
index dff9c2b4d..731975de9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:peridot_ore"
},
- "result": {
- "item": "projectred_core:peridot"
- }
+ "result": "projectred_core:peridot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json
index 66dd63f84..8daeb0154 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:peridot_helmet",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_helmet"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json
index f916b765f..b01035724 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:peridot_hoe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_hoe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json
index a72b802b8..a8c17e152 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -11,7 +12,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:peridot_leggings",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_leggings"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json
index 0cf5115d6..dd85b1137 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
" S "
],
"result": {
- "item": "projectred_exploration:peridot_pickaxe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_pickaxe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json
index 70ac1799b..870566596 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -16,7 +17,6 @@
"SMM"
],
"result": {
- "item": "projectred_exploration:peridot_saw",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_saw"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json
index 266ecd187..55e0e5d84 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:peridot_shovel",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_shovel"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json
index d992ca683..3be13b077 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:peridot_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json
index 85718ff7f..42a859c1c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/peridot"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:peridot_sword",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:peridot_sword"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json
index 0096b6cf6..e6587062e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json
index e28b5b12c..74a101d15 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json
index 4b6d4768f..cfad73f01 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:raw_materials/silver"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json
index 6686cf1a9..dd3ec507d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:raw_silver_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json
index b050953a2..e4c71ce5d 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:raw_materials/tin"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json
index 3082f0d27..b49641a03 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:raw_tin_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json
index 9b18b5dcd..bee4e11b5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json
index 1dc0475d2..25ce8e4de 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:ruby_axe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_axe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json
index a2968672b..b056f3439 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:gems/ruby"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json
index 35ad35fc7..1458fff4e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:storage_blocks/ruby"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json
index ec48f77cd..aa5346663 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:ruby_boots",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_boots"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json
index 06e4b23fc..138a5aab3 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -11,7 +12,6 @@
"MMM"
],
"result": {
- "item": "projectred_exploration:ruby_chestplate",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_chestplate"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json
index 07c312592..ec955fd21 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:deepslate_ruby_ore"
},
- "result": {
- "item": "projectred_core:ruby"
- }
+ "result": "projectred_core:ruby"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json
index 656581b95..079ca579a 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:ruby_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json
index acb2aacfe..9e59bb320 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:ruby_ore"
},
- "result": {
- "item": "projectred_core:ruby"
- }
+ "result": "projectred_core:ruby"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json
index 14b19f6dc..097a97bc1 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:ruby_helmet",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_helmet"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json
index e429fa5ae..9c315743a 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:ruby_hoe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_hoe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json
index 62fb20602..1d2e9bdff 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -11,7 +12,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:ruby_leggings",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_leggings"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json
index e334bff3b..2ac295801 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
" S "
],
"result": {
- "item": "projectred_exploration:ruby_pickaxe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_pickaxe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json
index 1ac1e29fb..c07935c30 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -16,7 +17,6 @@
"SMM"
],
"result": {
- "item": "projectred_exploration:ruby_saw",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_saw"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json
index 48e786f91..b0d5cbba6 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:ruby_shovel",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_shovel"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json
index c9f33c45c..c8307f88e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:ruby_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json
index 62b49b583..3b863fb33 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/ruby"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:ruby_sword",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:ruby_sword"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json
index cea02c52f..fac0a534c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:sapphire_axe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_axe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json
index 153f2feab..5946f6478 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:gems/sapphire"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json
index 63980d01e..7a641622e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:storage_blocks/sapphire"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json
index 680d65e89..c81a921c8 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:sapphire_boots",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_boots"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json
index a21c39101..940aae486 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -11,7 +12,6 @@
"MMM"
],
"result": {
- "item": "projectred_exploration:sapphire_chestplate",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_chestplate"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json
index 55d334692..e0c2dc999 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:deepslate_sapphire_ore"
},
- "result": {
- "item": "projectred_core:sapphire"
- }
+ "result": "projectred_core:sapphire"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json
index e2b3e2fa8..8ea259bda 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:sapphire_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json
index 8e4323b51..7039efb70 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 1.0,
"ingredient": {
"item": "projectred_exploration:sapphire_ore"
},
- "result": {
- "item": "projectred_core:sapphire"
- }
+ "result": "projectred_core:sapphire"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json
index c00ae5fd4..e18e08521 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -10,7 +11,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:sapphire_helmet",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_helmet"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json
index 6c59732df..7dd4b05f4 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
" S"
],
"result": {
- "item": "projectred_exploration:sapphire_hoe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_hoe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json
index 9cb0a29fa..e4e4a96a0 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -11,7 +12,6 @@
"M M"
],
"result": {
- "item": "projectred_exploration:sapphire_leggings",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_leggings"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json
index a4b6f593d..9fc26e3c9 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
" S "
],
"result": {
- "item": "projectred_exploration:sapphire_pickaxe",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_pickaxe"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json
index 89fddd8c9..f9aea741e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -16,7 +17,6 @@
"SMM"
],
"result": {
- "item": "projectred_exploration:sapphire_saw",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_saw"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json
index d3fdeab60..81c8e30eb 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:sapphire_shovel",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_shovel"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json
index b680fe04f..109ec60c1 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:sapphire_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json
index ba5db7847..20ccbce1e 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:gems/sapphire"
@@ -14,7 +15,6 @@
"S"
],
"result": {
- "item": "projectred_exploration:sapphire_sword",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:sapphire_sword"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json
index 93f496217..144caae04 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:ingots/silver"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json
index de78e4e02..780fb29da 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:deepslate_silver_ore"
},
- "result": {
- "item": "projectred_exploration:silver_ingot"
- }
+ "result": "projectred_exploration:silver_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json
index 592fb6b3f..62ab97a51 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:silver_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json
index 60919e5ce..3bb1676b0 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:raw_silver"
},
- "result": {
- "item": "projectred_exploration:silver_ingot"
- }
+ "result": "projectred_exploration:silver_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json
index 5e035dfa9..c964efb75 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:silver_ore"
},
- "result": {
- "item": "projectred_exploration:silver_ingot"
- }
+ "result": "projectred_exploration:silver_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json
index 16031e930..4db22d0b5 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:cobblestone"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:stone_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:stone_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json b/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json
index 5f615eea1..39eb2258c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"G": {
"item": "projectred_exploration:wool_gin"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json
index 840af7ea0..13c580d15 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"S": {
"tag": "forge:ingots/tin"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json
index 64d178dc9..4df966eee 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:deepslate_tin_ore"
},
- "result": {
- "item": "projectred_exploration:tin_ingot"
- }
+ "result": "projectred_exploration:tin_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json
index 98509da88..64c566575 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shapeless",
+ "category": "misc",
"ingredients": [
{
"item": "projectred_exploration:tin_block"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json
index 863c2c6b0..74596c304 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:raw_tin"
},
- "result": {
- "item": "projectred_exploration:tin_ingot"
- }
+ "result": "projectred_exploration:tin_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json
index f41e2938a..434b8725c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json
@@ -1,11 +1,10 @@
{
"type": "minecraft:smelting",
+ "category": "misc",
"cookingtime": 200,
"experience": 0.7,
"ingredient": {
"item": "projectred_exploration:tin_ore"
},
- "result": {
- "item": "projectred_exploration:tin_ingot"
- }
+ "result": "projectred_exploration:tin_ingot"
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json
index 8e3279f8d..930101d5c 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json
index 9ad5af2bc..6ddf40abf 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"M": {
"tag": "forge:rods/wooden"
@@ -14,7 +15,6 @@
"SM "
],
"result": {
- "item": "projectred_exploration:wood_sickle",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:wood_sickle"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json b/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json
index 91927f0e2..f44180f65 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"I": {
"item": "projectred_core:iron_coil"
@@ -14,7 +15,6 @@
" S "
],
"result": {
- "item": "projectred_exploration:wool_gin",
- "nbt": "{Damage:0}"
+ "item": "projectred_exploration:wool_gin"
}
}
\ No newline at end of file
diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json
index a0c747307..02ca38d9b 100644
--- a/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json
+++ b/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json
@@ -1,5 +1,6 @@
{
"type": "minecraft:crafting_shaped",
+ "category": "misc",
"key": {
"C": {
"item": "projectred_core:woven_cloth"
diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java b/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java
index 8f2d90ec0..ee1bc6f77 100644
--- a/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java
+++ b/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java
@@ -5,6 +5,7 @@
import com.mojang.serialization.Codec;
import mrtjp.projectred.exploration.data.*;
import mrtjp.projectred.exploration.init.*;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
@@ -15,18 +16,18 @@
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.levelgen.carver.WorldCarver;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.common.data.BlockTagsProvider;
-import net.minecraftforge.common.data.ExistingFileHelper;
-import net.minecraftforge.common.world.BiomeModifier;
-import net.minecraftforge.data.event.GatherDataEvent;
-import net.minecraftforge.eventbus.api.IEventBus;
-import net.minecraftforge.fml.DistExecutor;
-import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
-import net.minecraftforge.registries.DeferredRegister;
-import net.minecraftforge.registries.ForgeRegistries;
+import net.neoforged.bus.api.IEventBus;
+import net.neoforged.fml.ModContainer;
+import net.neoforged.fml.common.Mod;
+import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.neoforged.fml.loading.FMLEnvironment;
+import net.neoforged.neoforge.common.data.BlockTagsProvider;
+import net.neoforged.neoforge.common.data.ExistingFileHelper;
+import net.neoforged.neoforge.common.world.BiomeModifier;
+import net.neoforged.neoforge.data.event.GatherDataEvent;
+import net.neoforged.neoforge.registries.DeferredRegister;
+import net.neoforged.neoforge.registries.NeoForgeRegistries;
+import org.jetbrains.annotations.Nullable;
import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID;
@@ -35,15 +36,17 @@ public class ProjectRedExploration {
public static final String MOD_ID = "projectred_exploration";
- public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID);
- public static final DeferredRegister