From 459f43c64b30cd2e963872706c0fd701cbf64e2d Mon Sep 17 00:00:00 2001 From: f-raZ0R Date: Sun, 13 Oct 2024 21:58:25 -0400 Subject: [PATCH] partial Malum Compat except I got distracted and added 20 other things instead --- build.gradle | 7 +++ gradle.properties | 4 ++ .../spectrum/api/energy/InkPowered.java | 15 +++++ .../blocks/idols/FirestarterIdolBlock.java | 1 + .../compat/SpectrumIntegrationPacks.java | 3 + .../spectrum/compat/create/CreateCompat.java | 38 +++++++++++- .../spectrum/compat/malum/MalumCompat.java | 28 +++++++++ .../entity/entity/InkProjectileEntity.java | 30 ++++++++-- .../items/magic_items/PaintbrushItem.java | 10 +++- .../registries/SpectrumItemGroups.java | 10 ++++ .../spectrum/blockstates/large_zinc_bud.json | 30 ++++++++++ .../spectrum/blockstates/pure_zinc_block.json | 7 +++ .../spectrum/blockstates/small_zinc_bud.json | 30 ++++++++++ .../spectrum/blockstates/zinc_cluster.json | 30 ++++++++++ .../resources/assets/spectrum/lang/en_us.json | 5 ++ .../spectrum/models/block/large_zinc_bud.json | 6 ++ .../models/block/pure_zinc_block.json | 6 ++ .../spectrum/models/block/small_zinc_bud.json | 6 ++ .../spectrum/models/block/zinc_cluster.json | 6 ++ .../spectrum/models/item/large_zinc_bud.json | 6 ++ .../spectrum/models/item/pure_zinc.json | 6 ++ .../spectrum/models/item/pure_zinc_block.json | 3 + .../spectrum/models/item/small_zinc_bud.json | 6 ++ .../spectrum/models/item/zinc_cluster.json | 6 ++ .../textures/block/large_zinc_bud.png | Bin 0 -> 350 bytes .../textures/block/pure_zinc_block.png | Bin 0 -> 702 bytes .../textures/block/small_zinc_bud.png | Bin 0 -> 239 bytes .../spectrum/textures/block/zinc_cluster.png | Bin 0 -> 500 bytes .../spectrum/textures/item/pure_zinc.png | Bin 0 -> 782 bytes .../data/c/tags/blocks/brushable_blocks.json | 6 +- .../malum/tags/blocks/blighted_blocks.json | 6 ++ .../tags/blocks/cursedworkaroundjank.txt | 1 + .../tags/damage_type/can_soul_shatter.json | 7 +++ .../data/malum/tags/items/gross_foods.json | 6 ++ .../malum/tags/items/spirit_crystals.json | 12 ++++ .../loot_tables/blocks/large_zinc_bud.json | 36 ++++++++++++ .../loot_tables/blocks/pure_zinc_block.json | 26 +++++++++ .../loot_tables/blocks/small_zinc_bud.json | 36 ++++++++++++ .../loot_tables/blocks/zinc_cluster.json | 55 ++++++++++++++++++ .../recipes/crystallarieum/bismuth.json | 2 +- .../recipes/crystallarieum/bloodstone.json | 16 ++--- .../recipes/crystallarieum/vanilla/coal.json | 10 +++- .../crystallarieum/vanilla/copper.json | 18 +++++- .../recipes/crystallarieum/vanilla/gold.json | 8 +++ .../recipes/crystallarieum/vanilla/lapis.json | 8 +++ .../vanilla/prismarine_crystal.json | 4 +- .../crystallarieum/certus_quartz_crystal.json | 3 + .../ae2/crystallarieum/fluix_crystal.json | 3 + .../create/blasting/pure_zinc.json | 17 ++++++ .../create/cinderhearth/pure_zinc.json | 23 ++++++++ .../create/crystallarieum/zinc.json | 52 +++++++++++++++++ .../fusion_shrine/pure_brass_ingot.json | 36 ++++++++++++ .../gobber/crystallarieum/globette.json | 3 + .../gobber/crystallarieum/globette_end.json | 3 + .../crystallarieum/globette_nether.json | 3 + .../crystal_burning.json | 17 ++++++ .../alloy_forgery_create/pure_zinc.json | 30 ++++++++++ .../anvil_crushing/brilliance_crushing.json | 22 +++++++ .../deepslate_brilliance_crushing.json | 22 +++++++ .../deepslate_soulstone_ore_crushing.json | 22 +++++++ .../soulstone_ore_crushing.json | 22 +++++++ .../purify_crushed_brilliance.json | 20 +++++++ .../purify_crushed_soulstone.json | 20 +++++++ .../tier1/compacting/pure_zinc_block.json | 34 +++++++++++ .../pure_zinc_from_pure_zinc_block.json | 29 +++++++++ .../create/pure_zinc_from_ore.json | 20 +++++++ .../pure_resources_from_ore.json | 6 -- .../blocks/decay/decay_away_curables.json | 10 +++- .../blocks/decay/decay_away_removables.json | 6 +- .../tags/items/memory_bonding_agents.json | 6 +- 70 files changed, 952 insertions(+), 33 deletions(-) create mode 100644 src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java create mode 100644 src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/blockstates/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/models/block/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/block/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/models/block/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/block/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/models/item/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/item/pure_zinc.json create mode 100644 src/main/resources/assets/spectrum/models/item/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/models/item/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/item/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png create mode 100644 src/main/resources/assets/spectrum/textures/block/pure_zinc_block.png create mode 100644 src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png create mode 100644 src/main/resources/assets/spectrum/textures/block/zinc_cluster.png create mode 100644 src/main/resources/assets/spectrum/textures/item/pure_zinc.png create mode 100644 src/main/resources/data/malum/tags/blocks/blighted_blocks.json create mode 100644 src/main/resources/data/malum/tags/blocks/cursedworkaroundjank.txt create mode 100644 src/main/resources/data/malum/tags/damage_type/can_soul_shatter.json create mode 100644 src/main/resources/data/malum/tags/items/gross_foods.json create mode 100644 src/main/resources/data/malum/tags/items/spirit_crystals.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/large_zinc_bud.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/small_zinc_bud.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/zinc_cluster.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/blasting/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/cinderhearth/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/crystallarieum/zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/fusion_shrine/pure_brass_ingot.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/primordial_fire_burning/crystal_burning.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/alloy_forgery_create/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/brilliance_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_brilliance_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_soulstone_ore_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/soulstone_ore_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_brilliance.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_soulstone.json create mode 100644 src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_from_pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/resonance_drops/mod_integration/create/pure_zinc_from_ore.json 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 0000000000000000000000000000000000000000..b2474f2f7eca771172f7a7d3b5eb3fdf3f56946f GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LhV0G|-on>VlDx^eyH&8vU^{`~d(+u?(IZ{E6m>(-3}hj;(_`}NP?uLlq9 zK6rH3pFiK{FP(Mc-sPKjFV9~*bKa8acWz&8>8`#0;L^v%n*= zn1O-sFbFdq&tH)O6!i9VaSYK2P7ZKmZjNneY@8@~swu$djLw>z1Tl|>#@Lz7le=fL z>m4|~=*)3_1q~K)0kH?df}+Ag(Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#ivuK~y+TB~rm| z(?Ag28M|jdYT_mom5M_pKA;j69FU+@FEmu*52)h;--8+nae;G5dx7ML=mkieq`eUm z$4zXn3nv7Z+B-a_b4a{1Z{Ey%yVQ8!=$`fz8KsoPb`-@#wEcMV;rfP%eExdUJ?%$H zie$N528M|ke^(JtXO<%1+U@o=px0$KM))Gpue>@C!ys(6 zT9<6jC!yc(=_D2cjoN;+b?5e~_4eJHZl|M@6f}3&)-dtf^&8(iop2h)I?_7z>h;oM z>EEBf_t)1~mTxk%m8L0(jmRhnK!yO{g-+AtLL`H{)sZ-yhO2lqBsoT|6yefrocxJiBM z_b;(fu}rariM2-ChvOrjHzO5A5iBAuHc7N5i;F7A;SUOkS)8Djix`t*y0K&&jt!ZE zg9E@)G(`#1oR5rQQ8q}FLSd;=IczquSgx}2l4G+4J$2W`Sg6N(rV5DTynOC1!v4nE%$tChlNrroH4|BQJFgoJbmDc`kTN%^@CmmD&@3sOxeBoQzK;^bTv878 z2sRcCCqbriyvmH#k8lisVE|SKB}B;l5)O}#G9|<5m_h6hx&@8M&q**iJ9CyC7>mqq kt%k>ok4$o~fZ8zq2N1Mv1QMT8jQ{`u07*qoM6N<$f?B#Z!2kdN literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a45a4f48e7cf3a221addb78c9f05acd96936831a GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|m0G|-o>o+bRIJ|q-vY7`D?f(An(~M=47cQQD_3oM4{>teqrXD=9b8qHwd@@ke@NS%LiR0X`wFFJ8QO{`~o`zd!%}`uFSCuUD^L&0RL**Y6*He*OCU`{&D-&kr8n ze&_b}KR>?y|MUIe;hl#MZNGo#+Pz!XXDyq0=-{@)hj#w|^Yj1j@3-$sRz(3R+max^;Qtf=22TAo@j!z(3p^r=85sBugD~Uq{1quc!CFrj#}JL+ zZUAOA~p08FeG2a~1eIN`91n{lYtix3|aF r=O9zson2LTn4Y~7n-+G>%#4Av+i=mv$p-R3hcI}$`njxgN@xNAc)A=c literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ce012a70451c6ea8db186c05ef3ee9082fb01d34 GIT binary patch literal 782 zcmV+p1M&QcP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0;5SpK~y+THB(Jb z6G0e$W_FgN#>7%ue}U1&12e1f%&HP1WHN`*^N6d~a{K0dCDHqe%Pe7toq5-bP?!(n}W-QS&_ zLaB5cgaqX+>Wu~-KY4nNiFKF|R#q*043;FEjs-h=d#r3=5cAP!)*FbG#^L?}YD-mL zU9NiPEHdYyxUZG=gfILRDwT@AKQl9^#7p2Mp+VMo@%$Mc&dyR3QWX@8vo?YDgeXH+ zWfYpNCQ?h$h-_!45rW(8PC#Nv`q4g6g>BvDMDT%}enB8s{tyYVSET$&Q$VkJBg`{Uz zS62gMOTH2yerT%ucJmz~eiT^IUho#tOoRqqsqfV3go4i4C^R=zmI|6s6)?S;Ad{sV3EXzzEhRIP@< zi$NDCRuqT8?d`8TBvfio149e{Ak=@PxZmp%vBsBg--ECcCsWNW%)><8@fKDGQa>9zF0y$J@gkPNYL zh;C#_0`*{ij>y