From b2ddaacc5677fbbffc6c2f21d79280b6d45cdc9c Mon Sep 17 00:00:00 2001 From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com> Date: Wed, 5 Feb 2025 15:27:36 -0800 Subject: [PATCH] Implement custom Compressed Sieve types --- changelog.md | 3 +++ .../material/CompressedSieveMaterial.java | 15 +++++++++++++++ .../exdeorum/material/DefaultMaterials.java | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 33ec6a5c..dcc2815f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,6 @@ +## Ex Deorum 3.6 +- Implement custom Compressed Sieve types. Works the same as with sieves, just replace `sieve_materials` with `compressed_sieve_materials` + ## Ex Deorum 3.5 - Remove Yellorium Dust sieve drop (#116) - Fixed Fluid Transformation recipes requiring byproducts diff --git a/src/main/java/thedarkcolour/exdeorum/material/CompressedSieveMaterial.java b/src/main/java/thedarkcolour/exdeorum/material/CompressedSieveMaterial.java index f3f2f329..0fc9c973 100644 --- a/src/main/java/thedarkcolour/exdeorum/material/CompressedSieveMaterial.java +++ b/src/main/java/thedarkcolour/exdeorum/material/CompressedSieveMaterial.java @@ -20,6 +20,7 @@ package thedarkcolour.exdeorum.material; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; +import org.jetbrains.annotations.Nullable; import thedarkcolour.exdeorum.block.CompressedSieveBlock; public class CompressedSieveMaterial extends SieveMaterial { @@ -31,4 +32,18 @@ public class CompressedSieveMaterial extends SieveMaterial { protected Block createBlock() { return new CompressedSieveBlock(props().noOcclusion()); } + + @Nullable + public static CompressedSieveMaterial readFromJson(MaterialParser parser) { + SoundType soundType = parser.getSoundType(); + float strength = parser.getStrength(); + boolean needsCorrectTool = parser.getOptionalBoolean("needs_correct_tool"); + String requiredModId = parser.getRequiredModId(); + + if (parser.error) { + return null; + } else { + return new CompressedSieveMaterial(soundType, strength, needsCorrectTool, requiredModId); + } + } } diff --git a/src/main/java/thedarkcolour/exdeorum/material/DefaultMaterials.java b/src/main/java/thedarkcolour/exdeorum/material/DefaultMaterials.java index 8a9fdded..32f238d6 100644 --- a/src/main/java/thedarkcolour/exdeorum/material/DefaultMaterials.java +++ b/src/main/java/thedarkcolour/exdeorum/material/DefaultMaterials.java @@ -239,7 +239,7 @@ public class DefaultMaterials { public static void registerMaterials() { BARRELS.search(BarrelMaterial::readFromJson); SIEVES.search(SieveMaterial::readFromJson); - // todo compressed sieve JSON + COMPRESSED_SIEVES.search(CompressedSieveMaterial::readFromJson); LAVA_CRUCIBLES.search(parser -> AbstractCrucibleMaterial.readFromJson(parser, LavaCrucibleMaterial::new)); WATER_CRUCIBLES.search(parser -> AbstractCrucibleMaterial.readFromJson(parser, WaterCrucibleMaterial::new)); }