Initial port to 1.21.4

This commit is contained in:
embeddedt 2024-12-07 15:52:34 -05:00
parent 359d1e81d6
commit 145896cc99
No known key found for this signature in database
GPG Key ID: A69433EC199B5613
3 changed files with 12 additions and 19 deletions

View File

@ -5,9 +5,9 @@ junit_version=5.10.0-M1
mixinextras_version=0.3.2 mixinextras_version=0.3.2
mod_id=modernfix mod_id=modernfix
minecraft_version=24w45a minecraft_version=1.21.4
enabled_platforms=fabric enabled_platforms=fabric,neoforge
forge_version=21.3.1-beta forge_version=21.4.0-beta
parchment_version=2024.07.07 parchment_version=2024.07.07
parchment_mc_version=1.21 parchment_mc_version=1.21
refined_storage_version=4392788 refined_storage_version=4392788
@ -16,10 +16,10 @@ rei_version=13.0.678
ctm_version=1.21-1.2.0+2 ctm_version=1.21-1.2.0+2
kubejs_version=1902.6.0-build.142 kubejs_version=1902.6.0-build.142
rhino_version=1902.2.2-build.268 rhino_version=1902.2.2-build.268
supported_minecraft_versions=1.21.1 supported_minecraft_versions=1.21.4
fabric_loader_version=0.16.7 fabric_loader_version=0.16.9
fabric_api_version=0.106.1+1.21.3 fabric_api_version=0.111.0+1.21.4
continuity_version=3.0.0-beta.4+1.20.2 continuity_version=3.0.0-beta.4+1.20.2

View File

@ -56,7 +56,7 @@ public class RuntimeDatagen {
Path path = Paths.get(RESOURCES_OUT_DIR); Path path = Paths.get(RESOURCES_OUT_DIR);
CompletableFuture<HolderLookup.Provider> lookupProvider = CompletableFuture.supplyAsync(VanillaRegistries::createLookup, Util.backgroundExecutor()); CompletableFuture<HolderLookup.Provider> lookupProvider = CompletableFuture.supplyAsync(VanillaRegistries::createLookup, Util.backgroundExecutor());
GatherDataEvent.DataGeneratorConfig dataGeneratorConfig = new GatherDataEvent.DataGeneratorConfig(mods, path, Collections.emptyList(), GatherDataEvent.DataGeneratorConfig dataGeneratorConfig = new GatherDataEvent.DataGeneratorConfig(mods, path, Collections.emptyList(),
lookupProvider, true, true, true, true, true, mods.isEmpty() || IS_FLAT); lookupProvider, true, true, true, true, null);
if (!mods.contains("forge")) { 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 //If we aren't generating data for forge, automatically add forge as an existing so mods can access forge's data
existingMods.add("forge"); existingMods.add("forge");
@ -67,7 +67,8 @@ public class RuntimeDatagen {
List<PackResources> oldPacks = new ArrayList<>(manager.listPacks().collect(Collectors.toList())); List<PackResources> oldPacks = new ArrayList<>(manager.listPacks().collect(Collectors.toList()));
oldPacks.add(Minecraft.getInstance().getVanillaPackResources()); oldPacks.add(Minecraft.getInstance().getVanillaPackResources());
ObfuscationReflectionHelper.setPrivateValue(ExistingFileHelper.class, existingFileHelper, new MultiPackResourceManager(PackType.CLIENT_RESOURCES, oldPacks), "clientResources"); ObfuscationReflectionHelper.setPrivateValue(ExistingFileHelper.class, existingFileHelper, new MultiPackResourceManager(PackType.CLIENT_RESOURCES, oldPacks), "clientResources");
ModLoader.runEventGenerator(mc->new GatherDataEvent(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.isFlat() ? p : p.resolve(mc.getModId()), dataGeneratorConfig.getMods().contains(mc.getModId())), dataGeneratorConfig, existingFileHelper)); ModLoader.runEventGenerator(mc->new GatherDataEvent.Client(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.isFlat() ? p : p.resolve(mc.getModId()), dataGeneratorConfig.getMods().contains(mc.getModId())), dataGeneratorConfig, existingFileHelper));
ModLoader.runEventGenerator(mc->new GatherDataEvent.Server(mc, dataGeneratorConfig.makeGenerator(p->dataGeneratorConfig.isFlat() ? p : p.resolve(mc.getModId()), dataGeneratorConfig.getMods().contains(mc.getModId())), dataGeneratorConfig, existingFileHelper));
dataGeneratorConfig.runAll(); dataGeneratorConfig.runAll();
ObfuscationReflectionHelper.setPrivateValue(DatagenModLoader.class, null, false, "runningDataGen"); ObfuscationReflectionHelper.setPrivateValue(DatagenModLoader.class, null, false, "runningDataGen");
ModernFix.LOGGER.info("Finished runtime datagen."); ModernFix.LOGGER.info("Finished runtime datagen.");

View File

@ -1,25 +1,14 @@
package org.embeddedt.modernfix.neoforge.mixin.perf.dynamic_resources; package org.embeddedt.modernfix.neoforge.mixin.perf.dynamic_resources;
import com.google.common.base.Stopwatch;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.neoforged.bus.api.Event; import net.neoforged.bus.api.Event;
import net.neoforged.fml.ModContainer;
import net.neoforged.fml.ModList;
import net.neoforged.fml.ModLoader; import net.neoforged.fml.ModLoader;
import net.neoforged.fml.util.ObfuscationReflectionHelper;
import net.neoforged.neoforge.client.ClientHooks; import net.neoforged.neoforge.client.ClientHooks;
import net.neoforged.neoforge.client.event.ModelEvent; import net.neoforged.neoforge.client.event.ModelEvent;
import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.ModernFix;
import org.embeddedt.modernfix.neoforge.dynresources.ModelBakeEventHelper;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.Redirect;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Mixin(ClientHooks.class) @Mixin(ClientHooks.class)
public class ForgeHooksClientMixin { public class ForgeHooksClientMixin {
/** /**
@ -30,6 +19,7 @@ public class ForgeHooksClientMixin {
if(ModLoader.hasErrors()) if(ModLoader.hasErrors())
return; return;
ModelEvent.ModifyBakingResult bakeEvent = ((ModelEvent.ModifyBakingResult)event); ModelEvent.ModifyBakingResult bakeEvent = ((ModelEvent.ModifyBakingResult)event);
/*
ModelBakeEventHelper helper = new ModelBakeEventHelper(bakeEvent.getModels()); ModelBakeEventHelper helper = new ModelBakeEventHelper(bakeEvent.getModels());
Method acceptEv = ObfuscationReflectionHelper.findMethod(ModContainer.class, "acceptEvent", Event.class); Method acceptEv = ObfuscationReflectionHelper.findMethod(ModContainer.class, "acceptEvent", Event.class);
ModList.get().forEachModContainer((id, mc) -> { ModList.get().forEachModContainer((id, mc) -> {
@ -46,5 +36,7 @@ public class ForgeHooksClientMixin {
ModernFix.LOGGER.warn("Mod '{}' took {} in the model bake event", id, timer); ModernFix.LOGGER.warn("Mod '{}' took {} in the model bake event", id, timer);
} }
}); });
*/
ModernFix.LOGGER.warn("ModifyBakingResult support not reimplemented yet");
} }
} }