diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c7c7235761..b0120eacc6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,7 +46,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: artifacts - path: build/libs/*.jar + path: fabric/build/libs/*.jar - name: stop daemon run: ./gradlew --stop \ No newline at end of file diff --git a/.github/workflows/deploy_all.yml b/.github/workflows/deploy_all.yml index 5b02f4e0fc..c4211bcd90 100644 --- a/.github/workflows/deploy_all.yml +++ b/.github/workflows/deploy_all.yml @@ -50,7 +50,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: artifacts - path: build/libs/*.jar + path: fabric/build/libs/*.jar - name: stop daemon run: ./gradlew --stop \ No newline at end of file diff --git a/.github/workflows/deploy_curseforge.yml b/.github/workflows/deploy_curseforge.yml index fc09fb9a7d..b9d9d5830c 100644 --- a/.github/workflows/deploy_curseforge.yml +++ b/.github/workflows/deploy_curseforge.yml @@ -50,7 +50,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: artifacts - path: build/libs/*.jar + path: fabric/build/libs/*.jar - name: stop daemon run: ./gradlew --stop \ No newline at end of file diff --git a/.github/workflows/deploy_modrinth.yml b/.github/workflows/deploy_modrinth.yml index 2105dbf023..4c889ad934 100644 --- a/.github/workflows/deploy_modrinth.yml +++ b/.github/workflows/deploy_modrinth.yml @@ -50,7 +50,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: artifacts - path: build/libs/*.jar + path: fabric/build/libs/*.jar - name: stop daemon run: ./gradlew --stop \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 74faf5fe8a..daea4e62fd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ import com.hypherionmc.modfusioner.plugin.FusionerExtension import xyz.wagyourtail.mini_jvmdg.MiniJVMDowngrade import xyz.wagyourtail.replace_str.ProcessClasses import xyz.wagyourtail.unimined.api.UniminedExtension +import xyz.wagyourtail.unimined.api.minecraft.patch.fabric.FabricLikePatcher import xyz.wagyourtail.unimined.internal.minecraft.task.RemapJarTaskImpl import java.nio.file.Files import java.time.LocalDateTime @@ -98,6 +99,9 @@ subprojects { } repositories { + flatDir { + dirs("$rootDir/libs") + } mavenCentral() // ModLoader Mavens maven("https://maven.neoforged.net/releases") { @@ -142,109 +146,32 @@ subprojects { extensions.getByType().minecraft(sourceSets.getByName("main"), true) { side(if (isJarMod) "client" else "combined") - version(mcVersion) - - mappings { - val mcMappings = "mc_mappings"()!! - when (mcMappingsType) { - "mcp" -> { - if (!isJarMod) { - searge() - } - mcp(if (isJarMod) "legacy" else "stable", mcMappings) { - if (!isJarMod) { - clearOutputs() - outputs("mcp", true) { listOf("intermediary") } - } - } - } + version("empty-$mcVersion") - "forgeMCP" -> { - forgeBuiltinMCP("forge_version"()!!) { - clearContains() - clearOutputs() - contains({ _, t -> - !t.contains("MCP") - }) { - onlyExistingSrc() - outputs("searge", false) { listOf("official") } - } - contains({ _, t -> - t.contains("MCP") - }) { - outputs("mcp", true) { listOf("intermediary") } - sourceNamespace("searge") - } - } - officialMappingsFromJar { - clearContains() - clearOutputs() - outputs("official", false) { listOf() } - } - } - - "retroMCP" -> { - retroMCP(mcMappings) - } - - "yarn" -> { - yarn(mcMappings) - } - - "mojmap" -> { - mojmap { - skipIfNotIn("intermediary") - } - } - - "parchment" -> { - mojmap { - skipIfNotIn("intermediary") - } - parchment(mcVersion, mcMappings) - } - - else -> throw GradleException("Unknown or Unsupported Mappings version") + defaultRemapJar = false + val fabricData: FabricLikePatcher.() -> Unit = { + if (accessWidenerFile.exists()) { + accessWidener(accessWidenerFile) } - - // Only use Intermediaries on Versions that support it - val usingIntermediary = (isLegacy && protocol >= 39) || !isLegacy - if (usingIntermediary) { - if (extIsModern) { - intermediary() - } else { - legacyIntermediary() - } + loader("fabric_loader_version"()!!) + if (isJarMod) { + prodNamespace("official") + devMappings = null } - - // ability to add custom mappings - val target = if (!extIsModern) "mcp" else "mojmap" - stub.withMappings("searge", target) { - c("ModLoader", "net/minecraft/src/ModLoader", "net/minecraft/src/ModLoader") - c("BaseMod", "net/minecraft/src/BaseMod", "net/minecraft/src/BaseMod") - // Fix: Fixed an inconsistent mapping in 1.16 and 1.16.1 between MCP and Mojmap - if (!isLegacy && (protocol == 735 || protocol == 736)) { - c( - "dng", - listOf( - "net/minecraft/client/gui/widget/Widget", - "net/minecraft/client/gui/components/AbstractWidget" - ) - ) { - m("e", "()I", "func_238483_d_", "getHeightRealms") - } - } + customIntermediaries = true + } + if (isModern) { + fabric(fabricData) + } else { + merged { + legacyFabric(fabricData) + jarMod {} } + } - if (isMCPJar) { - if (protocol <= 2) { // MC a1.1.2_01 and below - devNamespace("searge") - } else { - devFallbackNamespace("searge") - } - } else if (usingIntermediary) { - devFallbackNamespace("intermediary") - } + mappings { + devNamespace("official") + devFallbackNamespace("official") } minecraftRemapper.config { diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 4b38efff2c..8c3b12fb0d 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,4 +1,3 @@ -import xyz.wagyourtail.unimined.api.minecraft.patch.fabric.FabricLikePatcher import java.util.regex.Pattern plugins { @@ -26,21 +25,7 @@ val mcVersionLabel: String by extra val fileFormat: String by extra unimined.minecraft { - defaultRemapJar = false - if (!isJarMod) { - val fabricData: FabricLikePatcher.() -> Unit = { - if (accessWidenerFile.exists()) { - accessWidener(accessWidenerFile) - } - loader("fabric_loader_version"()!!) - customIntermediaries = true - } - if (isModern) { - fabric(fabricData) - } else { - legacyFabric(fabricData) - } - } + // N/A } val shadeOnly: Configuration by configurations.creating @@ -51,6 +36,8 @@ configurations.implementation.get().extendsFrom(shade) configurations.runtimeOnly.get().extendsFrom() dependencies { + "jarMod"("local:nsss:${"forge_version"()}") + // Legacy Dependencies, based on Protocol Version if (isLegacy) { if (protocol <= 61) { // MC 1.5.2 and below @@ -238,7 +225,7 @@ tasks.register("generateMyResources") { // Setup Name Schema for Uploading val archiveName = "mod_name"()!! -var targetFile = file("$rootDir/build/libs/$fileFormat.jar") +var targetFile = file("$rootDir/fabric/build/libs/$fileFormat-dev-shadow.jar") if (!targetFile.exists() && (isJarMod)) { // Fallback to an alternative Sub-Project Output when in a Jar Mod configuration and the target file isn't there targetFile = file("$rootDir/$fmlName/build/libs/$fileFormat-$fmlName.jar") diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/CraftPresence.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/CraftPresence.java index dc2dde0a06..ffe8298cae 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/CraftPresence.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/CraftPresence.java @@ -35,13 +35,11 @@ import com.gitlab.cdagaming.craftpresence.utils.server.ServerUtils; import com.gitlab.cdagaming.craftpresence.utils.world.BiomeUtils; import com.gitlab.cdagaming.craftpresence.utils.world.DimensionUtils; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.entity.EntityPlayer; +import com.mojang.minecraft.util.Session; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import io.github.cdagaming.unicore.utils.*; -import net.minecraft.client.Minecraft; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.Session; -import net.minecraft.src.ThreadSleepForever; -import net.minecraft.src.UnexpectedThrowable; /** * The Primary Application Class and Utilities @@ -177,7 +175,7 @@ private void scheduleTick() { */ private void clientTick() { if (!Constants.IS_GAME_CLOSING) { - instance = getMinecraftInstance(); + instance = Minecraft.getMinecraft(); if (initialized) { session = instance.session; player = instance.thePlayer; @@ -191,39 +189,4 @@ private void clientTick() { } } } - - private static void ThrowException(Throwable e) { - ThrowException("Exception occured in ModLoader", e); - } - - public static void ThrowException(String message, Throwable e) { - Minecraft game = getMinecraftInstance(); - if (game != null) { - game.displayUnexpectedThrowable(new UnexpectedThrowable(message, e)); - } else { - throw new RuntimeException(e); - } - } - - public static Minecraft getMinecraftInstance() { - if (instance == null) { - try { - ThreadGroup group = Thread.currentThread().getThreadGroup(); - int count = group.activeCount(); - Thread[] threads = new Thread[count]; - group.enumerate(threads); - - for(int i = 0; i < threads.length; ++i) { - if (threads[i].getName().equals("Timer hack thread")) { - instance = (Minecraft) StringUtils.getField(ThreadSleepForever.class, threads[i], "mc", "field_1588_a", "a"); - break; - } - } - } catch (Exception var4) { - ThrowException(var4); - } - } - - return instance; - } } diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AboutGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AboutGui.java index 3a7cffe643..30333a0e8b 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AboutGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AboutGui.java @@ -30,9 +30,9 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedButtonControl; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.UpdateInfoGui; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.cdagaming.unicore.utils.UrlUtils; -import net.minecraft.src.GuiScreen; import java.util.List; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AccessibilitySettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AccessibilitySettingsGui.java index e2d2f5ea07..fb0f81944e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AccessibilitySettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AccessibilitySettingsGui.java @@ -38,9 +38,9 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.ControlsGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; import java.util.List; import java.util.Map; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AdvancedSettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AdvancedSettingsGui.java index 17be974054..9468b4d528 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AdvancedSettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/AdvancedSettingsGui.java @@ -39,10 +39,10 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.ScrollableTextWidget; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.utils.ScheduleUtils; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; @SuppressWarnings("DuplicatedCode") public class AdvancedSettingsGui extends ConfigurationGui { diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/BiomeSettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/BiomeSettingsGui.java index c09cda6c39..de847ec58e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/BiomeSettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/BiomeSettingsGui.java @@ -36,8 +36,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.DynamicEditorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; @SuppressWarnings("DuplicatedCode") public class BiomeSettingsGui extends ConfigurationGui { diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ColorEditorGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ColorEditorGui.java index cd1b70e091..b0435d5f04 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ColorEditorGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ColorEditorGui.java @@ -32,10 +32,10 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.ScrollableTextWidget; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TexturedWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.impl.Tuple; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; import java.awt.*; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DimensionSettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DimensionSettingsGui.java index 4a885fa246..0342fce78e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DimensionSettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DimensionSettingsGui.java @@ -36,8 +36,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.DynamicEditorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; @SuppressWarnings("DuplicatedCode") public class DimensionSettingsGui extends ConfigurationGui { diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DisplaySettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DisplaySettingsGui.java index 7716d05437..db26c54b1e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DisplaySettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/DisplaySettingsGui.java @@ -34,8 +34,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.ConfigurationGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.DynamicEditorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; public class DisplaySettingsGui extends ConfigurationGui { private final Display INSTANCE, DEFAULTS; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/GeneralSettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/GeneralSettingsGui.java index a55d28bb86..8fa4220ecd 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/GeneralSettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/GeneralSettingsGui.java @@ -34,8 +34,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.ConfigurationGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; import com.jagrosh.discordipc.entities.DiscordBuild; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; @SuppressWarnings("DuplicatedCode") public class GeneralSettingsGui extends ConfigurationGui { diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/MainGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/MainGui.java index fe7c013146..9a5f83173e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/MainGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/MainGui.java @@ -31,8 +31,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedButtonControl; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.ConfigurationGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.ScrollableTextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; import org.lwjgl.input.Keyboard; @SuppressWarnings("DuplicatedCode") diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/PresenceEditorGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/PresenceEditorGui.java index b4df9fd690..2041ee1f86 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/PresenceEditorGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/PresenceEditorGui.java @@ -37,8 +37,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.ScrollableTextWidget; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; import java.util.function.Consumer; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ServerSettingsGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ServerSettingsGui.java index 180b2df2b6..730e0ed8da 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ServerSettingsGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/ServerSettingsGui.java @@ -36,8 +36,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.impl.DynamicEditorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.SelectorGui; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.TextWidget; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; @SuppressWarnings("DuplicatedCode") public class ServerSettingsGui extends ConfigurationGui { diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/StatusMessagesGui.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/StatusMessagesGui.java index 608987ec71..18d4020c56 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/StatusMessagesGui.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/config/gui/StatusMessagesGui.java @@ -33,10 +33,10 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedButtonControl; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.ConfigurationGui; import com.gitlab.cdagaming.craftpresence.utils.gui.impl.DynamicEditorGui; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.impl.HashMapBuilder; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiScreen; import java.util.Map; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/integrations/replaymod/ReplayModUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/integrations/replaymod/ReplayModUtils.java index 9f4f6db96a..d498775bf4 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/integrations/replaymod/ReplayModUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/integrations/replaymod/ReplayModUtils.java @@ -28,11 +28,11 @@ import com.gitlab.cdagaming.craftpresence.config.Config; import com.gitlab.cdagaming.craftpresence.core.config.element.ModuleData; import com.gitlab.cdagaming.craftpresence.core.impl.Module; +import com.mojang.minecraft.gui.GuiScreen; import io.github.cdagaming.unicore.utils.FileUtils; import io.github.cdagaming.unicore.utils.MappingUtils; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.classgraph.ClassInfo; -import net.minecraft.src.GuiScreen; import java.util.List; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/KeyUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/KeyUtils.java index fe929c7ddf..0e3ef2facd 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/KeyUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/KeyUtils.java @@ -31,11 +31,11 @@ import com.gitlab.cdagaming.craftpresence.core.impl.KeyConverter; import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; +import com.mojang.minecraft.gui.GuiControls; +import com.mojang.minecraft.player.controller.KeyBinding; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.impl.Tuple; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.GuiControls; -import net.minecraft.src.KeyBinding; import org.lwjgl.input.Keyboard; import java.util.List; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/NbtUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/NbtUtils.java index e50511c3a7..63aa8d698c 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/NbtUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/NbtUtils.java @@ -25,9 +25,12 @@ package com.gitlab.cdagaming.craftpresence.utils; import com.gitlab.cdagaming.craftpresence.core.Constants; +import com.mojang.minecraft.entity.Entity; +import com.mojang.minecraft.entity.EntityList; +import com.mojang.minecraft.entity.item.ItemStack; +import com.mojang.minecraft.nbt.*; import io.github.cdagaming.unicore.utils.FileUtils; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.*; import java.util.List; import java.util.Map; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/discord/DiscordUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/discord/DiscordUtils.java index aa684aa584..33bbd5e528 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/discord/DiscordUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/discord/DiscordUtils.java @@ -1097,7 +1097,7 @@ public String generateArgumentMessage(final String... formats) { public void syncPlaceholders() { syncArgument("_general.instance", CraftPresence.instance); syncArgument("_general.player", CraftPresence.player); - syncArgument("_general.world", CraftPresence.player != null ? CraftPresence.instance.theWorld : null); + syncArgument("_general.world", CraftPresence.player != null ? CraftPresence.player.worldObj : null); syncArgument("_config.instance", CraftPresence.CONFIG); // Sync Custom Variables removeArguments("custom."); diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java index fddcc4bbec..e123c59732 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/EntityUtils.java @@ -28,8 +28,10 @@ import com.gitlab.cdagaming.craftpresence.config.Config; import com.gitlab.cdagaming.craftpresence.core.config.element.ModuleData; import com.gitlab.cdagaming.craftpresence.core.impl.Module; +import com.mojang.minecraft.entity.Entity; +import com.mojang.minecraft.entity.EntityList; +import com.mojang.minecraft.level.World; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.*; import java.util.List; import java.util.Map; @@ -142,7 +144,7 @@ public static String getWeather(final World worldObj) { * @return the current weather data */ public static String getWeather(final Entity entity) { - return getWeather((World) null); + return getWeather(entity != null ? entity.worldObj : null); } @Override diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/TileEntityUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/TileEntityUtils.java index 17126d3265..d0923df467 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/TileEntityUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/entity/TileEntityUtils.java @@ -27,11 +27,12 @@ import com.gitlab.cdagaming.craftpresence.CraftPresence; import com.gitlab.cdagaming.craftpresence.ModUtils; import com.gitlab.cdagaming.craftpresence.core.impl.Module; +import com.mojang.minecraft.entity.item.Item; +import com.mojang.minecraft.entity.item.ItemStack; +import com.mojang.minecraft.level.tile.Block; +import com.mojang.minecraft.util.Session; import io.github.cdagaming.unicore.utils.MappingUtils; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.Block; -import net.minecraft.src.Item; -import net.minecraft.src.ItemStack; import java.util.List; import java.util.Map; @@ -168,7 +169,7 @@ public static boolean isEmpty(final Object data) { if (itemStack.stackSize <= 0) { return true; } else { - return itemStack.itemDmg < -32768 || itemStack.itemDmg > 65535; + return itemStack.itemDamage < -32768 || itemStack.itemDamage > 65535; } } else { return true; @@ -437,7 +438,7 @@ public void updatePresence() { @Override public void getAllData() { - for (Block block : Block.blocksList) { + for (Block block : Session.creativeInventory) { if (!isEmpty(block)) { final ItemStack stack = getStackFrom(block); final String blockName = getName(stack); @@ -453,7 +454,7 @@ public void getAllData() { } } - for (Item item : Item.itemsList) { + for (Item item : Session.creativeInventoryItems) { if (!isEmpty(item)) { final ItemStack stack = getStackFrom(item); final String itemName = getName(stack); diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/GuiUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/GuiUtils.java index 54dc28a65c..c53ae6cc1e 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/GuiUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/GuiUtils.java @@ -28,13 +28,13 @@ import com.gitlab.cdagaming.craftpresence.config.Config; import com.gitlab.cdagaming.craftpresence.core.config.element.ModuleData; import com.gitlab.cdagaming.craftpresence.core.impl.Module; +import com.mojang.minecraft.gui.GuiContainer; +import com.mojang.minecraft.gui.GuiScreen; +import com.mojang.minecraft.render.FontRenderer; import io.github.cdagaming.unicore.utils.FileUtils; import io.github.cdagaming.unicore.utils.MappingUtils; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.classgraph.ClassInfo; -import net.minecraft.src.FontRenderer; -import net.minecraft.src.GuiScreen; -import net.minecraft.src.GuiContainer; import java.util.List; import java.util.Map; @@ -90,7 +90,7 @@ public class GuiUtils implements Module { * @return The Default/Global Font Renderer */ public static FontRenderer getDefaultFontRenderer() { - return CraftPresence.instance.fontRenderer; + return CraftPresence.instance.fontRender; } @Override diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/RenderUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/RenderUtils.java index e75309fafa..36ea14797d 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/RenderUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/RenderUtils.java @@ -34,18 +34,18 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedButtonControl; import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedTextControl; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.entity.item.ItemStack; +import com.mojang.minecraft.entity.render.RenderItem; +import com.mojang.minecraft.gui.GuiScreen; +import com.mojang.minecraft.render.FontRenderer; +import com.mojang.minecraft.render.RenderHelper; +import com.mojang.minecraft.render.Tessellator; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.impl.Tuple; import io.github.cdagaming.unicore.utils.MathUtils; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.cdagaming.unicore.utils.TimeUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.src.FontRenderer; -import net.minecraft.src.GuiScreen; -import net.minecraft.src.RenderHelper; -import net.minecraft.src.Tessellator; -import net.minecraft.src.RenderItem; -import net.minecraft.src.ItemStack; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -183,7 +183,7 @@ public static boolean isMouseOver(final ExtendedScreen screen) { * @param targetScreen The target Gui Screen to display */ public static void openScreen(@Nonnull final Minecraft client, final GuiScreen targetScreen) { - client.displayGuiScreen(new GuiScreen() { + client.setCurrentScreen(new GuiScreen() { @Override public void initGui() { // N/A @@ -191,7 +191,7 @@ public void initGui() { @Override public void drawScreen(int i, int j, float par3) { - client.displayGuiScreen(targetScreen); + client.setCurrentScreen(targetScreen); } }); } @@ -219,7 +219,7 @@ public static void drawItemStack(@Nonnull final Minecraft client, final FontRend final int xPos = Math.round(x / scale); final int yPos = Math.round(y / scale); itemRender.renderItemIntoGUI(fontRenderer, client.renderEngine, stack, xPos, yPos); - itemRender.renderItemOverlayIntoGUI(fontRenderer, client.renderEngine, stack, xPos, yPos); + itemRender.renderTextDmg(fontRenderer, client.renderEngine, stack, xPos, yPos); RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL11.GL_DEPTH_TEST); @@ -345,7 +345,7 @@ public static void renderButton(@Nonnull final Minecraft mc, if (data.getFirst()) { GL11.glBindTexture(GL11.GL_TEXTURE_2D, data.getSecond()); } else { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTexture(texLocation)); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTex(texLocation)); } } } catch (Exception ignored) { @@ -392,7 +392,7 @@ public static void drawTexture(@Nonnull final Minecraft mc, if (data.getFirst()) { GL11.glBindTexture(GL11.GL_TEXTURE_2D, data.getSecond()); } else { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTexture(texLocation)); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTex(texLocation)); } } } catch (Exception ignored) { @@ -699,7 +699,7 @@ private static void applyScissor(@Nonnull final Minecraft mc, final ScreenRectan public static int computeGuiScale(@Nonnull final Minecraft mc) { int scaleFactor = 1; - int k = 0; + int k = mc.options.guiScale; if (k == 0) { k = 1000; } diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/CheckBoxControl.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/CheckBoxControl.java index a0f0e5b77f..06a84e4c68 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/CheckBoxControl.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/CheckBoxControl.java @@ -26,7 +26,7 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; -import net.minecraft.client.Minecraft; +import com.mojang.minecraft.Minecraft; import javax.annotation.Nonnull; @@ -157,12 +157,12 @@ public CheckBoxControl(final int xPos, final int yPos, final String displayStrin * Draws this button to the screen. */ @Override - public void drawButton(@Nonnull Minecraft mc, int mouseX, int mouseY) { - setCurrentFontRender(mc.fontRenderer); + public void func_561_a(@Nonnull Minecraft mc, int mouseX, int mouseY) { + setCurrentFontRender(mc.fontRender); if (isControlVisible()) { setHoveringOver(isOverScreen() && RenderUtils.isMouseOver(mouseX, mouseY, this)); - mouseDragged(mc, mouseX, mouseY); + func_560_b(mc, mouseX, mouseY); final int color = !isControlEnabled() ? 10526880 : 14737632; if (isChecked()) @@ -189,9 +189,9 @@ left, getTop(), getRight() - 2, getBottom(), * Equivalent of MouseListener.mouseDragged(MouseEvent e). */ @Override - protected void mouseDragged(@Nonnull Minecraft mc, int mouseX, int mouseY) { + protected void func_560_b(@Nonnull Minecraft mc, int mouseX, int mouseY) { if (isControlVisible()) { - final int hoverState = getHoverState(isHoveringOrFocusingOver()); + final int hoverState = func_558_a(isHoveringOrFocusingOver()); final String borderColor = hoverState == 2 ? "#FFFFFF" : "#000000"; final String contentColor = "#2b2b2b"; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedButtonControl.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedButtonControl.java index a4c93168dd..57f2f5594b 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedButtonControl.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedButtonControl.java @@ -29,9 +29,9 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.DynamicWidget; -import net.minecraft.client.Minecraft; -import net.minecraft.src.FontRenderer; -import net.minecraft.src.GuiButton; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.gui.GuiButton; +import com.mojang.minecraft.render.FontRenderer; import javax.annotation.Nonnull; @@ -205,12 +205,12 @@ public void postDraw(final ExtendedScreen screen) { } @Override - public void drawButton(@Nonnull Minecraft mc, int mouseX, int mouseY) { - setCurrentFontRender(mc.fontRenderer); + public void func_561_a(@Nonnull Minecraft mc, int mouseX, int mouseY) { + setCurrentFontRender(mc.fontRender); if (isControlVisible()) { setHoveringOver(isOverScreen() && RenderUtils.isMouseOver(mouseX, mouseY, this)); - mouseDragged(mc, mouseX, mouseY); + func_560_b(mc, mouseX, mouseY); final int color; if (!isControlEnabled()) { @@ -235,9 +235,9 @@ public void drawButton(@Nonnull Minecraft mc, int mouseX, int mouseY) { * Equivalent of MouseListener.mouseDragged(MouseEvent e). */ @Override - protected void mouseDragged(@Nonnull Minecraft mc, int mouseX, int mouseY) { + protected void func_560_b(@Nonnull Minecraft mc, int mouseX, int mouseY) { if (isControlVisible()) { - final int hoverState = getHoverState(isHoveringOrFocusingOver()); + final int hoverState = func_558_a(isHoveringOrFocusingOver()); final int hoverValue = 46 + hoverState * 20; final double xOffset = getControlWidth() / 2D; @@ -257,7 +257,7 @@ xOffset, getControlHeight(), * Equivalent of MouseListener.mousePressed(MouseEvent e). */ @Override - public boolean mousePressed(@Nonnull Minecraft arg, int mouseX, int mouseY) { + public boolean func_562_c(@Nonnull Minecraft arg, int mouseX, int mouseY) { return isOverScreen() && isControlEnabled() && isControlVisible() && isHoveringOver(); } @@ -435,7 +435,7 @@ public void setControlEnabled(final boolean isEnabled) { * @return Whether the control is currently visible */ public boolean isControlVisible() { - return this.visible; + return this.enabled2; } /** @@ -444,7 +444,7 @@ public boolean isControlVisible() { * @param isVisible The new visibility state for this control */ public void setControlVisible(final boolean isVisible) { - this.visible = isVisible; + this.enabled2 = isVisible; } /** diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedTextControl.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedTextControl.java index 3e867fb1ea..9c61f94ce3 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedTextControl.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ExtendedTextControl.java @@ -27,9 +27,9 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.GuiTextField; import com.gitlab.cdagaming.craftpresence.utils.gui.widgets.DynamicWidget; +import com.mojang.minecraft.render.FontRenderer; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.FontRenderer; /** * Extended Gui Widget for a Text Field diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ScrollableListControl.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ScrollableListControl.java index 2f6baea702..ab52bd2b94 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ScrollableListControl.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/ScrollableListControl.java @@ -33,14 +33,14 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.GuiSlot; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.entity.item.ItemStack; +import com.mojang.minecraft.render.FontRenderer; +import com.mojang.minecraft.render.Tessellator; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.utils.MappingUtils; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.classgraph.ClassInfo; -import net.minecraft.client.Minecraft; -import net.minecraft.src.FontRenderer; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Tessellator; import org.meteordev.starscript.value.Value; import javax.annotation.Nonnull; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/SliderControl.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/SliderControl.java index 7386ba500c..eb0d55b410 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/SliderControl.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/controls/SliderControl.java @@ -26,10 +26,10 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; +import com.mojang.minecraft.Minecraft; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.impl.Tuple; import io.github.cdagaming.unicore.utils.MathUtils; -import net.minecraft.client.Minecraft; import javax.annotation.Nonnull; @@ -206,7 +206,7 @@ public SliderControl(final Pair positionData, final Pair> 16 & 255; - int var4 = i >> 8 & 255; - int var5 = i & 255; - instance.setColorRGBA(var3, var4, var5, j); - } } diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/integrations/GuiTextField.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/integrations/GuiTextField.java index 9b94e69e01..bbb27dee82 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/integrations/GuiTextField.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/integrations/GuiTextField.java @@ -25,9 +25,9 @@ package com.gitlab.cdagaming.craftpresence.utils.gui.integrations; import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; -import net.minecraft.src.FontRenderer; -import net.minecraft.src.Gui; -import net.minecraft.src.GuiScreen; +import com.mojang.minecraft.gui.Gui; +import com.mojang.minecraft.gui.GuiScreen; +import com.mojang.minecraft.render.FontRenderer; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/widgets/TextWidget.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/widgets/TextWidget.java index b0ad2cb68a..48a4e97f26 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/widgets/TextWidget.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/gui/widgets/TextWidget.java @@ -28,8 +28,8 @@ import com.gitlab.cdagaming.craftpresence.utils.gui.RenderUtils; import com.gitlab.cdagaming.craftpresence.utils.gui.controls.ExtendedTextControl; import com.gitlab.cdagaming.craftpresence.utils.gui.integrations.ExtendedScreen; +import com.mojang.minecraft.render.FontRenderer; import io.github.cdagaming.unicore.utils.StringUtils; -import net.minecraft.src.FontRenderer; /** * Implementation for a Row-Style {@link ExtendedTextControl} Widget diff --git a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java index 24a514b162..7f603c38dd 100644 --- a/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java +++ b/common/src/main/java/com/gitlab/cdagaming/craftpresence/utils/server/ServerUtils.java @@ -33,15 +33,15 @@ import com.gitlab.cdagaming.craftpresence.core.impl.discord.DiscordStatus; import com.gitlab.cdagaming.craftpresence.core.impl.discord.PartyPrivacy; import com.gitlab.cdagaming.craftpresence.utils.entity.EntityUtils; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.gui.GuiConnecting; +import com.mojang.minecraft.level.WorldClient; +import com.mojang.minecraft.networknew.NetClientHandler; import io.github.cdagaming.unicore.impl.Pair; import io.github.cdagaming.unicore.impl.Tuple; import io.github.cdagaming.unicore.utils.MathUtils; import io.github.cdagaming.unicore.utils.StringUtils; import io.github.cdagaming.unicore.utils.TimeUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.src.GuiConnecting; -import net.minecraft.src.NetClientHandler; -import net.minecraft.src.WorldClient; import java.time.Instant; import java.util.List; @@ -263,8 +263,8 @@ public void updateData() { NetClientHandler newConnection = null; ServerData newServerData; try { - if (CraftPresence.instance.theWorld instanceof WorldClient) { - newConnection = (NetClientHandler) StringUtils.getField(WorldClient.class, ((WorldClient)CraftPresence.instance.theWorld), "sendQueue", "field_1052_A", "A"); + if (CraftPresence.instance.mcWorld instanceof WorldClient) { + newConnection = (NetClientHandler) StringUtils.getField(WorldClient.class, ((WorldClient)CraftPresence.instance.mcWorld), "sendQueue", "field_1052_A", "A"); } } catch (Exception ex) { newConnection = null; @@ -286,7 +286,7 @@ public void updateData() { final String newServer_IP = newServerData != null && !StringUtils.isNullOrEmpty(newServerData.getServerIP()) ? newServerData.getServerIP() : "127.0.0.1"; final String newServer_Name = newServerData != null && !isInvalidName(newServerData.getServerIP()) ? newServerData.getServerIP() : CraftPresence.CONFIG.serverSettings.fallbackServerName; - final String newServer_MOTD = !isOnLAN && CraftPresence.instance.isMultiplayerWorld() && + final String newServer_MOTD = !isOnLAN && CraftPresence.instance.isServer() && newServerData != null && !isInvalidMotd(newServerData.getServerIP()) ? StringUtils.stripAllFormatting(newServerData.getServerIP()) : CraftPresence.CONFIG.serverSettings.fallbackServerMotd; if (newLANStatus != isOnLAN || ((newServerData != null && !newServerData.equals(currentServerData)) || @@ -351,7 +351,7 @@ public void updateData() { // 'world.difficulty' Argument = Current Difficulty of the World final String newDifficulty = false ? ModUtils.RAW_TRANSLATOR.translate("selectWorld.gameMode.hardcore") : - Integer.toString(CraftPresence.instance.theWorld.difficultySetting); + Integer.toString(CraftPresence.player.worldObj.difficulty); if (!newDifficulty.equals(currentDifficulty)) { currentDifficulty = newDifficulty; queuedForUpdate = true; @@ -373,7 +373,7 @@ public void updateData() { } // 'world.time' Arguments = Current Time Data of the World - final Pair newTimeData = TimeUtils.fromWorldTime(CraftPresence.instance.theWorld.worldTime); + final Pair newTimeData = TimeUtils.fromWorldTime(CraftPresence.player.worldObj.worldTime); if (!Objects.equals(newTimeData, worldTimeData)) { dayCount = newTimeData.getFirst(); timeString24 = TimeUtils.toString(newTimeData.getSecond(), "HH:mm"); @@ -498,10 +498,10 @@ public void verifyAndJoin(final String secret) { private void joinServer(final ServerData serverData) { try { if (CraftPresence.player != null) { - CraftPresence.instance.theWorld.sendQuittingDisconnectingPacket(); + CraftPresence.player.worldObj.sendQuittingDisconnectingPacket(); CraftPresence.instance.changeWorld1(null); } - CraftPresence.instance.displayGuiScreen(new GuiConnecting(CraftPresence.instance, serverData.getServerIP(), serverData.getServerPort())); + CraftPresence.instance.setCurrentScreen(new GuiConnecting(CraftPresence.instance, serverData.getServerIP(), serverData.getServerPort())); } catch (Exception ex) { Constants.LOG.debugError(ex); } @@ -534,7 +534,7 @@ public void updatePresence() { ModuleData resultData = new ModuleData(); String formattedIcon; - if (CraftPresence.instance.isMultiplayerWorld() && currentServerData != null) { + if (CraftPresence.instance.isServer() && currentServerData != null) { // Player Amount Arguments CraftPresence.CLIENT.syncArgument("server.players.current", currentPlayers); CraftPresence.CLIENT.syncArgument("server.players.max", maxPlayers); @@ -605,7 +605,7 @@ public void updatePresence() { CraftPresence.CLIENT.PARTY_PRIVACY = PartyPrivacy.from(CraftPresence.CONFIG.generalSettings.partyPrivacyLevel % 2); } } - } else if (!CraftPresence.instance.isMultiplayerWorld()) { + } else if (!CraftPresence.instance.isServer()) { // NOTE: SinglePlayer-Only Presence Updates resultData = CraftPresence.CONFIG.statusMessages.singleplayerData; currentServerMessage = Config.isValidProperty(resultData, "textOverride") ? resultData.getTextOverride() : ""; diff --git a/fabric/build.gradle.kts b/fabric/build.gradle.kts index bce5118a39..0fe831f0b8 100644 --- a/fabric/build.gradle.kts +++ b/fabric/build.gradle.kts @@ -1,7 +1,3 @@ -import xyz.wagyourtail.unimined.api.mapping.task.ExportMappingsTask -import xyz.wagyourtail.unimined.api.minecraft.patch.fabric.FabricLikePatcher -import xyz.wagyourtail.unimined.api.minecraft.task.RemapJarTask - /** * Retrieve a Project Property */ @@ -22,22 +18,7 @@ val mcVersionLabel: String by extra val baseVersionLabel: String by extra unimined.minecraft { - val fabricData: FabricLikePatcher.() -> Unit = { - if (accessWidenerFile.exists()) { - accessWidener(accessWidenerFile) - } - loader("fabric_loader_version"()!!) - if (isJarMod) { - prodNamespace("official") - devMappings = null - } - customIntermediaries = true - } - if (isModern) { - fabric(fabricData) - } else { - legacyFabric(fabricData) - } + // N/A } val common: Configuration by configurations.creating @@ -47,6 +28,8 @@ configurations.compileClasspath.get().extendsFrom(common) configurations.runtimeClasspath.get().extendsFrom(common) dependencies { + "jarMod"("local:nsss:${"forge_version"()}") + // Fabric Integrations (1.14+) if (isModern) { // Required for loading translation data @@ -80,26 +63,8 @@ tasks.processResources { filesMatching(resourceTargets) { expand(replaceProperties) } - - filesMatching("mappings-fabric.srg") { - filter { line -> - @Suppress("NULL_FOR_NONNULL_TYPE") - if (line.startsWith("CL:")) line else null - } - } } -tasks.named("exportMappings") { - val target = if (isMCPJar) "searge" else (if (!isModern) "mcp" else "mojmap") - export { - setTargetNamespaces(listOf(target)) - setSourceNamespace(if (isJarMod) "official" else "intermediary") - location = file("$projectDir/src/main/resources/mappings-fabric.srg") - setType("SRG") - } -} -tasks.processResources.get().dependsOn(tasks.named("exportMappings")) - tasks.shadowJar { mustRunAfter(project(":common").tasks.shadowJar) dependsOn(project(":common").tasks.shadowJar) @@ -156,15 +121,7 @@ tasks.shadowJar { relocate("me.hypherionmc", "external.me.hypherionmc") } } - -tasks.named("remapJar") { - if (isJarMod) { - prodNamespace("official") - } - inputFile.set(tasks.shadowJar.get().archiveFile) - dependsOn(tasks.shadowJar.get()) - archiveClassifier.set("fabric") -} +tasks.build.get().dependsOn(tasks.shadowJar.get()) tasks.jar { archiveClassifier.set("dev") diff --git a/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/CraftPresenceFabric.java b/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/CraftPresenceFabric.java index 564078f7be..4c6acb3aba 100644 --- a/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/CraftPresenceFabric.java +++ b/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/CraftPresenceFabric.java @@ -27,16 +27,14 @@ import com.gitlab.cdagaming.craftpresence.CraftPresence; import io.github.cdagaming.unicore.utils.MappingUtils; import io.github.cdagaming.unicore.utils.OSUtils; -import net.fabricmc.api.ClientModInitializer; /** * The Primary Application Class and Utilities * * @author CDAGaming */ -public class CraftPresenceFabric implements ClientModInitializer { - @Override - public void onInitializeClient() { +public class CraftPresenceFabric { + public void onInitialize() { if (OSUtils.JAVA_SPEC < 1.8f) { throw new UnsupportedOperationException("Incompatible JVM!!! @MOD_NAME@ requires Java 8 or above to work properly!"); } diff --git a/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/NSSSBootstrap.java b/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/NSSSBootstrap.java new file mode 100644 index 0000000000..0062564eff --- /dev/null +++ b/fabric/src/main/java/com/gitlab/cdagaming/craftpresence/fabric/NSSSBootstrap.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2018 - 2024 CDAGaming (cstack2011@yahoo.com) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package com.gitlab.cdagaming.craftpresence.fabric; + +import io.github.cdagaming.unicore.utils.StringUtils; +import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint; +import net.fabricmc.loader.impl.FabricLoaderImpl; +import net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider; + +public class NSSSBootstrap implements PreLaunchEntrypoint { + @Override + public void onPreLaunch() { + try { + StringUtils.updateField( + MinecraftGameProvider.class, + FabricLoaderImpl.INSTANCE.getGameProvider(), + "com.mojang.minecraft.Minecraft", + "entrypoint" + ); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + new CraftPresenceFabric().onInitialize(); + } +} diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 3b8867406d..0dfc5ffb6a 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -16,8 +16,8 @@ "icon": "logo.png", "environment": "client", "entrypoints": { - "client": [ - "com.gitlab.cdagaming.craftpresence.fabric.CraftPresenceFabric" + "preLaunch": [ + "com.gitlab.cdagaming.craftpresence.fabric.NSSSBootstrap" ] }, "custom": { diff --git a/gradle.properties b/gradle.properties index 0d26078d6c..d9e0d1b1a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false # Archive Info -mod_name=CraftPresence +mod_name=CraftPresence-NSSS group=com.gitlab.cdagaming -enabled_platforms=fabric,modloader +enabled_platforms=fabric # Critical Info isLegacyASM=false isLegacy=true @@ -18,20 +18,20 @@ mc_mappings=a1.1.2_01 mc_mappings_type=retroMCP mc_version=a1.1.2_01 mc_protocol=2 -display_version= +display_version=a1.1.11 # Fabric Info fabric_loader_version=0.15.10 fabric_api_version= fabric_game_version_range=* fabric_loader_version_range=>=0.13.0 # Forge Info -forge_version=a1.1.2_01 +forge_version=111-1 fml_version_range= forge_game_version_range=a1.1.2_01 forge_loader_version_range= # Deployment Info versionId=2.3.9 -deploymentType=Release +deploymentType=Alpha versionLabel=Release additional_mc_versions= additional_loaders= diff --git a/libs/nsss-111-1.jar b/libs/nsss-111-1.jar new file mode 100644 index 0000000000..55347a3a47 Binary files /dev/null and b/libs/nsss-111-1.jar differ