From 9c4da7fa68723d0b447f4bc12ad0ac9cd432b570 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 16:26:58 -0500 Subject: [PATCH 1/2] Remove Fabric subproject --- fabric/build.gradle | 128 ------- .../modernfix/ModernFixClientFabric.java | 18 - .../embeddedt/modernfix/ModernFixFabric.java | 19 - .../modernfix/ModernFixPreLaunchFabric.java | 35 -- .../api/dynresources/ModelScanController.java | 20 -- .../fabric/datagen/RuntimeDatagen.java | 40 --- .../core/ClientMinecraftServerMixin.java | 18 - .../mixin/core/ClientPlayNetHandlerMixin.java | 23 -- .../fabric/mixin/core/MCMixin_Fabric.java | 18 - .../mixin/core/MinecraftServerMixin.java | 29 -- .../mixin/feature/branding/GuiMixin.java | 21 -- .../measure_time/MinecraftMixin_Fabric.java | 18 - .../ItemOverridesFabricMixin.java | 31 -- .../LoaderInstanceMixin.java | 19 - .../ModelBakerImplMixin.java | 185 ---------- .../dynamic_resources/ModelBakeryMixin.java | 334 ------------------ .../SuggestionsBuilderMixin.java | 30 -- .../mixin/safety/DynamicTextureMixin.java | 32 -- .../modmenu/ModernFixModMenuApiImpl.java | 13 - .../fabric/ModernFixPlatformHooksImpl.java | 127 ------- fabric/src/main/resources/fabric.mod.json | 51 --- .../block/state/BlockStateCacheTest.java | 96 ----- .../DynamicModelCacheTest.java | 26 -- .../testing/util/BootstrapMinecraft.java | 14 - .../util/BootstrapMinecraftExtension.java | 38 -- fabric/testmod/build.gradle | 45 --- .../modernfix/testmod/TestBlock.java | 13 - .../modernfix/testmod/TestBlockItem.java | 12 - .../embeddedt/modernfix/testmod/TestMod.java | 68 ---- .../testmod/client/TestModBlockModel.java | 143 -------- .../testmod/client/TestModClient.java | 29 -- .../modernfix/testmod/mixin/ChunkMixin.java | 21 -- .../testmod/mixin/DebugLevelSourceMixin.java | 42 --- .../testmod/mixin/RenderChunkMixin.java | 23 -- .../mfix_testmod/textures/block/base_wool.png | Bin 560 -> 0 bytes .../src/main/resources/fabric.mod.json | 26 -- fabric/testmod/src/main/resources/pack.mcmeta | 7 - .../src/main/resources/testmod.mixins.json | 16 - gradle.properties | 2 +- scripts/modernfixlib.py | 2 +- test_agent/build.gradle | 87 ----- .../embeddedt/modernfix/testing/Agent.java | 61 ---- .../modernfix/testing/AgentHooks.java | 17 - 43 files changed, 2 insertions(+), 1995 deletions(-) delete mode 100644 fabric/build.gradle delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/ModernFixClientFabric.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/ModernFixPreLaunchFabric.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/api/dynresources/ModelScanController.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/datagen/RuntimeDatagen.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientMinecraftServerMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientPlayNetHandlerMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MCMixin_Fabric.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MinecraftServerMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/branding/GuiMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/measure_time/MinecraftMixin_Fabric.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ItemOverridesFabricMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/LoaderInstanceMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakerImplMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/faster_command_suggestions/SuggestionsBuilderMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/safety/DynamicTextureMixin.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/fabric/modmenu/ModernFixModMenuApiImpl.java delete mode 100644 fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java delete mode 100644 fabric/src/main/resources/fabric.mod.json delete mode 100644 fabric/src/test/java/net/minecraft/world/level/block/state/BlockStateCacheTest.java delete mode 100644 fabric/src/test/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCacheTest.java delete mode 100644 fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraft.java delete mode 100644 fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraftExtension.java delete mode 100644 fabric/testmod/build.gradle delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlock.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlockItem.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestMod.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModBlockModel.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModClient.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/ChunkMixin.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/DebugLevelSourceMixin.java delete mode 100644 fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/RenderChunkMixin.java delete mode 100644 fabric/testmod/src/main/resources/assets/mfix_testmod/textures/block/base_wool.png delete mode 100644 fabric/testmod/src/main/resources/fabric.mod.json delete mode 100644 fabric/testmod/src/main/resources/pack.mcmeta delete mode 100644 fabric/testmod/src/main/resources/testmod.mixins.json delete mode 100644 test_agent/build.gradle delete mode 100644 test_agent/src/main/java/org/embeddedt/modernfix/testing/Agent.java delete mode 100644 test_agent/src/main/java/org/embeddedt/modernfix/testing/AgentHooks.java diff --git a/fabric/build.gradle b/fabric/build.gradle deleted file mode 100644 index fc1fc136..00000000 --- a/fabric/build.gradle +++ /dev/null @@ -1,128 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" - id 'com.adarshr.test-logger' version '3.2.0' - id "modernfix.mod-common-conventions" - id "modernfix.platform-conventions" -} - -architectury { - platformSetupLoomIde() - fabric() -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - - modIncludeImplementation - - include.extendsFrom modIncludeImplementation - modImplementation.extendsFrom modIncludeImplementation - - testAgent { - canBeConsumed = false - } -} - -dependencies { - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - testImplementation "net.fabricmc:fabric-loader-junit:${rootProject.fabric_loader_version}" - annotationProcessor("io.github.llamalad7:mixinextras-fabric:${rootProject.mixinextras_version}") - - modCompileOnly(fabricApi.module("fabric-api-base", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-screen-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-command-api-v2", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-model-loading-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-models-v0", "0.84.0+1.20.1")) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-resource-loader-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modCompileOnly(fabricApi.module("fabric-data-generation-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - if(project.use_fabric_api_at_runtime.toBoolean()) { - modImplementation("com.terraformersmc:modmenu:${rootProject.modmenu_version}") { transitive false } - modImplementation "curse.maven:spark-361579:${rootProject.spark_version}" - modRuntimeOnly("net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}") { exclude group: 'net.fabricmc', module: 'fabric-loader' } - } else { - modCompileOnly("com.terraformersmc:modmenu:${rootProject.modmenu_version}") { transitive false } - modCompileOnly "curse.maven:spark-361579:${rootProject.spark_version}" - } - - // Remove the next line if you don't want to depend on the API - // modApi "me.shedaniel:architectury-fabric:${rootProject.architectury_version}" - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - testImplementation(shadowCommon(project(path: ":common", configuration: "transformProductionFabric"))) { transitive false } - shadowCommon(project(path: ":annotations")) - - testImplementation(platform("org.junit:junit-bom:${project.junit_version}")) - testImplementation("org.junit.jupiter:junit-jupiter-api") - testImplementation("org.junit.jupiter:junit-jupiter-params") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testImplementation("org.junit.platform:junit-platform-launcher") - testImplementation("org.assertj:assertj-core:3.19.0") - testImplementation("com.google.guava:guava-testlib:21.0") - testImplementation("org.mockito:mockito-junit-jupiter:5.3.1") - - testAgent(project("path": ":test_agent", "configuration": "agentJar")) -} - -tasks.named("test") { - useJUnitPlatform() - def runDir = file('test_run') - doFirst() { - runDir.mkdir() - } - workingDir = runDir - systemProperty 'modernfix.ignoreConfigForTesting', 'true' - - // inject our custom agent to fix #817 - FileCollection agentFile = configurations.getByName("testAgent") - jvmArgs "-javaagent:${agentFile.singleFile.absolutePath}" - dependsOn(agentFile) -} - -processResources { - inputs.property "version", project.version - - filesMatching("fabric.mod.json") { - expand "version": project.version - } -} - -shadowJar { - exclude "architectury.common.json" - - configurations = [project.configurations.shadowCommon] - archiveClassifier.set("dev-shadow") -} - -remapJar { - injectAccessWidener = true - input.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier.set(null) -} - -jar { - archiveClassifier.set("dev") -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -publishing { - publications { - mavenFabric(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixClientFabric.java b/fabric/src/main/java/org/embeddedt/modernfix/ModernFixClientFabric.java deleted file mode 100644 index c227389f..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixClientFabric.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.embeddedt.modernfix; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.loader.api.FabricLoader; -import org.embeddedt.modernfix.fabric.datagen.RuntimeDatagen; - -public class ModernFixClientFabric implements ClientModInitializer { - public static ModernFixClient commonMod; - - @Override - public void onInitializeClient() { - commonMod = new ModernFixClient(); - - if(FabricLoader.getInstance().isModLoaded("fabric-data-generation-api-v1")) { - RuntimeDatagen.init(); - } - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java b/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java deleted file mode 100644 index 25bfeef0..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixFabric.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.embeddedt.modernfix; - -import net.fabricmc.api.ModInitializer; -import net.minecraft.server.MinecraftServer; - -import java.lang.ref.WeakReference; - -public class ModernFixFabric implements ModInitializer { - public static ModernFix commonMod; - public static WeakReference theServer = new WeakReference<>(null); - @Override - public void onInitialize() { - commonMod = new ModernFix(); - - // TODO: implement entity ID desync - } - - -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixPreLaunchFabric.java b/fabric/src/main/java/org/embeddedt/modernfix/ModernFixPreLaunchFabric.java deleted file mode 100644 index 3a08c5ef..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/ModernFixPreLaunchFabric.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.embeddedt.modernfix; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint; -import net.fabricmc.loader.impl.gui.FabricGuiEntry; -import net.fabricmc.loader.impl.gui.FabricStatusTree; -import org.embeddedt.modernfix.core.ModernFixMixinPlugin; -import org.embeddedt.modernfix.spark.SparkLaunchProfiler; -import org.embeddedt.modernfix.util.CommonModUtil; - -public class ModernFixPreLaunchFabric implements PreLaunchEntrypoint { - @Override - public void onPreLaunch() { - if(ModernFixMixinPlugin.instance == null) { - System.err.println("Mixin plugin not loaded yet"); - return; - } - if(ModernFixMixinPlugin.instance.isOptionEnabled("feature.spark_profile_launch.OnFabric")) { - CommonModUtil.runWithoutCrash(() -> SparkLaunchProfiler.start("launch"), "Failed to start profiler"); - } - - // Prevent launching with Continuity when dynamic resources is on - if(false && ModernFixMixinPlugin.instance.isOptionEnabled("perf.dynamic_resources.ContinuityCheck") - && FabricLoader.getInstance().isModLoaded("continuity")) { - CommonModUtil.runWithoutCrash(() -> { - FabricGuiEntry.displayError("Compatibility warning", null, tree -> { - FabricStatusTree.FabricStatusTab crashTab = tree.addTab("Warning"); - crashTab.node.addMessage("Continuity and ModernFix's dynamic resources option are not compatible before Minecraft 1.19.4.", FabricStatusTree.FabricTreeWarningLevel.ERROR); - crashTab.node.addMessage("Remove Continuity or disable dynamic resources in the ModernFix config.", FabricStatusTree.FabricTreeWarningLevel.ERROR); - tree.tabs.removeIf(tab -> tab != crashTab); - }, true); - }, "display Continuity warning"); - } - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/api/dynresources/ModelScanController.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/api/dynresources/ModelScanController.java deleted file mode 100644 index 770efcf8..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/api/dynresources/ModelScanController.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.embeddedt.modernfix.fabric.api.dynresources; - -import net.minecraft.resources.ResourceLocation; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Predicate; - -public class ModelScanController { - public static final List> SCAN_PREDICATES = new ArrayList<>(); - public static boolean shouldScanAndTestWrapping(ResourceLocation location) { - if(SCAN_PREDICATES.size() > 0) { - for(Predicate predicate : SCAN_PREDICATES) { - if(!predicate.test(location)) - return false; - } - } - return true; - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/datagen/RuntimeDatagen.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/datagen/RuntimeDatagen.java deleted file mode 100644 index 82863666..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/datagen/RuntimeDatagen.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.embeddedt.modernfix.fabric.datagen; - -import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; -import net.fabricmc.fabric.impl.datagen.FabricDataGenHelper; -import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.screens.TitleScreen; -import net.minecraft.network.chat.Component; -import org.embeddedt.modernfix.ModernFix; - -import java.lang.reflect.Method; - -public class RuntimeDatagen { - private static final boolean SHOULD_RUNTIME_DATAGEN = System.getProperty("fabric-api.datagen.output-dir") != null; - - private static void runRuntimeDatagen() { - // call runInternal directly to avoid exiting immediately - try { - System.setProperty("fabric-api.datagen", "true"); - Method method = FabricDataGenHelper.class.getDeclaredMethod("runInternal"); - method.setAccessible(true); - method.invoke(null); - } catch(Throwable e) { - ModernFix.LOGGER.error("Error running datagen", e); - } finally { - System.clearProperty("fabric-api.datagen"); - } - } - - public static void init() { - if(!SHOULD_RUNTIME_DATAGEN) - return; - ScreenEvents.AFTER_INIT.register(((client, s, scaledWidth, scaledHeight) -> { - if(s instanceof TitleScreen screen) { - screen.addRenderableWidget(Button.builder(Component.literal("DG"), (arg) -> { - runRuntimeDatagen(); - }).pos(screen.width / 2 - 100 - 50, screen.height / 4 + 48).size(50, 20).build()); - } - })); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientMinecraftServerMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientMinecraftServerMixin.java deleted file mode 100644 index 30e8a494..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientMinecraftServerMixin.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.core; - -import net.minecraft.server.MinecraftServer; -import org.embeddedt.modernfix.ModernFixClient; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -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.CallbackInfo; - -@Mixin(MinecraftServer.class) -@ClientOnlyMixin -public class ClientMinecraftServerMixin { - @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/Util;getMillis()J", ordinal = 0)) - private void markServerStarted(CallbackInfo ci) { - ModernFixClient.INSTANCE.onServerStarted((MinecraftServer)(Object)this); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientPlayNetHandlerMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientPlayNetHandlerMixin.java deleted file mode 100644 index ec503e82..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/ClientPlayNetHandlerMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.core; - -import net.minecraft.client.multiplayer.ClientPacketListener; -import org.embeddedt.modernfix.ModernFixClientFabric; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -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.CallbackInfo; - -@Mixin(value = ClientPacketListener.class, priority = 1500) -@ClientOnlyMixin -public class ClientPlayNetHandlerMixin { - @Inject(method = "handleUpdateRecipes", at = @At("RETURN")) - private void signalRecipes(CallbackInfo ci) { - ModernFixClientFabric.commonMod.onRecipesUpdated(); - } - - @Inject(method = "handleUpdateTags", at = @At("RETURN")) - private void signalTags(CallbackInfo ci) { - ModernFixClientFabric.commonMod.onTagsUpdated(); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MCMixin_Fabric.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MCMixin_Fabric.java deleted file mode 100644 index 15c003d1..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MCMixin_Fabric.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.core; - -import net.minecraft.client.Minecraft; -import org.embeddedt.modernfix.ModernFixClient; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -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.CallbackInfo; - -@Mixin(Minecraft.class) -@ClientOnlyMixin -public class MCMixin_Fabric { - @Inject(method = "tick", at = @At("RETURN")) - private void onRenderTickEnd(CallbackInfo ci) { - ModernFixClient.INSTANCE.onRenderTickEnd(); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MinecraftServerMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MinecraftServerMixin.java deleted file mode 100644 index a68e91f0..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/core/MinecraftServerMixin.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.core; - -import net.minecraft.server.MinecraftServer; -import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.ModernFixFabric; -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.CallbackInfo; - -import java.lang.ref.WeakReference; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - @Inject(method = "runServer", at = @At("HEAD")) - private void changeServerReference(CallbackInfo ci) { - ModernFixFabric.theServer = new WeakReference<>((MinecraftServer)(Object)this); - } - - @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/Util;getMillis()J", ordinal = 0)) - private void hookServerStarted(CallbackInfo ci) { - ModernFix.INSTANCE.onServerStarted(); - } - - @Inject(method = "stopServer", at = @At("RETURN")) - private void hookServerShutdown(CallbackInfo ci) { - ModernFix.INSTANCE.onServerDead((MinecraftServer)(Object)this); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/branding/GuiMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/branding/GuiMixin.java deleted file mode 100644 index 47d3f1da..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/branding/GuiMixin.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.feature.branding; - -import net.minecraft.client.gui.components.DebugScreenOverlay; -import org.embeddedt.modernfix.ModernFixClientFabric; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; - -import java.util.List; - -@Mixin(DebugScreenOverlay.class) -@ClientOnlyMixin -public class GuiMixin { - @ModifyVariable(method = "getSystemInformation", at = @At("STORE"), ordinal = 0, require = 0) - private List addModernFix(List list) { - list.add(""); - list.add(ModernFixClientFabric.commonMod.brandingString); - return list; - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/measure_time/MinecraftMixin_Fabric.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/measure_time/MinecraftMixin_Fabric.java deleted file mode 100644 index 6802f84b..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/feature/measure_time/MinecraftMixin_Fabric.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.feature.measure_time; - -import net.minecraft.client.Minecraft; -import org.embeddedt.modernfix.ModernFixClient; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -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.CallbackInfo; - -@Mixin(Minecraft.class) -@ClientOnlyMixin -public class MinecraftMixin_Fabric { - @Inject(method = "doWorldLoad", at = @At("HEAD")) - private void recordWorldLoadStart(CallbackInfo ci) { - ModernFixClient.worldLoadStartTime = System.nanoTime(); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ItemOverridesFabricMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ItemOverridesFabricMixin.java deleted file mode 100644 index 140f0737..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ItemOverridesFabricMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.perf.dynamic_resources; - -import com.llamalad7.mixinextras.injector.wrapoperation.Operation; -import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; -import net.minecraft.client.renderer.block.model.ItemOverrides; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; -import net.minecraft.resources.ResourceLocation; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.embeddedt.modernfix.duck.IExtendedModelBaker; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -@Mixin(ItemOverrides.class) -@ClientOnlyMixin -public class ItemOverridesFabricMixin { - /** - * @author embeddedt - * @reason servers insist on generating invalid item overrides that have missing models - */ - @WrapOperation(method = "bakeModel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/ModelBaker;bake(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/client/resources/model/ModelState;)Lnet/minecraft/client/resources/model/BakedModel;")) - private BakedModel bake(ModelBaker instance, ResourceLocation resourceLocation, ModelState modelState, Operation original) { - boolean prevState = ((IExtendedModelBaker)instance).throwOnMissingModel(false); - try { - return original.call(instance, resourceLocation, modelState); - } finally { - ((IExtendedModelBaker)instance).throwOnMissingModel(prevState); - } - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/LoaderInstanceMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/LoaderInstanceMixin.java deleted file mode 100644 index c9305264..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/LoaderInstanceMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.perf.dynamic_resources; - -import net.fabricmc.fabric.impl.client.model.ModelLoadingRegistryImpl; -import net.minecraft.client.resources.model.ModelBakery; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.embeddedt.modernfix.annotation.RequiresMod; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -@Mixin(ModelLoadingRegistryImpl.LoaderInstance.class) -@RequiresMod("fabric-models-v0") -@ClientOnlyMixin -public class LoaderInstanceMixin { - @Redirect(method = "finish", at = @At(value = "FIELD", target = "Lnet/fabricmc/fabric/impl/client/model/ModelLoadingRegistryImpl$LoaderInstance;loader:Lnet/minecraft/client/resources/model/ModelBakery;"), require = 0) - private void keepLoader(ModelLoadingRegistryImpl.LoaderInstance instance, ModelBakery value) { - /* allow loading models to happen later */ - } -} \ No newline at end of file diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakerImplMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakerImplMixin.java deleted file mode 100644 index 43c86168..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakerImplMixin.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.perf.dynamic_resources; - -import com.google.common.collect.ImmutableList; -import com.llamalad7.mixinextras.injector.wrapoperation.Operation; -import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.*; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.ModernFixClient; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.embeddedt.modernfix.api.entrypoint.ModernFixClientIntegration; -import org.embeddedt.modernfix.duck.IExtendedModelBaker; -import org.embeddedt.modernfix.duck.IExtendedModelBakery; -import org.embeddedt.modernfix.dynamicresources.ModelMissingException; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.lang.invoke.MethodHandle; -import java.lang.invoke.MethodHandles; -import java.util.Objects; -import java.util.Optional; -import java.util.function.Function; - -@Mixin(value = ModelBakery.ModelBakerImpl.class, priority = 600) -@ClientOnlyMixin -public abstract class ModelBakerImplMixin implements IExtendedModelBaker { - private static final boolean debugDynamicModelLoading = Boolean.getBoolean("modernfix.debugDynamicModelLoading"); - @Shadow @Final private ModelBakery field_40571; - - @Shadow public abstract UnbakedModel getModel(ResourceLocation arg); - - @Shadow @Final private Function modelTextureGetter; - - private static final MethodHandle blockStateLoaderHandle; - static { - try { - blockStateLoaderHandle = MethodHandles.lookup().unreflect(ModelBakery.class.getDeclaredMethod( - FabricLoader.getInstance().getMappingResolver().mapMethodName( - "intermediary", - "net.minecraft.client.resources.model.ModelBakery", - "method_4716", - "(Lnet/minecraft/world/level/block/state/BlockState;)V" - ), - BlockState.class - )); - } catch(ReflectiveOperationException e) { - throw new RuntimeException(e); - } - } - - private boolean throwIfMissing; - - @Override - public boolean throwOnMissingModel(boolean flag) { - boolean old = throwIfMissing; - throwIfMissing = flag; - return old; - } - - @Inject(method = "getModel", at = @At("HEAD"), cancellable = true) - private void obtainModel(ResourceLocation arg, CallbackInfoReturnable cir) { - if(debugDynamicModelLoading) - ModernFix.LOGGER.info("Baking {}", arg); - IExtendedModelBakery extendedBakery = (IExtendedModelBakery)this.field_40571; - if(arg instanceof ModelResourceLocation && arg != ModelBakery.MISSING_MODEL_LOCATION) { - // synchronized because we use topLevelModels - synchronized (this.field_40571) { - /* to emulate vanilla model loading, treat as top-level */ - Optional blockOpt = Objects.equals(((ModelResourceLocation)arg).getVariant(), "inventory") ? Optional.empty() : BuiltInRegistries.BLOCK.getOptional(new ResourceLocation(arg.getNamespace(), arg.getPath())); - boolean invalidMRL = false; - if(blockOpt.isPresent()) { - /* load via lambda for mods that expect blockstate to get loaded */ - ImmutableList states; - try { - states = extendedBakery.getBlockStatesForMRL(blockOpt.get().getStateDefinition(), (ModelResourceLocation)arg); - } catch(RuntimeException e) { - states = ImmutableList.of(); - invalidMRL = true; - // Fall back to getModel - cir.setReturnValue(this.field_40571.getModel(arg)); - } - for(BlockState state : states) { - try { - blockStateLoaderHandle.invokeExact(this.field_40571, state); - } catch(Throwable e) { - ModernFix.LOGGER.error("Error loading model", e); - } - } - } else { - this.field_40571.loadTopLevel((ModelResourceLocation)arg); - } - if(!invalidMRL) { - cir.setReturnValue(this.field_40571.topLevelModels.getOrDefault(arg, extendedBakery.mfix$getUnbakedMissingModel())); - // avoid leaks - this.field_40571.topLevelModels.clear(); - } - } - } else - cir.setReturnValue(this.field_40571.getModel(arg)); - UnbakedModel toReplace = cir.getReturnValue(); - if(true) { - for(ModernFixClientIntegration integration : ModernFixClient.CLIENT_INTEGRATIONS) { - try { - toReplace = integration.onUnbakedModelPreBake(arg, toReplace, this.field_40571); - } catch(RuntimeException e) { - ModernFix.LOGGER.error("Exception firing model pre-bake event for {}", arg, e); - } - } - } - cir.setReturnValue(toReplace); - cir.getReturnValue().resolveParents(this.field_40571::getModel); - if(cir.getReturnValue() == extendedBakery.mfix$getUnbakedMissingModel()) { - if(arg != ModelBakery.MISSING_MODEL_LOCATION) { - if(debugDynamicModelLoading) - ModernFix.LOGGER.warn("Model {} not present", arg); - if(throwIfMissing) - throw new ModelMissingException(); - } - } - } - - @WrapOperation(method = "bake", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/UnbakedModel;bake(Lnet/minecraft/client/resources/model/ModelBaker;Ljava/util/function/Function;Lnet/minecraft/client/resources/model/ModelState;Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/client/resources/model/BakedModel;")) - private BakedModel callBakedModelIntegration(UnbakedModel unbakedModel, ModelBaker baker, Function spriteGetter, ModelState state, ResourceLocation location, Operation operation) { - BakedModel model = operation.call(unbakedModel, baker, spriteGetter, state, location); - - for(ModernFixClientIntegration integration : ModernFixClient.CLIENT_INTEGRATIONS) { - model = integration.onBakedModelLoad(location, unbakedModel, model, state, this.field_40571, spriteGetter); - } - - return model; - } - - /** - * @author embeddedt - * @reason emulate old function, to allow injectors to work - */ - /* - @Overwrite - public BakedModel bake(ResourceLocation arg, ModelState arg2) { - ModelBakery.BakedCacheKey key = new ModelBakery.BakedCacheKey(arg, arg2.getRotation(), arg2.isUvLocked()); - BakedModel existing = this.field_40571.bakedCache.get(key); - if (existing != null) { - return existing; - } else { - synchronized (this.field_40571) { - if(debugDynamicModelLoading) - ModernFix.LOGGER.info("Baking {}", arg); - UnbakedModel iunbakedmodel = this.getModel(arg); - // TODO: make sure parent resolution doesn't re-run many times - iunbakedmodel.resolveParents(this::getModel); - BakedModel ibakedmodel = null; - if (iunbakedmodel instanceof BlockModel) { - BlockModel blockmodel = (BlockModel)iunbakedmodel; - if (blockmodel.getRootModel() == ModelBakery.GENERATION_MARKER) { - ibakedmodel = ModelBakery.ITEM_MODEL_GENERATOR.generateBlockModel(this.modelTextureGetter, blockmodel).bake((ModelBaker)this, blockmodel, this.modelTextureGetter, arg2, arg, false); - } - } - if(ibakedmodel == null) { - // leave the original assignment in the same spot so wrapping injectors work - // this means two bakes might happen for missing models, but not much we can do - ibakedmodel = iunbakedmodel.bake((ModelBaker)this, this.modelTextureGetter, arg2, arg); - IExtendedModelBakery extendedBakery = (IExtendedModelBakery)this.field_40571; - if(iunbakedmodel == extendedBakery.mfix$getUnbakedMissingModel()) { - // use a shared baked missing model - createBakedMissingModelIfNeeded(extendedBakery, iunbakedmodel, arg2, arg); - ibakedmodel = extendedBakery.getBakedMissingModel(); - } - } - this.field_40571.bakedCache.put(key, ibakedmodel); - return ibakedmodel; - } - } - } - - */ -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java deleted file mode 100644 index 6949cad8..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ /dev/null @@ -1,334 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.perf.dynamic_resources; - -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.RemovalNotification; -import com.google.common.collect.ForwardingMap; -import com.google.common.collect.ImmutableList; -import net.minecraft.client.Minecraft; -import net.minecraft.client.color.block.BlockColors; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.*; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.Property; -import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.ModernFixClient; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.embeddedt.modernfix.api.entrypoint.ModernFixClientIntegration; -import org.embeddedt.modernfix.duck.IExtendedModelBaker; -import org.embeddedt.modernfix.duck.IExtendedModelBakery; -import org.embeddedt.modernfix.dynamicresources.DynamicBakedModelProvider; -import org.embeddedt.modernfix.dynamicresources.ModelBakeryHelpers; -import org.objectweb.asm.Opcodes; -import org.slf4j.Logger; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Mutable; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyArg; -import org.spongepowered.asm.mixin.injection.Redirect; -import org.spongepowered.asm.mixin.injection.*; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.*; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.TimeUnit; -import java.util.function.BiConsumer; -import java.util.function.BiFunction; - -/* low priority so that our injectors are added after other mods' */ -@Mixin(value = ModelBakery.class, priority = 1100) -@ClientOnlyMixin -public abstract class ModelBakeryMixin implements IExtendedModelBakery { - - private static final boolean debugDynamicModelLoading = Boolean.getBoolean("modernfix.debugDynamicModelLoading"); - - @Shadow @Final @Mutable public Map unbakedCache; - - @Shadow @Final public static ModelResourceLocation MISSING_MODEL_LOCATION; - - @Shadow @Final private Set loadingStack; - - @Shadow protected abstract void loadModel(ResourceLocation blockstateLocation) throws Exception; - - @Shadow @Final @Mutable - private Map bakedTopLevelModels; - - @Shadow @Final @Mutable private Map bakedCache; - - @Shadow @Final @Mutable private BlockColors blockColors; - @Shadow @Final private static Logger LOGGER; - - @Shadow - public abstract void loadTopLevel(ModelResourceLocation modelResourceLocation); - - @Shadow public abstract UnbakedModel getModel(ResourceLocation resourceLocation); - - private Cache loadedBakedModels; - - private Cache loadedModels; - - private HashMap smallLoadingCache = new HashMap<>(); - - private boolean ignoreModelLoad; - - // disable fabric recursion - @SuppressWarnings("unused") - private boolean fabric_enableGetOrLoadModelGuard; - - - @Redirect(method = "", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/resources/model/ModelBakery;blockColors:Lnet/minecraft/client/color/block/BlockColors;")) - private void replaceTopLevelBakedModels(ModelBakery bakery, BlockColors val) { - // we can handle recursion in getModel without issues - fabric_enableGetOrLoadModelGuard = false; - this.blockColors = val; - this.loadedBakedModels = CacheBuilder.newBuilder() - .expireAfterAccess(ModelBakeryHelpers.MAX_MODEL_LIFETIME_SECS, TimeUnit.SECONDS) - .maximumSize(ModelBakeryHelpers.MAX_BAKED_MODEL_COUNT) - .concurrencyLevel(8) - .removalListener(this::onModelRemoved) - .softValues() - .build(); - this.loadedModels = CacheBuilder.newBuilder() - .expireAfterAccess(ModelBakeryHelpers.MAX_MODEL_LIFETIME_SECS, TimeUnit.SECONDS) - .maximumSize(ModelBakeryHelpers.MAX_UNBAKED_MODEL_COUNT) - .concurrencyLevel(8) - .removalListener(this::onModelRemoved) - //.softValues() - .build(); - this.bakedCache = loadedBakedModels.asMap(); - ConcurrentMap unbakedCacheBackingMap = loadedModels.asMap(); - this.unbakedCache = new ForwardingMap() { - @Override - protected Map delegate() { - return unbakedCacheBackingMap; - } - - @Override - public UnbakedModel put(ResourceLocation key, UnbakedModel value) { - smallLoadingCache.put(key, value); - return super.put(key, value); - } - }; - this.bakedTopLevelModels = new DynamicBakedModelProvider((ModelBakery)(Object)this, bakedCache); - } - - @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", ordinal = 0)) - private void ignoreFutureModelLoads(CallbackInfo ci) { - this.ignoreModelLoad = true; - } - - private void onModelRemoved(RemovalNotification notification) { - if(!debugDynamicModelLoading) - return; - Object k = notification.getKey(); - if(k == null) - return; - ResourceLocation rl; - boolean baked = false; - if(k instanceof ResourceLocation) { - rl = (ResourceLocation)k; - } else { - rl = ((ModelBakery.BakedCacheKey)k).id(); - baked = true; - } - /* can fire when a model is replaced */ - if(!baked && this.loadedModels.getIfPresent(rl) != null) - return; - ModernFix.LOGGER.warn("Evicted {} model {}", baked ? "baked" : "unbaked", rl); - } - - private UnbakedModel missingModel; - - private Set blockStateFiles; - private Set modelFiles; - - @ModifyArg(method = "", at = @At(value = "INVOKE", target = "Ljava/util/Map;put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", ordinal = 0), index = 1) - private Object captureMissingModel(Object model) { - this.missingModel = (UnbakedModel)model; - this.blockStateFiles = new HashSet<>(); - this.modelFiles = new HashSet<>(); - return this.missingModel; - } - - /** - * @author embeddedt - * @reason don't actually load most models - */ - @Redirect(method = "*", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/ModelBakery;loadTopLevel(Lnet/minecraft/client/resources/model/ModelResourceLocation;)V")) - private void addTopLevelFile(ModelBakery bakery, ModelResourceLocation location) { - if(location == MISSING_MODEL_LOCATION || !this.ignoreModelLoad) { - loadTopLevel(location); - } - } - - @Redirect(method = "", at = @At(value = "INVOKE", target = "Ljava/util/Map;forEach(Ljava/util/function/BiConsumer;)V", ordinal = 0)) - private void fetchStaticDefinitions(Map> map, BiConsumer> func) { - /* no-op */ - } - - @Redirect(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/StateDefinition;getPossibleStates()Lcom/google/common/collect/ImmutableList;", ordinal = 0)) - private ImmutableList fetchBlocks(StateDefinition def) { - /* no-op */ - return ImmutableList.of(); - } - - /** - * Make a copy of the top-level model list to avoid CME if more models get loaded here. - */ - @Redirect(method = "", at = @At(value = "INVOKE", target = "Ljava/util/Map;values()Ljava/util/Collection;", ordinal = 0)) - private Collection copyTopLevelModelList(Map map) { - return new ArrayList<>(map.values()); - } - - private BiFunction textureGetter; - - @Inject(method = "bakeModels", at = @At("HEAD")) - private void captureGetter(BiFunction getter, CallbackInfo ci) { - this.ignoreModelLoad = false; - textureGetter = getter; - DynamicBakedModelProvider.currentInstance = (DynamicBakedModelProvider)this.bakedTopLevelModels; - } - - @Redirect(method = "bakeModels", at = @At(value = "INVOKE", target = "Ljava/util/Map;keySet()Ljava/util/Set;")) - private Set skipBake(Map instance) { - Set modelSet = new HashSet<>(instance.keySet()); - if(modelSet.size() > 0) - ModernFix.LOGGER.info("Early baking {} models", modelSet.size()); - return modelSet; - } - - /** - * Use the already loaded missing model instead of the cache entry (which will probably get evicted). - */ - @Redirect(method = "loadModel", at = @At(value = "INVOKE", target = "Ljava/util/Map;get(Ljava/lang/Object;)Ljava/lang/Object;", ordinal = 1)) - private Object getMissingModel(Map map, Object rl) { - if(rl == MISSING_MODEL_LOCATION && map == unbakedCache) - return missingModel; - return unbakedCache.get(rl); - } - - @ModifyVariable(method = "cacheAndQueueDependencies", at = @At("HEAD"), argsOnly = true) - private UnbakedModel fireUnbakedEvent(UnbakedModel model, ResourceLocation location) { - for(ModernFixClientIntegration integration : ModernFixClient.CLIENT_INTEGRATIONS) { - try { - model = integration.onUnbakedModelLoad(location, model, (ModelBakery)(Object)this); - } catch(RuntimeException e) { - ModernFix.LOGGER.error("Exception firing model load event for {}", location, e); - } - } - return model; - } - - private int mfix$nestedLoads = 0; - - /** - * @author embeddedt - * @reason synchronize - */ - @Inject(method = "getModel", at = @At("HEAD"), cancellable = true) - public void getOrLoadModelDynamic(ResourceLocation modelLocation, CallbackInfoReturnable cir) { - if(modelLocation.equals(MISSING_MODEL_LOCATION)) { - cir.setReturnValue(missingModel); - return; - } - UnbakedModel existing = this.unbakedCache.get(modelLocation); - if (existing != null) { - cir.setReturnValue(existing); - } else { - synchronized(this) { - if (this.loadingStack.contains(modelLocation)) { - throw new IllegalStateException("Circular reference while loading " + modelLocation); - } else { - this.loadingStack.add(modelLocation); - UnbakedModel iunbakedmodel = missingModel; - - while(!this.loadingStack.isEmpty()) { - ResourceLocation resourcelocation = this.loadingStack.iterator().next(); - - mfix$nestedLoads++; - try { - existing = this.unbakedCache.get(resourcelocation); - if (existing == null) { - if(debugDynamicModelLoading) - LOGGER.info("Loading {}", resourcelocation); - this.loadModel(resourcelocation); - } else - smallLoadingCache.put(resourcelocation, existing); - } catch (ModelBakery.BlockStateDefinitionException var9) { - LOGGER.warn(var9.getMessage()); - this.unbakedCache.put(resourcelocation, iunbakedmodel); - smallLoadingCache.put(resourcelocation, iunbakedmodel); - } catch (Exception var10) { - LOGGER.warn("Unable to load model: '{}' referenced from: {}: {}", resourcelocation, modelLocation, var10); - this.unbakedCache.put(resourcelocation, iunbakedmodel); - smallLoadingCache.put(resourcelocation, iunbakedmodel); - } finally { - mfix$nestedLoads--; - this.loadingStack.remove(resourcelocation); - } - } - - // We have to get the result from the temporary cache used for a model load - // As in pathological cases (e.g. Pedestals on 1.19) unbakedCache can lose - // the model immediately - UnbakedModel result = smallLoadingCache.getOrDefault(modelLocation, iunbakedmodel); - try { - // required as some mods (e.g. EBE) call bake directly on the returned model, without resolving parents themselves - result.resolveParents(this::getModel); - } catch(RuntimeException ignored) {} - // We are done with loading, so clear this cache to allow GC of any unneeded models - if(mfix$nestedLoads == 0) - smallLoadingCache.clear(); - cir.setReturnValue(result); - } - } - } - } - - private , V extends T> BlockState setPropertyGeneric(BlockState state, Property prop, Object o) { - return state.setValue(prop, (V)o); - } - @Redirect(method = "loadModel", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/StateDefinition;getPossibleStates()Lcom/google/common/collect/ImmutableList;")) - private ImmutableList loadOnlyRelevantBlockState(StateDefinition stateDefinition, ResourceLocation location) { - if(!(location instanceof ModelResourceLocation) || Minecraft.getInstance().getOverlay() != null || Minecraft.getInstance().level == null) - return stateDefinition.getPossibleStates(); - return ModelBakeryHelpers.getBlockStatesForMRL(stateDefinition, (ModelResourceLocation)location); - } - - @Override - public BakedModel bakeDefault(ResourceLocation modelLocation, ModelState state) { - ModelBakery.BakedCacheKey key = new ModelBakery.BakedCacheKey(modelLocation, BlockModelRotation.X0_Y0.getRotation(), BlockModelRotation.X0_Y0.isUvLocked()); - BakedModel m = loadedBakedModels.getIfPresent(key); - if(m != null) - return m; - ModelBakery self = (ModelBakery) (Object) this; - ModelBaker theBaker = self.new ModelBakerImpl(textureGetter, modelLocation); - ((IExtendedModelBaker)theBaker).throwOnMissingModel(true); - synchronized(this) { m = theBaker.bake(modelLocation, state); } - if(m != null) - loadedBakedModels.put(key, m); - return m; - } - - @Override - public ImmutableList getBlockStatesForMRL(StateDefinition stateDefinition, ModelResourceLocation location) { - return loadOnlyRelevantBlockState(stateDefinition, location); - } - - public UnbakedModel mfix$getUnbakedMissingModel() { - return missingModel; - } - - @Override - public void mfix$clearModels() { - loadedModels.invalidateAll(); - loadedBakedModels.invalidateAll(); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/faster_command_suggestions/SuggestionsBuilderMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/faster_command_suggestions/SuggestionsBuilderMixin.java deleted file mode 100644 index 435508d2..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/faster_command_suggestions/SuggestionsBuilderMixin.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.perf.faster_command_suggestions; - -import com.mojang.brigadier.suggestion.Suggestion; -import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import org.spongepowered.asm.mixin.*; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import java.util.List; - -/** - * Simple hack-fix to limit the number of suggestions being processed. Not a perfect fix but mitigates lag decently - * on an i3-4150. - */ -@Mixin(SuggestionsBuilder.class) -public class SuggestionsBuilderMixin { - @Unique - private static final int MAX_SUGGESTIONS = 10000; - - @Shadow(remap = false) @Final @Mutable - private List result; - - @Redirect(method = "*", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z"), require = 0) - private boolean addIfFits(List list, T entry) { - if(list != result || list.size() < MAX_SUGGESTIONS) { - return list.add(entry); - } - return false; - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/safety/DynamicTextureMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/safety/DynamicTextureMixin.java deleted file mode 100644 index e120bc91..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/safety/DynamicTextureMixin.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.embeddedt.modernfix.fabric.mixin.safety; - -import com.mojang.blaze3d.platform.NativeImage; -import net.minecraft.client.renderer.texture.DynamicTexture; -import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.annotation.ClientOnlyMixin; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(DynamicTexture.class) -@ClientOnlyMixin -public class DynamicTextureMixin { - @Shadow @Nullable private NativeImage pixels; - - private Exception closeTrace; - - @Inject(method = "method_22793", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/texture/DynamicTexture;pixels:Lcom/mojang/blaze3d/platform/NativeImage;", ordinal = 0)) - private void checkNullPixels(CallbackInfo ci) { - if(pixels == null) { - ModernFix.LOGGER.error("Attempted to upload null texture! This is not allowed, closed here", closeTrace); - } - } - - @Inject(method = "close", at = @At("HEAD")) - private void storeCloseTrace(CallbackInfo ci) { - closeTrace = new Exception(); - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/modmenu/ModernFixModMenuApiImpl.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/modmenu/ModernFixModMenuApiImpl.java deleted file mode 100644 index 5fe09bb5..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/modmenu/ModernFixModMenuApiImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.embeddedt.modernfix.fabric.modmenu; - -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; -import org.embeddedt.modernfix.screen.ModernFixConfigScreen; - -@SuppressWarnings("unused") -public class ModernFixModMenuApiImpl implements ModMenuApi { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return ModernFixConfigScreen::new; - } -} diff --git a/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java b/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java deleted file mode 100644 index aa8089c2..00000000 --- a/fabric/src/main/java/org/embeddedt/modernfix/platform/fabric/ModernFixPlatformHooksImpl.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.embeddedt.modernfix.platform.fabric; - -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; -import com.mojang.brigadier.CommandDispatcher; -import net.fabricmc.api.EnvType; -import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.CustomValue; -import net.fabricmc.loader.api.metadata.ModMetadata; -import net.minecraft.client.searchtree.SearchRegistry; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.ItemStack; -import org.embeddedt.modernfix.ModernFixFabric; -import org.embeddedt.modernfix.api.constants.IntegrationConstants; -import org.embeddedt.modernfix.core.ModernFixMixinPlugin; -import org.embeddedt.modernfix.platform.ModernFixPlatformHooks; -import org.embeddedt.modernfix.spark.SparkLaunchProfiler; -import org.embeddedt.modernfix.util.CommonModUtil; -import org.objectweb.asm.tree.ClassNode; - -import java.nio.file.Path; -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -public class ModernFixPlatformHooksImpl implements ModernFixPlatformHooks { - public boolean isClient() { - return FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT; - } - - public boolean isDedicatedServer() { - return FabricLoader.getInstance().getEnvironmentType() == EnvType.SERVER; - } - - private static final String verString = FabricLoader.getInstance().getModContainer("modernfix") - .map(mfModContainer -> mfModContainer.getMetadata().getVersion().getFriendlyString()) - .orElse("[unknown]"); - - public String getVersionString() { - return verString; - } - - public boolean modPresent(String modId) { - return FabricLoader.getInstance().getModContainer(modId).isPresent(); - } - - public boolean isDevEnv() { - return FabricLoader.getInstance().isDevelopmentEnvironment(); - } - - public MinecraftServer getCurrentServer() { - return ModernFixFabric.theServer.get(); - } - - public boolean isEarlyLoadingNormally() { - return true; - } - - public boolean isLoadingNormally() { - return true; - } - - public Path getGameDirectory() { - return FabricLoader.getInstance().getGameDir(); - } - - public void sendPacket(ServerPlayer player, Object packet) { - //PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), packet); - } - - public void injectPlatformSpecificHacks() { - } - - public void applyASMTransformers(String mixinClassName, ClassNode targetClass) { - - } - - public void onServerCommandRegister(Consumer> handler) { - if(FabricLoader.getInstance().isModLoaded("fabric-command-api-v2")) - CommandRegistrationCallback.EVENT.register((dispatcher, arg, env) -> handler.accept(dispatcher)); - } - - private static Multimap modOptions; - public Multimap getCustomModOptions() { - if(modOptions == null) { - modOptions = ArrayListMultimap.create(); - for (ModContainer container : FabricLoader.getInstance().getAllMods()) { - ModMetadata meta = container.getMetadata(); - if (meta.containsCustomValue(IntegrationConstants.INTEGRATIONS_KEY)) { - CustomValue integrations = meta.getCustomValue(IntegrationConstants.INTEGRATIONS_KEY); - if (integrations.getType() != CustomValue.CvType.OBJECT) { - continue; - } - for (Map.Entry entry : integrations.getAsObject()) { - if(entry.getValue().getType() != CustomValue.CvType.STRING) - continue; - modOptions.put(entry.getKey(), entry.getValue().getAsString()); - } - } - } - } - return modOptions; - } - - public void registerCreativeSearchTrees(SearchRegistry registry, SearchRegistry.TreeBuilderSupplier nameSupplier, SearchRegistry.TreeBuilderSupplier tagSupplier, BiConsumer, List> populator) { - CreativeModeTabs.searchTab().setSearchTreeBuilder((list) -> { - populator.accept(SearchRegistry.CREATIVE_NAMES, list); - populator.accept(SearchRegistry.CREATIVE_TAGS, list); - }); - } - - public void onLaunchComplete() { - if(ModernFixMixinPlugin.instance.isOptionEnabled("feature.spark_profile_launch.OnFabric")) { - CommonModUtil.runWithoutCrash(() -> SparkLaunchProfiler.stop("launch"), "Failed to stop profiler"); - } - } - - public String getPlatformName() { - return "Fabric"; - } -} diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json deleted file mode 100644 index a20454a8..00000000 --- a/fabric/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "schemaVersion": 1, - "id": "modernfix", - "version": "${version}", - "name": "ModernFix", - "description": "Egregious, yet effective performance improvements for modern Minecraft", - "authors": [ - "embeddedt" - ], - "contact": { - "sources": "https://github.com/embeddedt/ModernFix", - "homepage": "https://modrinth.com/mod/modernfix", - "issues": "https://github.com/embeddedt/ModernFix/issues" - }, - "license": "LGPL-3.0", - "icon": "icon.png", - "custom": { - "modmenu": { - "links": { - "modmenu.kofi": "https://ko-fi.com/embeddedt", - "modmenu.github_releases": "https://github.com/embeddedt/ModernFix/releases", - "modmenu.curseforge": "https://www.curseforge.com/minecraft/mc-mods/modernfix" - } - } - }, - "environment": "*", - "entrypoints": { - "main": [ - "org.embeddedt.modernfix.ModernFixFabric" - ], - "client": [ - "org.embeddedt.modernfix.ModernFixClientFabric" - ], - "modmenu": [ "org.embeddedt.modernfix.fabric.modmenu.ModernFixModMenuApiImpl" ], - "preLaunch": [ - "org.embeddedt.modernfix.ModernFixPreLaunchFabric" - ], - "jei_mod_plugin": [ "org.embeddedt.modernfix.searchtree.JEIRuntimeCapturer"] - }, - "mixins": [ - "modernfix-fabric.mixins.json", - "modernfix-common.mixins.json" - ], - "depends": { - "minecraft": ">=1.16.2", - "fabricloader": ">=0.16.10" - }, - "breaks": { - "dashloader": "<5.0.0-beta.1" - } -} diff --git a/fabric/src/test/java/net/minecraft/world/level/block/state/BlockStateCacheTest.java b/fabric/src/test/java/net/minecraft/world/level/block/state/BlockStateCacheTest.java deleted file mode 100644 index 8c964567..00000000 --- a/fabric/src/test/java/net/minecraft/world/level/block/state/BlockStateCacheTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package net.minecraft.world.level.block.state; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.EmptyBlockGetter; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.FluidState; -import org.embeddedt.modernfix.duck.IBlockState; -import org.embeddedt.modernfix.testing.util.BootstrapMinecraft; -import org.junit.jupiter.api.*; - -import static org.junit.jupiter.api.Assertions.*; - -@BootstrapMinecraft -@TestMethodOrder(MethodOrderer.OrderAnnotation.class) -public class BlockStateCacheTest { - @BeforeEach - public void rebuildCache() { - Blocks.rebuildCache(); - } - - /** - * Initially, the cache should be invalid, and null. - */ - @Test - @Order(1) - public void testCacheNullInitially() { - BlockState stoneBlock = Blocks.STONE.defaultBlockState(); - assertTrue(((IBlockState)stoneBlock).isCacheInvalid()); - assertNull(stoneBlock.cache); - - // make sure lazy cache correctly handles solid - assertTrue(stoneBlock.isSolid()); - } - - /** - * When an API that needs the cache is called, it should be built and the invalid flag - * becomes false. - */ - @Test - @Order(2) - public void testCacheBuiltByRequest() { - BlockState stoneBlock = Blocks.STONE.defaultBlockState(); - stoneBlock.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO); - assertFalse(((IBlockState)stoneBlock).isCacheInvalid()); - assertNotNull(stoneBlock.cache); - } - - /** - * When a second rebuild occurs, the invalid flag should be set to true, but the old cache - * is not set to null, in order to prevent NPEs if a second thread is accessing the cache - * when this takes place. - */ - @Test - @Order(3) - public void testCacheInvalidatedByLateRebuild() { - BlockState stoneBlock = Blocks.STONE.defaultBlockState(); - stoneBlock.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO); - Blocks.rebuildCache(); - assertTrue(((IBlockState)stoneBlock).isCacheInvalid()); - assertNotNull(stoneBlock.cache); - } - - /** - * Tests that the fluidState and isRandomlyTicking caching fields added by Mojang to blockstates are correctly - * handled by the dynamic cache system. - */ - @Test - @Order(4) - public void testExtraFieldCachingCorrect() { - Block[] blocksToCheck = new Block[] { Blocks.WATER, Blocks.FARMLAND }; - for(Block block : blocksToCheck) { - for(BlockState state : block.getStateDefinition().getPossibleStates()) { - // check that the fluid states match - assertEquals(block.getFluidState(state), state.getFluidState(), "mismatched fluid state on " + state); - // check that random ticking flag matches - assertEquals(block.isRandomlyTicking(state), state.isRandomlyTicking(), "mismatched random tick state on " + state); - } - } - } - - @Test - @Order(5) - public void checkRecursiveFluidState() { - Block b = new Block(BlockBehaviour.Properties.copy(Blocks.STONE)) { - @Override - public FluidState getFluidState(BlockState state) { - return state.getFluidState(); - } - }; - BlockState state = b.getStateDefinition().any(); - ((IBlockState)state).clearCache(); - // this should not throw - state.getFluidState(); - } -} diff --git a/fabric/src/test/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCacheTest.java b/fabric/src/test/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCacheTest.java deleted file mode 100644 index 0ed2b26c..00000000 --- a/fabric/src/test/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCacheTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.embeddedt.modernfix.dynamicresources; - -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.BuiltInModel; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import org.embeddedt.modernfix.testing.util.BootstrapMinecraft; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -@BootstrapMinecraft -public class DynamicModelCacheTest { - @Test - public void testCacheReturnsNullForNullGetter() { - DynamicModelCache cache = new DynamicModelCache(k -> null, true); - assertNull(cache.get(Items.STONE)); - } - - @Test - public void testCacheFunctions() { - BakedModel model = new BuiltInModel(null, null, null, false); - DynamicModelCache cache = new DynamicModelCache(k -> model, true); - assertEquals(model, cache.get(Items.STONE)); - } -} diff --git a/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraft.java b/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraft.java deleted file mode 100644 index a1710398..00000000 --- a/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraft.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.embeddedt.modernfix.testing.util; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.junit.jupiter.api.extension.ExtendWith; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.TYPE) -@ExtendWith({ BootstrapMinecraftExtension.class }) -public @interface BootstrapMinecraft { -} diff --git a/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraftExtension.java b/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraftExtension.java deleted file mode 100644 index 5adb9bc6..00000000 --- a/fabric/src/test/java/org/embeddedt/modernfix/testing/util/BootstrapMinecraftExtension.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.embeddedt.modernfix.testing.util; - -import net.minecraft.DetectedVersion; -import net.minecraft.core.MappedRegistry; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.server.Bootstrap; -import org.junit.jupiter.api.extension.AfterAllCallback; -import org.junit.jupiter.api.extension.BeforeAllCallback; -import org.junit.jupiter.api.extension.Extension; -import org.junit.jupiter.api.extension.ExtensionContext; - -import java.lang.reflect.Field; -import java.util.IdentityHashMap; - -/** - * Simple extension to run vanilla bootstrap, inspired by AE2. - */ -public class BootstrapMinecraftExtension implements Extension, BeforeAllCallback, AfterAllCallback { - @Override - public void beforeAll(ExtensionContext context) throws Exception { - DetectedVersion.tryDetectVersion(); - Bootstrap.bootStrap(); - // Allow blocks to be created in tests - Field field = MappedRegistry.class.getDeclaredField("unregisteredIntrusiveHolders"); - field.setAccessible(true); - if(field.get(BuiltInRegistries.BLOCK) == null) { - field.set(BuiltInRegistries.BLOCK, new IdentityHashMap<>()); - field = MappedRegistry.class.getDeclaredField("frozen"); - field.setAccessible(true); - field.setBoolean(BuiltInRegistries.BLOCK, false); - } - } - - @Override - public void afterAll(ExtensionContext context) throws Exception { - - } -} diff --git a/fabric/testmod/build.gradle b/fabric/testmod/build.gradle deleted file mode 100644 index 3435fba5..00000000 --- a/fabric/testmod/build.gradle +++ /dev/null @@ -1,45 +0,0 @@ -plugins { - id 'dev.architectury.loom' -} - -loom { - accessWidenerPath = project(":common").loom.accessWidenerPath - runs { - client { - vmArgs "-Xmx8G" - property("modernfix.config.mixin.perf.blast_search_trees", "true") - property("modernfix.config.mixin.perf.dynamic_resources", "true") - property("modernfix.config.mixin.perf.dynamic_block_codecs", "true") - } - } -} - -dependencies { - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.layered() { - officialMojangMappings() - } - - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - modImplementation(fabricApi.module("fabric-resource-loader-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modImplementation(fabricApi.module("fabric-models-v0", "0.84.0+1.20.1")) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modImplementation(fabricApi.module("fabric-registry-sync-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modImplementation(fabricApi.module("fabric-renderer-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modImplementation(fabricApi.module("fabric-rendering-data-attachment-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modImplementation(fabricApi.module("fabric-rendering-fluids-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - modRuntimeOnly(fabricApi.module("fabric-renderer-indigo", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' } - - implementation project(path: ":common", configuration: "namedElements") - implementation project(path: ":fabric", configuration: "namedElements") -} - -processResources { - inputs.property "version", project.version - - filesMatching("fabric.mod.json") { - expand "version": project.version - } -} - -// Make genSources do nothing in this project -project.gradle.startParameter.excludedTaskNames.add("genSources") \ No newline at end of file diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlock.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlock.java deleted file mode 100644 index c10b8c09..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlock.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.embeddedt.modernfix.testmod; - -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockBehaviour; - -public class TestBlock extends Block { - private static final BlockBehaviour.Properties PROPERTIES = BlockBehaviour.Properties.copy(Blocks.STONE); - - public TestBlock() { - super(PROPERTIES); - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlockItem.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlockItem.java deleted file mode 100644 index f5cbe047..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestBlockItem.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.embeddedt.modernfix.testmod; - -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; - -public class TestBlockItem extends BlockItem { - private static final Item.Properties PROPERTIES = new Item.Properties(); - - public TestBlockItem(TestBlock block) { - super(block, PROPERTIES); - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestMod.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestMod.java deleted file mode 100644 index 81ef4c3d..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/TestMod.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.embeddedt.modernfix.testmod; - -import com.google.common.base.Stopwatch; -import net.fabricmc.api.ModInitializer; -import net.minecraft.core.Registry; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.util.ArrayList; -import java.util.List; - -public class TestMod implements ModInitializer { - public static final String ID = "mfix_testmod"; - public static final Logger LOGGER = LogManager.getLogger("ModernFix TestMod"); - - public static final int NUM_COLORS = 32; - public static final int MAX_COLOR = NUM_COLORS - 1; - - public static final List WOOL_STATES = new ArrayList<>(); - - @Override - public void onInitialize() { - // Register 1 million blocks & items - Stopwatch watch = Stopwatch.createStarted(); - int totalToRegister = NUM_COLORS * NUM_COLORS * NUM_COLORS; - int progressReport = totalToRegister / 20; - int numRegistered = 0; - for(int r = 0; r < NUM_COLORS; r++) { - for(int g = 0; g < NUM_COLORS; g++) { - for(int b = 0; b < NUM_COLORS; b++) { - ResourceLocation name = new ResourceLocation(ID, "wool_" + r + "_" + g + "_" + b); - TestBlock block = Registry.register(BuiltInRegistries.BLOCK, name, new TestBlock()); - WOOL_STATES.add(block.defaultBlockState()); - //Registry.register(BuiltInRegistries.ITEM, name, new TestBlockItem(block)); - numRegistered++; - if((numRegistered % progressReport) == 0) { - LOGGER.info(String.format("Registering... %.02f%%", ((float)numRegistered)/totalToRegister * 100)); - } - } - } - } - watch.stop(); - LOGGER.info("Registered {} registry entries in {}", totalToRegister, watch); - } - - private static final BlockState AIR = Blocks.AIR.defaultBlockState(); - - public static BlockState getColorCubeStateFor(int chunkX, int chunkY, int chunkZ) { - BlockState blockState = null; - if (chunkX >= 0 && chunkY >= 0 && chunkZ >= 0) { // && chunkX % 2 == 0 && chunkY % 2 == 0 && chunkZ % 2 == 0) { - /* - chunkX /= 2; - chunkY /= 2; - chunkZ /= 2; - - */ - if(chunkX <= TestMod.MAX_COLOR && chunkY <= TestMod.MAX_COLOR && chunkZ <= TestMod.MAX_COLOR) { - blockState = TestMod.WOOL_STATES.get((chunkX * TestMod.NUM_COLORS * TestMod.NUM_COLORS) + (chunkY * TestMod.NUM_COLORS) + chunkZ); - } - } - - return blockState; - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModBlockModel.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModBlockModel.java deleted file mode 100644 index 43ccf4d6..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModBlockModel.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.embeddedt.modernfix.testmod.client; - -import net.fabricmc.fabric.api.renderer.v1.Renderer; -import net.fabricmc.fabric.api.renderer.v1.RendererAccess; -import net.fabricmc.fabric.api.renderer.v1.mesh.Mesh; -import net.fabricmc.fabric.api.renderer.v1.mesh.MeshBuilder; -import net.fabricmc.fabric.api.renderer.v1.mesh.MutableQuadView; -import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter; -import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel; -import net.fabricmc.fabric.api.renderer.v1.model.ModelHelper; -import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.ItemOverrides; -import net.minecraft.client.renderer.block.model.ItemTransforms; -import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.*; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.RandomSource; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockAndTintGetter; -import net.minecraft.world.level.block.state.BlockState; -import org.embeddedt.modernfix.testmod.TestMod; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.function.Function; -import java.util.function.Supplier; - -public class TestModBlockModel implements UnbakedModel, BakedModel, FabricBakedModel { - private static final Material BASE_WOOL = new Material(TextureAtlas.LOCATION_BLOCKS, new ResourceLocation(TestMod.ID, "block/base_wool")); - - private Mesh mesh; - private TextureAtlasSprite texture; - - private final int r, g, b; - - public TestModBlockModel(int r, int g, int b) { - this.r = r; - this.g = g; - this.b = b; - } - - @Override - public boolean isVanillaAdapter() { - return false; - } - - @Override - public void emitBlockQuads(BlockAndTintGetter blockView, BlockState state, BlockPos pos, Supplier randomSupplier, RenderContext context) { - context.meshConsumer().accept(mesh); - } - - @Override - public void emitItemQuads(ItemStack stack, Supplier randomSupplier, RenderContext context) { - context.meshConsumer().accept(mesh); - } - - @Override - public List getQuads(@Nullable BlockState state, @Nullable Direction side, RandomSource rand) { - return Collections.emptyList(); - } - - @Override - public boolean useAmbientOcclusion() { - return true; - } - - @Override - public boolean isGui3d() { - return true; - } - - @Override - public boolean usesBlockLight() { - return true; - } - - @Override - public boolean isCustomRenderer() { - return false; - } - - @Override - public TextureAtlasSprite getParticleIcon() { - return texture; - } - - @Override - public ItemTransforms getTransforms() { - return ModelHelper.MODEL_TRANSFORM_BLOCK; - } - - @Override - public ItemOverrides getOverrides() { - return ItemOverrides.EMPTY; - } - - @Override - public Collection getDependencies() { - return Collections.emptyList(); - } - - @Override - public void resolveParents(Function function) { - - } - - private static int scaleColor(int c) { - return c * 255 / TestMod.MAX_COLOR; - } - - @Nullable - @Override - public BakedModel bake(ModelBaker baker, Function spriteGetter, ModelState state, ResourceLocation location) { - // Build the mesh using the Renderer API - Renderer renderer = RendererAccess.INSTANCE.getRenderer(); - MeshBuilder builder = renderer.meshBuilder(); - QuadEmitter emitter = builder.getEmitter(); - - texture = spriteGetter.apply(BASE_WOOL); - - for(Direction direction : Direction.values()) { - // Add a new face to the mesh - emitter.square(direction, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f); - // Set the sprite of the face, must be called after .square() - // We haven't specified any UV coordinates, so we want to use the whole texture. BAKE_LOCK_UV does exactly that. - emitter.spriteBake(0, texture, MutableQuadView.BAKE_LOCK_UV); - int color = (255 << 24) | (scaleColor(r) << 16) | (scaleColor(g) << 8) | scaleColor(b); - // Enable texture usage - emitter.spriteColor(0, color, color, color, color); - // Add the quad to the mesh - emitter.emit(); - } - mesh = builder.build(); - - return this; - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModClient.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModClient.java deleted file mode 100644 index 7f82a508..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModClient.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.embeddedt.modernfix.testmod.client; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; -import org.embeddedt.modernfix.fabric.api.dynresources.ModelScanController; -import org.embeddedt.modernfix.testmod.TestMod; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class TestModClient implements ClientModInitializer { - private static final Pattern RGB_PATTERN = Pattern.compile("^wool_([0-9]+)_([0-9]+)_([0-9]+)$"); - @Override - public void onInitializeClient() { - ModelScanController.SCAN_PREDICATES.add(rl -> !rl.getNamespace().equals(TestMod.ID)); - ModelLoadingRegistry.INSTANCE.registerVariantProvider(resourceManager -> (modelId, context) -> { - if(modelId.getNamespace().equals(TestMod.ID)) { - Matcher matcher = RGB_PATTERN.matcher(modelId.getPath()); - if(matcher.matches()) { - int r = Integer.parseInt(matcher.group(1)); - int g = Integer.parseInt(matcher.group(2)); - int b = Integer.parseInt(matcher.group(3)); - return new TestModBlockModel(r, g, b); - } - } - return null; - }); - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/ChunkMixin.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/ChunkMixin.java deleted file mode 100644 index 142faf51..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/ChunkMixin.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.embeddedt.modernfix.testmod.mixin; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.chunk.LevelChunk; -import org.embeddedt.modernfix.testmod.TestMod; -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; - -@Mixin(LevelChunk.class) -public class ChunkMixin { - @Inject(method = "getBlockState", at = @At("HEAD"), cancellable = true) - private void redirectDebugWorld(BlockPos pos, CallbackInfoReturnable cir) { - BlockState overrideState = TestMod.getColorCubeStateFor(pos.getX(), pos.getY(), pos.getZ()); - if(overrideState != null) { - cir.setReturnValue(overrideState); - } - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/DebugLevelSourceMixin.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/DebugLevelSourceMixin.java deleted file mode 100644 index 46f52d31..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/DebugLevelSourceMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.embeddedt.modernfix.testmod.mixin; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.SectionPos; -import net.minecraft.world.level.ChunkPos; -import net.minecraft.world.level.StructureManager; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.biome.BiomeSource; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.chunk.ChunkAccess; -import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.levelgen.FlatLevelSource; -import org.embeddedt.modernfix.testmod.TestMod; -import org.spongepowered.asm.mixin.Mixin; - -@Mixin(FlatLevelSource.class) -public abstract class DebugLevelSourceMixin extends ChunkGenerator { - public DebugLevelSourceMixin(BiomeSource biomeSource) { - super(biomeSource); - } - - @Override - public void applyBiomeDecoration(WorldGenLevel level, ChunkAccess chunk, StructureManager structureFeatureManager) { - BlockPos.MutableBlockPos mutableBlockPos = new BlockPos.MutableBlockPos(); - ChunkPos chunkPos = chunk.getPos(); - int i = chunkPos.x; - int j = chunkPos.z; - - for(int k = 0; k < 16; ++k) { - for(int l = 0; l < 16; ++l) { - int m = SectionPos.sectionToBlockCoord(i, k); - int n = SectionPos.sectionToBlockCoord(j, l); - for(int y = 0; y < 255; y++) { - BlockState blockState = TestMod.getColorCubeStateFor(m, y, n); - if (blockState != null) { - level.setBlock(mutableBlockPos.set(m, y, n), blockState, 2); - } - } - } - } - } -} diff --git a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/RenderChunkMixin.java b/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/RenderChunkMixin.java deleted file mode 100644 index eaa6d1d2..00000000 --- a/fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/RenderChunkMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.embeddedt.modernfix.testmod.mixin; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; -import org.embeddedt.modernfix.testmod.TestMod; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(targets = { "net/minecraft/client/renderer/chunk/RenderChunk" }) -public class RenderChunkMixin { - @Shadow @Final private boolean debug; - - @Inject(method = "getBlockState", at = @At("HEAD"), cancellable = true) - private void redirectDebugWorld(BlockPos pos, CallbackInfoReturnable cir) { - if(this.debug) { - cir.setReturnValue(TestMod.getColorCubeStateFor(pos.getX(), pos.getY(), pos.getZ())); - } - } -} diff --git a/fabric/testmod/src/main/resources/assets/mfix_testmod/textures/block/base_wool.png b/fabric/testmod/src/main/resources/assets/mfix_testmod/textures/block/base_wool.png deleted file mode 100644 index 39d6ec76404abdab87916313c39fd0c779574fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 560 zcmV-00?+-4P)EX>4Tx04R}tkv&MmP!xqvQ>CR;9PA+CkfAzR5EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRRQHpmtPe_uLvW80Dz#(EMrcR((qkh_iiQb57W9>6uG1by3X52R1Q81AsGtfP2|9IBEM(|D>Ej=A{Svtpa#g^{ zv49#h$gUrJ2ETi26(=XWq-YZ8eQ}(R5g@b+v>J}{ee5``6B^euaHV(rwI(q0NqVEB z#gBmgZQ$a%qbYm9VN}D=(EtEdZ37*jE)}8x0000issue #817 - * on the Loader bug tracker. - */ - public static void premain(String args, Instrumentation instrumentation) { - instrumentation.addTransformer(new ClassFileTransformer() { - @Override - public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException { - if(className.equals("net/fabricmc/loader/impl/game/LibClassifier")) { - ClassNode node = new ClassNode(); - ClassReader reader = new ClassReader(classfileBuffer); - reader.accept(node, 0); - for(MethodNode m : node.methods) { - if(m.name.equals("")) { - ListIterator iter = m.instructions.iterator(); - int addMatches = 0; - while(iter.hasNext()) { - AbstractInsnNode n = iter.next(); - if(n instanceof MethodInsnNode) { - MethodInsnNode invokeNode = (MethodInsnNode)n; - if(invokeNode.name.equals("add") && invokeNode.owner.equals("java/util/Set") && invokeNode.desc.equals("(Ljava/lang/Object;)Z")) { - addMatches++; - if(addMatches == 2) { - iter.set(new MethodInsnNode(Opcodes.INVOKESTATIC, "org/embeddedt/modernfix/testing/AgentHooks", "addLibraryWithCheck", "(Ljava/util/Set;Ljava/lang/Object;)Z", false)); - break; - } - } - } - } - } - } - ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS); - node.accept(writer); - byte[] finalArray = writer.toByteArray(); - //dumpDebugClass(className, finalArray); - return finalArray; - } - return classfileBuffer; - } - }); - } -} diff --git a/test_agent/src/main/java/org/embeddedt/modernfix/testing/AgentHooks.java b/test_agent/src/main/java/org/embeddedt/modernfix/testing/AgentHooks.java deleted file mode 100644 index 05b8de12..00000000 --- a/test_agent/src/main/java/org/embeddedt/modernfix/testing/AgentHooks.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.embeddedt.modernfix.testing; - -import java.nio.file.Path; -import java.util.Set; - -@SuppressWarnings("unused") -public class AgentHooks { - @SuppressWarnings({"unchecked", "rawtypes" }) - public static boolean addLibraryWithCheck(Set pathSet, Object path) { - boolean shouldAdd; - if(path instanceof Path) { - shouldAdd = !((Path)path).toString().contains("minecraft-merged"); - } else - shouldAdd = true; - return shouldAdd && pathSet.add(path); - } -} From b26ab375b56d9ec34bb1aa51a8b3cc2f78b2b939 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 18:13:42 -0500 Subject: [PATCH 2/2] Merge common & forge projects, replace Arch Loom with MDG --- annotation-processor/build.gradle | 8 +- annotations/build.gradle | 6 - annotations/build.gradle.kts | 10 + build.gradle.kts | 180 ++++++++++++++++++ build.gradle => build.gradle.legacy | 0 .../mixin/core/MinecraftServerMixin.java | 24 --- .../searchtree/REIBackedSearchTree.java | 150 --------------- .../main/resources/modernfix.accesswidener | 75 -------- .../forge/datagen/RuntimeDatagen.java | 85 --------- forge/src/main/resources/pack.mcmeta | 6 - settings.gradle.kts | 4 + settings.gradle => settings.gradle.legacy | 0 .../org/embeddedt/modernfix/ModernFix.java | 0 .../embeddedt/modernfix/ModernFixClient.java | 2 - .../api/constants/IntegrationConstants.java | 0 .../ModernFixClientIntegration.java | 0 .../modernfix/api/helpers/ModelHelpers.java | 13 ++ .../blockstate/BlockStateCacheHandler.java | 0 .../modernfix/blockstate/FakeStateMap.java | 0 .../modernfix/command/ModernFixCommands.java | 0 .../BufferBuilderMixin.java | 0 .../chunk_deadlock/ChunkMapLoadMixin.java | 2 +- .../bugfix/chunk_deadlock/EntityMixin.java | 0 .../ServerChunkCache_CurrentLoadingMixin.java | 2 +- .../cofh_core_crash/FlagManagerMixin.java | 2 +- .../ForgeRegistryTagManagerMixin.java | 2 +- .../concurrency/MappedRegistryMixin.java | 0 .../concurrency/NamespacedWrapperMixin.java | 2 +- .../ResourceUtilMixin.java | 2 +- .../EnderDragonRendererMixin.java | 0 .../LivingEntityRendererMixin.java | 2 +- .../PlayerRendererMixin.java | 2 +- .../entity_pose_stack/PoseStackAccessor.java | 2 +- .../CreateWorldScreenMixin.java | 2 +- .../ServerGamePacketListenerImplMixin.java | 2 +- .../LevelChunkMixin.java | 0 .../ModelDataManagerMixin.java | 2 +- .../paper_chunk_patches/ChunkMapMixin.java | 0 .../SortedArraySetMixin.java | 0 .../RecipeBookSettingsMixin.java | 2 +- .../RegistryOpsMemoizedMixin.java | 0 .../LevelStorageSourceMixin.java | 2 +- .../EnderDragonMixin.java | 0 .../ShapeCacheCyclicMixin.java | 2 +- .../ShapeCacheRSMixin.java | 2 +- .../bugfix/world_leaks/MinecraftMixin.java | 0 .../WorldSelectionListMixin.java | 0 .../mixin/core/BootstrapClientMixin.java | 2 +- .../common}/mixin/core/BootstrapMixin.java | 2 +- .../mixin/core/CrashReportAnalyserMixin.java | 2 +- .../mixin/core/MinecraftServerMixin.java | 19 +- .../common}/mixin/core/NetworkHooksMixin.java | 2 +- .../common}/mixin/core/WorldLoaderMixin.java | 2 +- .../common}/mixin/devenv/GameDataMixin.java | 2 +- .../common/mixin/devenv/MinecraftMixin.java | 0 .../ChunkAccessMixin.java | 0 .../LevelThreadAccessor.java | 0 .../branding/BrandingControlMixin.java | 2 +- .../ChunkRenderDispatcherMixin.java | 0 .../UtilMixin.java | 0 .../ServerFunctionManagerMixin.java | 0 .../AddReloadListenerEventWrapperMixin.java | 2 +- .../feature/measure_time/BootstrapMixin.java | 0 .../measure_time/ConnectScreenMixin.java | 0 .../feature/measure_time/MinecraftMixin.java | 0 .../measure_time/MinecraftMixin_Forge.java | 2 +- .../ProfiledReloadInstanceMixin.java | 0 .../SimpleReloadInstanceMixin.java | 0 .../measure_time/WorldLoaderMixin.java | 0 .../GameDataMixin.java | 2 +- .../ChatTrustLevelMixin.java | 0 .../ProfileKeyPairManagerMixin.java | 0 .../ClientTelemetryManagerMixin.java | 0 .../MinecraftMixin_Telemetry.java | 0 .../MinecraftMixin.java | 0 .../WorldLoaderMixin.java | 0 .../GameNarratorMixin.java | 0 .../blast_search_trees/MinecraftMixin.java | 0 .../AbstractBlockStateCacheMixin.java | 0 .../SkinManagerMixin.java | 0 .../ChunkGeneratorMixin.java | 0 .../cache_strongholds/ServerLevelMixin.java | 0 .../StructureManagerMixin.java | 0 .../perf/chunk_meshing/RebuildTaskMixin.java | 0 .../PalettedContainerMixin.java | 0 .../BlockStateDataMixin.java | 0 .../MappedRegistryMixin.java | 0 .../VanillaRegistriesMixin.java | 0 .../UnihexProviderByteContentsMixin.java | 0 .../UnihexProviderShortContentsMixin.java | 0 .../RecipeManagerMixin.java | 2 +- .../CreateWorldScreenMixin.java | 0 .../MinecraftMixin.java | 0 .../MinecraftServerMixin.java | 0 .../WorldOpenFlowsMixin.java | 0 .../WallBlockMixin.java | 0 .../dynamic_dfu/BlockEntityTypeMixin.java | 0 .../perf/dynamic_dfu/DataFixTypesMixin.java | 0 .../perf/dynamic_dfu/DataFixersMixin.java | 0 .../dynamic_dfu/EntityTypeBuilderMixin.java | 0 .../BlockModelShaperMixin.java | 0 .../BlockStateBaseMixin.java | 0 .../ForgeHooksClientMixin.java | 2 +- .../ItemModelMesherForgeMixin.java | 2 +- .../ItemModelShaperMixin.java | 0 .../ItemOverridesForgeMixin.java | 2 +- .../dynamic_resources/ItemOverridesMixin.java | 0 .../dynamic_resources/ItemRendererMixin.java | 0 .../ModelBakerImplMixin.java | 4 +- .../dynamic_resources/ModelBakeryMixin.java | 2 +- .../dynamic_resources/ModelManagerMixin.java | 0 .../ctm/CTMModelBakeryAccessor.java | 2 +- .../ctm/TextureMetadataHandlerMixin.java | 2 +- .../ldlib/ClientProxyImplMixin.java | 2 +- .../ClientRegistrationHandlerMixin.java | 2 +- .../StructureManagerMixin.java | 0 .../NamespacedHolderHelperMixin.java | 2 +- .../ForgeRegistryMixin.java | 2 +- .../CofhIngredientWithCountMixin.java | 2 +- .../faster_ingredients/ForgeHooksMixin.java | 2 +- .../faster_ingredients/IngredientMixin.java | 2 +- .../GameRendererMixin.java | 0 .../ItemRendererMixin.java | 0 .../ServerLevelMixin.java | 0 .../StructureCheckMixin.java | 0 .../StitcherMixin.java | 0 .../MinecraftServerMixin.java | 0 .../LivingEntityMixin.java | 2 +- .../DelegateHolderMixin.java | 2 +- .../ForgeRegistryMixin.java | 2 +- .../RegistryObjectMixin.java | 2 +- .../IngredientItemValueMixin.java | 2 +- .../IngredientMixin.java | 2 +- .../mixin/perf/kubejs/RecipeEventJSMixin.java | 2 +- .../SearchRegistryMixin.java | 0 .../CreativeModeTabMixin.java | 0 .../BooleanPropertyMixin.java | 0 .../MultiVariantMixin.java | 0 .../model_optimizations/PropertyMixin.java | 0 .../model_optimizations/SelectorMixin.java | 0 .../TransformationMatrixMixin.java | 0 .../MappedRegistryMixin.java | 0 .../StateHolderMixin.java | 0 .../ClientBookRegistryMixin.java | 2 +- .../ForgeEventFactoryMixin.java | 2 +- .../PotentialSpawnsMixin.java | 2 +- .../BlockCallbacksMixin.java | 2 +- .../BlockStateBaseMixin.java | 0 .../BlocksMixin.java | 0 .../BiomeMixin.java | 0 .../perf/remove_spawn_chunks/EntityMixin.java | 0 .../MinecraftServerMixin.java | 0 .../ServerChunkCacheAccessor.java | 0 .../remove_spawn_chunks/ServerLevelMixin.java | 0 .../SortedArraySetMixin.java | 0 .../HighlightHandlerMixin.java | 2 +- .../ForgePathPackResourcesMixin.java | 2 +- .../ConnectionMixin.java | 2 +- .../IngredientMixin.java | 2 +- .../PlayerListMixin.java | 2 +- .../StateDefinitionMixin.java | 0 .../perf/tag_id_caching/TagEntryMixin.java | 2 +- .../TagOrElementLocationMixin.java | 2 +- .../IntegratedServerMixin.java | 0 .../perf/thread_priorities/UtilMixin.java | 0 .../perf/ticking_chunk_alloc/BatMixin.java | 0 .../ticking_chunk_alloc/ChunkAccessMixin.java | 0 .../ticking_chunk_alloc/ChunkHolderMixin.java | 0 .../MaterialRuleListMixin.java | 0 .../worldgen_allocation/NoiseChunkMixin.java | 0 .../SequenceRuleMixin.java | 0 .../SurfaceRulesContextMixin.java | 0 .../SurfaceRulesMixin.java | 0 .../common/mixin/safety/BlockColorsMixin.java | 0 .../common/mixin/safety/ItemColorsMixin.java | 0 .../mixin/safety/ItemPropertiesMixin.java | 0 .../safety/LivingEntityRendererMixin.java | 0 .../modernfix/core/ModernFixMixinPlugin.java | 0 .../core/config/ModernFixEarlyConfig.java | 2 +- .../modernfix/core/config/Option.java | 0 .../core/config/OptionCategories.java | 0 .../embeddedt/modernfix/dfu/DFUBlaster.java | 0 .../modernfix/dfu/LazyDataFixer.java | 0 .../embeddedt/modernfix/duck/IBlockState.java | 0 .../modernfix/duck/IChunkGenerator.java | 0 .../modernfix/duck/IExtendedModelBaker.java | 0 .../modernfix/duck/IExtendedModelBakery.java | 0 .../duck/IModelHoldingBlockState.java | 0 .../duck/IProfilingServerFunctionManager.java | 0 .../modernfix/duck/IServerLevel.java | 0 .../modernfix/duck/IStructureCheck.java | 0 .../modernfix/duck/ITimeTrackingServer.java | 0 .../DynamicBakedModelProvider.java | 0 .../dynamicresources/DynamicModelCache.java | 0 .../DynamicModelProvider.java | 0 .../dynamicresources/DynamicSoundHelpers.java | 0 .../dynamicresources/ModelBakeryHelpers.java | 0 .../dynamicresources/ModelLocationCache.java | 0 .../ModelMissingException.java | 0 .../modernfix/forge/ModernFixConfig.java | 0 .../forge/classloading/ATInjector.java | 0 .../FastAccessTransformerList.java | 0 .../modernfix/forge/config/ConfigFixer.java | 0 .../forge/config/NightConfigFixer.java | 0 .../config/NightConfigWatchThrottler.java | 0 .../forge/dynresources/IModelBakerImpl.java | 0 .../dynresources/ModelBakeEventHelper.java | 0 .../dynresources/ModelLocationBuilder.java | 0 .../forge/init/ModernFixClientForge.java | 0 .../modernfix/forge/init/ModernFixForge.java | 0 .../load/MinecraftServerReloadTracker.java | 0 .../forge/load/ModResourcePackPathFixer.java | 0 .../forge/load/ModWorkManagerQueue.java | 0 .../modernfix/forge/packet/NetworkUtils.java | 0 .../modernfix/forge/packet/PacketHandler.java | 0 .../forge/recipe/ExtendedIngredient.java | 0 .../IngredientItemStacksSoftReference.java | 0 .../recipe/IngredientValueDeduplicator.java | 0 .../forge/registry/DelegateHolder.java | 0 .../forge/registry/ObjectHolderClearer.java | 0 .../forge/util/AsyncLoadingScreen.java | 0 .../modernfix/forge/util/ModUtil.java | 0 .../platform/ModernFixPlatformHooks.java | 0 .../platform/PlatformHookLoader.java | 0 .../forge/ModernFixPlatformHooksImpl.java | 0 .../modernfix/registry/LifecycleMap.java | 0 .../modernfix/render/FastItemRenderType.java | 0 .../modernfix/render/RenderState.java | 0 .../modernfix/render/SimpleItemModelView.java | 0 .../modernfix/render/UnsafeBufferHelper.java | 0 .../render/font/CompactUnihexContents.java | 0 .../resources/ICachingResourcePack.java | 0 .../resources/PackResourcesCacheEngine.java | 0 .../modernfix/resources/ReloadExecutor.java | 0 .../screen/ModernFixConfigScreen.java | 0 .../screen/ModernFixOptionInfoScreen.java | 0 .../modernfix/screen/OptionList.java | 0 .../modernfix/searchtree/DummySearchTree.java | 0 .../searchtree/JEIBackedSearchTree.java | 0 .../searchtree/JEIRuntimeCapturer.java | 0 .../modernfix/searchtree/LazySearchTree.java | 0 .../searchtree/RecipeBookSearchTree.java | 0 .../SearchTreeProviderRegistry.java | 0 .../modernfix/spark/SparkLaunchProfiler.java | 0 .../structure/CachingStructureManager.java | 0 .../modernfix/textures/StbStitcher.java | 0 .../embeddedt/modernfix/util/CacheUtil.java | 0 .../modernfix/util/ClassInfoManager.java | 0 .../modernfix/util/CommonModUtil.java | 0 .../util/ConcurrencySanitizingMap.java | 0 .../modernfix/util/DirectExecutorService.java | 0 .../embeddedt/modernfix/util/DummyList.java | 0 .../modernfix/util/DynamicInt2ObjectMap.java | 0 .../embeddedt/modernfix/util/DynamicMap.java | 0 .../modernfix/util/DynamicOverridableMap.java | 0 .../embeddedt/modernfix/util/EitherUtil.java | 0 .../embeddedt/modernfix/util/FileUtil.java | 0 .../util/ForwardingInclDefaultsMap.java | 0 .../modernfix/util/ItemMesherMap.java | 0 .../embeddedt/modernfix/util/LambdaMap.java | 0 .../util/NamedPreparableResourceListener.java | 0 .../modernfix/util/PackTypeHelper.java | 0 .../modernfix/util/TimeFormatter.java | 0 .../blockpos/SectionBlockPosIterator.java | 0 .../modernfix/world/IntegratedWatchdog.java | 0 .../world/StrongholdLocationCache.java | 0 .../modernfix/world/ThreadDumper.java | 0 .../world/gen/PositionalBiomeGetter.java | 0 .../resources/META-INF/accesstransformer.cfg | 64 +++++++ .../main/resources/META-INF/mods.toml | 0 .../assets/modernfix/lang/de_de.json | 0 .../assets/modernfix/lang/en_us.json | 0 .../assets/modernfix/lang/es_mx.json | 0 .../assets/modernfix/lang/it_it.json | 0 .../assets/modernfix/lang/ja_jp.json | 0 .../assets/modernfix/lang/ru_ru.json | 0 .../assets/modernfix/lang/vi_vn.json | 0 .../assets/modernfix/lang/zh_cn.json | 0 .../assets/modernfix/lang/zh_tw.json | 0 {common/src => src}/main/resources/icon.png | Bin .../modernfix/option_categories.json | 0 .../src => src}/main/resources/pack.mcmeta | 0 282 files changed, 350 insertions(+), 418 deletions(-) delete mode 100644 annotations/build.gradle create mode 100644 annotations/build.gradle.kts create mode 100644 build.gradle.kts rename build.gradle => build.gradle.legacy (100%) delete mode 100644 common/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/searchtree/REIBackedSearchTree.java delete mode 100644 common/src/main/resources/modernfix.accesswidener delete mode 100644 forge/src/main/java/org/embeddedt/modernfix/forge/datagen/RuntimeDatagen.java delete mode 100644 forge/src/main/resources/pack.mcmeta create mode 100644 settings.gradle.kts rename settings.gradle => settings.gradle.legacy (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/ModernFix.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/ModernFixClient.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/api/constants/IntegrationConstants.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/api/entrypoint/ModernFixClientIntegration.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java (86%) rename {common/src => src}/main/java/org/embeddedt/modernfix/blockstate/BlockStateCacheHandler.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/blockstate/FakeStateMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/buffer_builder_leak/BufferBuilderMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/EntityMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java (96%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java (94%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/MappedRegistryMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/concurrency/NamespacedWrapperMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java (94%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak/EnderDragonRendererMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java (83%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java (94%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java (95%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/missing_block_entities/LevelChunkMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/ChunkMapMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/SortedArraySetMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java (96%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/registry_ops_cme/RegistryOpsMemoizedMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java (88%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/restore_old_dragon_movement/EnderDragonMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java (91%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java (93%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_leaks/MinecraftMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_screen_skipped/WorldSelectionListMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/BootstrapClientMixin.java (93%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/BootstrapMixin.java (96%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/CrashReportAnalyserMixin.java (96%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/MinecraftServerMixin.java (65%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/NetworkHooksMixin.java (94%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/core/WorldLoaderMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/devenv/GameDataMixin.java (92%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/devenv/MinecraftMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/ChunkAccessMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/LevelThreadAccessor.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/feature/branding/BrandingControlMixin.java (94%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/ChunkRenderDispatcherMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/UtilMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java (90%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/BootstrapMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ConnectScreenMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/feature/measure_time/MinecraftMixin_Forge.java (90%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ProfiledReloadInstanceMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/SimpleReloadInstanceMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/WorldLoaderMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/feature/registry_event_progress/GameDataMixin.java (96%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ChatTrustLevelMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ProfileKeyPairManagerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/ClientTelemetryManagerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/MinecraftMixin_Telemetry.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/MinecraftMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/WorldLoaderMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/feature/suppress_narrator_stacktrace/GameNarratorMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_blockstate_cache_arrays/AbstractBlockStateCacheMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ChunkGeneratorMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ServerLevelMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_upgraded_structures/StructureManagerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_bit_storage/PalettedContainerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/BlockStateDataMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/MappedRegistryMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/VanillaRegistriesMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderByteContentsMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderShortContentsMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java (90%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/CreateWorldScreenMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftServerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/WorldOpenFlowsMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_wall_shapes/WallBlockMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/BlockEntityTypeMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixTypesMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixersMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/EntityTypeBuilderMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockModelShaperMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockStateBaseMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java (98%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelShaperMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java (96%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemRendererMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ModelBakerImplMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ModelBakeryMixin.java (99%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelManagerMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java (86%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java (98%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java (98%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_structure_manager/StructureManagerMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java (96%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/faster_ingredients/ForgeHooksMixin.java (93%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/faster_ingredients/IngredientMixin.java (99%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/GameRendererMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/ItemRendererMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/ServerLevelMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/StructureCheckMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_texture_stitching/StitcherMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/fix_loop_spin_waiting/MinecraftServerMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java (93%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java (92%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java (98%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java (91%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java (91%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/ingredient_item_deduplication/IngredientMixin.java (89%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/kubejs/RecipeEventJSMixin.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/memoize_creative_tab_build/CreativeModeTabMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/BooleanPropertyMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/MultiVariantMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/PropertyMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/SelectorMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/TransformationMatrixMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/MappedRegistryMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/StateHolderMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java (94%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java (92%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockStateBaseMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlocksMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_biome_temperature_cache/BiomeMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/EntityMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/MinecraftServerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerChunkCacheAccessor.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerLevelMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/SortedArraySetMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java (98%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/smart_ingredient_sync/ConnectionMixin.java (95%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/smart_ingredient_sync/IngredientMixin.java (97%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/smart_ingredient_sync/PlayerListMixin.java (97%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java (100%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/tag_id_caching/TagEntryMixin.java (93%) rename {forge/src/main/java/org/embeddedt/modernfix/forge => src/main/java/org/embeddedt/modernfix/common}/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java (92%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/IntegratedServerMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/UtilMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/BatMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkAccessMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkHolderMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/MaterialRuleListMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/NoiseChunkMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SequenceRuleMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesContextMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/safety/BlockColorsMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemColorsMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemPropertiesMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/common/mixin/safety/LivingEntityRendererMixin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java (99%) rename {common/src => src}/main/java/org/embeddedt/modernfix/core/config/Option.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/core/config/OptionCategories.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dfu/DFUBlaster.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dfu/LazyDataFixer.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IBlockState.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IChunkGenerator.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IExtendedModelBaker.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IExtendedModelBakery.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IModelHoldingBlockState.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IProfilingServerFunctionManager.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IServerLevel.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/IStructureCheck.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/duck/ITimeTrackingServer.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCache.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/DynamicSoundHelpers.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/ModelLocationCache.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/dynamicresources/ModelMissingException.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/ModernFixConfig.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/classloading/ATInjector.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/classloading/FastAccessTransformerList.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/config/NightConfigWatchThrottler.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/dynresources/IModelBakerImpl.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/dynresources/ModelLocationBuilder.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/init/ModernFixClientForge.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/load/MinecraftServerReloadTracker.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/load/ModResourcePackPathFixer.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/load/ModWorkManagerQueue.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/packet/NetworkUtils.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/packet/PacketHandler.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/recipe/ExtendedIngredient.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/recipe/IngredientItemStacksSoftReference.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/recipe/IngredientValueDeduplicator.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/registry/DelegateHolder.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/registry/ObjectHolderClearer.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/util/AsyncLoadingScreen.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/forge/util/ModUtil.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/platform/ModernFixPlatformHooks.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/platform/PlatformHookLoader.java (100%) rename {forge/src => src}/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/registry/LifecycleMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/render/FastItemRenderType.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/render/RenderState.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/render/SimpleItemModelView.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/render/UnsafeBufferHelper.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/render/font/CompactUnihexContents.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/resources/ICachingResourcePack.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/resources/ReloadExecutor.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/screen/ModernFixOptionInfoScreen.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/screen/OptionList.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/JEIBackedSearchTree.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/RecipeBookSearchTree.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/searchtree/SearchTreeProviderRegistry.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/spark/SparkLaunchProfiler.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/textures/StbStitcher.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/CacheUtil.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/ClassInfoManager.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/CommonModUtil.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/ConcurrencySanitizingMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/DirectExecutorService.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/DummyList.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/DynamicMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/DynamicOverridableMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/EitherUtil.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/FileUtil.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/ItemMesherMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/LambdaMap.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/NamedPreparableResourceListener.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/PackTypeHelper.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/TimeFormatter.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/util/blockpos/SectionBlockPosIterator.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/world/IntegratedWatchdog.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/world/StrongholdLocationCache.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/world/ThreadDumper.java (100%) rename {common/src => src}/main/java/org/embeddedt/modernfix/world/gen/PositionalBiomeGetter.java (100%) create mode 100644 src/main/resources/META-INF/accesstransformer.cfg rename {forge/src => src}/main/resources/META-INF/mods.toml (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/de_de.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/en_us.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/es_mx.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/it_it.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/ja_jp.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/ru_ru.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/vi_vn.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/zh_cn.json (100%) rename {common/src => src}/main/resources/assets/modernfix/lang/zh_tw.json (100%) rename {common/src => src}/main/resources/icon.png (100%) rename {common/src => src}/main/resources/modernfix/option_categories.json (100%) rename {common/src => src}/main/resources/pack.mcmeta (100%) diff --git a/annotation-processor/build.gradle b/annotation-processor/build.gradle index 0cefd6df..beb7ea1b 100644 --- a/annotation-processor/build.gradle +++ b/annotation-processor/build.gradle @@ -1,7 +1,6 @@ plugins { - id 'com.github.johnrengelman.shadow' + id 'com.gradleup.shadow' version '8.3.9' id 'java-library' - id 'com.diffplug.spotless' } repositories { @@ -52,9 +51,4 @@ shadowJar { include {it.getName() == 'EnvType.class'} } -spotless { - java { - removeUnusedImports() - } -} version = '1.1.4' diff --git a/annotations/build.gradle b/annotations/build.gradle deleted file mode 100644 index 5271e5b3..00000000 --- a/annotations/build.gradle +++ /dev/null @@ -1,6 +0,0 @@ -plugins { - id 'modernfix.common-conventions' - id 'java-library' -} - -version = '1.1.0' diff --git a/annotations/build.gradle.kts b/annotations/build.gradle.kts new file mode 100644 index 00000000..d288bdde --- /dev/null +++ b/annotations/build.gradle.kts @@ -0,0 +1,10 @@ +plugins { + id("java") +} + +version = "1.1.0" + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..743436b8 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,180 @@ +plugins { + id("net.neoforged.moddev.legacyforge") version("2.0.134") + id("org.ajoberstar.grgit") version("5.2.0") + id("com.palantir.git-version") version("1.0.0") +} + +val minecraft_version = rootProject.properties["minecraft_version"].toString() + +group = "org.embeddedt" + +val versionDetails: groovy.lang.Closure by extra +// extract base version from tag, generate other metadata ourselves +val details = versionDetails() + +var plusIndex = details.lastTag.indexOf("+") +if (plusIndex == -1) { + plusIndex = details.lastTag.length +} + +var baseVersion = details.lastTag.substring(0, plusIndex) + +val dirtyMarker = if (grgit.status().isClean) "" else ".dirty" + +val commitHashMarker = + if (details.commitDistance > 0) + "." + details.gitHash.substring(0, minOf(4, details.gitHash.length)) + else + "" + +var preMarker = + if (details.commitDistance > 0 || !details.isCleanTag) + "-beta.${details.commitDistance}" + else + "" + +if (preMarker.isNotEmpty()) { + // bump to next patch release + val versionParts = baseVersion.split(".") + baseVersion = + "${versionParts[0]}.${versionParts[1]}.${versionParts[2].toInt() + 1}" +} + +val versionString = + "${baseVersion}${preMarker}+mc${minecraft_version}${commitHashMarker}${dirtyMarker}" + +version = versionString + +legacyForge { + enable { + forgeVersion = rootProject.properties["forge_version"].toString() + isDisableRecompilation = System.getenv("CI") == "true" + } + + rootProject.properties["parchment_version"]?.let { parchmentVer -> + parchment { + minecraftVersion = minecraft_version + mappingsVersion = parchmentVer.toString() + } + } + + runs { + create("client") { + client() + } + create("server") { + server() + } + } + + mods { + create("modernfix") { + sourceSet(sourceSets.main.get()) + } + } +} + +mixin { + add(sourceSets.main.get(), "modernfix.refmap.json") + config("modernfix-modernfix.mixins.json") +} + +tasks.named("jar") { + manifest.attributes(mapOf( + "MixinConfigs" to "modernfix-modernfix.mixins.json" + )) +} + +// We must force the Java 21 compiler to be used because our AP requires Java 21 + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } + val curSourceCompatLevel = JavaVersion.VERSION_17 + sourceCompatibility = curSourceCompatLevel + targetCompatibility = curSourceCompatLevel +} + +repositories { + exclusiveContent { + forRepository { + maven { + // location of the maven that hosts JEI files + name = "Progwml6 maven" + url = uri("https://dvs1.progwml6.com/files/maven/") + } + } + forRepository { + maven { + name = "ModMaven" + url = uri("https://modmaven.dev") + } + } + filter { + includeGroup("mezz.jei") + } + } + exclusiveContent { + forRepository { + maven("https://cursemaven.com") + } + filter { + includeGroup("curse.maven") + } + } +} + +dependencies { + implementation(project(":annotations")) + "additionalRuntimeClasspath"(project(":annotations")) + annotationProcessor(project(path = ":annotation-processor", configuration = "shadow")) + + val mixinextrasVersion = rootProject.properties["mixinextras_version"].toString() + implementation("io.github.llamalad7:mixinextras-common:${mixinextrasVersion}") + annotationProcessor("net.fabricmc:sponge-mixin:0.12.5+mixin.0.8.5") + annotationProcessor("io.github.llamalad7:mixinextras-common:${mixinextrasVersion}") + implementation("io.github.llamalad7:mixinextras-forge:${mixinextrasVersion}") + "jarJar"("io.github.llamalad7:mixinextras-forge:${mixinextrasVersion}") + + val jei_version = rootProject.properties["jei_version"].toString() + modCompileOnly("mezz.jei:jei-${minecraft_version}-forge:${jei_version}") + modCompileOnly("curse.maven:spark-361579:${rootProject.properties["spark_version"].toString()}") + modCompileOnly("curse.maven:ctm-267602:${rootProject.properties["ctm_version"].toString()}") + modCompileOnly("curse.maven:ldlib-626676:${rootProject.properties["ldlib_version"].toString()}") + modCompileOnly("curse.maven:supermartijncore-454372:4455391") + modCompileOnly("curse.maven:patchouli-306770:6164575") + modCompileOnly("curse.maven:cofhcore-69162:5374122") + modCompileOnly("curse.maven:resourcefullib-570073:5659871") + modCompileOnly("curse.maven:kubejs-238086:5853326") +} + +// For the AP +tasks.withType().configureEach { + if (!name.lowercase().contains("test")) { + options.compilerArgs.addAll( + listOf( + "-ArootProject.name=${rootProject.name}", + "-Aproject.name=${project.name}" + ) + ) + } +} + +sourceSets { + main { + resources.srcDir( + layout.buildDirectory.dir("generated/sources/annotationProcessor/java/main/resources") + ) + } +} + +tasks.named("processResources") { + dependsOn(tasks.named("compileJava")) + + inputs.property("version", project.version) + + filesMatching("META-INF/mods.toml") { + expand("version" to project.version) + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle.legacy similarity index 100% rename from build.gradle rename to build.gradle.legacy diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java deleted file mode 100644 index b85fde40..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.embeddedt.modernfix.common.mixin.core; - -import net.minecraft.Util; -import net.minecraft.server.MinecraftServer; -import org.embeddedt.modernfix.duck.ITimeTrackingServer; -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.CallbackInfo; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin implements ITimeTrackingServer { - private long mfix$lastTickStartTime = -1L; - - @Override - public long mfix$getLastTickStartTime() { - return mfix$lastTickStartTime; - } - - @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;tickServer(Ljava/util/function/BooleanSupplier;)V")) - private void trackTickTime(CallbackInfo ci) { - mfix$lastTickStartTime = Util.getMillis(); - } -} diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/REIBackedSearchTree.java b/common/src/main/java/org/embeddedt/modernfix/searchtree/REIBackedSearchTree.java deleted file mode 100644 index 2d9a6e43..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/searchtree/REIBackedSearchTree.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.embeddedt.modernfix.searchtree; - -import com.google.common.base.Predicates; -import me.shedaniel.rei.api.client.registry.entry.EntryRegistry; -import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; -import me.shedaniel.rei.impl.client.search.AsyncSearchManager; -import me.shedaniel.rei.impl.common.entry.type.EntryRegistryImpl; -import me.shedaniel.rei.impl.common.util.HashedEntryStackWrapper; -import net.minecraft.client.searchtree.RefreshableSearchTree; -import net.minecraft.world.item.ItemStack; -import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.platform.ModernFixPlatformHooks; - -import java.lang.invoke.MethodHandle; -import java.lang.invoke.MethodHandles; -import java.lang.invoke.MethodType; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.function.Supplier; -import java.util.function.UnaryOperator; - -public class REIBackedSearchTree extends DummySearchTree { - private final AsyncSearchManager searchManager = createSearchManager(); - - private final boolean filteringByTag; - private String lastSearchText = ""; - private final List listCache = new ArrayList<>(); - - public REIBackedSearchTree(boolean filteringByTag) { - this.filteringByTag = filteringByTag; - } - @Override - public List search(String pSearchText) { - if(true) { - return this.searchREI(pSearchText); - } else { - /* Use the default, dummy implementation */ - return super.search(pSearchText); - } - } - - private List searchREI(String pSearchText) { - if(!pSearchText.equals(lastSearchText)) { - listCache.clear(); - this.searchManager.updateFilter(pSearchText); - List stacks; - try { - stacks = this.searchManager.getNow(); - } catch(RuntimeException e) { - ModernFix.LOGGER.error("Couldn't search for '" + pSearchText + "'", e); - stacks = Collections.emptyList(); - } - for(Object o : stacks) { - EntryStack stack; - if(o instanceof EntryStack) - stack = (EntryStack)o; - else if(o instanceof HashedEntryStackWrapper) { - stack = ((HashedEntryStackWrapper)o).unwrap(); - } else { - ModernFix.LOGGER.error("Don't know how to handle {}", o.getClass().getName()); - continue; - } - if(stack.getType() == VanillaEntryTypes.ITEM) { - listCache.add(stack.cheatsAs().getValue()); - } - } - lastSearchText = pSearchText; - } - return listCache; - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - private static AsyncSearchManager createSearchManager() { - Method m, normalizeMethod; - try { - try { - m = EntryRegistryImpl.class.getDeclaredMethod("getPreFilteredComplexList"); - m.setAccessible(true); - normalizeMethod = HashedEntryStackWrapper.class.getDeclaredMethod("normalize"); - normalizeMethod.setAccessible(true); - } catch(NoSuchMethodException e) { - m = EntryRegistryImpl.class.getDeclaredMethod("getPreFilteredList"); - m.setAccessible(true); - normalizeMethod = EntryStack.class.getDeclaredMethod("normalize"); - normalizeMethod.setAccessible(true); - } - final MethodHandle getListMethod = MethodHandles.publicLookup().unreflect(m); - final MethodHandle normalize = MethodHandles.publicLookup().unreflect(normalizeMethod); - final EntryRegistryImpl registry = (EntryRegistryImpl)EntryRegistry.getInstance(); - Supplier stackListSupplier = () -> { - try { - return (List)getListMethod.invokeExact(registry); - } catch(Throwable e) { - if(e instanceof RuntimeException) - throw (RuntimeException)e; - throw new RuntimeException(e); - } - }; - UnaryOperator normalizeOperator = o -> { - try { - return normalize.invoke(o); - } catch(Throwable e) { - if(e instanceof RuntimeException) - throw (RuntimeException)e; - throw new RuntimeException(e); - } - }; - Supplier> shouldShowStack = () -> { - return Predicates.alwaysTrue(); - }; - try { - try { - // Old constructor taking Supplier as first arg - MethodHandle cn = MethodHandles.publicLookup().findConstructor(AsyncSearchManager.class, MethodType.methodType(void.class, Supplier.class, Supplier.class, UnaryOperator.class)); - return (AsyncSearchManager)cn.invoke(stackListSupplier, shouldShowStack, normalizeOperator); - } catch(NoSuchMethodException e) { - // New constructor taking Function as first arg - MethodHandle cn = MethodHandles.publicLookup().findConstructor(AsyncSearchManager.class, MethodType.methodType(void.class, Function.class, Supplier.class, UnaryOperator.class)); - return (AsyncSearchManager)cn.invoke((Function)o -> stackListSupplier.get(), shouldShowStack, normalizeOperator); - } - } catch(Throwable mhThrowable) { - throw new ReflectiveOperationException(mhThrowable); - } - } catch(ReflectiveOperationException e) { - throw new RuntimeException(e); - } - } - - public static final SearchTreeProviderRegistry.Provider PROVIDER = new SearchTreeProviderRegistry.Provider() { - @Override - public RefreshableSearchTree getSearchTree(boolean tag) { - return new REIBackedSearchTree(tag); - } - - @Override - public boolean canUse() { - return ModernFixPlatformHooks.INSTANCE.modPresent("roughlyenoughitems"); - } - - @Override - public String getName() { - return "REI"; - } - }; -} diff --git a/common/src/main/resources/modernfix.accesswidener b/common/src/main/resources/modernfix.accesswidener deleted file mode 100644 index 3cd36b76..00000000 --- a/common/src/main/resources/modernfix.accesswidener +++ /dev/null @@ -1,75 +0,0 @@ -accessWidener v2 named - -accessible field net/minecraft/client/multiplayer/ClientChunkCache storage Lnet/minecraft/client/multiplayer/ClientChunkCache$Storage; -accessible field net/minecraft/client/multiplayer/ClientChunkCache lightEngine Lnet/minecraft/world/level/lighting/LevelLightEngine; -mutable field net/minecraft/client/multiplayer/ClientChunkCache lightEngine Lnet/minecraft/world/level/lighting/LevelLightEngine; -accessible class net/minecraft/client/multiplayer/ClientChunkCache$Storage -accessible field net/minecraft/client/multiplayer/ClientChunkCache$Storage chunks Ljava/util/concurrent/atomic/AtomicReferenceArray; - -accessible field net/minecraft/world/level/Level blockEntityTickers Ljava/util/List; - -accessible class net/minecraft/client/renderer/RenderType$CompositeRenderType -accessible method net/minecraft/nbt/CompoundTag (Ljava/util/Map;)V - -accessible class net/minecraft/world/level/levelgen/SurfaceRules$Condition -accessible class net/minecraft/world/level/levelgen/SurfaceRules$LazyCondition -accessible class net/minecraft/world/level/levelgen/SurfaceRules$SequenceRule -accessible class net/minecraft/world/level/levelgen/SurfaceRules$SurfaceRule -accessible class net/minecraft/world/level/levelgen/SurfaceRules$Context -accessible class net/minecraft/world/level/levelgen/DensityFunctions$Marker -accessible class net/minecraft/world/level/levelgen/DensityFunctions$Marker$Type -accessible method net/minecraft/world/level/levelgen/DensityFunctions$Marker (Lnet/minecraft/world/level/levelgen/DensityFunctions$Marker$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;)V -accessible class net/minecraft/world/level/levelgen/DensityFunctions$Mapped -accessible class net/minecraft/world/level/levelgen/DensityFunctions$Mapped$Type -accessible method net/minecraft/world/level/levelgen/DensityFunctions$Mapped (Lnet/minecraft/world/level/levelgen/DensityFunctions$Mapped$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;DD)V -accessible class net/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd -accessible class net/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd$Type -accessible method net/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd (Lnet/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;DDD)V - -accessible class net/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase$Cache -accessible class net/minecraft/server/level/ServerChunkCache$MainThreadExecutor -accessible field net/minecraft/world/level/block/state/BlockBehaviour properties Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties; -accessible class net/minecraft/client/renderer/block/model/BlockElementFace$Deserializer -accessible class net/minecraft/client/renderer/texture/Stitcher$Holder -accessible field net/minecraft/client/renderer/texture/Stitcher$Holder width I -accessible field net/minecraft/client/renderer/texture/Stitcher$Holder height I -accessible field net/minecraft/network/syncher/EntityDataAccessor id I -mutable field net/minecraft/network/syncher/EntityDataAccessor id I -accessible class net/minecraft/client/resources/model/ModelBakery$BlockStateDefinitionException -accessible field net/minecraft/network/syncher/SynchedEntityData itemsById Lit/unimi/dsi/fastutil/ints/Int2ObjectMap; -accessible field net/minecraft/network/syncher/SynchedEntityData ENTITY_ID_POOL Lit/unimi/dsi/fastutil/objects/Object2IntMap; -accessible field net/minecraft/network/syncher/SynchedEntityData lock Ljava/util/concurrent/locks/ReadWriteLock; -accessible method net/minecraft/Util makeExecutor (Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; -accessible field net/minecraft/server/level/ChunkMap updatingChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; -accessible field net/minecraft/server/level/ChunkMap visibleChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; -accessible field net/minecraft/server/level/ChunkMap pendingUnloads Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap; -accessible method net/minecraft/resources/ResourceKey (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;)V -accessible field net/minecraft/client/renderer/block/model/BlockModel GSON Lcom/google/gson/Gson; -accessible class net/minecraft/server/level/ChunkMap$DistanceManager -accessible class net/minecraft/client/resources/model/ModelBakery$BakedCacheKey -accessible field net/minecraft/client/resources/model/ModelBakery bakedCache Ljava/util/Map; -accessible field net/minecraft/client/resources/model/ModelBakery ITEM_MODEL_GENERATOR Lnet/minecraft/client/renderer/block/model/ItemModelGenerator; -accessible method net/minecraft/client/resources/model/ModelBakery loadTopLevel (Lnet/minecraft/client/resources/model/ModelResourceLocation;)V -accessible field net/minecraft/client/resources/model/ModelBakery topLevelModels Ljava/util/Map; -accessible class net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl -accessible method net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl (Lnet/minecraft/client/resources/model/ModelBakery;Ljava/util/function/BiFunction;Lnet/minecraft/resources/ResourceLocation;)V -accessible method net/minecraft/client/resources/model/ModelBakery$BakedCacheKey (Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/math/Transformation;Z)V -accessible class net/minecraft/world/level/chunk/PalettedContainer$Data -accessible field net/minecraft/server/MinecraftServer resources Lnet/minecraft/server/MinecraftServer$ReloadableResources; -accessible class net/minecraft/server/MinecraftServer$ReloadableResources -accessible method net/minecraft/client/gui/screens/Screen addRenderableWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; -accessible field net/minecraft/client/KeyMapping ALL Ljava/util/Map; -accessible field net/minecraft/client/renderer/block/model/multipart/MultiPart definition Lnet/minecraft/world/level/block/state/StateDefinition; -accessible field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel; -mutable field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel; -accessible field net/minecraft/client/renderer/entity/EnderDragonRenderer$DragonModel entity Lnet/minecraft/world/entity/boss/enderdragon/EnderDragon; -accessible method net/minecraft/world/level/block/state/StateDefinition appendPropertyCodec (Lcom/mojang/serialization/MapCodec;Ljava/util/function/Supplier;Ljava/lang/String;Lnet/minecraft/world/level/block/state/properties/Property;)Lcom/mojang/serialization/MapCodec; - -accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State preparationNanos Ljava/util/concurrent/atomic/AtomicLong; -accessible field net/minecraft/server/packs/resources/ProfiledReloadInstance$State reloadNanos Ljava/util/concurrent/atomic/AtomicLong; - -accessible class net/minecraft/world/item/crafting/Ingredient$Value -accessible field net/minecraft/world/item/crafting/Ingredient$TagValue tag Lnet/minecraft/tags/TagKey; -accessible field net/minecraft/world/item/crafting/Ingredient$ItemValue item Lnet/minecraft/world/item/ItemStack; -accessible class net/minecraft/world/item/crafting/Ingredient$ItemValue -accessible class net/minecraft/client/searchtree/SearchRegistry$TreeEntry \ No newline at end of file diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/datagen/RuntimeDatagen.java b/forge/src/main/java/org/embeddedt/modernfix/forge/datagen/RuntimeDatagen.java deleted file mode 100644 index 47246753..00000000 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/datagen/RuntimeDatagen.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.embeddedt.modernfix.forge.datagen; - -import net.minecraft.Util; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.screens.TitleScreen; -import net.minecraft.core.HolderLookup; -import net.minecraft.data.registries.VanillaRegistries; -import net.minecraft.network.chat.Component; -import net.minecraft.server.packs.PackResources; -import net.minecraft.server.packs.PackType; -import net.minecraft.server.packs.resources.MultiPackResourceManager; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.ScreenEvent; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.data.loading.DatagenModLoader; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.ModLoader; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.util.ObfuscationReflectionHelper; -import org.embeddedt.modernfix.ModernFix; - -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - -@Mod.EventBusSubscriber(value = Dist.CLIENT) -public class RuntimeDatagen { - private static final String RESOURCES_OUT_DIR = getPropertyOrBlank("modernfix.datagen.output"); - private static final String RESOURCES_IN_DIR = getPropertyOrBlank("modernfix.datagen.existing"); - private static final String MODS_LIST = getPropertyOrBlank("modernfix.datagen.mods"); - private static final String EXISTING_MODS_LIST = getPropertyOrBlank("modernfix.datagen.existing_mods"); - private static final boolean IS_FLAT = Boolean.getBoolean("modernfix.datagen.flat"); - - private static String getPropertyOrBlank(String name) { - String val = System.getProperty(name); - if(val == null || val.length() == 0) - return ""; - else - return val; - } - - public static boolean isDatagenAvailable() { - return RESOURCES_OUT_DIR.length() > 0; - } - - public static void runRuntimeDatagen() { - ObfuscationReflectionHelper.setPrivateValue(DatagenModLoader.class, null, true, "runningDataGen"); - Set mods = new HashSet<>(Arrays.stream(MODS_LIST.split(",")).collect(Collectors.toSet())); - ModernFix.LOGGER.info("Beginning runtime datagen for " + mods.size() + " mods..."); - Set existingMods = new HashSet<>(Arrays.stream(EXISTING_MODS_LIST.split(",")).collect(Collectors.toSet())); - Set existingPacks = new HashSet<>(Arrays.stream(RESOURCES_IN_DIR.split(",")).map(Paths::get).collect(Collectors.toSet())); - Path path = Paths.get(RESOURCES_OUT_DIR); - CompletableFuture lookupProvider = CompletableFuture.supplyAsync(VanillaRegistries::createLookup, Util.backgroundExecutor()); - GatherDataEvent.DataGeneratorConfig dataGeneratorConfig = new GatherDataEvent.DataGeneratorConfig(mods, path, Collections.emptyList(), - lookupProvider, true, true, true, true, true, mods.isEmpty() || IS_FLAT); - if (!mods.contains("forge")) { - //If we aren't generating data for forge, automatically add forge as an existing so mods can access forge's data - existingMods.add("forge"); - } - ExistingFileHelper existingFileHelper = new ExistingFileHelper(existingPacks, existingMods, true, null, null); - /* Inject the client pack resources from us */ - MultiPackResourceManager manager = ObfuscationReflectionHelper.getPrivateValue(ExistingFileHelper.class, existingFileHelper, "clientResources"); - List oldPacks = new ArrayList<>(manager.listPacks().collect(Collectors.toList())); - oldPacks.add(Minecraft.getInstance().getVanillaPackResources()); - ObfuscationReflectionHelper.setPrivateValue(ExistingFileHelper.class, existingFileHelper, new MultiPackResourceManager(PackType.CLIENT_RESOURCES, oldPacks), "clientResources"); - ModLoader.get().runEventGenerator(mc->new GatherDataEvent(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.isFlat() ? p : p.resolve(mc.getModId()), dataGeneratorConfig.getMods().contains(mc.getModId())), dataGeneratorConfig, existingFileHelper)); - dataGeneratorConfig.runAll(); - ObfuscationReflectionHelper.setPrivateValue(DatagenModLoader.class, null, false, "runningDataGen"); - ModernFix.LOGGER.info("Finished runtime datagen."); - } - - @SubscribeEvent - public static void onInitTitleScreen(ScreenEvent.Init.Post event) { - if(isDatagenAvailable() && event.getScreen() instanceof TitleScreen) { - TitleScreen screen = (TitleScreen)event.getScreen(); - screen.addRenderableWidget(Button.builder(Component.literal("DG"), (arg) -> { - runRuntimeDatagen(); - }).pos(screen.width / 2 - 100 - 50, screen.height / 4 + 48).size(50, 20).build()); - } - } -} diff --git a/forge/src/main/resources/pack.mcmeta b/forge/src/main/resources/pack.mcmeta deleted file mode 100644 index b9e3938c..00000000 --- a/forge/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "ModernFix", - "pack_format": 6 - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000..48801417 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,4 @@ +include("annotation-processor") +include("annotations") + +rootProject.name = "modernfix" \ No newline at end of file diff --git a/settings.gradle b/settings.gradle.legacy similarity index 100% rename from settings.gradle rename to settings.gradle.legacy diff --git a/common/src/main/java/org/embeddedt/modernfix/ModernFix.java b/src/main/java/org/embeddedt/modernfix/ModernFix.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/ModernFix.java rename to src/main/java/org/embeddedt/modernfix/ModernFix.java diff --git a/common/src/main/java/org/embeddedt/modernfix/ModernFixClient.java b/src/main/java/org/embeddedt/modernfix/ModernFixClient.java similarity index 97% rename from common/src/main/java/org/embeddedt/modernfix/ModernFixClient.java rename to src/main/java/org/embeddedt/modernfix/ModernFixClient.java index aa55531a..8d437f32 100644 --- a/common/src/main/java/org/embeddedt/modernfix/ModernFixClient.java +++ b/src/main/java/org/embeddedt/modernfix/ModernFixClient.java @@ -8,7 +8,6 @@ import org.embeddedt.modernfix.api.entrypoint.ModernFixClientIntegration; import org.embeddedt.modernfix.core.ModernFixMixinPlugin; import org.embeddedt.modernfix.platform.ModernFixPlatformHooks; import org.embeddedt.modernfix.searchtree.JEIBackedSearchTree; -import org.embeddedt.modernfix.searchtree.REIBackedSearchTree; import org.embeddedt.modernfix.searchtree.SearchTreeProviderRegistry; import org.embeddedt.modernfix.spark.SparkLaunchProfiler; import org.embeddedt.modernfix.util.ClassInfoManager; @@ -42,7 +41,6 @@ public class ModernFixClient { brandingString = ModernFix.NAME + " " + ModernFixPlatformHooks.INSTANCE.getVersionString(); } SearchTreeProviderRegistry.register(JEIBackedSearchTree.PROVIDER); - SearchTreeProviderRegistry.register(REIBackedSearchTree.PROVIDER); for(String className : ModernFixPlatformHooks.INSTANCE.getCustomModOptions().get(IntegrationConstants.CLIENT_INTEGRATION_CLASS)) { try { CLIENT_INTEGRATIONS.add((ModernFixClientIntegration)Class.forName(className).getDeclaredConstructor().newInstance()); diff --git a/common/src/main/java/org/embeddedt/modernfix/api/constants/IntegrationConstants.java b/src/main/java/org/embeddedt/modernfix/api/constants/IntegrationConstants.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/api/constants/IntegrationConstants.java rename to src/main/java/org/embeddedt/modernfix/api/constants/IntegrationConstants.java diff --git a/common/src/main/java/org/embeddedt/modernfix/api/entrypoint/ModernFixClientIntegration.java b/src/main/java/org/embeddedt/modernfix/api/entrypoint/ModernFixClientIntegration.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/api/entrypoint/ModernFixClientIntegration.java rename to src/main/java/org/embeddedt/modernfix/api/entrypoint/ModernFixClientIntegration.java diff --git a/common/src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java b/src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java similarity index 86% rename from common/src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java rename to src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java index 293fe410..a1490d35 100644 --- a/common/src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java +++ b/src/main/java/org/embeddedt/modernfix/api/helpers/ModelHelpers.java @@ -1,6 +1,8 @@ package org.embeddedt.modernfix.api.helpers; import com.google.common.collect.ImmutableList; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; @@ -15,6 +17,7 @@ import org.jetbrains.annotations.Nullable; import java.util.Map; import java.util.Optional; import java.util.function.BiFunction; +import java.util.function.Function; @SuppressWarnings("unused") public final class ModelHelpers { @@ -69,6 +72,16 @@ public final class ModelHelpers { public BakedModel bake(ResourceLocation resourceLocation, ModelState modelState) { return ((IExtendedModelBakery)bakery).bakeDefault(resourceLocation, modelState); } + + @Override + public @Nullable BakedModel bake(ResourceLocation location, ModelState state, Function sprites) { + throw new UnsupportedOperationException(); + } + + @Override + public Function getModelTextureGetter() { + return Material::sprite; + } }; } } diff --git a/common/src/main/java/org/embeddedt/modernfix/blockstate/BlockStateCacheHandler.java b/src/main/java/org/embeddedt/modernfix/blockstate/BlockStateCacheHandler.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/blockstate/BlockStateCacheHandler.java rename to src/main/java/org/embeddedt/modernfix/blockstate/BlockStateCacheHandler.java diff --git a/common/src/main/java/org/embeddedt/modernfix/blockstate/FakeStateMap.java b/src/main/java/org/embeddedt/modernfix/blockstate/FakeStateMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/blockstate/FakeStateMap.java rename to src/main/java/org/embeddedt/modernfix/blockstate/FakeStateMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java b/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java rename to src/main/java/org/embeddedt/modernfix/command/ModernFixCommands.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/buffer_builder_leak/BufferBuilderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/buffer_builder_leak/BufferBuilderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/buffer_builder_leak/BufferBuilderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/buffer_builder_leak/BufferBuilderMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java index cfed9788..0a174b76 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ChunkMapLoadMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.chunk_deadlock; +package org.embeddedt.modernfix.common.mixin.bugfix.chunk_deadlock; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/EntityMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/EntityMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/EntityMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/EntityMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java index 6553f291..024e9e47 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/chunk_deadlock/ServerChunkCache_CurrentLoadingMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.chunk_deadlock; +package org.embeddedt.modernfix.common.mixin.bugfix.chunk_deadlock; import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ServerChunkCache; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java index c73ef328..c159f87f 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.cofh_core_crash; +package org.embeddedt.modernfix.common.mixin.bugfix.cofh_core_crash; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import org.embeddedt.modernfix.annotation.RequiresMod; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java index 1367ff67..d7fbbee3 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/ForgeRegistryTagManagerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.concurrency; +package org.embeddedt.modernfix.common.mixin.bugfix.concurrency; import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/MappedRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/MappedRegistryMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/MappedRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/MappedRegistryMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/NamespacedWrapperMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/NamespacedWrapperMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/NamespacedWrapperMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/NamespacedWrapperMixin.java index 630a4715..4a4e338a 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/concurrency/NamespacedWrapperMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/concurrency/NamespacedWrapperMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.concurrency; +package org.embeddedt.modernfix.common.mixin.bugfix.concurrency; import net.minecraft.core.HolderSet; import net.minecraft.tags.TagKey; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java index 26844d70..9d8e7212 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ctm_resourceutil_cme/ResourceUtilMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.ctm_resourceutil_cme; +package org.embeddedt.modernfix.common.mixin.bugfix.ctm_resourceutil_cme; import org.embeddedt.modernfix.annotation.ClientOnlyMixin; import org.embeddedt.modernfix.annotation.RequiresMod; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak/EnderDragonRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak/EnderDragonRendererMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak/EnderDragonRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak/EnderDragonRendererMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java index 10109809..7b83015d 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/LivingEntityRendererMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.entity_pose_stack; +package org.embeddedt.modernfix.common.mixin.bugfix.entity_pose_stack; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.LivingEntityRenderer; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java index 71180460..fed631cc 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PlayerRendererMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.entity_pose_stack; +package org.embeddedt.modernfix.common.mixin.bugfix.entity_pose_stack; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.entity.player.PlayerRenderer; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java similarity index 83% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java index a0a8ec30..6aebaf60 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/entity_pose_stack/PoseStackAccessor.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.entity_pose_stack; +package org.embeddedt.modernfix.common.mixin.bugfix.entity_pose_stack; import com.mojang.blaze3d.vertex.PoseStack; import org.embeddedt.modernfix.annotation.ClientOnlyMixin; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java index 569a6ca1..4f6bbc71 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/extra_experimental_screen/CreateWorldScreenMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.extra_experimental_screen; +package org.embeddedt.modernfix.common.mixin.bugfix.extra_experimental_screen; import com.mojang.serialization.Lifecycle; import net.minecraft.client.gui.screens.worldselection.CreateWorldScreen; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java index fe288d80..c0fa7b6c 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.forge_vehicle_packets; +package org.embeddedt.modernfix.common.mixin.bugfix.forge_vehicle_packets; import net.minecraft.network.protocol.game.ServerboundMoveVehiclePacket; import net.minecraft.server.level.ServerPlayer; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/missing_block_entities/LevelChunkMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/missing_block_entities/LevelChunkMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/missing_block_entities/LevelChunkMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/missing_block_entities/LevelChunkMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java index f8ba7cfb..acbbceb8 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/model_data_manager_cme/ModelDataManagerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.model_data_manager_cme; +package org.embeddedt.modernfix.common.mixin.bugfix.model_data_manager_cme; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/ChunkMapMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/ChunkMapMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/ChunkMapMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/ChunkMapMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/SortedArraySetMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/SortedArraySetMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/SortedArraySetMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/paper_chunk_patches/SortedArraySetMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java index 430e2185..692ee5d2 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/recipe_book_type_desync/RecipeBookSettingsMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.recipe_book_type_desync; +package org.embeddedt.modernfix.common.mixin.bugfix.recipe_book_type_desync; import com.llamalad7.mixinextras.sugar.Local; import net.minecraft.network.FriendlyByteBuf; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/registry_ops_cme/RegistryOpsMemoizedMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/registry_ops_cme/RegistryOpsMemoizedMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/registry_ops_cme/RegistryOpsMemoizedMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/registry_ops_cme/RegistryOpsMemoizedMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java similarity index 88% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java index 59b4ae8d..9eacb699 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/removed_dimensions/LevelStorageSourceMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.removed_dimensions; +package org.embeddedt.modernfix.common.mixin.bugfix.removed_dimensions; import net.minecraft.world.level.storage.LevelStorageSource; import org.spongepowered.asm.mixin.Mixin; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/restore_old_dragon_movement/EnderDragonMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/restore_old_dragon_movement/EnderDragonMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/restore_old_dragon_movement/EnderDragonMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/restore_old_dragon_movement/EnderDragonMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java similarity index 91% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java index 3f1eb8e2..47ccb2b5 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheCyclicMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.unsafe_modded_shape_caches; +package org.embeddedt.modernfix.common.mixin.bugfix.unsafe_modded_shape_caches; import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.annotation.RequiresMod; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java similarity index 93% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java index c2a43839..f8150693 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/unsafe_modded_shape_caches/ShapeCacheRSMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.bugfix.unsafe_modded_shape_caches; +package org.embeddedt.modernfix.common.mixin.bugfix.unsafe_modded_shape_caches; import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.annotation.RequiresMod; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_leaks/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_leaks/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_leaks/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_leaks/MinecraftMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_screen_skipped/WorldSelectionListMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_screen_skipped/WorldSelectionListMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_screen_skipped/WorldSelectionListMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/world_screen_skipped/WorldSelectionListMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapClientMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapClientMixin.java similarity index 93% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapClientMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapClientMixin.java index d1706ba7..cc7fe407 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapClientMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapClientMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import net.minecraft.client.renderer.RenderType; import net.minecraft.server.Bootstrap; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java index 86f648d8..52e582ba 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/BootstrapMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import net.minecraft.server.Bootstrap; import net.minecraftforge.network.NetworkConstants; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/CrashReportAnalyserMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/CrashReportAnalyserMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/CrashReportAnalyserMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/CrashReportAnalyserMixin.java index 180ac80f..cef9c4de 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/CrashReportAnalyserMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/CrashReportAnalyserMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import net.minecraftforge.forgespi.language.IModInfo; import net.minecraftforge.logging.CrashReportAnalyser; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/MinecraftServerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java similarity index 65% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/MinecraftServerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java index fa641559..09d5098a 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/MinecraftServerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/MinecraftServerMixin.java @@ -1,11 +1,14 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import net.minecraft.Util; import net.minecraft.server.MinecraftServer; +import org.embeddedt.modernfix.duck.ITimeTrackingServer; import org.embeddedt.modernfix.forge.load.MinecraftServerReloadTracker; 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.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.Collection; @@ -13,7 +16,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; @Mixin(MinecraftServer.class) -public class MinecraftServerMixin { +public class MinecraftServerMixin implements ITimeTrackingServer { @Inject(method = "reloadResources", at = @At("HEAD")) private void startReloadTrack(Collection selectedIds, CallbackInfoReturnable> cir) { MinecraftServerReloadTracker.ACTIVE_RELOADS++; @@ -25,4 +28,16 @@ public class MinecraftServerMixin { MinecraftServerReloadTracker.ACTIVE_RELOADS--; }, (Executor)this); } + + private long mfix$lastTickStartTime = -1L; + + @Override + public long mfix$getLastTickStartTime() { + return mfix$lastTickStartTime; + } + + @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;tickServer(Ljava/util/function/BooleanSupplier;)V")) + private void trackTickTime(CallbackInfo ci) { + mfix$lastTickStartTime = Util.getMillis(); + } } diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/NetworkHooksMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/NetworkHooksMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/NetworkHooksMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/NetworkHooksMixin.java index 668870dd..1845a457 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/NetworkHooksMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/NetworkHooksMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import net.minecraft.network.Connection; import net.minecraftforge.network.NetworkHooks; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/WorldLoaderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/WorldLoaderMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/WorldLoaderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/core/WorldLoaderMixin.java index bce85695..ef3b92b2 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/core/WorldLoaderMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/WorldLoaderMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.core; +package org.embeddedt.modernfix.common.mixin.core; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/devenv/GameDataMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/devenv/GameDataMixin.java similarity index 92% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/devenv/GameDataMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/devenv/GameDataMixin.java index 5602da08..5f5e772a 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/devenv/GameDataMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/devenv/GameDataMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.devenv; +package org.embeddedt.modernfix.common.mixin.devenv; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.ForgeRegistry; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/devenv/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/devenv/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/devenv/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/devenv/MinecraftMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/ChunkAccessMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/ChunkAccessMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/ChunkAccessMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/ChunkAccessMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/LevelThreadAccessor.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/LevelThreadAccessor.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/LevelThreadAccessor.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/blockentity_incorrect_thread/LevelThreadAccessor.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/branding/BrandingControlMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/branding/BrandingControlMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/branding/BrandingControlMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/branding/BrandingControlMixin.java index 195b2c34..2df2395c 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/branding/BrandingControlMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/branding/BrandingControlMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.feature.branding; +package org.embeddedt.modernfix.common.mixin.feature.branding; import com.google.common.collect.ImmutableList; import net.minecraftforge.internal.BrandingControl; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/ChunkRenderDispatcherMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/ChunkRenderDispatcherMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/ChunkRenderDispatcherMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/ChunkRenderDispatcherMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/UtilMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/UtilMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/UtilMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/cause_lag_by_disabling_threads/UtilMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/mcfunction_profiling/ServerFunctionManagerMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java similarity index 90% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java index 79351f01..01b7e33f 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/AddReloadListenerEventWrapperMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.feature.measure_time; +package org.embeddedt.modernfix.common.mixin.feature.measure_time; import net.minecraft.server.packs.resources.PreparableReloadListener; import org.spongepowered.asm.mixin.Final; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/BootstrapMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/BootstrapMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/BootstrapMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/BootstrapMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ConnectScreenMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ConnectScreenMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ConnectScreenMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ConnectScreenMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/MinecraftMixin_Forge.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin_Forge.java similarity index 90% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/MinecraftMixin_Forge.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin_Forge.java index ee5a3927..43c3f288 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/measure_time/MinecraftMixin_Forge.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/MinecraftMixin_Forge.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.feature.measure_time; +package org.embeddedt.modernfix.common.mixin.feature.measure_time; import net.minecraft.client.Minecraft; import org.embeddedt.modernfix.ModernFixClient; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ProfiledReloadInstanceMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ProfiledReloadInstanceMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ProfiledReloadInstanceMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/ProfiledReloadInstanceMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/SimpleReloadInstanceMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/SimpleReloadInstanceMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/SimpleReloadInstanceMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/SimpleReloadInstanceMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/WorldLoaderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/WorldLoaderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/WorldLoaderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/measure_time/WorldLoaderMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/registry_event_progress/GameDataMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/registry_event_progress/GameDataMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/registry_event_progress/GameDataMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/registry_event_progress/GameDataMixin.java index 4b0b568e..157c2056 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/feature/registry_event_progress/GameDataMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/registry_event_progress/GameDataMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.feature.registry_event_progress; +package org.embeddedt.modernfix.common.mixin.feature.registry_event_progress; import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.fml.ModList; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ChatTrustLevelMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ChatTrustLevelMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ChatTrustLevelMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ChatTrustLevelMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ProfileKeyPairManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ProfileKeyPairManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ProfileKeyPairManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_chat_signing/ProfileKeyPairManagerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/ClientTelemetryManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/ClientTelemetryManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/ClientTelemetryManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/ClientTelemetryManagerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/MinecraftMixin_Telemetry.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/MinecraftMixin_Telemetry.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/MinecraftMixin_Telemetry.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/remove_telemetry/MinecraftMixin_Telemetry.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/MinecraftMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/WorldLoaderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/WorldLoaderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/WorldLoaderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/spark_profile_world_join/WorldLoaderMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/suppress_narrator_stacktrace/GameNarratorMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/feature/suppress_narrator_stacktrace/GameNarratorMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/feature/suppress_narrator_stacktrace/GameNarratorMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/feature/suppress_narrator_stacktrace/GameNarratorMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/blast_search_trees/MinecraftMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_blockstate_cache_arrays/AbstractBlockStateCacheMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_blockstate_cache_arrays/AbstractBlockStateCacheMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_blockstate_cache_arrays/AbstractBlockStateCacheMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_blockstate_cache_arrays/AbstractBlockStateCacheMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_profile_texture_url/SkinManagerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ChunkGeneratorMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ChunkGeneratorMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ChunkGeneratorMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ChunkGeneratorMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ServerLevelMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ServerLevelMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ServerLevelMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_strongholds/ServerLevelMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_upgraded_structures/StructureManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_upgraded_structures/StructureManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_upgraded_structures/StructureManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/cache_upgraded_structures/StructureManagerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/chunk_meshing/RebuildTaskMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_bit_storage/PalettedContainerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_bit_storage/PalettedContainerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_bit_storage/PalettedContainerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_bit_storage/PalettedContainerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/BlockStateDataMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/BlockStateDataMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/BlockStateDataMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/BlockStateDataMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/MappedRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/MappedRegistryMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/MappedRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/MappedRegistryMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/VanillaRegistriesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/VanillaRegistriesMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/VanillaRegistriesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compact_mojang_registries/VanillaRegistriesMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderByteContentsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderByteContentsMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderByteContentsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderByteContentsMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderShortContentsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderShortContentsMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderShortContentsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/compress_unihex_font/UnihexProviderShortContentsMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java similarity index 90% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java index 4f7edeb4..271e46f2 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/datapack_reload_exceptions/RecipeManagerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.datapack_reload_exceptions; +package org.embeddedt.modernfix.common.mixin.perf.datapack_reload_exceptions; import net.minecraft.world.item.crafting.RecipeManager; import org.slf4j.Logger; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/CreateWorldScreenMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/CreateWorldScreenMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/CreateWorldScreenMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/CreateWorldScreenMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftServerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftServerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftServerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/MinecraftServerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/WorldOpenFlowsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/WorldOpenFlowsMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/WorldOpenFlowsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dedicated_reload_executor/WorldOpenFlowsMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_wall_shapes/WallBlockMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_wall_shapes/WallBlockMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_wall_shapes/WallBlockMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_wall_shapes/WallBlockMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/BlockEntityTypeMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/BlockEntityTypeMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/BlockEntityTypeMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/BlockEntityTypeMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixTypesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixTypesMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixTypesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixTypesMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixersMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixersMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixersMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/DataFixersMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/EntityTypeBuilderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/EntityTypeBuilderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/EntityTypeBuilderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_dfu/EntityTypeBuilderMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockModelShaperMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockModelShaperMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockModelShaperMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockModelShaperMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockStateBaseMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockStateBaseMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockStateBaseMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/BlockStateBaseMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java index fc22e6dc..09398c75 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ForgeHooksClientMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; import com.google.common.base.Stopwatch; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java similarity index 98% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java index 5fb4fd0e..6164bb03 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelMesherForgeMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; import net.minecraft.client.renderer.ItemModelShaper; import net.minecraft.client.resources.model.BakedModel; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelShaperMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelShaperMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelShaperMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemModelShaperMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java index 3118b7b8..48a3e720 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesForgeMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemRendererMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemRendererMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakerImplMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakerImplMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakerImplMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakerImplMixin.java index 1ec0b30e..f971d97c 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakerImplMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakerImplMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; @@ -27,7 +27,7 @@ import java.util.function.Function; @ClientOnlyMixin public abstract class ModelBakerImplMixin implements IModelBakerImpl, IExtendedModelBaker { private static final boolean debugDynamicModelLoading = Boolean.getBoolean("modernfix.debugDynamicModelLoading"); - @Shadow @Final private ModelBakery field_40571; + @Shadow(aliases = {"this$0","f_243927_"}) @Final private ModelBakery field_40571; private boolean mfix$ignoreCache = false; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakeryMixin.java similarity index 99% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakeryMixin.java index ef0303ad..d42cde4b 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ModelManagerMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java similarity index 86% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java index 16f2164a..5fad4788 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/CTMModelBakeryAccessor.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources.ctm; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ctm; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelBakery; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java similarity index 98% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java index 333c857d..bbb56111 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ctm/TextureMetadataHandlerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources.ctm; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ctm; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java similarity index 98% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java index de4e80db..93bb469e 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ldlib/ClientProxyImplMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources.ldlib; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ldlib; import com.lowdragmc.lowdraglib.LDLib; import com.lowdragmc.lowdraglib.client.ClientProxy; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java index 12e235a9..153d741f 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/supermartijncore/ClientRegistrationHandlerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.dynamic_resources.supermartijncore; +package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.supermartijncore; import com.supermartijn642.core.registry.ClientRegistrationHandler; import com.supermartijn642.core.util.Pair; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_structure_manager/StructureManagerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_structure_manager/StructureManagerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_structure_manager/StructureManagerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_structure_manager/StructureManagerMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java similarity index 96% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java index ef19734d..c39948d6 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_forge_dummies/NamespacedHolderHelperMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.fast_forge_dummies; +package org.embeddedt.modernfix.common.mixin.perf.fast_forge_dummies; import com.mojang.serialization.Lifecycle; import net.minecraft.core.Holder; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java index ff20449d..887da3c5 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fast_registry_validation/ForgeRegistryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.fast_registry_validation; +package org.embeddedt.modernfix.common.mixin.perf.fast_registry_validation; import net.minecraftforge.registries.ForgeRegistry; import org.apache.logging.log4j.Logger; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java index de801ccb..f9513afc 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/CofhIngredientWithCountMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.faster_ingredients; +package org.embeddedt.modernfix.common.mixin.perf.faster_ingredients; import cofh.lib.util.crafting.IngredientWithCount; import net.minecraft.world.item.ItemStack; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/ForgeHooksMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/ForgeHooksMixin.java similarity index 93% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/ForgeHooksMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/ForgeHooksMixin.java index a5cd1ca3..d7a082a1 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/ForgeHooksMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/ForgeHooksMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.faster_ingredients; +package org.embeddedt.modernfix.common.mixin.perf.faster_ingredients; import net.minecraft.world.item.crafting.Ingredient; import net.minecraftforge.common.ForgeHooks; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/IngredientMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/IngredientMixin.java similarity index 99% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/IngredientMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/IngredientMixin.java index eea9aa02..ac12f70d 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/faster_ingredients/IngredientMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_ingredients/IngredientMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.faster_ingredients; +package org.embeddedt.modernfix.common.mixin.perf.faster_ingredients; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntComparators; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/GameRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/GameRendererMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/GameRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/GameRendererMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/ItemRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/ItemRendererMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/ItemRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_item_rendering/ItemRendererMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/ServerLevelMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/ServerLevelMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/ServerLevelMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/ServerLevelMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/StructureCheckMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/StructureCheckMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/StructureCheckMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_structure_location/StructureCheckMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_texture_stitching/StitcherMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_texture_stitching/StitcherMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_texture_stitching/StitcherMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/faster_texture_stitching/StitcherMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fix_loop_spin_waiting/MinecraftServerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fix_loop_spin_waiting/MinecraftServerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/fix_loop_spin_waiting/MinecraftServerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/fix_loop_spin_waiting/MinecraftServerMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java similarity index 93% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java index 68e86aab..7259961a 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_cap_retrieval/LivingEntityMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.forge_cap_retrieval; +package org.embeddedt.modernfix.common.mixin.perf.forge_cap_retrieval; import net.minecraft.core.Direction; import net.minecraft.world.entity.LivingEntity; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java similarity index 92% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java index 4737ac1c..895f1a64 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/DelegateHolderMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.forge_registry_alloc; +package org.embeddedt.modernfix.common.mixin.perf.forge_registry_alloc; import net.minecraft.core.Holder; import net.minecraft.core.Registry; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java similarity index 98% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java index 5d19c0d1..f24d567e 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_alloc/ForgeRegistryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.forge_registry_alloc; +package org.embeddedt.modernfix.common.mixin.perf.forge_registry_alloc; import it.unimi.dsi.fastutil.Hash; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java similarity index 91% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java index 025aacbc..11e1923e 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/forge_registry_lambda/RegistryObjectMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.forge_registry_lambda; +package org.embeddedt.modernfix.common.mixin.perf.forge_registry_lambda; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.registries.RegistryObject; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java similarity index 91% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java index 8e0981cc..e214ca91 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientItemValueMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.ingredient_item_deduplication; +package org.embeddedt.modernfix.common.mixin.perf.ingredient_item_deduplication; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import net.minecraft.world.item.ItemStack; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientMixin.java similarity index 89% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientMixin.java index b57f221b..121c0973 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/ingredient_item_deduplication/IngredientMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ingredient_item_deduplication/IngredientMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.ingredient_item_deduplication; +package org.embeddedt.modernfix.common.mixin.perf.ingredient_item_deduplication; import net.minecraft.world.item.crafting.Ingredient; import org.embeddedt.modernfix.forge.recipe.IngredientValueDeduplicator; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/kubejs/RecipeEventJSMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/kubejs/RecipeEventJSMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/kubejs/RecipeEventJSMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/kubejs/RecipeEventJSMixin.java index 1848edb6..c6d39132 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/kubejs/RecipeEventJSMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/kubejs/RecipeEventJSMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.kubejs; +package org.embeddedt.modernfix.common.mixin.perf.kubejs; import dev.latvian.mods.kubejs.recipe.RecipesEventJS; import org.embeddedt.modernfix.ModernFix; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/lazy_search_tree_registry/SearchRegistryMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/memoize_creative_tab_build/CreativeModeTabMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/memoize_creative_tab_build/CreativeModeTabMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/memoize_creative_tab_build/CreativeModeTabMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/memoize_creative_tab_build/CreativeModeTabMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/BooleanPropertyMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/BooleanPropertyMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/BooleanPropertyMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/BooleanPropertyMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/MultiVariantMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/MultiVariantMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/MultiVariantMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/MultiVariantMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/PropertyMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/PropertyMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/PropertyMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/PropertyMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/SelectorMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/SelectorMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/SelectorMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/SelectorMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/TransformationMatrixMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/TransformationMatrixMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/TransformationMatrixMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/model_optimizations/TransformationMatrixMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/MappedRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/MappedRegistryMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/MappedRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/MappedRegistryMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/StateHolderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/StateHolderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/StateHolderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/mojang_registry_size/StateHolderMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java index f98c6f46..f921379f 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/patchouli_deduplicate_books/ClientBookRegistryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.patchouli_deduplicate_books; +package org.embeddedt.modernfix.common.mixin.perf.patchouli_deduplicate_books; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java similarity index 94% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java index ca203b86..0efa9532 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/ForgeEventFactoryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.potential_spawns_alloc; +package org.embeddedt.modernfix.common.mixin.perf.potential_spawns_alloc; import net.minecraft.core.BlockPos; import net.minecraft.util.random.WeightedRandomList; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java index 5f8071df..6cef1e37 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/potential_spawns_alloc/PotentialSpawnsMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.potential_spawns_alloc; +package org.embeddedt.modernfix.common.mixin.perf.potential_spawns_alloc; import net.minecraft.core.BlockPos; import net.minecraft.util.random.WeightedRandomList; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java similarity index 92% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java index 45c1634d..054bd6cc 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockCallbacksMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.reduce_blockstate_cache_rebuilds; +package org.embeddedt.modernfix.common.mixin.perf.reduce_blockstate_cache_rebuilds; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockStateBaseMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockStateBaseMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockStateBaseMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlockStateBaseMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlocksMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlocksMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlocksMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/reduce_blockstate_cache_rebuilds/BlocksMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_biome_temperature_cache/BiomeMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_biome_temperature_cache/BiomeMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_biome_temperature_cache/BiomeMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_biome_temperature_cache/BiomeMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/EntityMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/EntityMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/EntityMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/EntityMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/MinecraftServerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/MinecraftServerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/MinecraftServerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/MinecraftServerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerChunkCacheAccessor.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerChunkCacheAccessor.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerChunkCacheAccessor.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerChunkCacheAccessor.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerLevelMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerLevelMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerLevelMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/ServerLevelMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/SortedArraySetMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/SortedArraySetMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/SortedArraySetMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/remove_spawn_chunks/SortedArraySetMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java index 157e694d..22f23d27 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcefullib_highlight_deduplication/HighlightHandlerMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.resourcefullib_highlight_deduplication; +package org.embeddedt.modernfix.common.mixin.perf.resourcefullib_highlight_deduplication; import com.teamresourceful.resourcefullib.client.highlights.HighlightHandler; import com.teamresourceful.resourcefullib.client.highlights.base.Highlight; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java similarity index 98% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java index 4be3be65..40d9dc2d 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/resourcepacks/ForgePathPackResourcesMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.resourcepacks; +package org.embeddedt.modernfix.common.mixin.perf.resourcepacks; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.PackResources; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/ConnectionMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/ConnectionMixin.java similarity index 95% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/ConnectionMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/ConnectionMixin.java index e9cbeeac..65547802 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/ConnectionMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/ConnectionMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.smart_ingredient_sync; +package org.embeddedt.modernfix.common.mixin.perf.smart_ingredient_sync; import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/IngredientMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/IngredientMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/IngredientMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/IngredientMixin.java index 771dbf0a..96de1121 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/IngredientMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/IngredientMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.smart_ingredient_sync; +package org.embeddedt.modernfix.common.mixin.perf.smart_ingredient_sync; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/PlayerListMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/PlayerListMixin.java similarity index 97% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/PlayerListMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/PlayerListMixin.java index 80e64379..c3d555b9 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/smart_ingredient_sync/PlayerListMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/smart_ingredient_sync/PlayerListMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.smart_ingredient_sync; +package org.embeddedt.modernfix.common.mixin.perf.smart_ingredient_sync; import com.llamalad7.mixinextras.sugar.Local; import com.llamalad7.mixinextras.sugar.Share; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/state_definition_construct/StateDefinitionMixin.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagEntryMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagEntryMixin.java similarity index 93% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagEntryMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagEntryMixin.java index 8bdc74b8..f3e6cabe 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagEntryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagEntryMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.tag_id_caching; +package org.embeddedt.modernfix.common.mixin.perf.tag_id_caching; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagEntry; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java similarity index 92% rename from forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java index 43575e93..dcb7ee48 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/tag_id_caching/TagOrElementLocationMixin.java @@ -1,4 +1,4 @@ -package org.embeddedt.modernfix.forge.mixin.perf.tag_id_caching; +package org.embeddedt.modernfix.common.mixin.perf.tag_id_caching; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ExtraCodecs; diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/IntegratedServerMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/IntegratedServerMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/IntegratedServerMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/IntegratedServerMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/UtilMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/UtilMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/UtilMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/thread_priorities/UtilMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/BatMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/BatMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/BatMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/BatMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkAccessMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkAccessMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkAccessMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkAccessMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkHolderMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkHolderMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkHolderMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/ticking_chunk_alloc/ChunkHolderMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/MaterialRuleListMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/MaterialRuleListMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/MaterialRuleListMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/MaterialRuleListMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/NoiseChunkMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/NoiseChunkMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/NoiseChunkMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/NoiseChunkMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SequenceRuleMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SequenceRuleMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SequenceRuleMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SequenceRuleMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesContextMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesContextMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesContextMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesContextMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/perf/worldgen_allocation/SurfaceRulesMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/BlockColorsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/safety/BlockColorsMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/BlockColorsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/safety/BlockColorsMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemColorsMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemColorsMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemColorsMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemColorsMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemPropertiesMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemPropertiesMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemPropertiesMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/safety/ItemPropertiesMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/LivingEntityRendererMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/safety/LivingEntityRendererMixin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/common/mixin/safety/LivingEntityRendererMixin.java rename to src/main/java/org/embeddedt/modernfix/common/mixin/safety/LivingEntityRendererMixin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java b/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java rename to src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java diff --git a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java similarity index 99% rename from common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java rename to src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index 853ba473..bec53e4a 100644 --- a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -82,7 +82,7 @@ public class ModernFixEarlyConfig { } private void scanForAndBuildMixinOptions() { - List configFiles = ImmutableList.of("modernfix-common.mixins.json", "modernfix-fabric.mixins.json", "modernfix-forge.mixins.json"); + List configFiles = ImmutableList.of("modernfix-modernfix.mixins.json"); List mixinPaths = new ArrayList<>(); for(String configFile : configFiles) { InputStream stream = ModernFixEarlyConfig.class.getClassLoader().getResourceAsStream(configFile); diff --git a/common/src/main/java/org/embeddedt/modernfix/core/config/Option.java b/src/main/java/org/embeddedt/modernfix/core/config/Option.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/core/config/Option.java rename to src/main/java/org/embeddedt/modernfix/core/config/Option.java diff --git a/common/src/main/java/org/embeddedt/modernfix/core/config/OptionCategories.java b/src/main/java/org/embeddedt/modernfix/core/config/OptionCategories.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/core/config/OptionCategories.java rename to src/main/java/org/embeddedt/modernfix/core/config/OptionCategories.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dfu/DFUBlaster.java b/src/main/java/org/embeddedt/modernfix/dfu/DFUBlaster.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dfu/DFUBlaster.java rename to src/main/java/org/embeddedt/modernfix/dfu/DFUBlaster.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dfu/LazyDataFixer.java b/src/main/java/org/embeddedt/modernfix/dfu/LazyDataFixer.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dfu/LazyDataFixer.java rename to src/main/java/org/embeddedt/modernfix/dfu/LazyDataFixer.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IBlockState.java b/src/main/java/org/embeddedt/modernfix/duck/IBlockState.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IBlockState.java rename to src/main/java/org/embeddedt/modernfix/duck/IBlockState.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IChunkGenerator.java b/src/main/java/org/embeddedt/modernfix/duck/IChunkGenerator.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IChunkGenerator.java rename to src/main/java/org/embeddedt/modernfix/duck/IChunkGenerator.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBaker.java b/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBaker.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBaker.java rename to src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBaker.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBakery.java b/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBakery.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBakery.java rename to src/main/java/org/embeddedt/modernfix/duck/IExtendedModelBakery.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IModelHoldingBlockState.java b/src/main/java/org/embeddedt/modernfix/duck/IModelHoldingBlockState.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IModelHoldingBlockState.java rename to src/main/java/org/embeddedt/modernfix/duck/IModelHoldingBlockState.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IProfilingServerFunctionManager.java b/src/main/java/org/embeddedt/modernfix/duck/IProfilingServerFunctionManager.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IProfilingServerFunctionManager.java rename to src/main/java/org/embeddedt/modernfix/duck/IProfilingServerFunctionManager.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IServerLevel.java b/src/main/java/org/embeddedt/modernfix/duck/IServerLevel.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IServerLevel.java rename to src/main/java/org/embeddedt/modernfix/duck/IServerLevel.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/IStructureCheck.java b/src/main/java/org/embeddedt/modernfix/duck/IStructureCheck.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/IStructureCheck.java rename to src/main/java/org/embeddedt/modernfix/duck/IStructureCheck.java diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/ITimeTrackingServer.java b/src/main/java/org/embeddedt/modernfix/duck/ITimeTrackingServer.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/duck/ITimeTrackingServer.java rename to src/main/java/org/embeddedt/modernfix/duck/ITimeTrackingServer.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCache.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCache.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCache.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelCache.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicModelProvider.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicSoundHelpers.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicSoundHelpers.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicSoundHelpers.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicSoundHelpers.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelLocationCache.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelLocationCache.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelLocationCache.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/ModelLocationCache.java diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelMissingException.java b/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelMissingException.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelMissingException.java rename to src/main/java/org/embeddedt/modernfix/dynamicresources/ModelMissingException.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/ModernFixConfig.java b/src/main/java/org/embeddedt/modernfix/forge/ModernFixConfig.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/ModernFixConfig.java rename to src/main/java/org/embeddedt/modernfix/forge/ModernFixConfig.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ATInjector.java b/src/main/java/org/embeddedt/modernfix/forge/classloading/ATInjector.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/classloading/ATInjector.java rename to src/main/java/org/embeddedt/modernfix/forge/classloading/ATInjector.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/classloading/FastAccessTransformerList.java b/src/main/java/org/embeddedt/modernfix/forge/classloading/FastAccessTransformerList.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/classloading/FastAccessTransformerList.java rename to src/main/java/org/embeddedt/modernfix/forge/classloading/FastAccessTransformerList.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java b/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java rename to src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java b/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java rename to src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigWatchThrottler.java b/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigWatchThrottler.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigWatchThrottler.java rename to src/main/java/org/embeddedt/modernfix/forge/config/NightConfigWatchThrottler.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/IModelBakerImpl.java b/src/main/java/org/embeddedt/modernfix/forge/dynresources/IModelBakerImpl.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/IModelBakerImpl.java rename to src/main/java/org/embeddedt/modernfix/forge/dynresources/IModelBakerImpl.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java b/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java rename to src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelLocationBuilder.java b/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelLocationBuilder.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelLocationBuilder.java rename to src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelLocationBuilder.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixClientForge.java b/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixClientForge.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixClientForge.java rename to src/main/java/org/embeddedt/modernfix/forge/init/ModernFixClientForge.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java b/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java rename to src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/load/MinecraftServerReloadTracker.java b/src/main/java/org/embeddedt/modernfix/forge/load/MinecraftServerReloadTracker.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/load/MinecraftServerReloadTracker.java rename to src/main/java/org/embeddedt/modernfix/forge/load/MinecraftServerReloadTracker.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/load/ModResourcePackPathFixer.java b/src/main/java/org/embeddedt/modernfix/forge/load/ModResourcePackPathFixer.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/load/ModResourcePackPathFixer.java rename to src/main/java/org/embeddedt/modernfix/forge/load/ModResourcePackPathFixer.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/load/ModWorkManagerQueue.java b/src/main/java/org/embeddedt/modernfix/forge/load/ModWorkManagerQueue.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/load/ModWorkManagerQueue.java rename to src/main/java/org/embeddedt/modernfix/forge/load/ModWorkManagerQueue.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/packet/NetworkUtils.java b/src/main/java/org/embeddedt/modernfix/forge/packet/NetworkUtils.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/packet/NetworkUtils.java rename to src/main/java/org/embeddedt/modernfix/forge/packet/NetworkUtils.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/packet/PacketHandler.java b/src/main/java/org/embeddedt/modernfix/forge/packet/PacketHandler.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/packet/PacketHandler.java rename to src/main/java/org/embeddedt/modernfix/forge/packet/PacketHandler.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/recipe/ExtendedIngredient.java b/src/main/java/org/embeddedt/modernfix/forge/recipe/ExtendedIngredient.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/recipe/ExtendedIngredient.java rename to src/main/java/org/embeddedt/modernfix/forge/recipe/ExtendedIngredient.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientItemStacksSoftReference.java b/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientItemStacksSoftReference.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientItemStacksSoftReference.java rename to src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientItemStacksSoftReference.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientValueDeduplicator.java b/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientValueDeduplicator.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientValueDeduplicator.java rename to src/main/java/org/embeddedt/modernfix/forge/recipe/IngredientValueDeduplicator.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/registry/DelegateHolder.java b/src/main/java/org/embeddedt/modernfix/forge/registry/DelegateHolder.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/registry/DelegateHolder.java rename to src/main/java/org/embeddedt/modernfix/forge/registry/DelegateHolder.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/registry/ObjectHolderClearer.java b/src/main/java/org/embeddedt/modernfix/forge/registry/ObjectHolderClearer.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/registry/ObjectHolderClearer.java rename to src/main/java/org/embeddedt/modernfix/forge/registry/ObjectHolderClearer.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/util/AsyncLoadingScreen.java b/src/main/java/org/embeddedt/modernfix/forge/util/AsyncLoadingScreen.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/util/AsyncLoadingScreen.java rename to src/main/java/org/embeddedt/modernfix/forge/util/AsyncLoadingScreen.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/util/ModUtil.java b/src/main/java/org/embeddedt/modernfix/forge/util/ModUtil.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/forge/util/ModUtil.java rename to src/main/java/org/embeddedt/modernfix/forge/util/ModUtil.java diff --git a/common/src/main/java/org/embeddedt/modernfix/platform/ModernFixPlatformHooks.java b/src/main/java/org/embeddedt/modernfix/platform/ModernFixPlatformHooks.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/platform/ModernFixPlatformHooks.java rename to src/main/java/org/embeddedt/modernfix/platform/ModernFixPlatformHooks.java diff --git a/common/src/main/java/org/embeddedt/modernfix/platform/PlatformHookLoader.java b/src/main/java/org/embeddedt/modernfix/platform/PlatformHookLoader.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/platform/PlatformHookLoader.java rename to src/main/java/org/embeddedt/modernfix/platform/PlatformHookLoader.java diff --git a/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java b/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java similarity index 100% rename from forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java rename to src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java diff --git a/common/src/main/java/org/embeddedt/modernfix/registry/LifecycleMap.java b/src/main/java/org/embeddedt/modernfix/registry/LifecycleMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/registry/LifecycleMap.java rename to src/main/java/org/embeddedt/modernfix/registry/LifecycleMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/render/FastItemRenderType.java b/src/main/java/org/embeddedt/modernfix/render/FastItemRenderType.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/render/FastItemRenderType.java rename to src/main/java/org/embeddedt/modernfix/render/FastItemRenderType.java diff --git a/common/src/main/java/org/embeddedt/modernfix/render/RenderState.java b/src/main/java/org/embeddedt/modernfix/render/RenderState.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/render/RenderState.java rename to src/main/java/org/embeddedt/modernfix/render/RenderState.java diff --git a/common/src/main/java/org/embeddedt/modernfix/render/SimpleItemModelView.java b/src/main/java/org/embeddedt/modernfix/render/SimpleItemModelView.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/render/SimpleItemModelView.java rename to src/main/java/org/embeddedt/modernfix/render/SimpleItemModelView.java diff --git a/common/src/main/java/org/embeddedt/modernfix/render/UnsafeBufferHelper.java b/src/main/java/org/embeddedt/modernfix/render/UnsafeBufferHelper.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/render/UnsafeBufferHelper.java rename to src/main/java/org/embeddedt/modernfix/render/UnsafeBufferHelper.java diff --git a/common/src/main/java/org/embeddedt/modernfix/render/font/CompactUnihexContents.java b/src/main/java/org/embeddedt/modernfix/render/font/CompactUnihexContents.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/render/font/CompactUnihexContents.java rename to src/main/java/org/embeddedt/modernfix/render/font/CompactUnihexContents.java diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/ICachingResourcePack.java b/src/main/java/org/embeddedt/modernfix/resources/ICachingResourcePack.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/resources/ICachingResourcePack.java rename to src/main/java/org/embeddedt/modernfix/resources/ICachingResourcePack.java diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java b/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java rename to src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/ReloadExecutor.java b/src/main/java/org/embeddedt/modernfix/resources/ReloadExecutor.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/resources/ReloadExecutor.java rename to src/main/java/org/embeddedt/modernfix/resources/ReloadExecutor.java diff --git a/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java b/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java rename to src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java diff --git a/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixOptionInfoScreen.java b/src/main/java/org/embeddedt/modernfix/screen/ModernFixOptionInfoScreen.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/screen/ModernFixOptionInfoScreen.java rename to src/main/java/org/embeddedt/modernfix/screen/ModernFixOptionInfoScreen.java diff --git a/common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java b/src/main/java/org/embeddedt/modernfix/screen/OptionList.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java rename to src/main/java/org/embeddedt/modernfix/screen/OptionList.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java b/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java rename to src/main/java/org/embeddedt/modernfix/searchtree/DummySearchTree.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/JEIBackedSearchTree.java b/src/main/java/org/embeddedt/modernfix/searchtree/JEIBackedSearchTree.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/JEIBackedSearchTree.java rename to src/main/java/org/embeddedt/modernfix/searchtree/JEIBackedSearchTree.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java b/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java rename to src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java b/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java rename to src/main/java/org/embeddedt/modernfix/searchtree/LazySearchTree.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/RecipeBookSearchTree.java b/src/main/java/org/embeddedt/modernfix/searchtree/RecipeBookSearchTree.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/RecipeBookSearchTree.java rename to src/main/java/org/embeddedt/modernfix/searchtree/RecipeBookSearchTree.java diff --git a/common/src/main/java/org/embeddedt/modernfix/searchtree/SearchTreeProviderRegistry.java b/src/main/java/org/embeddedt/modernfix/searchtree/SearchTreeProviderRegistry.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/searchtree/SearchTreeProviderRegistry.java rename to src/main/java/org/embeddedt/modernfix/searchtree/SearchTreeProviderRegistry.java diff --git a/common/src/main/java/org/embeddedt/modernfix/spark/SparkLaunchProfiler.java b/src/main/java/org/embeddedt/modernfix/spark/SparkLaunchProfiler.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/spark/SparkLaunchProfiler.java rename to src/main/java/org/embeddedt/modernfix/spark/SparkLaunchProfiler.java diff --git a/common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java b/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java rename to src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java diff --git a/common/src/main/java/org/embeddedt/modernfix/textures/StbStitcher.java b/src/main/java/org/embeddedt/modernfix/textures/StbStitcher.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/textures/StbStitcher.java rename to src/main/java/org/embeddedt/modernfix/textures/StbStitcher.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/CacheUtil.java b/src/main/java/org/embeddedt/modernfix/util/CacheUtil.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/CacheUtil.java rename to src/main/java/org/embeddedt/modernfix/util/CacheUtil.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/ClassInfoManager.java b/src/main/java/org/embeddedt/modernfix/util/ClassInfoManager.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/ClassInfoManager.java rename to src/main/java/org/embeddedt/modernfix/util/ClassInfoManager.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/CommonModUtil.java b/src/main/java/org/embeddedt/modernfix/util/CommonModUtil.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/CommonModUtil.java rename to src/main/java/org/embeddedt/modernfix/util/CommonModUtil.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/ConcurrencySanitizingMap.java b/src/main/java/org/embeddedt/modernfix/util/ConcurrencySanitizingMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/ConcurrencySanitizingMap.java rename to src/main/java/org/embeddedt/modernfix/util/ConcurrencySanitizingMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DirectExecutorService.java b/src/main/java/org/embeddedt/modernfix/util/DirectExecutorService.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/DirectExecutorService.java rename to src/main/java/org/embeddedt/modernfix/util/DirectExecutorService.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DummyList.java b/src/main/java/org/embeddedt/modernfix/util/DummyList.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/DummyList.java rename to src/main/java/org/embeddedt/modernfix/util/DummyList.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java b/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java rename to src/main/java/org/embeddedt/modernfix/util/DynamicInt2ObjectMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java b/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/DynamicMap.java rename to src/main/java/org/embeddedt/modernfix/util/DynamicMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/DynamicOverridableMap.java b/src/main/java/org/embeddedt/modernfix/util/DynamicOverridableMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/DynamicOverridableMap.java rename to src/main/java/org/embeddedt/modernfix/util/DynamicOverridableMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/EitherUtil.java b/src/main/java/org/embeddedt/modernfix/util/EitherUtil.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/EitherUtil.java rename to src/main/java/org/embeddedt/modernfix/util/EitherUtil.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/FileUtil.java b/src/main/java/org/embeddedt/modernfix/util/FileUtil.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/FileUtil.java rename to src/main/java/org/embeddedt/modernfix/util/FileUtil.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java b/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java rename to src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/ItemMesherMap.java b/src/main/java/org/embeddedt/modernfix/util/ItemMesherMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/ItemMesherMap.java rename to src/main/java/org/embeddedt/modernfix/util/ItemMesherMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/LambdaMap.java b/src/main/java/org/embeddedt/modernfix/util/LambdaMap.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/LambdaMap.java rename to src/main/java/org/embeddedt/modernfix/util/LambdaMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/NamedPreparableResourceListener.java b/src/main/java/org/embeddedt/modernfix/util/NamedPreparableResourceListener.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/NamedPreparableResourceListener.java rename to src/main/java/org/embeddedt/modernfix/util/NamedPreparableResourceListener.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/PackTypeHelper.java b/src/main/java/org/embeddedt/modernfix/util/PackTypeHelper.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/PackTypeHelper.java rename to src/main/java/org/embeddedt/modernfix/util/PackTypeHelper.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/TimeFormatter.java b/src/main/java/org/embeddedt/modernfix/util/TimeFormatter.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/TimeFormatter.java rename to src/main/java/org/embeddedt/modernfix/util/TimeFormatter.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/blockpos/SectionBlockPosIterator.java b/src/main/java/org/embeddedt/modernfix/util/blockpos/SectionBlockPosIterator.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/util/blockpos/SectionBlockPosIterator.java rename to src/main/java/org/embeddedt/modernfix/util/blockpos/SectionBlockPosIterator.java diff --git a/common/src/main/java/org/embeddedt/modernfix/world/IntegratedWatchdog.java b/src/main/java/org/embeddedt/modernfix/world/IntegratedWatchdog.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/world/IntegratedWatchdog.java rename to src/main/java/org/embeddedt/modernfix/world/IntegratedWatchdog.java diff --git a/common/src/main/java/org/embeddedt/modernfix/world/StrongholdLocationCache.java b/src/main/java/org/embeddedt/modernfix/world/StrongholdLocationCache.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/world/StrongholdLocationCache.java rename to src/main/java/org/embeddedt/modernfix/world/StrongholdLocationCache.java diff --git a/common/src/main/java/org/embeddedt/modernfix/world/ThreadDumper.java b/src/main/java/org/embeddedt/modernfix/world/ThreadDumper.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/world/ThreadDumper.java rename to src/main/java/org/embeddedt/modernfix/world/ThreadDumper.java diff --git a/common/src/main/java/org/embeddedt/modernfix/world/gen/PositionalBiomeGetter.java b/src/main/java/org/embeddedt/modernfix/world/gen/PositionalBiomeGetter.java similarity index 100% rename from common/src/main/java/org/embeddedt/modernfix/world/gen/PositionalBiomeGetter.java rename to src/main/java/org/embeddedt/modernfix/world/gen/PositionalBiomeGetter.java diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg new file mode 100644 index 00000000..13834361 --- /dev/null +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1,64 @@ +public net.minecraft.client.searchtree.SearchRegistry$TreeEntry +public net.minecraft.world.level.levelgen.SurfaceRules$Context +public net.minecraft.world.item.crafting.Ingredient$Value +public net.minecraft.client.renderer.block.model.multipart.MultiPart f_111962_ +public net.minecraft.client.resources.model.ModelBakery$ModelBakerImpl +public net.minecraft.client.resources.model.ModelBakery$ModelBakerImpl (Lnet/minecraft/client/resources/model/ModelBakery;Ljava/util/function/BiFunction;Lnet/minecraft/resources/ResourceLocation;)V +public net.minecraft.world.level.levelgen.SurfaceRules$SequenceRule +public net.minecraft.client.renderer.block.model.BlockModel f_111415_ +public net.minecraft.server.packs.resources.ProfiledReloadInstance$State f_10689_ +public net.minecraft.server.packs.resources.ProfiledReloadInstance$State f_10690_ +public net.minecraft.client.resources.model.ModelBakery$BlockStateDefinitionException +public net.minecraft.world.item.crafting.Ingredient$TagValue f_43959_ +public net.minecraft.server.MinecraftServer$ReloadableResources +public net.minecraft.resources.ResourceKey (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;)V +public net.minecraft.server.level.ServerChunkCache$MainThreadExecutor +public net.minecraft.client.renderer.texture.Stitcher$Holder +public net.minecraft.client.renderer.texture.Stitcher$Holder f_118203_ +public net.minecraft.client.renderer.texture.Stitcher$Holder f_118204_ +public net.minecraft.client.resources.model.ModelBakery f_119213_ +public net.minecraft.client.resources.model.ModelBakery f_119214_ +public net.minecraft.client.resources.model.ModelBakery f_119241_ +public net.minecraft.client.resources.model.ModelBakery m_119306_(Lnet/minecraft/client/resources/model/ModelResourceLocation;)V +public net.minecraft.world.level.levelgen.DensityFunctions$Marker +public net.minecraft.world.level.levelgen.DensityFunctions$Marker (Lnet/minecraft/world/level/levelgen/DensityFunctions$Marker$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;)V +public-f net.minecraft.client.renderer.block.model.ItemOverrides$BakedOverride f_173481_ +public net.minecraft.network.syncher.SynchedEntityData f_135343_ +public net.minecraft.network.syncher.SynchedEntityData f_135345_ +public net.minecraft.network.syncher.SynchedEntityData f_135346_ +public net.minecraft.server.MinecraftServer f_129740_ +public net.minecraft.Util m_137477_(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; +public net.minecraft.world.level.levelgen.SurfaceRules$Condition +public net.minecraft.world.level.levelgen.DensityFunctions$Marker$Type +public net.minecraft.client.multiplayer.ClientChunkCache$Storage +public net.minecraft.client.multiplayer.ClientChunkCache$Storage f_104466_ +public net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase$Cache +public net.minecraft.world.level.levelgen.DensityFunctions$MulOrAdd +public net.minecraft.world.level.levelgen.DensityFunctions$MulOrAdd (Lnet/minecraft/world/level/levelgen/DensityFunctions$MulOrAdd$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;DDD)V +public net.minecraft.world.level.chunk.PalettedContainer$Data +public net.minecraft.world.level.levelgen.DensityFunctions$Mapped$Type +public net.minecraft.client.renderer.block.model.BlockElementFace$Deserializer +public net.minecraft.world.level.Level f_151512_ +public net.minecraft.world.level.levelgen.DensityFunctions$Mapped +public net.minecraft.world.level.levelgen.DensityFunctions$Mapped (Lnet/minecraft/world/level/levelgen/DensityFunctions$Mapped$Type;Lnet/minecraft/world/level/levelgen/DensityFunction;DD)V +public net.minecraft.world.level.block.state.BlockBehaviour f_60439_ +public net.minecraft.client.multiplayer.ClientChunkCache f_104410_ +public-f net.minecraft.client.multiplayer.ClientChunkCache f_104409_ +public net.minecraft.world.level.block.state.StateDefinition m_61076_(Lcom/mojang/serialization/MapCodec;Ljava/util/function/Supplier;Ljava/lang/String;Lnet/minecraft/world/level/block/state/properties/Property;)Lcom/mojang/serialization/MapCodec; +public net.minecraft.world.level.levelgen.SurfaceRules$SurfaceRule +public net.minecraft.nbt.CompoundTag (Ljava/util/Map;)V +public net.minecraft.client.renderer.RenderType$CompositeRenderType +public net.minecraft.world.level.levelgen.SurfaceRules$LazyCondition +public net.minecraft.client.resources.model.ModelBakery$BakedCacheKey +public net.minecraft.client.resources.model.ModelBakery$BakedCacheKey (Lnet/minecraft/resources/ResourceLocation;Lcom/mojang/math/Transformation;Z)V +public net.minecraft.world.item.crafting.Ingredient$ItemValue +public net.minecraft.world.item.crafting.Ingredient$ItemValue f_43951_ +public-f net.minecraft.network.syncher.EntityDataAccessor f_135010_ +public net.minecraft.server.level.ChunkMap$DistanceManager +public net.minecraft.server.level.ChunkMap f_140129_ +public net.minecraft.server.level.ChunkMap f_140131_ +public net.minecraft.server.level.ChunkMap f_140130_ +public net.minecraft.world.level.levelgen.DensityFunctions$MulOrAdd$Type +public net.minecraft.client.renderer.entity.EnderDragonRenderer$DragonModel f_114233_ +public net.minecraft.client.KeyMapping f_90809_ + diff --git a/forge/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml similarity index 100% rename from forge/src/main/resources/META-INF/mods.toml rename to src/main/resources/META-INF/mods.toml diff --git a/common/src/main/resources/assets/modernfix/lang/de_de.json b/src/main/resources/assets/modernfix/lang/de_de.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/de_de.json rename to src/main/resources/assets/modernfix/lang/de_de.json diff --git a/common/src/main/resources/assets/modernfix/lang/en_us.json b/src/main/resources/assets/modernfix/lang/en_us.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/en_us.json rename to src/main/resources/assets/modernfix/lang/en_us.json diff --git a/common/src/main/resources/assets/modernfix/lang/es_mx.json b/src/main/resources/assets/modernfix/lang/es_mx.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/es_mx.json rename to src/main/resources/assets/modernfix/lang/es_mx.json diff --git a/common/src/main/resources/assets/modernfix/lang/it_it.json b/src/main/resources/assets/modernfix/lang/it_it.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/it_it.json rename to src/main/resources/assets/modernfix/lang/it_it.json diff --git a/common/src/main/resources/assets/modernfix/lang/ja_jp.json b/src/main/resources/assets/modernfix/lang/ja_jp.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/ja_jp.json rename to src/main/resources/assets/modernfix/lang/ja_jp.json diff --git a/common/src/main/resources/assets/modernfix/lang/ru_ru.json b/src/main/resources/assets/modernfix/lang/ru_ru.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/ru_ru.json rename to src/main/resources/assets/modernfix/lang/ru_ru.json diff --git a/common/src/main/resources/assets/modernfix/lang/vi_vn.json b/src/main/resources/assets/modernfix/lang/vi_vn.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/vi_vn.json rename to src/main/resources/assets/modernfix/lang/vi_vn.json diff --git a/common/src/main/resources/assets/modernfix/lang/zh_cn.json b/src/main/resources/assets/modernfix/lang/zh_cn.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/zh_cn.json rename to src/main/resources/assets/modernfix/lang/zh_cn.json diff --git a/common/src/main/resources/assets/modernfix/lang/zh_tw.json b/src/main/resources/assets/modernfix/lang/zh_tw.json similarity index 100% rename from common/src/main/resources/assets/modernfix/lang/zh_tw.json rename to src/main/resources/assets/modernfix/lang/zh_tw.json diff --git a/common/src/main/resources/icon.png b/src/main/resources/icon.png similarity index 100% rename from common/src/main/resources/icon.png rename to src/main/resources/icon.png diff --git a/common/src/main/resources/modernfix/option_categories.json b/src/main/resources/modernfix/option_categories.json similarity index 100% rename from common/src/main/resources/modernfix/option_categories.json rename to src/main/resources/modernfix/option_categories.json diff --git a/common/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta similarity index 100% rename from common/src/main/resources/pack.mcmeta rename to src/main/resources/pack.mcmeta