diff --git a/build.gradle b/build.gradle index 856cb5fa36..e522f8d81f 100644 --- a/build.gradle +++ b/build.gradle @@ -20,6 +20,7 @@ repositories { maven { url = "https://maven.jamieswhiteshirt.com/libs-release/" } // Entity Reach Attribute maven { url = "https://api.modrinth.com/maven" } // Revelationary, Additional Entity Attributes, Fractal Lib, Colorful Hearts, idwtialsimmoedm maven { url = "https://cfa2.cursemaven.com" } + maven { url = "https://mvn.devos.one/releases/" } // Porting Lib maven { url = "https://repo.unascribed.com" } // Ears API maven { url = "https://dl.cloudsmith.io/public/klikli-dev/mods/maven/" } // Modonomicon maven { url = "https://maven.is-immensely.gay/releases" } // Matchbooks @@ -93,10 +94,16 @@ dependencies { modCompileOnly("com.unascribed:ears-api:${project.ears_version}") modCompileOnly("maven.modrinth:create-fabric:${project.create_version}") { transitive = false } modCompileOnly("maven.modrinth:neepmeat:${project.neepmeat_version}") { transitive = false } + modCompileOnly("maven.modrinth:malum:${project.malum_version}") { transitive = false} // modCompileOnly("maven.modrinth:enchantment-descriptions:${project.enchantment_descriptions_version}") modCompileOnly("maven.modrinth:travelersbackpack:${project.travelers_backpack_version}") modCompileOnly("maven.modrinth:botania:${project.botania_version}") modImplementation("maven.modrinth:idwtialsimmoedm:${project.idwtialsimmoedm_version}") + + //Porting Lib + for (String module in port_lib_modules.split(",")) { + modCompileOnly("io.github.fabricators_of_create.Porting-Lib:$module:${project.port_lib_version}") { transitive = false } + } } loom { diff --git a/gradle.properties b/gradle.properties index ae17b7152e..17d636588a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -57,6 +57,10 @@ auth_me_version=7.0.2+1.20 create_version=0.5.1-f-build.1417+mc1.20.1 # https://modrinth.com/mod/neepmeat neepmeat_version=0.6.2-beta+1.20.1 +# https://modrinth.com/mod/malum +malum_version=1.20.1-1.6.3.0b-fabric +port_lib_version = 2.3.4+1.20.1 +port_lib_modules = lazy_registration # https://modrinth.com/mod/exclusions-lib exclusionslib_version=0.6 diff --git a/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java b/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java index f712c55334..7b22a6fa6c 100644 --- a/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java +++ b/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java @@ -1,21 +1,27 @@ package de.dafuqs.spectrum.api.energy; +import com.sammy.malum.registry.common.MobEffectRegistry; import de.dafuqs.revelationary.api.advancements.*; import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.energy.color.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.progression.*; +import de.dafuqs.spectrum.registries.SpectrumStatusEffects; import dev.emi.trinkets.api.*; import net.fabricmc.api.*; import net.minecraft.client.*; +import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.player.*; import net.minecraft.inventory.*; import net.minecraft.item.*; +import net.minecraft.registry.Registries; import net.minecraft.server.network.*; import net.minecraft.text.*; import net.minecraft.util.*; import org.jetbrains.annotations.*; + import java.util.*; public interface InkPowered { @@ -135,6 +141,10 @@ static boolean tryDrainEnergy(@NotNull PlayerEntity player, @NotNull InkColor co if (!canUse(player)) { return false; } + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && player.hasStatusEffect(Registries.STATUS_EFFECT.get(new Identifier("malum:silenced")))) + { + return false; + } // hands (main hand, too, if someone uses the staff from the offhand) for (ItemStack itemStack : player.getHandItems()) { @@ -206,6 +216,11 @@ static boolean hasAvailableInk(PlayerEntity player, InkColor color, long amount) if (!canUse(player)) { return false; } + + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && player.hasStatusEffect(Registries.STATUS_EFFECT.get(new Identifier("malum:silenced")))) + { + return false; + } if (player.isCreative()) { return true; diff --git a/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java index 22d80e976f..d48859b583 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java @@ -32,6 +32,7 @@ public class FirestarterIdolBlock extends IdolBlock { put(Blocks.RED_MUSHROOM, new Pair<>(Blocks.CRIMSON_FUNGUS.getDefaultState(), 0.2F)); put(Blocks.BROWN_MUSHROOM, new Pair<>(Blocks.WARPED_FUNGUS.getDefaultState(), 0.2F)); put(Blocks.SAND, new Pair<>(Blocks.RED_SAND.getDefaultState(), 1.0F)); + put(Blocks.SNOW, new Pair<>(Blocks.AIR.getDefaultState(), 1.0F)); put(Blocks.GRASS_BLOCK, new Pair<>(Blocks.DIRT.getDefaultState(), 0.05F)); put(Blocks.CALCITE, new Pair<>(Blocks.BASALT.getDefaultState(), 0.5F)); put(Blocks.NETHERRACK, new Pair<>(Blocks.MAGMA_BLOCK.getDefaultState(), 0.25F)); diff --git a/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java b/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java index 3d79b37266..f5468acd18 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java +++ b/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java @@ -7,6 +7,7 @@ import de.dafuqs.spectrum.compat.create.*; import de.dafuqs.spectrum.compat.farmersdelight.FDCompat; import de.dafuqs.spectrum.compat.gobber.*; +import de.dafuqs.spectrum.compat.malum.MalumCompat; import de.dafuqs.spectrum.compat.modonomicon.*; import de.dafuqs.spectrum.compat.neepmeat.NEEPMeatCompat; import de.dafuqs.spectrum.compat.travelersbackpack.*; @@ -42,6 +43,7 @@ protected static void registerIntegrationPack(String modId, Supplier new ModonomiconCompat()); registerIntegrationPack(NEEPMEAT_ID, () -> new NEEPMeatCompat()); registerIntegrationPack(FARMERSDELIGHT_ID, () -> new FDCompat()); + registerIntegrationPack(MALUM_ID, () -> new MalumCompat()); if (!FabricLoader.getInstance().isModLoaded("forgified-fabric-api")) { registerIntegrationPack(CREATE_ID, () -> new CreateCompat()); } diff --git a/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java b/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java index 718fd81d0c..54645e7f98 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java +++ b/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java @@ -1,18 +1,52 @@ package de.dafuqs.spectrum.compat.create; +import com.simibubi.create.Create; import com.simibubi.create.api.event.*; +import de.dafuqs.spectrum.blocks.crystallarieum.SpectrumClusterBlock; import de.dafuqs.spectrum.blocks.fluid.*; import de.dafuqs.spectrum.compat.*; +import de.dafuqs.spectrum.registries.SpectrumItems; import net.fabricmc.api.*; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; +import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.client.render.RenderLayer; import net.minecraft.fluid.*; +import net.minecraft.item.Item; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.DyeColor; import net.minecraft.world.*; import org.jetbrains.annotations.*; +import static de.dafuqs.spectrum.registries.SpectrumBlocks.registerBlockWithItem; + public class CreateCompat extends SpectrumIntegrationPacks.ModIntegrationPack { + public static Block SMALL_ZINC_BUD; + public static Block LARGE_ZINC_BUD; + public static Block ZINC_CLUSTER; + public static Block PURE_ZINC_BLOCK; + public static Item PURE_ZINC; + @Override public void register() { + SMALL_ZINC_BUD = new SpectrumClusterBlock(FabricBlockSettings.create().pistonBehavior(PistonBehavior.DESTROY).hardness(1.0f).mapColor(Blocks.LIGHT_GRAY_CONCRETE.getDefaultMapColor()).requiresTool().nonOpaque(), SpectrumClusterBlock.GrowthStage.SMALL); + LARGE_ZINC_BUD = new SpectrumClusterBlock(FabricBlockSettings.copyOf(SMALL_ZINC_BUD), SpectrumClusterBlock.GrowthStage.LARGE); + ZINC_CLUSTER = new SpectrumClusterBlock(FabricBlockSettings.copyOf(SMALL_ZINC_BUD), SpectrumClusterBlock.GrowthStage.CLUSTER); + PURE_ZINC_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)); + PURE_ZINC = new Item(SpectrumItems.IS.of()); + FabricItemSettings settings = SpectrumItems.IS.of(); + registerBlockWithItem("small_zinc_bud", SMALL_ZINC_BUD, settings, DyeColor.BROWN); + registerBlockWithItem("large_zinc_bud", LARGE_ZINC_BUD, settings, DyeColor.BROWN); + registerBlockWithItem("zinc_cluster", ZINC_CLUSTER, settings, DyeColor.BROWN); + registerBlockWithItem("pure_zinc_block", PURE_ZINC_BLOCK, settings, DyeColor.BROWN); + SpectrumItems.register("pure_zinc", PURE_ZINC, DyeColor.BROWN); + + + + PipeCollisionEvent.FLOW.register(event -> { final BlockState result = handleBidirectionalCollision(event.getLevel(), event.getFirstFluid(), event.getSecondFluid()); if (result != null) event.setState(result); @@ -47,7 +81,9 @@ private BlockState spectrumFluidCollision(World world, FluidState state, FluidSt @Environment(EnvType.CLIENT) @Override public void registerClient() { - + BlockRenderLayerMap.INSTANCE.putBlock(SMALL_ZINC_BUD, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(LARGE_ZINC_BUD, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(ZINC_CLUSTER, RenderLayer.getCutout()); } } diff --git a/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java b/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java new file mode 100644 index 0000000000..7e46d5b35f --- /dev/null +++ b/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java @@ -0,0 +1,28 @@ +package de.dafuqs.spectrum.compat.malum; + +import com.sammy.malum.client.screen.codex.BookEntry; +import com.sammy.malum.client.screen.codex.pages.EntryReference; +import com.sammy.malum.client.screen.codex.pages.text.HeadlineTextPage; +import com.sammy.malum.client.screen.codex.screens.ArcanaProgressionScreen; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; +import de.dafuqs.spectrum.registries.SpectrumBlocks; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +public class MalumCompat extends SpectrumIntegrationPacks.ModIntegrationPack { + public void register() { + + } + + @Environment(EnvType.CLIENT) + @Override + public void registerClient() { + //couldn't get this to work + /* var spiritCrystalAndScytheAddendum = BookEntry.build("spirit_crystals.addendum") + .addPage(new HeadlineTextPage("spirit_crystals.addendum", "spirit_crystals.addendum.1")) + .build(); + BookEntry.build("spirit_crystals") + .addReference(new EntryReference(SpectrumBlocks.PEDESTAL_ALL_BASIC.asItem(), spiritCrystalAndScytheAddendum)) + .build(); */ + } +} diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java index 986f4c6660..1b31cbe595 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java @@ -3,6 +3,7 @@ import de.dafuqs.spectrum.api.block.*; import de.dafuqs.spectrum.api.energy.color.*; import de.dafuqs.spectrum.api.interaction.*; +import de.dafuqs.spectrum.blocks.idols.FirestarterIdolBlock; import de.dafuqs.spectrum.compat.claims.*; import de.dafuqs.spectrum.entity.*; import de.dafuqs.spectrum.helpers.*; @@ -18,6 +19,7 @@ import net.minecraft.nbt.*; import net.minecraft.network.packet.s2c.play.*; import net.minecraft.server.network.*; +import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.*; import net.minecraft.util.*; import net.minecraft.util.hit.*; @@ -199,8 +201,15 @@ protected void onBlockHit(BlockHitResult blockHitResult) { if (!coloredBlockState.isAir()) { this.getWorld().setBlockState(blockPos, coloredBlockState); } + if(this.getInkColor() == InkColors.ORANGE && this.getWorld().getBlockState(blockPos).getBlock() == Blocks.SNOW) + { + this.getWorld().setBlockState(blockPos, Blocks.AIR.getDefaultState()); + } + } + if(this.getInkColor() == InkColors.ORANGE) + { + FirestarterIdolBlock.causeFire((ServerWorld) this.getWorld(), blockHitResult.getBlockPos(), blockHitResult.getSide()); } - affectEntitiesInRange(this.getOwner()); } @@ -214,12 +223,21 @@ protected void onHit(LivingEntity target) { Entity entity = target; //this.getEffectCause(); - - // TODO: this is a dummy effect - Vec3d vec3d = this.getVelocity().multiply(1.0D, 0.0D, 1.0D).normalize().multiply((double) 3 * 0.6D); - if (vec3d.lengthSquared() > 0.0D) { - entity.addVelocity(vec3d.x, 0.1D, vec3d.z); + + if(this.getInkColor() == InkColors.ORANGE) + { + entity.setOnFireFor(2); } + else + { + // TODO: this is a dummy effect + Vec3d vec3d = this.getVelocity().multiply(1.0D, 0.0D, 1.0D).normalize().multiply((double) 3 * 0.6D); + if (vec3d.lengthSquared() > 0.0D) { + entity.addVelocity(vec3d.x, 0.1D, vec3d.z); + } + } + + affectEntitiesInRange(this.getOwner()); diff --git a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java index 2369eba411..ed8be228d2 100644 --- a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java @@ -201,9 +201,15 @@ public TypedActionResult use(World world, PlayerEntity user, Hand han if (!world.isClient) { InkProjectileEntity.shoot(world, user, inkColor); } - // cause the slightest bit of knockback + // cause the slightest bit of knockback (more if Red) if (!user.isCreative()) { - causeKnockback(user, user.getYaw(), user.getPitch(), 0, 0.3F); + if(inkColor == InkColors.RED) + { + causeKnockback(user, user.getYaw(), user.getPitch(), 0.1F, 0.5F); + } + else{ + causeKnockback(user, user.getYaw(), user.getPitch(), 0, 0.3F); + } } } else { if (world.isClient) { diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java index 3175e496f4..5727806653 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java @@ -10,6 +10,7 @@ import de.dafuqs.spectrum.blocks.mob_head.*; import de.dafuqs.spectrum.compat.*; import de.dafuqs.spectrum.compat.ae2.*; +import de.dafuqs.spectrum.compat.create.CreateCompat; import de.dafuqs.spectrum.compat.gobber.*; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.items.food.beverages.*; @@ -724,6 +725,15 @@ public static void register() { entries.add(AE2Compat.FLUIX_CLUSTER); entries.add(AE2Compat.PURE_FLUIX_BLOCK); } + + if (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.CREATE_ID)) + { + entries.add(CreateCompat.PURE_ZINC); + entries.add(CreateCompat.SMALL_ZINC_BUD); + entries.add(CreateCompat.LARGE_ZINC_BUD); + entries.add(CreateCompat.ZINC_CLUSTER); + entries.add(CreateCompat.PURE_ZINC_BLOCK); + } if (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.GOBBER_ID)) { entries.add(GobberCompat.PURE_GLOBETTE); diff --git a/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json b/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json new file mode 100644 index 0000000000..803984509c --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/large_zinc_bud", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/large_zinc_bud", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/large_zinc_bud" + }, + "facing=west": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json b/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json new file mode 100644 index 0000000000..82f0c9e519 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "spectrum:block/pure_zinc_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json b/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json new file mode 100644 index 0000000000..11b767e357 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/small_zinc_bud", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/small_zinc_bud", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/small_zinc_bud" + }, + "facing=west": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json b/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json new file mode 100644 index 0000000000..bb9c1bdcc6 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/zinc_cluster", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/zinc_cluster", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/zinc_cluster" + }, + "facing=west": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 611c5e0937..228c4ff23d 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1380,6 +1380,7 @@ "block.spectrum.large_quartz_bud": "Large Quartz Bud", "block.spectrum.large_redstone_bud": "Large Redstone Bud", "block.spectrum.large_topaz_bud": "Large Topaz Bud", + "block.spectrum.large_zinc_bud": "Large Zinc Bud", "block.spectrum.lava_sponge": "Lava Sponge", "block.spectrum.light_blue_block": "Light Blue Block", "block.spectrum.light_blue_button": "Light Blue Button", @@ -1715,6 +1716,7 @@ "block.spectrum.pure_prismarine_block": "Pure Prismarine Block", "block.spectrum.pure_quartz_block": "Pure Quartz Block", "block.spectrum.pure_redstone_block": "Pure Redstone Block", + "block.spectrum.pure_zinc_block": "Pure Zinc Block", "block.spectrum.purple_block": "Purple Block", "block.spectrum.purple_button": "Purple Button", "block.spectrum.purple_chiseled_preservation_stone": "Purple Chiseled Preservation Stone", @@ -1894,6 +1896,7 @@ "block.spectrum.small_sag_bubble": "Small Sag Bubble", "block.spectrum.small_topaz_bud": "Small Topaz Bud", "block.spectrum.small_yellow_dragonjag": "Small Yellow Dragonjag", + "block.spectrum.small_zinc_bud": "Small Zinc Bud", "block.spectrum.smooth_basalt_slab": "Smooth Basalt Slab", "block.spectrum.smooth_basalt_stairs": "Smooth Basalt Stairs", "block.spectrum.smooth_basalt_wall": "Smooth Basalt Wall", @@ -2110,6 +2113,7 @@ "block.spectrum.yellow_spore_blossom": "Yellow Spore Blossom", "block.spectrum.yellow_stairs": "Yellow Stairs", "block.spectrum.yellow_wood": "Yellow Wood", + "block.spectrum.zinc_cluster": "Zinc Cluster", "block.spectrum.zoglin_head": "Zoglin Head", "block.spectrum.zombie_horse_head": "Zombie Horse Head", "block.spectrum.zombie_idol": "Forsaken Idol", @@ -4724,6 +4728,7 @@ "item.spectrum.pure_prismarine": "Pure Prismarine", "item.spectrum.pure_quartz": "Pure Quartz", "item.spectrum.pure_redstone": "Pure Redstone", + "item.spectrum.pure_zinc": "Pure Zinc", "item.spectrum.purple_pigment": "Purple Pigment", "item.spectrum.purple_star_candy": "Enchanted Star Candy", "item.spectrum.purple_star_candy.tooltip": "Cures all negative status effects", diff --git a/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json b/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json new file mode 100644 index 0000000000..2fb152ae9c --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:block/crystallarieum_farmable", + "textures": { + "cross": "spectrum:block/large_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json b/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json new file mode 100644 index 0000000000..4d9ac94631 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/pure_zinc_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json b/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json new file mode 100644 index 0000000000..0de4407a0f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "spectrum:block/small_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/zinc_cluster.json b/src/main/resources/assets/spectrum/models/block/zinc_cluster.json new file mode 100644 index 0000000000..e8aca59679 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/zinc_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:block/crystallarieum_farmable", + "textures": { + "cross": "spectrum:block/zinc_cluster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json b/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json new file mode 100644 index 0000000000..be3a2146a0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/large_bud", + "textures": { + "layer0": "spectrum:block/large_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pure_zinc.json b/src/main/resources/assets/spectrum/models/item/pure_zinc.json new file mode 100644 index 0000000000..248dc931aa --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pure_zinc.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "spectrum:item/pure_zinc" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json b/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json new file mode 100644 index 0000000000..41e3a28d28 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pure_zinc_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json b/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json new file mode 100644 index 0000000000..23841fadcf --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/small_bud", + "textures": { + "layer0": "spectrum:block/small_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/zinc_cluster.json b/src/main/resources/assets/spectrum/models/item/zinc_cluster.json new file mode 100644 index 0000000000..f51de578ea --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/zinc_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/cluster", + "textures": { + "layer0": "spectrum:block/zinc_cluster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png b/src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png new file mode 100644 index 0000000000..b2474f2f7e Binary files /dev/null and b/src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png differ diff --git a/src/main/resources/assets/spectrum/textures/block/pure_zinc_block.png b/src/main/resources/assets/spectrum/textures/block/pure_zinc_block.png new file mode 100644 index 0000000000..2566642610 Binary files /dev/null and b/src/main/resources/assets/spectrum/textures/block/pure_zinc_block.png differ diff --git a/src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png b/src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png new file mode 100644 index 0000000000..a45a4f48e7 Binary files /dev/null and b/src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png differ diff --git a/src/main/resources/assets/spectrum/textures/block/zinc_cluster.png b/src/main/resources/assets/spectrum/textures/block/zinc_cluster.png new file mode 100644 index 0000000000..ee8334a808 Binary files /dev/null and b/src/main/resources/assets/spectrum/textures/block/zinc_cluster.png differ diff --git a/src/main/resources/assets/spectrum/textures/item/pure_zinc.png b/src/main/resources/assets/spectrum/textures/item/pure_zinc.png new file mode 100644 index 0000000000..ce012a7045 Binary files /dev/null and b/src/main/resources/assets/spectrum/textures/item/pure_zinc.png differ diff --git a/src/main/resources/data/c/tags/blocks/brushable_blocks.json b/src/main/resources/data/c/tags/blocks/brushable_blocks.json index b68b555f30..617b2ed26e 100644 --- a/src/main/resources/data/c/tags/blocks/brushable_blocks.json +++ b/src/main/resources/data/c/tags/blocks/brushable_blocks.json @@ -2,6 +2,10 @@ "replace": false, "values": [ "minecraft:suspicious_sand", - "minecraft:suspicious_gravel" + "minecraft:suspicious_gravel", + { + "id": "the_bumblezone:pile_of_pollen_suspicious", + "required": false + } ] } \ No newline at end of file diff --git a/src/main/resources/data/malum/tags/blocks/blighted_blocks.json b/src/main/resources/data/malum/tags/blocks/blighted_blocks.json new file mode 100644 index 0000000000..1e7dc0d5fe --- /dev/null +++ b/src/main/resources/data/malum/tags/blocks/blighted_blocks.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "spectrum:decay_away" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/malum/tags/blocks/cursedworkaroundjank.txt b/src/main/resources/data/malum/tags/blocks/cursedworkaroundjank.txt new file mode 100644 index 0000000000..1f769aa92c --- /dev/null +++ b/src/main/resources/data/malum/tags/blocks/cursedworkaroundjank.txt @@ -0,0 +1 @@ +please remove this as soon as it can be done this is cursed voodoo \ No newline at end of file diff --git a/src/main/resources/data/malum/tags/damage_type/can_soul_shatter.json b/src/main/resources/data/malum/tags/damage_type/can_soul_shatter.json new file mode 100644 index 0000000000..01f00d39e3 --- /dev/null +++ b/src/main/resources/data/malum/tags/damage_type/can_soul_shatter.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "spectrum:primordial_fire", + "spectrum:incandescence" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/malum/tags/items/gross_foods.json b/src/main/resources/data/malum/tags/items/gross_foods.json new file mode 100644 index 0000000000..9db1066bd0 --- /dev/null +++ b/src/main/resources/data/malum/tags/items/gross_foods.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "spectrum:surstromming" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/malum/tags/items/spirit_crystals.json b/src/main/resources/data/malum/tags/items/spirit_crystals.json new file mode 100644 index 0000000000..57eb5fc5b2 --- /dev/null +++ b/src/main/resources/data/malum/tags/items/spirit_crystals.json @@ -0,0 +1,12 @@ +{ + "values": [ + "malum:sacred_spirit", + "malum:wicked_spirit", + "malum:arcane_spirit", + "malum:eldritch_spirit", + "malum:aerial_spirit", + "malum:aqueous_spirit", + "malum:earthen_spirit", + "malum:infernal_spirit" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/large_zinc_bud.json b/src/main/resources/data/spectrum/loot_tables/blocks/large_zinc_bud.json new file mode 100644 index 0000000000..f7cd6c879a --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/large_zinc_bud.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:large_zinc_bud" + } + ], + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + } + ], + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pure_zinc_block.json b/src/main/resources/data/spectrum/loot_tables/blocks/pure_zinc_block.json new file mode 100644 index 0000000000..d96c593c29 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pure_zinc_block.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pure_zinc_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/small_zinc_bud.json b/src/main/resources/data/spectrum/loot_tables/blocks/small_zinc_bud.json new file mode 100644 index 0000000000..0907932b46 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/small_zinc_bud.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:small_zinc_bud" + } + ], + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + } + ], + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/zinc_cluster.json b/src/main/resources/data/spectrum/loot_tables/blocks/zinc_cluster.json new file mode 100644 index 0000000000..e1ba6e31e1 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/zinc_cluster.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "spectrum:zinc_cluster", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:item", + "name": "spectrum:pure_zinc", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 5 + }, + "add": false + } + ] + } + ] + } + ] + } + ], + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/bismuth.json b/src/main/resources/data/spectrum/recipes/crystallarieum/bismuth.json index c00ffd19f4..9b466b1041 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/bismuth.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/bismuth.json @@ -35,7 +35,7 @@ }, "growth_acceleration_mod": 1.25, "ink_consumption_mod": 1.0, - "consume_chance_per_second": 0.0 + "consume_chance_per_second": 0.0002 } ], "additional_recipe_manager_outputs": [ diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/bloodstone.json b/src/main/resources/data/spectrum/recipes/crystallarieum/bloodstone.json index 5f4d674505..b69f6989e1 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/bloodstone.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/bloodstone.json @@ -13,14 +13,6 @@ "ink_cost_tier": 4, "grows_without_catalyst": false, "catalysts": [ - { - "ingredient": { - "item": "spectrum:pure_copper" - }, - "growth_acceleration_mod": 1.708, - "ink_consumption_mod": 0.707, - "consume_chance_per_second": 0.01 - }, { "ingredient": { "item": "minecraft:raw_copper" @@ -36,6 +28,14 @@ "growth_acceleration_mod": 1.0, "ink_consumption_mod": 0.5, "consume_chance_per_second": 0.15 + }, + { + "ingredient": { + "item": "spectrum:pure_copper" + }, + "growth_acceleration_mod": 1.708, + "ink_consumption_mod": 0.707, + "consume_chance_per_second": 0.01 } ], "additional_recipe_manager_outputs": [ diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/coal.json b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/coal.json index 74eea52671..5c2f98d16c 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/coal.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/coal.json @@ -18,7 +18,7 @@ "item": "minecraft:charcoal" }, "growth_acceleration_mod": 2.0, - "ink_consumption_mod": 0.25, + "ink_consumption_mod": 0.4, "consume_chance_per_second": 0.2 }, { @@ -28,6 +28,14 @@ "growth_acceleration_mod": 16.0, "ink_consumption_mod": 2.0, "consume_chance_per_second": 0.05 + }, + { + "ingredient": { + "item": "spectrum:vegetal" + }, + "growth_acceleration_mod": 0.75, + "ink_consumption_mod": 0.05, + "consume_chance_per_second": 0.4 } ], "additional_recipe_manager_outputs": [ diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/copper.json b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/copper.json index b70f6ce0bf..3e8ddbebe9 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/copper.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/copper.json @@ -10,9 +10,25 @@ ], "seconds_per_growth_stage": 60, "ink_color": "spectrum:brown", - "ink_cost_tier": 1, + "ink_cost_tier": 2, "grows_without_catalyst": false, "catalysts": [ + { + "ingredient": { + "item": "spectrum:raw_malachite" + }, + "growth_acceleration_mod": 4.0, + "ink_consumption_mod": 0.5, + "consume_chance_per_second": 0.2 + }, + { + "ingredient": { + "item": "minecraft:honeycomb" + }, + "growth_acceleration_mod": 8.0, + "ink_consumption_mod": 2.0, + "consume_chance_per_second": 0.05 + }, { "ingredient": { "item": "spectrum:neolith" diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/gold.json b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/gold.json index 6559d9a749..74c3c1a1f5 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/gold.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/gold.json @@ -21,6 +21,14 @@ "ink_consumption_mod": 0.5, "consume_chance_per_second": 0.2 }, + { + "ingredient": { + "item": "spectrum:shimmerstone_gem" + }, + "growth_acceleration_mod": 8.0, + "ink_consumption_mod": 2.0, + "consume_chance_per_second": 0.05 + }, { "ingredient": { "item": "spectrum:neolith" diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/lapis.json b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/lapis.json index 1faac46942..0e45979549 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/lapis.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/lapis.json @@ -28,6 +28,14 @@ "growth_acceleration_mod": 0.5, "ink_consumption_mod": 0.1, "consume_chance_per_second": 0.004 + }, + { + "ingredient": { + "item": "spectrum:midnight_chip" + }, + "growth_acceleration_mod": 1.2, + "ink_consumption_mod": 1.5, + "consume_chance_per_second": 0.2 } ], "additional_recipe_manager_outputs": [ diff --git a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/prismarine_crystal.json b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/prismarine_crystal.json index bb90c715a9..dc140a1eed 100644 --- a/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/prismarine_crystal.json +++ b/src/main/resources/data/spectrum/recipes/crystallarieum/vanilla/prismarine_crystal.json @@ -26,8 +26,8 @@ "item": "minecraft:wet_sponge" }, "growth_acceleration_mod": 1.0, - "ink_consumption_mod": 0.5, - "consume_chance_per_second": 0.0 + "ink_consumption_mod": 0.7, + "consume_chance_per_second": 0.0002 }, { "ingredient": { diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/certus_quartz_crystal.json b/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/certus_quartz_crystal.json index 565a272dca..0b0ce6adc7 100644 --- a/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/certus_quartz_crystal.json +++ b/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/certus_quartz_crystal.json @@ -39,6 +39,9 @@ "consume_chance_per_second": 0.2 } ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_certus_quartz" + ], "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/fluix_crystal.json b/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/fluix_crystal.json index 1cf460b479..3196de4196 100644 --- a/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/fluix_crystal.json +++ b/src/main/resources/data/spectrum/recipes/mod_integration/ae2/crystallarieum/fluix_crystal.json @@ -38,6 +38,9 @@ "consume_chance_per_second": 0.2 } ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_fluix" + ], "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/create/blasting/pure_zinc.json b/src/main/resources/data/spectrum/recipes/mod_integration/create/blasting/pure_zinc.json new file mode 100644 index 0000000000..4a082bb1e2 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/create/blasting/pure_zinc.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "spectrum:pure_zinc" + }, + "result": "create:zinc_ingot", + "experience": 0.5, + "cookingtime": 100, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/create/cinderhearth/pure_zinc.json b/src/main/resources/data/spectrum/recipes/mod_integration/create/cinderhearth/pure_zinc.json new file mode 100644 index 0000000000..172d22823a --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/create/cinderhearth/pure_zinc.json @@ -0,0 +1,23 @@ +{ + "type": "spectrum:cinderhearth", + "ingredient": { + "item": "spectrum:pure_zinc" + }, + "results": [ + { + "item": "create:zinc_ingot", + "count": 2 + } + ], + "experience": 0.5, + "time": 200, + "required_advancement": "spectrum:lategame/collect_pure_resource", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/create/crystallarieum/zinc.json b/src/main/resources/data/spectrum/recipes/mod_integration/create/crystallarieum/zinc.json new file mode 100644 index 0000000000..d9f3d87fc6 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/create/crystallarieum/zinc.json @@ -0,0 +1,52 @@ +{ + "type": "spectrum:crystallarieum_growing", + "ingredient": { + "item": "create:raw_zinc" + }, + "growth_stage_states": [ + "spectrum:small_zinc_bud[facing=up]", + "spectrum:large_zinc_bud[facing=up]", + "spectrum:zinc_cluster[facing=up]" + ], + "seconds_per_growth_stage": 60, + "ink_color": "spectrum:brown", + "ink_cost_tier": 2, + "grows_without_catalyst": false, + "catalysts": [ + { + "ingredient": { + "item": "create:zinc_nugget" + }, + "growth_acceleration_mod": 4.0, + "ink_consumption_mod": 0.5, + "consume_chance_per_second": 0.2 + }, + { + "ingredient": { + "item": "spectrum:pure_copper" + }, + "growth_acceleration_mod": 8.0, + "ink_consumption_mod": 2.0, + "consume_chance_per_second": 0.05 + }, + { + "ingredient": { + "item": "spectrum:neolith" + }, + "growth_acceleration_mod": 1.5, + "ink_consumption_mod": 0.25, + "consume_chance_per_second": 0.02 + } + ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_zinc" + ], + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/create/fusion_shrine/pure_brass_ingot.json b/src/main/resources/data/spectrum/recipes/mod_integration/create/fusion_shrine/pure_brass_ingot.json new file mode 100644 index 0000000000..1d0a2e067f --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/create/fusion_shrine/pure_brass_ingot.json @@ -0,0 +1,36 @@ +{ + "type": "spectrum:fusion_shrine", + "time": 1200, + "experience": 1.0, + "fluid": { + "fluid": "spectrum:dragonrot" + }, + "ingredients": [ + { + "item": "spectrum:pure_copper" + }, + { + "item": "spectrum:pure_zinc" + } + ], + "result": { + "item": "create:brass_ingot", + "count": 4 + }, + "required_advancement": "spectrum:lategame/collect_pure_resource", + "world_conditions": [], + "start_crafting_effect": "nothing", + "during_crafting_effects": [ + "nothing", + "visual_explosions_on_shrine" + ], + "finish_crafting_effect": "single_visual_explosion_on_shrine", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette.json b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette.json index 52a12911e1..487495c102 100644 --- a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette.json +++ b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette.json @@ -38,6 +38,9 @@ "consume_chance_per_second": 0.1 } ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_globette" + ], "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_end.json b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_end.json index 96ef6e32a1..b9f7e10029 100644 --- a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_end.json +++ b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_end.json @@ -38,6 +38,9 @@ "consume_chance_per_second": 0.1 } ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_globette_end" + ], "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_nether.json b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_nether.json index 73a05560ea..4863c84279 100644 --- a/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_nether.json +++ b/src/main/resources/data/spectrum/recipes/mod_integration/gobber/crystallarieum/globette_nether.json @@ -38,6 +38,9 @@ "consume_chance_per_second": 0.1 } ], + "additional_recipe_manager_outputs": [ + "spectrum:pure_globette_nether" + ], "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/primordial_fire_burning/crystal_burning.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/primordial_fire_burning/crystal_burning.json new file mode 100644 index 0000000000..4250b122eb --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/primordial_fire_burning/crystal_burning.json @@ -0,0 +1,17 @@ +{ + "type": "spectrum:primordial_fire_burning", + "ingredient": { + "tag": "malum:spirit_crystals" + }, + "result": { + "item": "malum:infernal_spirit" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/alloy_forgery_create/pure_zinc.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/alloy_forgery_create/pure_zinc.json new file mode 100644 index 0000000000..e9a9cd256f --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/alloy_forgery_create/pure_zinc.json @@ -0,0 +1,30 @@ +{ + "type": "alloy_forgery:forging", + "inputs": [ + { + "item": "spectrum:pure_zinc", + "count": 2 + } + ], + "output": { + "id": "create:zinc_ingot", + "count": 4 + }, + "overrides": { + "4+": { + "id": "create:zinc_ingot", + "count": 5 + } + }, + "min_forge_tier": 1, + "fuel_per_tick": 10, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "alloy_forgery", + "create" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/brilliance_crushing.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/brilliance_crushing.json new file mode 100644 index 0000000000..c43db1b920 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/brilliance_crushing.json @@ -0,0 +1,22 @@ +{ + "type": "spectrum:anvil_crushing", + "ingredient": { + "item": "malum:brilliant_stone" + }, + "crushedItemsPerPointOfDamage": 0.75, + "experience": 0.75, + "result": { + "item": "malum:crushed_brilliance" + }, + "particleEffectIdentifier": "enchanted_hit", + "soundEventIdentifier": "block.metal.break", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_brilliance_crushing.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_brilliance_crushing.json new file mode 100644 index 0000000000..1c9bc31ba7 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_brilliance_crushing.json @@ -0,0 +1,22 @@ +{ + "type": "spectrum:anvil_crushing", + "ingredient": { + "item": "malum:brilliant_deepslate" + }, + "crushedItemsPerPointOfDamage": 0.75, + "experience": 0.75, + "result": { + "item": "malum:crushed_brilliance" + }, + "particleEffectIdentifier": "enchanted_hit", + "soundEventIdentifier": "block.metal.break", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_soulstone_ore_crushing.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_soulstone_ore_crushing.json new file mode 100644 index 0000000000..1824e2a66a --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_soulstone_ore_crushing.json @@ -0,0 +1,22 @@ +{ + "type": "spectrum:anvil_crushing", + "ingredient": { + "item": "malum:deepslate_soulstone_ore" + }, + "crushedItemsPerPointOfDamage": 0.75, + "experience": 0.5, + "result": { + "item": "malum:crushed_soulstone" + }, + "particleEffectIdentifier": "enchanted_hit", + "soundEventIdentifier": "block.metal.break", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/soulstone_ore_crushing.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/soulstone_ore_crushing.json new file mode 100644 index 0000000000..fadca34e25 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/soulstone_ore_crushing.json @@ -0,0 +1,22 @@ +{ + "type": "spectrum:anvil_crushing", + "ingredient": { + "item": "malum:soulstone_ore" + }, + "crushedItemsPerPointOfDamage": 0.75, + "experience": 0.5, + "result": { + "item": "malum:crushed_soulstone" + }, + "particleEffectIdentifier": "enchanted_hit", + "soundEventIdentifier": "block.metal.break", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_brilliance.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_brilliance.json new file mode 100644 index 0000000000..80f182d007 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_brilliance.json @@ -0,0 +1,20 @@ +{ + "type": "spectrum:liquid_crystal_converting", + "required_advancement": "spectrum:unlocks/blocks/liquid_crystal", + "ingredient": { + "item": "malum:crushed_brilliance" + }, + "result": { + "item": "create:experience_nugget", + "count": 2 + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_soulstone.json b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_soulstone.json new file mode 100644 index 0000000000..37eae604ed --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_soulstone.json @@ -0,0 +1,20 @@ +{ + "type": "spectrum:liquid_crystal_converting", + "required_advancement": "spectrum:unlocks/blocks/liquid_crystal", + "ingredient": { + "item": "malum:crushed_soulstone" + }, + "result": { + "item": "malum:hex_ash", + "count": 1 + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "create", + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_block.json b/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_block.json new file mode 100644 index 0000000000..a0d7ae49e6 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_block.json @@ -0,0 +1,34 @@ +{ + "type": "spectrum:pedestal", + "group": "compacting", + "time": 20, + "tier": "basic", + "cyan": 0, + "magenta": 0, + "yellow": 0, + "white": 0, + "black": 0, + "experience": 0.0, + "pattern": [ + "GGG", + "GGG", + "GGG" + ], + "key": { + "G": { + "item": "spectrum:pure_zinc" + } + }, + "result": { + "item": "spectrum:pure_zinc_block", + "count": 1 + }, + "required_advancement": "spectrum:lategame/collect_pure_resource", + "disable_yield_upgrades": true, + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_from_pure_zinc_block.json b/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_from_pure_zinc_block.json new file mode 100644 index 0000000000..d7b7a38c56 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_from_pure_zinc_block.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:pedestal_shapeless", + "group": "compacting", + "time": 20, + "tier": "basic", + "cyan": 0, + "magenta": 0, + "yellow": 0, + "white": 0, + "black": 0, + "experience": 0.0, + "ingredients": [ + { + "item": "spectrum:pure_zinc_block" + } + ], + "result": { + "item": "spectrum:pure_zinc", + "count": 9 + }, + "required_advancement": "spectrum:lategame/collect_pure_resource", + "disable_yield_upgrades": true, + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/resonance_drops/mod_integration/create/pure_zinc_from_ore.json b/src/main/resources/data/spectrum/resonance_drops/mod_integration/create/pure_zinc_from_ore.json new file mode 100644 index 0000000000..ad91b4973e --- /dev/null +++ b/src/main/resources/data/spectrum/resonance_drops/mod_integration/create/pure_zinc_from_ore.json @@ -0,0 +1,20 @@ +{ + "type": "spectrum:modify_drops", + "block": { + "tag": "c:ores" + }, + "modify_drops": [ + { + "input": { + "item": "create:raw_zinc" + }, + "output": "spectrum:pure_zinc" + } + ], + "fabric:load_conditions": [ + { + "condition": "spectrum:integration_pack_active", + "integration_pack": "create" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/resonance_drops/pure_resources_from_ore.json b/src/main/resources/data/spectrum/resonance_drops/pure_resources_from_ore.json index 66e674b726..6beae59625 100644 --- a/src/main/resources/data/spectrum/resonance_drops/pure_resources_from_ore.json +++ b/src/main/resources/data/spectrum/resonance_drops/pure_resources_from_ore.json @@ -58,12 +58,6 @@ }, "output": "spectrum:pure_lapis" }, - { - "input": { - "item": "minecraft:netherite_scrap" - }, - "output": "spectrum:pure_netherite_scrap" - }, { "input": { "item": "minecraft:prismarine_crystals" diff --git a/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_curables.json b/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_curables.json index 625f39e205..4b25ef1eb2 100644 --- a/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_curables.json +++ b/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_curables.json @@ -2,12 +2,18 @@ "values": [ "#spectrum:decay/decay", "spectrum:black_materia", - { "id": "kibe:cursed_dirt", "required": false }, - + { + "id": "malum:blighted_soil", + "required": false + }, + { + "id": "malum:blighted_earth", + "required": false + }, "minecraft:sculk", "minecraft:sculk_catalyst" ] diff --git a/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_removables.json b/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_removables.json index 83da8feaab..931abfa559 100644 --- a/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_removables.json +++ b/src/main/resources/data/spectrum/tags/blocks/decay/decay_away_removables.json @@ -2,6 +2,10 @@ "values": [ "minecraft:sculk_vein", "minecraft:sculk_shrieker", - "minecraft:sculk_sensor" + "minecraft:sculk_sensor", + { + "id": "#malum:blighted_plants", + "required": false + } ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/memory_bonding_agents.json b/src/main/resources/data/spectrum/tags/items/memory_bonding_agents.json index a49659af23..4b97b1a947 100644 --- a/src/main/resources/data/spectrum/tags/items/memory_bonding_agents.json +++ b/src/main/resources/data/spectrum/tags/items/memory_bonding_agents.json @@ -2,6 +2,10 @@ "replace": false, "values": [ "spectrum:vegetal", - "#spectrum:memory_bonding_agents_concealable" + "#spectrum:memory_bonding_agents_concealable", + { + "required": false, + "id": "malum:mnemonic_fragment" + } ] } \ No newline at end of file