Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Malum compat and a bunch of other stuff #520

Merged
merged 7 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -93,10 +94,17 @@ 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:lodestonelib:${project.lodestone_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 {
Expand Down
6 changes: 6 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ 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
# https://modrinth.com/mod/lodestonelib
lodestone_version=1.20.1-1.6.2.3f
port_lib_version = 2.3.4+1.20.1
port_lib_modules = lazy_registration
# https://modrinth.com/mod/exclusions-lib
exclusionslib_version=0.6

Expand Down
15 changes: 15 additions & 0 deletions src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down Expand Up @@ -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()) {
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.*;
Expand Down Expand Up @@ -42,6 +43,7 @@ protected static void registerIntegrationPack(String modId, Supplier<ModIntegrat
public static final String CREATE_ID = "create";
public static final String FARMERSDELIGHT_ID = "farmersdelight";
public static final String NEEPMEAT_ID = "neepmeat";
public static final String MALUM_ID = "malum";

@SuppressWarnings("Convert2MethodRef")
public static void register() {
Expand All @@ -53,6 +55,7 @@ public static void register() {
registerIntegrationPack(MODONOMICON_ID, () -> 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());
}
Expand Down
38 changes: 37 additions & 1 deletion src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java
Original file line number Diff line number Diff line change
@@ -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);
Expand Down Expand Up @@ -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());
}

}
28 changes: 28 additions & 0 deletions src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java
Original file line number Diff line number Diff line change
@@ -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(); */
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import com.sammy.malum.registry.common.item.EnchantmentRegistry;
import de.dafuqs.spectrum.*;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import de.dafuqs.spectrum.helpers.*;
import de.dafuqs.spectrum.registries.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ToolItem;
import net.minecraft.item.TridentItem;
import net.minecraft.util.*;

public class CloversFavorEnchantment extends SpectrumEnchantment {
Expand Down Expand Up @@ -37,10 +44,23 @@ public int getMaxPower(int level) {
public int getMaxLevel() {
return SpectrumCommon.CONFIG.CloversFavorMaxLevel;
}

@Override
public boolean isAcceptableItem(ItemStack stack) {
var item = stack.getItem();
if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) &&
item instanceof MalumScytheItem)
f-raZ0R marked this conversation as resolved.
Show resolved Hide resolved
{
return true;
}

return super.isAcceptableItem(stack);
}

@Override
public boolean canAccept(Enchantment other) {
return super.canAccept(other) && other != Enchantments.LOOTING;
return super.canAccept(other) && other != Enchantments.LOOTING &&
!(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.SPIRIT_PLUNDER.get());
f-raZ0R marked this conversation as resolved.
Show resolved Hide resolved
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import de.dafuqs.spectrum.*;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import de.dafuqs.spectrum.items.tools.*;
import de.dafuqs.spectrum.registries.*;
import net.minecraft.enchantment.*;
Expand Down Expand Up @@ -45,7 +47,8 @@ public int getMaxLevel() {

@Override
public boolean isAcceptableItem(ItemStack stack) {
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || EnchantmentTarget.DIGGER.isAcceptableItem(stack.getItem()) || stack.getItem() instanceof SpectrumFishingRodItem;
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || EnchantmentTarget.DIGGER.isAcceptableItem(stack.getItem()) || stack.getItem() instanceof SpectrumFishingRodItem ||
(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem);
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import de.dafuqs.spectrum.*;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.item.*;
Expand Down Expand Up @@ -29,7 +31,8 @@ public int getMaxLevel() {

@Override
public boolean isAcceptableItem(ItemStack stack) {
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem;
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem ||
(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem);
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import com.sammy.malum.registry.common.item.EnchantmentRegistry;
import de.dafuqs.spectrum.*;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.item.*;
Expand Down Expand Up @@ -38,12 +41,14 @@ public int getMaxLevel() {

@Override
public boolean canAccept(Enchantment other) {
return other != Enchantments.SHARPNESS && super.canAccept(other);
return other != Enchantments.SHARPNESS && !(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.HAUNTED.get())
&& super.canAccept(other);
}

@Override
public boolean isAcceptableItem(ItemStack stack) {
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem;
return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem ||
(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem);
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import de.dafuqs.spectrum.items.tools.*;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
Expand Down Expand Up @@ -42,7 +44,8 @@ public boolean isAcceptableItem(ItemStack stack) {
|| EnchantmentTarget.BOW.isAcceptableItem(item)
|| EnchantmentTarget.CROSSBOW.isAcceptableItem(item)
|| stack.getItem() instanceof ShearsItem
|| stack.getItem() instanceof SpectrumFishingRodItem;
|| stack.getItem() instanceof SpectrumFishingRodItem
|| (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem);
}

}
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package de.dafuqs.spectrum.enchantments;

import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem;
import com.sammy.malum.registry.common.item.EnchantmentRegistry;
import de.dafuqs.spectrum.*;
import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks;
import net.minecraft.enchantment.*;
import net.minecraft.entity.*;
import net.minecraft.item.ItemStack;
import net.minecraft.util.*;

public class TightGripEnchantment extends SpectrumEnchantment {
Expand All @@ -26,5 +30,22 @@ public int getMaxLevel() {
return SpectrumCommon.CONFIG.TightGripMaxLevel;
}

@Override
public boolean isAcceptableItem(ItemStack stack) {
var item = stack.getItem();
if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) &&
item instanceof MalumScytheItem)
{
return true;
}

return super.isAcceptableItem(stack);
}
@Override
public boolean canAccept(Enchantment other) {
return super.canAccept(other) &&
!(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.REBOUND.get());
}

}

Loading
Loading