Completely Fluid

- Fix crash with fluid propagator
This commit is contained in:
IThundxr 2025-03-01 15:58:38 -05:00
parent 5734f4b119
commit 8539481a85
Failed to generate hash of commit
8 changed files with 41 additions and 48 deletions

View file

@ -240,7 +240,6 @@ final slimJar = tasks.register("slimJar", Jar) {
"Git-Hash": gitHash
])
}
obfuscation.reobfuscate(slimJar, sourceSets.main)
var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) {
var replaceProperties = [
@ -297,18 +296,17 @@ publishing {
}
publishMods {
file = reobfJar.archiveFile
file = jar.archiveFile
changelog = ChangelogText.getChangelogText(project).toString()
type = STABLE
displayName = "$mod_name $mod_version for mc$minecraft_version"
modLoaders.add("neoforge")
// TODO - Uncomment post update 6
// curseforge {
// accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
// projectId = "328085"
// minecraftVersions.add(minecraft_version)
// }
curseforge {
accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
projectId = "328085"
minecraftVersions.add(minecraft_version)
}
modrinth {
accessToken = providers.environmentVariable("MODRINTH_TOKEN")

View file

@ -14,8 +14,6 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedBlockAndTintGetter;
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
import net.minecraftforge.client.model.data.ModelData;
import dev.engine_room.flywheel.api.material.CardinalLightingMode;
import dev.engine_room.flywheel.api.model.Model;
import dev.engine_room.flywheel.api.task.Plan;

View file

@ -8,30 +8,30 @@ import com.simibubi.create.AllItems;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.foundation.item.render.SimpleCustomRenderer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickBlock;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickBlock.Action;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.LogicalSide;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.network.PacketDistributor;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
import net.neoforged.bus.api.EventPriority;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.LogicalSide;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
import net.neoforged.neoforge.event.entity.player.AttackEntityEvent;
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.createmod.catnip.platform.CatnipServices;
import net.minecraft.core.Holder;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.tags.EntityTypeTags;
import net.minecraft.util.Mth;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemStack.TooltipPart;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.item.enchantment.Enchantment;
@ -72,7 +72,7 @@ public class CardboardSwordItem extends SwordItem {
@SubscribeEvent(priority = EventPriority.HIGHEST)
public static void cardboardSwordsCannotHurtYou(AttackEntityEvent event) {
Player attacker = event.getEntity();
if (!(event.getTarget() instanceof LivingEntity target) || target == null || target.getMobType() == MobType.ARTHROPOD)
if (!(event.getTarget() instanceof LivingEntity target) || target.getType().is(EntityTypeTags.ARTHROPOD))
return;
ItemStack stack = attacker.getItemInHand(InteractionHand.MAIN_HAND);
if (!(AllItems.CARDBOARD_SWORD.isIn(stack)))

View file

@ -21,6 +21,9 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour
import com.simibubi.create.foundation.utility.BlockHelper;
import com.simibubi.create.infrastructure.config.AllConfigs;
import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.fluids.capability.IFluidHandler;
import net.createmod.catnip.data.Iterate;
import net.createmod.catnip.data.Pair;
import net.minecraft.core.BlockPos;
@ -35,8 +38,6 @@ import net.minecraft.world.level.block.LiquidBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.fluids.capability.IFluidHandler;
public class FluidPropagator {
@ -200,7 +201,7 @@ public class FluidPropagator {
public static boolean hasFluidCapability(BlockGetter world, BlockPos pos, Direction side) {
BlockEntity blockEntity = world.getBlockEntity(pos);
if (blockEntity == null)
if (blockEntity == null || blockEntity.getLevel() == null)
return false;
IFluidHandler capability =
blockEntity.getLevel().getCapability(Capabilities.FluidHandler.BLOCK, blockEntity.getBlockPos(), side);

View file

@ -48,10 +48,8 @@ import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsFormatt
import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.network.NetworkHooks;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
import net.createmod.catnip.animation.LerpedFloat;
import net.createmod.catnip.animation.LerpedFloat.Chaser;
@ -84,9 +82,6 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
public class FactoryPanelBehaviour extends FilteringBehaviour implements MenuProvider {
public static final BehaviourType<FactoryPanelBehaviour> TOP_LEFT = new BehaviourType<>();

View file

@ -11,10 +11,8 @@ import com.simibubi.create.foundation.block.IBE;
import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.items.IItemHandler;
import net.neoforged.neoforge.capabilities.Capabilities.ItemHandler;
import net.neoforged.neoforge.common.util.FakePlayer;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -37,9 +35,6 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.pathfinder.PathComputationType;
import net.minecraft.world.phys.BlockHitResult;
import net.neoforged.neoforge.capabilities.Capabilities.ItemHandler;
import net.neoforged.neoforge.common.util.FakePlayer;
public class PackagerBlock extends WrenchableDirectionalBlock implements IBE<PackagerBlockEntity>, IWrenchable {
public static final BooleanProperty POWERED = BlockStateProperties.POWERED;

View file

@ -17,10 +17,8 @@ import com.simibubi.create.infrastructure.debugInfo.element.DebugInfoSection;
import com.simibubi.create.infrastructure.debugInfo.element.InfoElement;
import com.simibubi.create.infrastructure.debugInfo.element.InfoEntry;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.forgespi.language.IModInfo;
import net.neoforged.fml.ModList;
import net.neoforged.neoforgespi.language.IModInfo;
import dev.engine_room.flywheel.api.Flywheel;
import dev.engine_room.flywheel.api.backend.Backend;
@ -30,8 +28,7 @@ import net.minecraft.SharedConstants;
import net.minecraft.SystemReport;
import net.minecraft.Util;
import net.minecraft.client.Minecraft;
import net.neoforged.fml.ModList;
import net.neoforged.neoforgespi.language.IModInfo;
import net.minecraft.client.resources.language.I18n;
import oshi.SystemInfo;
/**

View file

@ -44,9 +44,18 @@ description='''${mod_description}'''
ordering="AFTER"
side="BOTH"
# Versions before 0.6.9 do not have sprite util under the api package
[[dependencies.${ mod_id }]]
modId = "sodium"
type = "optional"
versionRange = "[0.6.9,)"
ordering = "AFTER"
ordering = "NONE"
side = "CLIENT"
# Versions before 0.14.7 crash with level wrappers
[[dependencies.${ mod_id }]]
modId = "lithium"
type = "optional"
versionRange = "[0.14.7,)"
ordering = "NONE"
side = "BOTH"