Skip to content

Commit

Permalink
[Port] Update to special/nsss (v2.4.1)
Browse files Browse the repository at this point in the history
  • Loading branch information
CDAGaming committed Jun 17, 2024
1 parent 0f9df25 commit cddfa72
Show file tree
Hide file tree
Showing 34 changed files with 213 additions and 346 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,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
2 changes: 1 addition & 1 deletion .github/workflows/deploy_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,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
2 changes: 1 addition & 1 deletion .github/workflows/deploy_curseforge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,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
2 changes: 1 addition & 1 deletion .github/workflows/deploy_modrinth.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,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
140 changes: 27 additions & 113 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import com.diffplug.gradle.spotless.SpotlessExtension
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.hypherionmc.modfusioner.plugin.FusionerExtension
import xyz.wagyourtail.jvmdg.gradle.task.files.DowngradeFiles
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.api.minecraft.task.RemapJarTask
import java.time.LocalDateTime
import java.time.ZoneOffset
Expand Down Expand Up @@ -106,6 +108,9 @@ subprojects {
}

repositories {
flatDir {
dirs("$rootDir/libs")
}
mavenLocal()
mavenCentral()
// ModLoader Mavens
Expand Down Expand Up @@ -154,121 +159,32 @@ subprojects {

extensions.getByType<UniminedExtension>().minecraft(sourceSets.getByName("main"), true) {
side(if (isJarMod) "client" else "combined")
version(mcVersion)
version("empty-$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") }
}
}
}

"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")
}
}
}

if (isMCPJar) {
if (protocol <= 2) { // MC a1.1.2_01 and below
devNamespace("searge")
} else {
devFallbackNamespace("searge")
}
} else if (usingIntermediary) {
devFallbackNamespace("intermediary")
customIntermediaries = true
}
if (isModern) {
fabric(fabricData)
} else {
merged {
legacyFabric(fabricData)
jarMod {}
}
}

if (shouldDowngrade) {
val apiVersion = if (buildVersion.isJava7) JavaVersion.VERSION_1_8 else buildVersion
runs.config("client") {
val downgradeClient = tasks.create("downgradeClient", DowngradeFiles::class.java) {
inputCollection = sourceSet.output.classesDirs + sourceSet.runtimeClasspath
classpath = project.files()
}
launchClasspath = downgradeClient.outputCollection + files(jvmdg.getDowngradedApi(apiVersion))
runFirst.add(downgradeClient)
}
}
mappings {
devNamespace("official")
devFallbackNamespace("official")
}

minecraftRemapper.config {
Expand Down Expand Up @@ -350,9 +266,7 @@ subprojects {
jvmdg.debugSkipStubs.add(JavaVersion.VERSION_1_8)
}

val remapJar = tasks.getByName<RemapJarTask>("remapJar") {
destinationDirectory = temporaryDir
}
val remapJar = tasks.getByName<ShadowJar>("shadowJar")

tasks.getByName("assemble").dependsOn("shadeDowngradedApi")
tasks.downgradeJar {
Expand Down
21 changes: 4 additions & 17 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import xyz.wagyourtail.unimined.api.minecraft.patch.fabric.FabricLikePatcher
import java.util.regex.Pattern

plugins {
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -196,7 +194,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;
Expand All @@ -212,39 +210,4 @@ private void clientTick() {
}
}
}

private static void ThrowException(Throwable e) {
ThrowException("Exception occurred 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 (Thread thread : threads) {
if (thread.getName().equals("Timer hack thread")) {
instance = (Minecraft) StringUtils.getField(ThreadSleepForever.class, thread, "mc", "field_1588_a", "a");
break;
}
}
} catch (Exception var4) {
ThrowException(var4);
}
}

return instance;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

public class MainGui extends ConfigurationGui<Config> {
private final Config INSTANCE, DEFAULTS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.ExtendedModule;
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;
import java.util.function.Supplier;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
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.utils.StringUtils;
import net.minecraft.src.GuiControls;
import net.minecraft.src.KeyBinding;
import org.lwjgl.input.Keyboard;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1293,7 +1293,7 @@ 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
Expand Down
Loading

0 comments on commit cddfa72

Please sign in to comment.