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() {