Fix lambda mixin targets
This commit is contained in:
parent
7b13e31dcf
commit
8adf57e108
|
|
@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|||
|
||||
@Mixin(DataFixTypes.class)
|
||||
public class DataFixTypesMixin {
|
||||
@Inject(method = "update(Lcom/mojang/datafixers/DataFixer;Lcom/mojang/serialization/Dynamic;II)Lcom/mojang/serialization/Dynamic;", at = @At(value = "INVOKE", target = "Lcom/mojang/datafixers/DataFixer;update(Lcom/mojang/datafixers/DSL$TypeReference;Lcom/mojang/serialization/Dynamic;II)Lcom/mojang/serialization/Dynamic;"))
|
||||
@Inject(method = "update(Lcom/mojang/datafixers/DataFixer;Lcom/mojang/serialization/Dynamic;II)Lcom/mojang/serialization/Dynamic;", at = @At(value = "INVOKE", target = "Lcom/mojang/datafixers/DataFixer;update(Lcom/mojang/datafixers/DSL$TypeReference;Lcom/mojang/serialization/Dynamic;II)Lcom/mojang/serialization/Dynamic;"), remap = false)
|
||||
private void kickOnUpdate(DataFixer fixer, Dynamic<?> input, int version, int newVersion, CallbackInfoReturnable<Dynamic<?>> cir) {
|
||||
if (version < newVersion) {
|
||||
DFUBlaster.kick();
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class ModelDiscoveryMixin {
|
|||
* @reason We will show the warning ourselves later when loading the model dynamically, this is just spam since
|
||||
* the models don't exist during early loading
|
||||
*/
|
||||
@Redirect(method = "method_68027", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V"))
|
||||
@Redirect(method = { "method_68027", "lambda$new$0" }, at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V"), remap = false)
|
||||
private void disableMissingModelWarning(Logger instance, String s, Object o) {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,9 +13,11 @@ import net.minecraft.client.resources.model.AtlasSet;
|
|||
import net.minecraft.client.resources.model.BlockStateModelLoader;
|
||||
import net.minecraft.client.resources.model.ClientItemInfoLoader;
|
||||
import net.minecraft.client.resources.model.ModelManager;
|
||||
import net.minecraft.core.DefaultedRegistry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
|
@ -33,7 +35,9 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.Executor;
|
||||
|
|
@ -128,4 +132,24 @@ public class ModelManagerMixin implements DynamicModelProvider.ModelManagerExten
|
|||
public DynamicModelProvider mfix$getModelProvider() {
|
||||
return this.mfix$modelProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* @author DerCommander323
|
||||
* @reason stop NeoForge from iterating over registered items to warn about missing models, as it always fails
|
||||
* with dynamic resources enabled
|
||||
*/
|
||||
@Redirect(method = "apply", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/DefaultedRegistry;iterator()Ljava/util/Iterator;"))
|
||||
private static Iterator<Item> iterateItemRegistry(DefaultedRegistry<Item> registry) {
|
||||
return new Iterator<>() {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item next() {
|
||||
throw new NoSuchElementException("Tried to iterate over empty item registry iterator");
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public class SessionSearchTreesMixin {
|
|||
@Shadow private CompletableFuture<SearchTree<RecipeCollection>> recipeSearch;
|
||||
private Supplier<SearchTree<RecipeCollection>> mfix$deferredSearchTreeSupplier;
|
||||
|
||||
@ModifyArg(method = { "method_60367", "lambda$updateRecipes$8" }, at = @At(value = "INVOKE", target = "Ljava/util/concurrent/CompletableFuture;supplyAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"))
|
||||
@ModifyArg(method = { "method_64911(Lnet/minecraft/client/ClientRecipeBook;Lnet/minecraft/world/level/Level;)V", "lambda$updateRecipes$9(Lnet/minecraft/client/ClientRecipeBook;Lnet/minecraft/world/level/Level;)V" }, at = @At(value = "INVOKE", target = "Ljava/util/concurrent/CompletableFuture;supplyAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"))
|
||||
private Supplier<SearchTree<RecipeCollection>> mfix$deferProcessing(Supplier<SearchTree<RecipeCollection>> supplier) {
|
||||
this.mfix$deferredSearchTreeSupplier = supplier;
|
||||
return SearchTree::empty;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user