From 9a41f8991ffc216657f6afd25c5d88c645064cf5 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 28 Feb 2025 11:19:45 -0500 Subject: [PATCH 1/8] Update displayName --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b96531c760..0622912d46 100644 --- a/build.gradle +++ b/build.gradle @@ -336,7 +336,7 @@ publishMods { file = jar.archiveFile changelog = ChangelogText.getChangelogText(project).toString() type = STABLE - displayName = "$mod_name $minecraft_version $mod_version" + displayName = "$mod_name $mod_version for mc$minecraft_version" modLoaders.add("forge") modLoaders.add("neoforge") From 50ab1221c3791a7f5f4fc1efe60c22a721d39fcf Mon Sep 17 00:00:00 2001 From: TropheusJ Date: Fri, 28 Feb 2025 17:25:36 -0500 Subject: [PATCH 2/8] replace all uses of holder.get() with holder.value() --- .../bearing/BearingContraption.java | 2 +- .../bearing/ClockworkContraption.java | 2 +- .../bearing/StabilizedContraption.java | 2 +- .../elevator/ElevatorContraption.java | 2 +- .../gantry/GantryContraption.java | 2 +- .../mounted/MountedContraption.java | 2 +- .../piston/PistonContraption.java | 2 +- .../pulley/PulleyContraption.java | 2 +- .../decoration/steamWhistle/WhistleBlock.java | 2 +- .../AllPotatoProjectileBlockHitActions.java | 12 +++++------ .../potatoCannon/PotatoCannonItem.java | 2 +- .../fluids/potion/PotionMixingRecipes.java | 9 ++++---- .../clock/CuckooClockBlockEntity.java | 16 +++++++------- .../factoryBoard/FactoryPanelScreen.java | 17 ++++++++------- .../StockKeeperCategoryScreen.java | 12 +++++------ .../stockTicker/StockKeeperRequestScreen.java | 21 ++++++++++--------- .../trains/entity/ArrivalSoundQueue.java | 5 ++--- .../trains/entity/CarriageContraption.java | 6 +++--- .../behaviour/ValueSettingsBehaviour.java | 8 +++---- 19 files changed, 64 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingContraption.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingContraption.java index 40a3dd1d93..9ea3c3b0d0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingContraption.java @@ -49,7 +49,7 @@ public class BearingContraption extends Contraption { @Override public ContraptionType getType() { - return AllContraptionTypes.BEARING.get(); + return AllContraptionTypes.BEARING.value(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/ClockworkContraption.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/ClockworkContraption.java index ff5572f501..0b1da18ec1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/ClockworkContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/ClockworkContraption.java @@ -26,7 +26,7 @@ public class ClockworkContraption extends Contraption { @Override public ContraptionType getType() { - return AllContraptionTypes.CLOCKWORK.get(); + return AllContraptionTypes.CLOCKWORK.value(); } private void ignoreBlocks(Set blocks, BlockPos anchor) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedContraption.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedContraption.java index 7ec9b44c7b..4a51822129 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedContraption.java @@ -38,7 +38,7 @@ public class StabilizedContraption extends Contraption { @Override public ContraptionType getType() { - return AllContraptionTypes.STABILIZED.get(); + return AllContraptionTypes.STABILIZED.value(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorContraption.java b/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorContraption.java index 6ff637e28c..f997d3a118 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorContraption.java @@ -174,7 +174,7 @@ public class ElevatorContraption extends PulleyContraption { @Override public ContraptionType getType() { - return AllContraptionTypes.ELEVATOR.get(); + return AllContraptionTypes.ELEVATOR.value(); } public void setClientYTarget(int clientYTarget) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryContraption.java b/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryContraption.java index 3dc6adcbfe..825ae9e51b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryContraption.java @@ -50,7 +50,7 @@ public class GantryContraption extends TranslatingContraption { @Override public ContraptionType getType() { - return AllContraptionTypes.GANTRY.get(); + return AllContraptionTypes.GANTRY.value(); } public Direction getFacing() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/mounted/MountedContraption.java b/src/main/java/com/simibubi/create/content/contraptions/mounted/MountedContraption.java index 213cfa77a1..e602bb42e9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/mounted/MountedContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/mounted/MountedContraption.java @@ -49,7 +49,7 @@ public class MountedContraption extends Contraption { @Override public ContraptionType getType() { - return AllContraptionTypes.MOUNTED.get(); + return AllContraptionTypes.MOUNTED.value(); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/piston/PistonContraption.java b/src/main/java/com/simibubi/create/content/contraptions/piston/PistonContraption.java index 9f90f524a5..dd1f43a3e6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/piston/PistonContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/piston/PistonContraption.java @@ -48,7 +48,7 @@ public class PistonContraption extends TranslatingContraption { @Override public ContraptionType getType() { - return AllContraptionTypes.PISTON.get(); + return AllContraptionTypes.PISTON.value(); } public PistonContraption() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyContraption.java b/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyContraption.java index 267c8b6d0c..f318cb7d09 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyContraption.java @@ -15,7 +15,7 @@ public class PulleyContraption extends TranslatingContraption { @Override public ContraptionType getType() { - return AllContraptionTypes.PULLEY.get(); + return AllContraptionTypes.PULLEY.value(); } public PulleyContraption() {} diff --git a/src/main/java/com/simibubi/create/content/decoration/steamWhistle/WhistleBlock.java b/src/main/java/com/simibubi/create/content/decoration/steamWhistle/WhistleBlock.java index 934ceb33e9..10d87f2c1a 100644 --- a/src/main/java/com/simibubi/create/content/decoration/steamWhistle/WhistleBlock.java +++ b/src/main/java/com/simibubi/create/content/decoration/steamWhistle/WhistleBlock.java @@ -138,7 +138,7 @@ public class WhistleBlock extends Block implements IBE, IWre for (int i = 1; i <= 6; i++) { BlockState blockState = pLevel.getBlockState(currentPos); float pVolume = (soundtype.getVolume() + 1.0F) / 2.0F; - SoundEvent growSound = SoundEvents.NOTE_BLOCK_XYLOPHONE.get(); + SoundEvent growSound = SoundEvents.NOTE_BLOCK_XYLOPHONE.value(); SoundEvent hitSound = soundtype.getHitSound(); if (AllBlocks.STEAM_WHISTLE_EXTENSION.has(blockState)) { diff --git a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/AllPotatoProjectileBlockHitActions.java b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/AllPotatoProjectileBlockHitActions.java index cb6045e082..4758b32532 100644 --- a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/AllPotatoProjectileBlockHitActions.java +++ b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/AllPotatoProjectileBlockHitActions.java @@ -24,12 +24,12 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.registries.ForgeRegistries; public class AllPotatoProjectileBlockHitActions { - + static { register("plant_crop", PlantCrop.CODEC); register("place_block_on_ground", PlaceBlockOnGround.CODEC); } - + public static void init() { } @@ -61,12 +61,12 @@ public class AllPotatoProjectileBlockHitActions { if (!level.getBlockState(placePos) .canBeReplaced()) return false; - if (!(cropBlock.get() instanceof IPlantable)) + if (!(cropBlock.value() instanceof IPlantable)) return false; BlockState blockState = level.getBlockState(hitPos); - if (!blockState.canSustainPlant(level, hitPos, face, (IPlantable) cropBlock.get())) + if (!blockState.canSustainPlant(level, hitPos, face, (IPlantable) cropBlock.value())) return false; - level.setBlock(placePos, cropBlock.get() + level.setBlock(placePos, cropBlock.value() .defaultBlockState(), 3); return true; } @@ -111,7 +111,7 @@ public class AllPotatoProjectileBlockHitActions { y = Math.max(y, placePos.getY()); FallingBlockEntity falling = FallingBlockEntityAccessor.create$callInit(level, placePos.getX() + 0.5, y, - placePos.getZ() + 0.5, block.get().defaultBlockState()); + placePos.getZ() + 0.5, block.value().defaultBlockState()); falling.time = 1; level.addFreshEntity(falling); } diff --git a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItem.java b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItem.java index 312c717f39..4cd1817ddb 100644 --- a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItem.java +++ b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItem.java @@ -72,7 +72,7 @@ public class PotatoCannonItem extends ProjectileWeaponItem implements CustomArmP return null; } - return new Ammo(ammoStack, optionalType.get().get()); + return new Ammo(ammoStack, optionalType.get().value()); } @Override diff --git a/src/main/java/com/simibubi/create/content/fluids/potion/PotionMixingRecipes.java b/src/main/java/com/simibubi/create/content/fluids/potion/PotionMixingRecipes.java index cc8f4f353b..9433c0aa61 100644 --- a/src/main/java/com/simibubi/create/content/fluids/potion/PotionMixingRecipes.java +++ b/src/main/java/com/simibubi/create/content/fluids/potion/PotionMixingRecipes.java @@ -21,6 +21,7 @@ import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.item.crafting.Ingredient; + import net.minecraftforge.common.brewing.BrewingRecipe; import net.minecraftforge.common.brewing.BrewingRecipeRegistry; import net.minecraftforge.common.brewing.IBrewingRecipe; @@ -52,19 +53,19 @@ public class PotionMixingRecipes { for (Item container : allowedSupportedContainers) { BottleType bottleType = PotionFluidHandler.bottleTypeFromItem(container); for (PotionBrewing.Mix mix : PotionBrewing.POTION_MIXES) { - FluidStack fromFluid = PotionFluidHandler.getFluidFromPotion(mix.from.get(), bottleType, 1000); - FluidStack toFluid = PotionFluidHandler.getFluidFromPotion(mix.to.get(), bottleType, 1000); + FluidStack fromFluid = PotionFluidHandler.getFluidFromPotion(mix.from.value(), bottleType, 1000); + FluidStack toFluid = PotionFluidHandler.getFluidFromPotion(mix.to.value(), bottleType, 1000); mixingRecipes.add(createRecipe("potion_mixing_vanilla_" + recipeIndex++, mix.ingredient, fromFluid, toFluid)); } } for (PotionBrewing.Mix mix : PotionBrewing.CONTAINER_MIXES) { - Item from = mix.from.get(); + Item from = mix.from.value(); if (!allowedSupportedContainers.contains(from)) { continue; } - Item to = mix.to.get(); + Item to = mix.to.value(); if (!allowedSupportedContainers.contains(to)) { continue; } diff --git a/src/main/java/com/simibubi/create/content/kinetics/clock/CuckooClockBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/clock/CuckooClockBlockEntity.java index 35f308e42a..d37a33f94b 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/clock/CuckooClockBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/clock/CuckooClockBlockEntity.java @@ -8,10 +8,10 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.damageTypes.CreateDamageSources; import net.createmod.catnip.animation.AnimationTickHolder; -import net.createmod.catnip.nbt.NBTHelper; -import net.createmod.catnip.math.VecHelper; import net.createmod.catnip.animation.LerpedFloat; import net.createmod.catnip.animation.LerpedFloat.Chaser; +import net.createmod.catnip.math.VecHelper; +import net.createmod.catnip.nbt.NBTHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; @@ -82,9 +82,9 @@ public class CuckooClockBlockEntity extends KineticBlockEntity { moveHands(hours, minutes); if (AnimationTickHolder.getTicks() % 6 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 2f); + playSound(SoundEvents.NOTE_BLOCK_HAT.value(), 1 / 16f, 2f); else if (AnimationTickHolder.getTicks() % 3 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 1.5f); + playSound(SoundEvents.NOTE_BLOCK_HAT.value(), 1 / 16f, 1.5f); } return; } @@ -117,9 +117,9 @@ public class CuckooClockBlockEntity extends KineticBlockEntity { if (animationType == Animation.NONE) { if (AnimationTickHolder.getTicks() % 32 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 2f); + playSound(SoundEvents.NOTE_BLOCK_HAT.value(), 1 / 16f, 2f); else if (AnimationTickHolder.getTicks() % 16 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 1.5f); + playSound(SoundEvents.NOTE_BLOCK_HAT.value(), 1 / 16f, 1.5f); } else { boolean isSurprise = animationType == Animation.SURPRISE; @@ -131,9 +131,9 @@ public class CuckooClockBlockEntity extends KineticBlockEntity { // sounds if (value == 1) - playSound(SoundEvents.NOTE_BLOCK_CHIME.get(), 2, .5f); + playSound(SoundEvents.NOTE_BLOCK_CHIME.value(), 2, .5f); if (value == 21) - playSound(SoundEvents.NOTE_BLOCK_CHIME.get(), 2, 0.793701f); + playSound(SoundEvents.NOTE_BLOCK_CHIME.value(), 2, 0.793701f); if (value > 30 && isSurprise) { Vec3 pos = VecHelper.offsetRandomly(VecHelper.getCenterOf(this.worldPosition), level.random, .5f); diff --git a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java index eb39a2148c..0a8022dfa8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelScreen.java @@ -46,6 +46,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeType; + import net.minecraftforge.common.crafting.IShapedRecipe; import net.minecraftforge.items.ItemHandlerHelper; @@ -128,7 +129,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { if (ingredient.test(bigItemStack.stack)) craftingIngredient = new BigItemStack(bigItemStack.stack, 1); craftingIngredients.add(craftingIngredient); - + if (width < 3 && (i + 1) % width == 0) for (int j = 0; j < 3 - width; j++) craftingIngredients.add(emptyIngredient); @@ -136,7 +137,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { while (craftingIngredients.size() < 9) craftingIngredients.add(emptyIngredient); - + return craftingIngredients; } @@ -191,7 +192,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { }); newInputButton.setToolTip(CreateLang.translate("gui.factory_panel.connect_input") .component()); - + relocateButton = new IconButton(x + 31, y + 67, AllIcons.I_MOVE_GAUGE); relocateButton.withCallback(() -> { FactoryPanelConnectionHandler.startRelocating(behaviour); @@ -199,7 +200,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { }); relocateButton.setToolTip(CreateLang.translate("gui.factory_panel.relocate") .component()); - + if (!restocker) { addRenderableWidget(newInputButton); addRenderableWidget(relocateButton); @@ -440,7 +441,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { mouseX, mouseY); return; } - + if (itemStack.stack.isEmpty()) { graphics.renderComponentTooltip(font, List.of(CreateLang.translate("gui.factory_panel.empty_panel") .color(ScrollInput.HEADER_RGB) @@ -566,7 +567,7 @@ public class FactoryPanelScreen extends AbstractSimiScreen { playButtonSound(); return true; } - + // remove redstone connections itemX = x + 9; itemY = y + windowHeight - 24; @@ -583,14 +584,14 @@ public class FactoryPanelScreen extends AbstractSimiScreen { public void playButtonSound() { Minecraft.getInstance() .getSoundManager() - .play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK.get(), 1.0f, 0.25f)); + .play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK.value(), 1.0f, 0.25f)); } @Override public boolean mouseScrolled(double mouseX, double mouseY, double pDelta) { int x = guiLeft; int y = guiTop; - + if (addressBox.mouseScrolled(mouseX, mouseY, pDelta)) return true; diff --git a/src/main/java/com/simibubi/create/content/logistics/stockTicker/StockKeeperCategoryScreen.java b/src/main/java/com/simibubi/create/content/logistics/stockTicker/StockKeeperCategoryScreen.java index 2c5e351ff2..a54327388e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/stockTicker/StockKeeperCategoryScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/stockTicker/StockKeeperCategoryScreen.java @@ -119,7 +119,7 @@ public class StockKeeperCategoryScreen extends AbstractSimiContainerScreen= blockEntity.categories.size()) continue; - + if (!entry.hidden) { hiddenCategories.add(indexOf); playUiSound(SoundEvents.ITEM_FRAME_ROTATE_ITEM, 1f, 1.5f); } - + else { hiddenCategories.remove(indexOf); playUiSound(SoundEvents.ITEM_FRAME_ROTATE_ITEM, 1f, 0.675f); } - + refreshSearchNextTick = true; moveToTopNextTick = false; return true; @@ -1157,7 +1158,7 @@ public class StockKeeperRequestScreen extends AbstractSimiContainerScreen hoveredSlot = getHoveredSlot((int) mouseX, (int) mouseY); boolean noHover = hoveredSlot == noneHovered; @@ -1335,7 +1336,7 @@ public class StockKeeperRequestScreen extends AbstractSimiContainerScreen bogey && !bogey.captureBlockEntityForTrain()) return null; // Bogeys are typically rendered by the carriage contraption, not the BE - + return super.readBlockEntity(level, info, tag); } @@ -236,7 +236,7 @@ public class CarriageContraption extends Contraption { @Override public ContraptionType getType() { - return AllContraptionTypes.CARRIAGE.get(); + return AllContraptionTypes.CARRIAGE.value(); } public Direction getAssemblyDirection() { diff --git a/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBehaviour.java b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBehaviour.java index 782df92539..a3efe92110 100644 --- a/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/ValueSettingsBehaviour.java @@ -78,7 +78,7 @@ public interface ValueSettingsBehaviour extends ClipboardCloneable { origin.getWorld() .playSound(null, origin.getPos(), SoundEvents.ITEM_FRAME_ADD_ITEM, SoundSource.BLOCKS, 0.25f, 2f); origin.getWorld() - .playSound(null, origin.getPos(), SoundEvents.NOTE_BLOCK_IRON_XYLOPHONE.get(), SoundSource.BLOCKS, 0.03f, + .playSound(null, origin.getPos(), SoundEvents.NOTE_BLOCK_IRON_XYLOPHONE.value(), SoundSource.BLOCKS, 0.03f, 1.125f); } @@ -87,13 +87,13 @@ public interface ValueSettingsBehaviour extends ClipboardCloneable { default boolean bypassesInput(ItemStack mainhandItem) { return false; } - + default boolean mayInteract(Player player) { return true; } - + default int netId() { return 0; } - + } From a89b582ae3e9ede7e13c9d4e38deed5948443e49 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 07:54:34 -0500 Subject: [PATCH 3/8] Morning fixes - Fix upload task not uploading the reobf'd jar - Fix debug info not translating the graphics mode text - Fix crash with factory gauges - Mark getQueuedPromises as @Nullable --- .github/workflows/build.yml | 6 +- .github/workflows/release.yml | 5 +- build.gradle | 14 ++-- .../factoryBoard/FactoryPanelBehaviour.java | 15 +++-- .../packagerLink/GlobalLogisticsManager.java | 7 +- .../debugInfo/DebugInformation.java | 64 ++++++++++--------- 6 files changed, 57 insertions(+), 54 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41181ae923..3c310cd451 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,10 +10,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '17' + run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV" - name: NeoGradle Cache uses: actions/cache@v4 @@ -35,4 +32,5 @@ jobs: - uses: actions/upload-artifact@v4 with: + name: Artifacts path: build/libs/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 66ee2d29ec..11a47e57bc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,10 +10,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '17' + run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV" - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 diff --git a/build.gradle b/build.gradle index 56ad4be422..ff8ffa7d62 100644 --- a/build.gradle +++ b/build.gradle @@ -334,18 +334,18 @@ project.publishing { } publishMods { - file = jar.archiveFile + file = reobfJar.archiveFile changelog = ChangelogText.getChangelogText(project).toString() type = STABLE - displayName = "$mod_name $minecraft_version $mod_version" + displayName = "$mod_name $mod_version for mc$minecraft_version" modLoaders.add("forge") modLoaders.add("neoforge") -// 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") diff --git a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java index ce280b1c74..b26e277977 100644 --- a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java @@ -47,6 +47,11 @@ 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.createmod.catnip.animation.LerpedFloat; import net.createmod.catnip.animation.LerpedFloat.Chaser; import net.createmod.catnip.gui.ScreenOpener; @@ -73,11 +78,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.network.NetworkHooks; - public class FactoryPanelBehaviour extends FilteringBehaviour implements MenuProvider { public static final BehaviourType TOP_LEFT = new BehaviourType<>(); @@ -730,13 +730,16 @@ public class FactoryPanelBehaviour extends FilteringBehaviour implements MenuPro } RequestPromiseQueue promises = Create.LOGISTICS.getQueuedPromises(network); + if (promises == null) + return 0; + if (forceClearPromises) { promises.forceClear(item); resetTimerSlightly(); } forceClearPromises = false; - return promises == null ? 0 : promises.getTotalPromisedAndRemoveExpired(item, getPromiseExpiryTimeInTicks()); + return promises.getTotalPromisedAndRemoveExpired(item, getPromiseExpiryTimeInTicks()); } public void resetTimer() { diff --git a/src/main/java/com/simibubi/create/content/logistics/packagerLink/GlobalLogisticsManager.java b/src/main/java/com/simibubi/create/content/logistics/packagerLink/GlobalLogisticsManager.java index 016f87f398..2198d16d97 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packagerLink/GlobalLogisticsManager.java +++ b/src/main/java/com/simibubi/create/content/logistics/packagerLink/GlobalLogisticsManager.java @@ -4,6 +4,8 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import org.jetbrains.annotations.Nullable; + import net.minecraft.core.GlobalPos; import net.minecraft.server.MinecraftServer; import net.minecraft.world.entity.player.Player; @@ -38,12 +40,12 @@ public class GlobalLogisticsManager { LogisticsNetwork network = logisticsNetworks.get(networkId); return network == null || network.owner == null || network.owner.equals(player.getUUID()); } - + public boolean isLockable(UUID networkId) { LogisticsNetwork network = logisticsNetworks.get(networkId); return network != null; } - + public boolean isLocked(UUID networkId) { LogisticsNetwork network = logisticsNetworks.get(networkId); return network != null && network.locked; @@ -86,6 +88,7 @@ public class GlobalLogisticsManager { return logisticsNetwork.totalLinks.size() - logisticsNetwork.loadedLinks.size(); } + @Nullable public RequestPromiseQueue getQueuedPromises(UUID networkId) { return !logisticsNetworks.containsKey(networkId) ? null : logisticsNetworks.get(networkId).panelPromises; } diff --git a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java index dd32d9beed..9fa9a0fd59 100644 --- a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java +++ b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java @@ -17,6 +17,11 @@ 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 dev.engine_room.flywheel.api.Flywheel; import dev.engine_room.flywheel.api.backend.Backend; import dev.engine_room.flywheel.api.backend.BackendManager; @@ -24,10 +29,7 @@ import net.minecraft.SharedConstants; import net.minecraft.SystemReport; import net.minecraft.Util; import net.minecraft.client.Minecraft; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.forgespi.language.IModInfo; +import net.minecraft.client.resources.language.I18n; import oshi.SystemInfo; /** @@ -69,45 +71,45 @@ public class DebugInformation { static { DebugInfoSection.builder(Create.NAME) - .put("Mod Version", CreateBuildInfo.VERSION) - .put("Forge Version", getVersionOfMod("forge")) - .put("Minecraft Version", SharedConstants.getCurrentVersion().getName()) - .buildTo(DebugInformation::registerBothInfo); + .put("Mod Version", CreateBuildInfo.VERSION) + .put("Forge Version", getVersionOfMod("forge")) + .put("Minecraft Version", SharedConstants.getCurrentVersion().getName()) + .buildTo(DebugInformation::registerBothInfo); DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { DebugInfoSection.builder("Graphics") - .put("Flywheel Version", ModList.get() - .getModContainerById(Flywheel.ID) - .map(c -> c.getModInfo() - .getVersion() - .toString()) - .orElse("None")) - .put("Flywheel Backend", () -> Backend.REGISTRY.getIdOrThrow(BackendManager.currentBackend()).toString()) - .put("OpenGL Renderer", GlUtil::getRenderer) - .put("OpenGL Version", GlUtil::getOpenGLVersion) - .put("Graphics Mode", () -> Minecraft.getInstance().options.graphicsMode().get().getKey()) - .buildTo(DebugInformation::registerClientInfo); + .put("Flywheel Version", ModList.get() + .getModContainerById(Flywheel.ID) + .map(c -> c.getModInfo() + .getVersion() + .toString()) + .orElse("None")) + .put("Flywheel Backend", () -> Backend.REGISTRY.getIdOrThrow(BackendManager.currentBackend()).toString()) + .put("OpenGL Renderer", GlUtil::getRenderer) + .put("OpenGL Version", GlUtil::getOpenGLVersion) + .put("Graphics Mode", () -> I18n.get(Minecraft.getInstance().options.graphicsMode().get().getKey())) + .buildTo(DebugInformation::registerClientInfo); }); DebugInfoSection.builder("System Information") - .put("Operating System", SystemReportAccessor.getOPERATING_SYSTEM()) - .put("Java Version", SystemReportAccessor.getJAVA_VERSION()) - .put("JVM Flags", getMcSystemInfo("JVM Flags")) - .put("Memory", () -> getMcSystemInfo("Memory")) - .put("Total Memory", getTotalRam()) - .put("CPU", getCpuInfo()) - .putAll(listAllGraphicsCards()) - .buildTo(DebugInformation::registerBothInfo); + .put("Operating System", SystemReportAccessor.getOPERATING_SYSTEM()) + .put("Java Version", SystemReportAccessor.getJAVA_VERSION()) + .put("JVM Flags", getMcSystemInfo("JVM Flags")) + .put("Memory", () -> getMcSystemInfo("Memory")) + .put("Total Memory", getTotalRam()) + .put("CPU", getCpuInfo()) + .putAll(listAllGraphicsCards()) + .buildTo(DebugInformation::registerBothInfo); DebugInfoSection.builder("Other Mods") - .putAll(listAllOtherMods()) - .buildTo(DebugInformation::registerBothInfo); + .putAll(listAllOtherMods()) + .buildTo(DebugInformation::registerBothInfo); } public static String getVersionOfMod(String id) { return ModList.get().getModContainerById(id) - .map(mod -> mod.getModInfo().getVersion().toString()) - .orElse("None"); + .map(mod -> mod.getModInfo().getVersion().toString()) + .orElse("None"); } public static Collection listAllOtherMods() { From da87ecb952a7f8d01605415b2812bdd74a86b011 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 14:01:18 -0500 Subject: [PATCH 4/8] 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 --- build.gradle | 13 +++- changelog.md | 13 ++++ gradle.properties | 5 +- .../render/ContraptionVisual.java | 26 +++---- .../equipment/tool/CardboardSwordItem.java | 39 +++++----- .../logistics/packager/PackagerBlock.java | 35 ++++----- .../mixin/client/HeavyBootsOnPlayerMixin.java | 2 +- src/main/resources/META-INF/mods.toml | 72 +++++++++---------- 8 files changed, 116 insertions(+), 89 deletions(-) diff --git a/build.gradle b/build.gradle index ff8ffa7d62..ef678b734e 100644 --- a/build.gradle +++ b/build.gradle @@ -176,7 +176,7 @@ dependencies { 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.vanillin:vanillin-forge-${flywheel_minecraft_version}:${flywheel_version}") + modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${vanillin_version}") if (ponderInWorkspace) { 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 { publications { mavenJava(MavenPublication) { artifactId base.archivesName.get() from components.java + + artifact(tasks.slimJar) } } diff --git a/changelog.md b/changelog.md index bab0e30c5c..68f3686c05 100644 --- a/changelog.md +++ b/changelog.md @@ -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 ------------------------------------------------------ diff --git a/gradle.properties b/gradle.properties index a32e86b568..999043cb42 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,12 +20,13 @@ use_parchment = true # dependency versions registrate_version = MC1.20-1.3.3 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_version = 15.19.0.85 curios_minecraft_version = 1.20.1 curios_version = 5.3.1 -ponder_version = 1.0.34 +ponder_version = 1.0.37 mixin_extras_version = 0.4.1 cc_tweaked_enable = true diff --git a/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java b/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java index a1c401e310..9d0d3bc3c6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java @@ -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.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; @@ -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.material.SimpleMaterial; 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.NestedPlan; 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.levelgen.structure.templatesystem.StructureTemplate; -import net.minecraftforge.client.model.data.ModelData; - public class ContraptionVisual extends AbstractEntityVisual implements DynamicVisual, TickableVisual, LightUpdatedVisual, ShaderLightVisual { protected static final int LIGHT_PADDING = 1; @@ -97,7 +97,7 @@ public class ContraptionVisual extends Abst } }; - model = new ForgeMultiBlockModelBuilder(modelWorld, blocks.positions()) + model = new ForgeBlockModelBuilder(modelWorld, blocks.positions()) .modelDataLookup(pos -> contraption.modelData.getOrDefault(pos, ModelData.EMPTY)) .materialFunc((renderType, aBoolean) -> SimpleMaterial.builderOf(ModelUtil.getMaterial(renderType, aBoolean)) .cardinalLightingMode(CardinalLightingMode.CHUNK)) @@ -135,7 +135,7 @@ public class ContraptionVisual extends Abst } @SuppressWarnings("unchecked") - protected void setupVisualizer(T be, float partialTicks) { + protected void setupVisualizer(T be, float partialTicks) { BlockEntityVisualizer visualizer = (BlockEntityVisualizer) VisualizerRegistry.getVisualizer(be.getType()); if (visualizer == null) { return; @@ -185,17 +185,17 @@ public class ContraptionVisual extends Abst @Override public Plan planTick() { return NestedPlan.of( - ForEachPlan.of(() -> actors, ActorVisual::tick), - tickableVisuals + ForEachPlan.of(() -> actors, ActorVisual::tick), + tickableVisuals ); } @Override public Plan planFrame() { return NestedPlan.of( - RunnablePlan.of(this::beginFrame), - ForEachPlan.of(() -> actors, ActorVisual::beginFrame), - dynamicVisuals + RunnablePlan.of(this::beginFrame), + ForEachPlan.of(() -> actors, ActorVisual::beginFrame), + dynamicVisuals ); } @@ -204,7 +204,7 @@ public class ContraptionVisual extends Abst setEmbeddingMatrices(partialTick); if (hasMovedSections()) { - sectionCollector.sections(collectLightSections()); + sectionCollector.sections(collectLightSections()); } if (hasMovedBlocks()) { @@ -285,13 +285,13 @@ public class ContraptionVisual extends Abst int maxY = maxLight(boundingBox.maxY); int maxZ = maxLight(boundingBox.maxZ); - return minBlock != BlockPos.asLong(minX, minY, minZ) || maxBlock != BlockPos.asLong(maxX, maxY, maxZ); + return minBlock != BlockPos.asLong(minX, minY, minZ) || maxBlock != BlockPos.asLong(maxX, maxY, maxZ); } protected boolean hasMovedSections() { var boundingBox = entity.getBoundingBox(); - var minSectionX = minLightSection(boundingBox.minX); + var minSectionX = minLightSection(boundingBox.minX); var minSectionY = minLightSection(boundingBox.minY); var minSectionZ = minLightSection(boundingBox.minZ); int maxSectionX = maxLightSection(boundingBox.maxX); diff --git a/src/main/java/com/simibubi/create/content/equipment/tool/CardboardSwordItem.java b/src/main/java/com/simibubi/create/content/equipment/tool/CardboardSwordItem.java index fcb47d7464..f881814143 100644 --- a/src/main/java/com/simibubi/create/content/equipment/tool/CardboardSwordItem.java +++ b/src/main/java/com/simibubi/create/content/equipment/tool/CardboardSwordItem.java @@ -10,24 +10,6 @@ import com.simibubi.create.AllPackets; import com.simibubi.create.AllSoundEvents; 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.OnlyIn; 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.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 public class CardboardSwordItem extends SwordItem { @@ -79,7 +80,7 @@ public class CardboardSwordItem extends SwordItem { Entity attacker = event.getSource() .getEntity(); LivingEntity target = event.getEntity(); - if (target == null || target instanceof Spider) + if (target == null || target.getMobType() == MobType.ARTHROPOD) return; if (!(attacker instanceof LivingEntity livingAttacker && AllItems.CARDBOARD_SWORD.isIn(livingAttacker.getItemInHand(InteractionHand.MAIN_HAND)))) diff --git a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java index dff5c7f707..e5db9bf432 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/packager/PackagerBlock.java @@ -11,6 +11,11 @@ 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.minecraft.core.BlockPos; import net.minecraft.core.Direction; 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.pathfinder.PathComputationType; 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, IWrenchable { @@ -55,7 +56,7 @@ public class PackagerBlock extends WrenchableDirectionalBlock implements IBE itemCap = ForgeCapabilities.ITEM_HANDLER; @@ -72,7 +73,7 @@ public class PackagerBlock extends WrenchableDirectionalBlock implements IBE { - boolean empty = pbe.inventory.getStackInSlot(0) - .isEmpty(); - if (pbe.animationTicks != 0) - empty = false; - return empty ? 0 : 15; - }) + boolean empty = pbe.inventory.getStackInSlot(0) + .isEmpty(); + if (pbe.animationTicks != 0) + empty = false; + return empty ? 0 : 15; + }) .orElse(0); } diff --git a/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java index d4f3ebb022..03dfef36c1 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java @@ -18,6 +18,6 @@ public abstract class HeavyBootsOnPlayerMixin extends AbstractClientPlayer { @ModifyReturnValue(method = "isUnderWater()Z", at = @At("RETURN")) private boolean create$noSwimmingWithHeavyBootsOn(boolean original) { - return getPersistentData().contains("HeavyBoots") || original; + return original || !getPersistentData().contains("HeavyBoots"); } } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 0ed03babe7..ff1c06a322 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,52 +1,52 @@ -modLoader="javafml" -loaderVersion="[47,)" -issueTrackerURL="https://github.com/Creators-of-Create/Create/issues" -license="${mod_license}" +modLoader = "javafml" +loaderVersion = "[47,)" +issueTrackerURL = "https://github.com/Creators-of-Create/Create/issues" +license = "${mod_license}" [[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 -version="${file.jarVersion}" -displayName="${mod_name}" -displayURL="https://www.curseforge.com/minecraft/mc-mods/create" -logoFile="icon.png" +version = "${file.jarVersion}" +displayName = "${mod_name}" +displayURL = "https://www.curseforge.com/minecraft/mc-mods/create" +logoFile = "icon.png" #credits="" -authors="${mod_author}" -description=''' +authors = "${mod_author}" +description = ''' ${mod_description} ''' [[dependencies.create]] - modId="forge" - mandatory=true - versionRange="[47.1.3,)" - ordering="NONE" - side="BOTH" +modId = "forge" +mandatory = true +versionRange = "[47.1.3,)" +ordering = "NONE" +side = "BOTH" [[dependencies.create]] - modId="minecraft" - mandatory=true - versionRange="[1.20,1.21)" - ordering="NONE" - side="BOTH" +modId = "minecraft" +mandatory = true +versionRange = "[1.20.1]" +ordering = "NONE" +side = "BOTH" [[dependencies.create]] - modId="flywheel" - mandatory=true - versionRange="[1.0.0-alpha,2.0)" - ordering="AFTER" - side="CLIENT" +modId = "flywheel" +mandatory = true +versionRange = "[1.0.0,2.0)" +ordering = "AFTER" +side = "CLIENT" [[dependencies.create]] - modId="ponder" - mandatory=true - versionRange="[0.8,)" - ordering="AFTER" - side="BOTH" +modId = "ponder" +mandatory = true +versionRange = "[0.8,)" +ordering = "AFTER" +side = "BOTH" [[dependencies.create]] - modId="jei" - mandatory=false - versionRange="[15.19.0,)" - ordering="NONE" - side="CLIENT" +modId = "jei" +mandatory = false +versionRange = "[15.19.0,)" +ordering = "NONE" +side = "CLIENT" From b3cf357dbbf7bd224f2f76d368e95b591f8ceebd Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 14:06:37 -0500 Subject: [PATCH 5/8] Slim jars --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8b36fdb653..50c9461954 100644 --- a/build.gradle +++ b/build.gradle @@ -308,7 +308,7 @@ tasks.named("sourcesJar") { final slimJar = tasks.register('slimJar', Jar) { archiveClassifier = 'slim' - from sourceSets.main + from sourceSets.main.output manifest.attributes([ "Git-Hash": gitHash ]) From bb39ed0fba7f3993db74f3b49b3dcb99d5ad0104 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 14:34:36 -0500 Subject: [PATCH 6/8] Slim jars II --- build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle b/build.gradle index 50c9461954..1bc74171e0 100644 --- a/build.gradle +++ b/build.gradle @@ -320,8 +320,6 @@ project.publishing { mavenJava(MavenPublication) { artifactId base.archivesName.get() from components.java - - artifact(tasks.slimJar) } } From c5d9e06779c7d6ef2328c8b645050f0bf4019778 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 14:45:30 -0500 Subject: [PATCH 7/8] Slim jars III --- build.gradle | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 1bc74171e0..a46000b5aa 100644 --- a/build.gradle +++ b/build.gradle @@ -306,8 +306,8 @@ tasks.named("sourcesJar") { ]) } -final slimJar = tasks.register('slimJar', Jar) { - archiveClassifier = 'slim' +final slimJar = tasks.register("slimJar", Jar) { + archiveClassifier = "slim" from sourceSets.main.output manifest.attributes([ "Git-Hash": gitHash @@ -320,6 +320,10 @@ project.publishing { mavenJava(MavenPublication) { artifactId base.archivesName.get() from components.java + + artifact(tasks.jar) { + classifier = "all" + } } } @@ -339,6 +343,7 @@ project.publishing { if (project.hasProperty('mavendir')) { maven { url mavendir } } + mavenLocal() } } From 93f268419b7bfb43e1a1f9bc2cd5159a03e33eb2 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 15:22:07 -0500 Subject: [PATCH 8/8] Fix heavy boots --- build.gradle | 1 - .../mixin/client/HeavyBootsOnPlayerMixin.java | 12 ++++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index a46000b5aa..ed66a0e036 100644 --- a/build.gradle +++ b/build.gradle @@ -343,7 +343,6 @@ project.publishing { if (project.hasProperty('mavendir')) { maven { url mavendir } } - mavenLocal() } } diff --git a/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java index 03dfef36c1..a20daa98a1 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/client/HeavyBootsOnPlayerMixin.java @@ -2,13 +2,15 @@ package com.simibubi.create.foundation.mixin.client; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.mojang.authlib.GameProfile; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.player.LocalPlayer; +import net.minecraft.nbt.CompoundTag; @Mixin(LocalPlayer.class) public abstract class HeavyBootsOnPlayerMixin extends AbstractClientPlayer { @@ -16,8 +18,10 @@ public abstract class HeavyBootsOnPlayerMixin extends AbstractClientPlayer { super(level, profile); } - @ModifyReturnValue(method = "isUnderWater()Z", at = @At("RETURN")) - private boolean create$noSwimmingWithHeavyBootsOn(boolean original) { - return original || !getPersistentData().contains("HeavyBoots"); + @Inject(method = "isUnderWater()Z", at = @At("HEAD"), cancellable = true) + public void create$noSwimmingWithHeavyBootsOn(CallbackInfoReturnable cir) { + CompoundTag persistentData = getPersistentData(); + if (persistentData.contains("HeavyBoots")) + cir.setReturnValue(false); } }