Chaotic day

- Publish slim jars
- Allow cardboard swords to damage other arthropods
- Update flywheel
- Fix players getting forced into swim mode when using diving boots
- Fix crash with re-packagers and stock links
- Optional dep updates
This commit is contained in:
IThundxr 2025-03-01 14:01:18 -05:00
parent a89b582ae3
commit da87ecb952
Failed to generate hash of commit
8 changed files with 116 additions and 89 deletions

View file

@ -176,7 +176,7 @@ dependencies {
modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}") modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}")
modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}") modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}")
modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${flywheel_version}") modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${vanillin_version}")
if (ponderInWorkspace) { if (ponderInWorkspace) {
implementation project(":ponder:Common") implementation project(":ponder:Common")
@ -306,11 +306,22 @@ tasks.named("sourcesJar") {
]) ])
} }
final slimJar = tasks.register('slimJar', Jar) {
archiveClassifier = 'slim'
from sourceSets.main
manifest.attributes([
"Git-Hash": gitHash
])
}
obfuscation.reobfuscate(slimJar, sourceSets.main)
project.publishing { project.publishing {
publications { publications {
mavenJava(MavenPublication) { mavenJava(MavenPublication) {
artifactId base.archivesName.get() artifactId base.archivesName.get()
from components.java from components.java
artifact(tasks.slimJar)
} }
} }

View file

@ -1,3 +1,16 @@
------------------------------------------------------
Create 6.0.1
------------------------------------------------------
#### Bug Fixes
- Fixed crash when using factory gauges
- Fixed debug info command not translating the graphics mode text
- Fixed cardboard sword not being able to damage arthropod mobs other than the spider
- Fixed a crash that occurred when placing a stock link on a re-packager
- Fixed an issue where wearing diving boots and sprinting would force you into the swim position and then out of it
right away
------------------------------------------------------ ------------------------------------------------------
Create 6.0.0 Create 6.0.0
------------------------------------------------------ ------------------------------------------------------

View file

@ -20,12 +20,13 @@ use_parchment = true
# dependency versions # dependency versions
registrate_version = MC1.20-1.3.3 registrate_version = MC1.20-1.3.3
flywheel_minecraft_version = 1.20.1 flywheel_minecraft_version = 1.20.1
flywheel_version = 1.0.0-beta-212 flywheel_version = 1.0.0-217
vanillin_version = 1.0.0-beta-217
jei_minecraft_version = 1.20.1 jei_minecraft_version = 1.20.1
jei_version = 15.19.0.85 jei_version = 15.19.0.85
curios_minecraft_version = 1.20.1 curios_minecraft_version = 1.20.1
curios_version = 5.3.1 curios_version = 5.3.1
ponder_version = 1.0.34 ponder_version = 1.0.37
mixin_extras_version = 0.4.1 mixin_extras_version = 0.4.1
cc_tweaked_enable = true cc_tweaked_enable = true

View file

@ -14,6 +14,8 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedBlockAndTintGetter; import com.simibubi.create.foundation.utility.worldWrappers.WrappedBlockAndTintGetter;
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld; 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.material.CardinalLightingMode;
import dev.engine_room.flywheel.api.model.Model; import dev.engine_room.flywheel.api.model.Model;
import dev.engine_room.flywheel.api.task.Plan; import dev.engine_room.flywheel.api.task.Plan;
@ -30,7 +32,7 @@ import dev.engine_room.flywheel.lib.instance.InstanceTypes;
import dev.engine_room.flywheel.lib.instance.TransformedInstance; import dev.engine_room.flywheel.lib.instance.TransformedInstance;
import dev.engine_room.flywheel.lib.material.SimpleMaterial; import dev.engine_room.flywheel.lib.material.SimpleMaterial;
import dev.engine_room.flywheel.lib.model.ModelUtil; import dev.engine_room.flywheel.lib.model.ModelUtil;
import dev.engine_room.flywheel.lib.model.baked.ForgeMultiBlockModelBuilder; import dev.engine_room.flywheel.lib.model.baked.ForgeBlockModelBuilder;
import dev.engine_room.flywheel.lib.task.ForEachPlan; import dev.engine_room.flywheel.lib.task.ForEachPlan;
import dev.engine_room.flywheel.lib.task.NestedPlan; import dev.engine_room.flywheel.lib.task.NestedPlan;
import dev.engine_room.flywheel.lib.task.PlanMap; import dev.engine_room.flywheel.lib.task.PlanMap;
@ -48,8 +50,6 @@ import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
import net.minecraftforge.client.model.data.ModelData;
public class ContraptionVisual<E extends AbstractContraptionEntity> extends AbstractEntityVisual<E> implements DynamicVisual, TickableVisual, LightUpdatedVisual, ShaderLightVisual { public class ContraptionVisual<E extends AbstractContraptionEntity> extends AbstractEntityVisual<E> implements DynamicVisual, TickableVisual, LightUpdatedVisual, ShaderLightVisual {
protected static final int LIGHT_PADDING = 1; protected static final int LIGHT_PADDING = 1;
@ -97,7 +97,7 @@ public class ContraptionVisual<E extends AbstractContraptionEntity> extends Abst
} }
}; };
model = new ForgeMultiBlockModelBuilder(modelWorld, blocks.positions()) model = new ForgeBlockModelBuilder(modelWorld, blocks.positions())
.modelDataLookup(pos -> contraption.modelData.getOrDefault(pos, ModelData.EMPTY)) .modelDataLookup(pos -> contraption.modelData.getOrDefault(pos, ModelData.EMPTY))
.materialFunc((renderType, aBoolean) -> SimpleMaterial.builderOf(ModelUtil.getMaterial(renderType, aBoolean)) .materialFunc((renderType, aBoolean) -> SimpleMaterial.builderOf(ModelUtil.getMaterial(renderType, aBoolean))
.cardinalLightingMode(CardinalLightingMode.CHUNK)) .cardinalLightingMode(CardinalLightingMode.CHUNK))

