diff --git a/CHANGELOG.md b/CHANGELOG.md index 48148d90..d8d0547b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # 2.5.6 - Fix Implosion logic +- Mining Level and Tool Suitability Adjustments for Blocks Added via Chisel [#343](https://github.com/GTModpackTeam/GTExpert-Core/pull/343) * * * diff --git a/src/main/java/com/github/gtexpert/core/integration/eio/recipes/EIOMaterialsRecipe.java b/src/main/java/com/github/gtexpert/core/integration/eio/recipes/EIOMaterialsRecipe.java index a35f338c..385a9e13 100644 --- a/src/main/java/com/github/gtexpert/core/integration/eio/recipes/EIOMaterialsRecipe.java +++ b/src/main/java/com/github/gtexpert/core/integration/eio/recipes/EIOMaterialsRecipe.java @@ -181,7 +181,7 @@ public static void init() { // Pulsating Crystal RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder() .input("itemPulsatingPowder") - .fluidInputs(Materials.DrillingFluid.getFluid(50)) + .fluidInputs(Materials.DistilledWater.getFluid(50)) .output(ModObject.itemMaterial.getItemNN(), 1, 14) .duration(600).EUt(24) .buildAndRegister(); @@ -196,7 +196,7 @@ public static void init() { // Vibrant Crystal RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder() .input("itemVibrantPowder") - .fluidInputs(Materials.DrillingFluid.getFluid(50)) + .fluidInputs(Materials.DistilledWater.getFluid(50)) .output(ModObject.itemMaterial.getItemNN(), 1, 15) .duration(600).EUt(24) .buildAndRegister(); @@ -211,7 +211,7 @@ public static void init() { // Ender Crystal RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder() .input("itemEnderCrystalPowder") - .fluidInputs(Materials.DrillingFluid.getFluid(50)) + .fluidInputs(Materials.DistilledWater.getFluid(50)) .output(ModObject.itemMaterial.getItemNN(), 1, 16) .duration(600).EUt(24) .buildAndRegister(); @@ -235,7 +235,7 @@ public static void init() { // Prescient Crystal RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder() .input("itemPrecientPowder") - .fluidInputs(Materials.DrillingFluid.getFluid(50)) + .fluidInputs(Materials.DistilledWater.getFluid(50)) .output(ModObject.itemMaterial.getItemNN(), 1, 19) .duration(600).EUt(24) .buildAndRegister(); diff --git a/src/main/java/com/github/gtexpert/core/mixins/GTEMixinLoader.java b/src/main/java/com/github/gtexpert/core/mixins/GTEMixinLoader.java index f8de01c8..86f0f090 100644 --- a/src/main/java/com/github/gtexpert/core/mixins/GTEMixinLoader.java +++ b/src/main/java/com/github/gtexpert/core/mixins/GTEMixinLoader.java @@ -19,6 +19,7 @@ public class GTEMixinLoader implements ILateMixinLoader { public static final Map modMixinsConfig = new ImmutableMap.Builder() + .put(Mods.Names.CHISEL, true) .put(Mods.Names.DRACONIC_EVOLUTION, true) .put(Mods.Names.DRACONIC_ADDITIONS, true) .put(Mods.Names.GREGTECH, true) diff --git a/src/main/java/com/github/gtexpert/core/mixins/chisel/BlockCarvableMixin.java b/src/main/java/com/github/gtexpert/core/mixins/chisel/BlockCarvableMixin.java new file mode 100644 index 00000000..4658567d --- /dev/null +++ b/src/main/java/com/github/gtexpert/core/mixins/chisel/BlockCarvableMixin.java @@ -0,0 +1,35 @@ +package com.github.gtexpert.core.mixins.chisel; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.BlockRenderLayer; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import team.chisel.api.block.VariationData; +import team.chisel.common.block.BlockCarvable; + +@Mixin(value = BlockCarvable.class, remap = false) +public abstract class BlockCarvableMixin extends Block { + + protected BlockCarvableMixin(Material materialIn) { + super(materialIn); + } + + @Inject(method = "(Lnet/minecraft/block/material/Material;Lnet/minecraft/util/BlockRenderLayer;II[Lteam/chisel/api/block/VariationData;)V", + at = @At("RETURN")) + private void gtexpert$setHarvestLevel(Material material, BlockRenderLayer layer, int index, int max, + VariationData[] variations, CallbackInfo ci) { + if (material == Material.ROCK || material == Material.IRON || material == Material.ANVIL || + material == Material.ICE || material == Material.PACKED_ICE) { + this.setHarvestLevel("pickaxe", 0); + } else if (material == Material.WOOD) { + this.setHarvestLevel("axe", 0); + } else if (material == Material.GROUND || material == Material.SAND || material == Material.CLAY) { + this.setHarvestLevel("shovel", 0); + } + } +} diff --git a/src/main/resources/mixins.gtexpert.chisel.json b/src/main/resources/mixins.gtexpert.chisel.json new file mode 100644 index 00000000..80ea5410 --- /dev/null +++ b/src/main/resources/mixins.gtexpert.chisel.json @@ -0,0 +1,10 @@ +{ + "package": "com.github.gtexpert.core.mixins.chisel", + "refmap": "mixins.gtexpert.refmap.json", + "target": "@env(DEFAULT)", + "minVersion": "0.8", + "compatibilityLevel": "JAVA_8", + "mixins": [ + "BlockCarvableMixin" + ] +} \ No newline at end of file