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)); }