View file

@ -10,24 +10,6 @@ import com.simibubi.create.AllPackets;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.foundation.item.render.SimpleCustomRenderer; import com.simibubi.create.foundation.item.render.SimpleCustomRenderer;
import net.minecraft.server.level.ServerPlayer;
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.ai.attributes.Attributes;
import net.minecraft.world.entity.monster.Spider;
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.crafting.RecipeType;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
@ -39,6 +21,25 @@ import net.minecraftforge.fml.LogicalSide;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.network.PacketDistributor; import net.minecraftforge.network.PacketDistributor;
import net.minecraft.server.level.ServerPlayer;
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;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.item.enchantment.Enchantments;
@EventBusSubscriber @EventBusSubscriber
public class CardboardSwordItem extends SwordItem { public class CardboardSwordItem extends SwordItem {
@ -79,7 +80,7 @@ public class CardboardSwordItem extends SwordItem {
Entity attacker = event.getSource() Entity attacker = event.getSource()
.getEntity(); .getEntity();
LivingEntity target = event.getEntity(); LivingEntity target = event.getEntity();
if (target == null || target instanceof Spider) if (target == null || target.getMobType() == MobType.ARTHROPOD)
return; return;
if (!(attacker instanceof LivingEntity livingAttacker if (!(attacker instanceof LivingEntity livingAttacker
&& AllItems.CARDBOARD_SWORD.isIn(livingAttacker.getItemInHand(InteractionHand.MAIN_HAND)))) && AllItems.CARDBOARD_SWORD.isIn(livingAttacker.getItemInHand(InteractionHand.MAIN_HAND))))

View file

@ -11,6 +11,11 @@ import com.simibubi.create.foundation.block.IBE;
import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
import com.simibubi.create.foundation.utility.CreateLang; 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.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -32,10 +37,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.level.pathfinder.PathComputationType;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.items.IItemHandler;
public class PackagerBlock extends WrenchableDirectionalBlock implements IBE<PackagerBlockEntity>, IWrenchable { public class PackagerBlock extends WrenchableDirectionalBlock implements IBE<PackagerBlockEntity>, IWrenchable {
@ -106,7 +107,7 @@ public class PackagerBlock extends WrenchableDirectionalBlock implements IBE<Pac
return InteractionResult.PASS; return InteractionResult.PASS;
if (AllBlocks.FACTORY_GAUGE.isIn(itemInHand)) if (AllBlocks.FACTORY_GAUGE.isIn(itemInHand))
return InteractionResult.PASS; return InteractionResult.PASS;
if (AllBlocks.STOCK_LINK.isIn(itemInHand) && !state.getValue(LINKED)) if (AllBlocks.STOCK_LINK.isIn(itemInHand) && !(state.hasProperty(LINKED) && state.getValue(LINKED)))
return InteractionResult.PASS; return InteractionResult.PASS;
if (AllBlocks.PACKAGE_FROGPORT.isIn(itemInHand)) if (AllBlocks.PACKAGE_FROGPORT.isIn(itemInHand))
return InteractionResult.PASS; return InteractionResult.PASS;

View file

@ -18,6 +18,6 @@ public abstract class HeavyBootsOnPlayerMixin extends AbstractClientPlayer {
@ModifyReturnValue(method = "isUnderWater()Z", at = @At("RETURN")) @ModifyReturnValue(method = "isUnderWater()Z", at = @At("RETURN"))
private boolean create$noSwimmingWithHeavyBootsOn(boolean original) { private boolean create$noSwimmingWithHeavyBootsOn(boolean original) {
return getPersistentData().contains("HeavyBoots") || original; return original || !getPersistentData().contains("HeavyBoots");
} }
} }

View file

@ -1,52 +1,52 @@
modLoader="javafml" modLoader = "javafml"
loaderVersion="[47,)" loaderVersion = "[47,)"
issueTrackerURL="https://github.com/Creators-of-Create/Create/issues" issueTrackerURL = "https://github.com/Creators-of-Create/Create/issues"
license="${mod_license}" license = "${mod_license}"
[[mods]] [[mods]]
modId="create" modId = "create"
# The Implementation-Version property in the jar's MANIFEST.MF file will be used as the mod version at runtime # The Implementation-Version property in the jar's MANIFEST.MF file will be used as the mod version at runtime
version="${file.jarVersion}" version = "${file.jarVersion}"
displayName="${mod_name}" displayName = "${mod_name}"
displayURL="https://www.curseforge.com/minecraft/mc-mods/create" displayURL = "https://www.curseforge.com/minecraft/mc-mods/create"
logoFile="icon.png" logoFile = "icon.png"
#credits="" #credits=""
authors="${mod_author}" authors = "${mod_author}"
description=''' description = '''
${mod_description} ${mod_description}
''' '''
[[dependencies.create]] [[dependencies.create]]
modId="forge" modId = "forge"
mandatory=true mandatory = true
versionRange="[47.1.3,)" versionRange = "[47.1.3,)"
ordering="NONE" ordering = "NONE"
side="BOTH" side = "BOTH"
[[dependencies.create]] [[dependencies.create]]
modId="minecraft" modId = "minecraft"
mandatory=true mandatory = true
versionRange="[1.20,1.21)" versionRange = "[1.20.1]"
ordering="NONE" ordering = "NONE"
side="BOTH" side = "BOTH"
[[dependencies.create]] [[dependencies.create]]
modId="flywheel" modId = "flywheel"
mandatory=true mandatory = true
versionRange="[1.0.0-alpha,2.0)" versionRange = "[1.0.0,2.0)"
ordering="AFTER" ordering = "AFTER"
side="CLIENT" side = "CLIENT"
[[dependencies.create]] [[dependencies.create]]
modId="ponder" modId = "ponder"
mandatory=true mandatory = true
versionRange="[0.8,)" versionRange = "[0.8,)"
ordering="AFTER" ordering = "AFTER"
side="BOTH" side = "BOTH"
[[dependencies.create]] [[dependencies.create]]
modId="jei" modId = "jei"
mandatory=false mandatory = false
versionRange="[15.19.0,)" versionRange = "[15.19.0,)"
ordering="NONE" ordering = "NONE"
side="CLIENT" side = "CLIENT"