[Change] Stricter Generics for RecipeManager
This commit is contained in:
parent
1628ac9a86
commit
9f75cbde1b
4 changed files with 49 additions and 36 deletions
|
@ -1,6 +1,7 @@
|
|||
package org.betterx.bclib.mixin.common;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.Container;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
import net.minecraft.world.item.crafting.RecipeManager;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
|
@ -13,14 +14,14 @@ import java.util.Map;
|
|||
@Mixin(RecipeManager.class)
|
||||
public interface RecipeManagerAccessor {
|
||||
@Accessor("recipes")
|
||||
Map<RecipeType<?>, Map<ResourceLocation, Recipe<?>>> bclib_getRecipes();
|
||||
<C extends Container, T extends Recipe<C>> Map<RecipeType<T>, Map<ResourceLocation, T>> bclib_getRecipes();
|
||||
|
||||
@Accessor("recipes")
|
||||
void bclib_setRecipes(Map<RecipeType<?>, Map<ResourceLocation, Recipe<?>>> recipes);
|
||||
<C extends Container, T extends Recipe<C>> void bclib_setRecipes(Map<RecipeType<T>, Map<ResourceLocation, T>> recipes);
|
||||
|
||||
@Accessor("byName")
|
||||
Map<ResourceLocation, Recipe<?>> bclib_getRecipesByName();
|
||||
<C extends Container, T extends Recipe<C>> Map<ResourceLocation, T> bclib_getRecipesByName();
|
||||
|
||||
@Accessor("byName")
|
||||
void bclib_setRecipesByName(Map<ResourceLocation, Recipe<?>> recipes);
|
||||
<C extends Container, T extends Recipe<C>> void bclib_setRecipesByName(Map<ResourceLocation, T> recipes);
|
||||
}
|
|
@ -21,9 +21,7 @@ import java.util.Optional;
|
|||
@Mixin(RecipeManager.class)
|
||||
public abstract class RecipeManagerMixin {
|
||||
@Shadow
|
||||
private <C extends Container, T extends Recipe<C>> Map<ResourceLocation, Recipe<C>> byType(RecipeType<T> type) {
|
||||
return null;
|
||||
}
|
||||
protected abstract <C extends Container, T extends Recipe<C>> Map<ResourceLocation, T> byType(RecipeType<T> recipeType);
|
||||
|
||||
@Inject(method = "getRecipeFor", at = @At(value = "HEAD"), cancellable = true)
|
||||
private <C extends Container, T extends Recipe<C>> void bclib_getRecipeFor(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue