Fix compile errors

This commit is contained in:
embeddedt 2023-04-09 20:04:51 -04:00
parent 21dfec3b93
commit 6f3cef7e1d
No known key found for this signature in database
GPG Key ID: A69433EC199B5613
11 changed files with 29 additions and 50 deletions

View File

@ -90,10 +90,11 @@ dependencies {
// compile against the JEI API but do not include it at runtime // compile against the JEI API but do not include it at runtime
modCompileOnly("mezz.jei:jei-${minecraft_version}-forge:${jei_version}") modCompileOnly("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
modRuntimeOnly("curse.maven:jei-238222:4352925")
modCompileOnly("curse.maven:jeresources-240630:3831559") modCompileOnly("curse.maven:jeresources-240630:3831559")
modCompileOnly "me.shedaniel:RoughlyEnoughItems-forge:${rei_version}" modCompileOnly "me.shedaniel:RoughlyEnoughItems-forge:${rei_version}"
modCompileOnly("dev.latvian.mods:kubejs-forge:${kubejs_version}")
modRuntimeOnly("curse.maven:ferritecore-429235:4074294")
modCompileOnly("team.chisel.ctm:CTM:${ctm_version}") modCompileOnly("team.chisel.ctm:CTM:${ctm_version}")
} }

View File

@ -14,4 +14,6 @@ lazydfu_version=3544496
parchment_version=2022.11.06 parchment_version=2022.11.06
refined_storage_version=4392829 refined_storage_version=4392829
jei_version=10.2.1.283 jei_version=10.2.1.283
rei_version=8.3.590 rei_version=8.3.590
ctm_version=1.18.2-1.1.5+5
kubejs_version=1802.5.5-build.569

View File

@ -1,6 +1,7 @@
package org.embeddedt.modernfix.core.config; package org.embeddedt.modernfix.core.config;
import net.minecraftforge.fml.loading.FMLLoader; import net.minecraftforge.fml.loading.FMLLoader;
import net.minecraftforge.fml.loading.moddiscovery.ExplodedDirectoryLocator;
import net.minecraftforge.fml.loading.moddiscovery.ModInfo; import net.minecraftforge.fml.loading.moddiscovery.ModInfo;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -28,8 +29,6 @@ public class ModernFixEarlyConfig {
this.addMixinRule("feature.reduce_loading_screen_freezes", false); this.addMixinRule("feature.reduce_loading_screen_freezes", false);
this.addMixinRule("feature.direct_stack_trace", false); this.addMixinRule("feature.direct_stack_trace", false);
this.addMixinRule("perf.fast_registry_validation", true); this.addMixinRule("perf.fast_registry_validation", true);
this.addMixinRule("perf.use_integrated_resources.jepb", modPresent("jepb"));
this.addMixinRule("perf.use_integrated_resources.jeresources", modPresent("jeresources"));
this.addMixinRule("perf.jeresources_startup", modPresent("jeresources")); this.addMixinRule("perf.jeresources_startup", modPresent("jeresources"));
this.addMixinRule("perf.remove_biome_temperature_cache", true); this.addMixinRule("perf.remove_biome_temperature_cache", true);
this.addMixinRule("perf.reduce_blockstate_cache_rebuilds", true); this.addMixinRule("perf.reduce_blockstate_cache_rebuilds", true);

View File

@ -4,9 +4,9 @@ import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.ModelManager; import net.minecraft.client.resources.model.ModelManager;
import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.client.resources.model.UnbakedModel;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ForgeModelBakery;
import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.lifecycle.IModBusEvent; import net.minecraftforge.fml.event.IModBusEvent;
/** /**
* Fired when a model is baked dynamically. Intended to be used as a replacement for ModelBakeEvent * Fired when a model is baked dynamically. Intended to be used as a replacement for ModelBakeEvent
@ -19,8 +19,8 @@ public class DynamicModelBakeEvent extends Event implements IModBusEvent {
private final ResourceLocation location; private final ResourceLocation location;
private BakedModel model; private BakedModel model;
private final UnbakedModel unbakedModel; private final UnbakedModel unbakedModel;
private final ModelLoader modelLoader; private final ForgeModelBakery modelLoader;
public DynamicModelBakeEvent(ResourceLocation location, UnbakedModel unbakedModel, BakedModel model, ModelLoader loader) { public DynamicModelBakeEvent(ResourceLocation location, UnbakedModel unbakedModel, BakedModel model, ForgeModelBakery loader) {
this.location = location; this.location = location;
this.model = model; this.model = model;
this.unbakedModel = unbakedModel; this.unbakedModel = unbakedModel;
@ -39,7 +39,7 @@ public class DynamicModelBakeEvent extends Event implements IModBusEvent {
return this.unbakedModel; return this.unbakedModel;
} }
public ModelLoader getModelLoader() { public ForgeModelBakery getModelLoader() {
return this.modelLoader; return this.modelLoader;
} }

View File

@ -1,6 +1,6 @@
package org.embeddedt.modernfix.dynamicresources; package org.embeddedt.modernfix.dynamicresources;
import dev.latvian.kubejs.script.data.KubeJSResourcePack; import dev.latvian.mods.kubejs.script.data.KubeJSResourcePack;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.PackResources; import net.minecraft.server.packs.PackResources;
import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManager;

View File

@ -1,17 +1,16 @@
package org.embeddedt.modernfix.mixin.devenv; package org.embeddedt.modernfix.mixin.devenv;
import com.mojang.authlib.minecraft.OfflineSocialInteractions; import com.mojang.authlib.minecraft.UserApiService;
import com.mojang.authlib.minecraft.SocialInteractionsService; import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.main.GameConfig;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(Minecraft.class) @Mixin(Minecraft.class)
public class MinecraftMixin { public class MinecraftMixin {
@Inject(method = "createSocialInteractions", at = @At("HEAD"), cancellable = true) @Overwrite
private void noSocialInteraction(CallbackInfoReturnable<SocialInteractionsService> cir) { private UserApiService createUserApiService(YggdrasilAuthenticationService yggdrasilAuthenticationService, GameConfig arg) {
cir.setReturnValue(new OfflineSocialInteractions()); return UserApiService.OFFLINE;
} }
} }

View File

@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Overwrite;
@Mixin(BlockBehaviour.class) @Mixin(BlockBehaviour.class)
public class BlockBehaviourMixin { public class BlockBehaviourMixin {
@Overwrite @Overwrite(remap = false)
protected boolean isAir(BlockState state) { protected boolean isAir(BlockState state) {
return state.getBlock().properties.isAir; return state.getBlock().properties.isAir;
} }

View File

@ -29,17 +29,17 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ForgeModelBakery;
import net.minecraftforge.client.model.ModelLoaderRegistry; import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.ModLoader; import net.minecraftforge.fml.ModLoader;
import org.apache.commons.lang3.tuple.Triple; import org.apache.commons.lang3.tuple.Triple;
import org.apache.logging.log4j.Logger;
import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.ModernFix;
import org.embeddedt.modernfix.dynamicresources.DynamicBakedModelProvider; import org.embeddedt.modernfix.dynamicresources.DynamicBakedModelProvider;
import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent; import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent;
import org.embeddedt.modernfix.dynamicresources.ModelLocationCache; import org.embeddedt.modernfix.dynamicresources.ModelLocationCache;
import org.embeddedt.modernfix.dynamicresources.ResourcePackHandler; import org.embeddedt.modernfix.dynamicresources.ResourcePackHandler;
import org.slf4j.Logger;
import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
@ -76,8 +76,6 @@ public abstract class ModelBakeryMixin {
@Shadow protected abstract void loadModel(ResourceLocation blockstateLocation) throws Exception; @Shadow protected abstract void loadModel(ResourceLocation blockstateLocation) throws Exception;
@Shadow @Final private static Logger LOGGER;
@Shadow @Final @Mutable @Shadow @Final @Mutable
private Map<ResourceLocation, BakedModel> bakedTopLevelModels; private Map<ResourceLocation, BakedModel> bakedTopLevelModels;
@ -89,6 +87,7 @@ public abstract class ModelBakeryMixin {
@Shadow @Final public static BlockModel BLOCK_ENTITY_MARKER; @Shadow @Final public static BlockModel BLOCK_ENTITY_MARKER;
@Shadow @Final private static Logger LOGGER;
private Cache<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> loadedBakedModels; private Cache<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> loadedBakedModels;
private Cache<ResourceLocation, UnbakedModel> loadedModels; private Cache<ResourceLocation, UnbakedModel> loadedModels;
@ -137,7 +136,7 @@ public abstract class ModelBakeryMixin {
* @author embeddedt * @author embeddedt
* @reason don't load any models initially, just set up initial data structures * @reason don't load any models initially, just set up initial data structures
*/ */
@Overwrite @Overwrite(remap = false)
protected void processLoading(ProfilerFiller arg, int maxMipLevels) { protected void processLoading(ProfilerFiller arg, int maxMipLevels) {
ModelLoaderRegistry.onModelLoadingStart(); ModelLoaderRegistry.onModelLoadingStart();
try { try {
@ -278,8 +277,8 @@ public abstract class ModelBakeryMixin {
} }
} }
@Overwrite @Overwrite(remap = false)
public BakedModel getBakedModel(ResourceLocation arg, ModelState arg2, Function<Material, TextureAtlasSprite> textureGetter) { public BakedModel bake(ResourceLocation arg, ModelState arg2, Function<Material, TextureAtlasSprite> textureGetter) {
Triple<ResourceLocation, Transformation, Boolean> triple = Triple.of(arg, arg2.getRotation(), arg2.isUvLocked()); Triple<ResourceLocation, Transformation, Boolean> triple = Triple.of(arg, arg2.getRotation(), arg2.isUvLocked());
BakedModel existing = this.bakedCache.get(triple); BakedModel existing = this.bakedCache.get(triple);
if (existing != null) { if (existing != null) {
@ -302,7 +301,7 @@ public abstract class ModelBakeryMixin {
if(ibakedmodel == null) { if(ibakedmodel == null) {
ibakedmodel = iunbakedmodel.bake((ModelBakery) (Object) this, textureGetter, arg2, arg); ibakedmodel = iunbakedmodel.bake((ModelBakery) (Object) this, textureGetter, arg2, arg);
} }
DynamicModelBakeEvent event = new DynamicModelBakeEvent(arg, iunbakedmodel, ibakedmodel, (ModelLoader)(Object)this); DynamicModelBakeEvent event = new DynamicModelBakeEvent(arg, iunbakedmodel, ibakedmodel, (ForgeModelBakery)(Object)this);
ModLoader.get().postEvent(event); ModLoader.get().postEvent(event);
this.bakedCache.put(triple, event.getModel()); this.bakedCache.put(triple, event.getModel());
return event.getModel(); return event.getModel();

View File

@ -6,7 +6,7 @@ import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.Material; import net.minecraft.client.resources.model.Material;
import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.client.resources.model.UnbakedModel;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ForgeModelBakery;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent; import org.embeddedt.modernfix.dynamicresources.DynamicModelBakeEvent;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
@ -25,7 +25,7 @@ import java.util.*;
@Mixin(TextureMetadataHandler.class) @Mixin(TextureMetadataHandler.class)
public abstract class TextureMetadataHandlerMixin { public abstract class TextureMetadataHandlerMixin {
@Shadow @Nonnull protected abstract BakedModel wrap(ResourceLocation loc, UnbakedModel model, BakedModel object, ModelLoader loader) throws IOException; @Shadow @Nonnull protected abstract BakedModel wrap(ResourceLocation loc, UnbakedModel model, BakedModel object, ForgeModelBakery loader) throws IOException;
@SubscribeEvent @SubscribeEvent
public void onDynamicModelBake(DynamicModelBakeEvent event) { public void onDynamicModelBake(DynamicModelBakeEvent event) {

View File

@ -1,20 +0,0 @@
package org.embeddedt.modernfix.mixin.perf.use_integrated_resources.jeresources;
import jeresources.util.LootTableHelper;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.level.Level;
import net.minecraftforge.server.ServerLifecycleHooks;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(LootTableHelper.class)
public class LootTableHelperMixin {
@Redirect(method = "getLootTables", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;getServer()Lnet/minecraft/server/MinecraftServer;"))
private static MinecraftServer useIntegrated(Level level) {
MinecraftServer server = level.getServer();
if(server != null)
return server;
return ServerLifecycleHooks.getCurrentServer();
}
}

View File

@ -61,7 +61,6 @@
"perf.cache_model_materials.VanillaModelMixin", "perf.cache_model_materials.VanillaModelMixin",
"perf.cache_model_materials.MultipartMixin", "perf.cache_model_materials.MultipartMixin",
"perf.faster_texture_stitching.StitcherMixin", "perf.faster_texture_stitching.StitcherMixin",
"perf.use_integrated_resources.LootTableHelperMixin",
"perf.faster_singleplayer_load.MinecraftServerMixin", "perf.faster_singleplayer_load.MinecraftServerMixin",
"devenv.MinecraftMixin", "devenv.MinecraftMixin",
"devenv.NarratorMixin" "devenv.NarratorMixin"