aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/mixin
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-31 15:32:33 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-31 15:32:33 +0800
commit2f95b698dee3368666cefe8890a015eb098dd77b (patch)
tree994981d645051f5360ea29dc0d7701a83cd1858a /src/main/java/me/shedaniel/rei/mixin
parent40d345b6b0f0bea1e4313ad9cdb789762e160f8d (diff)
downloadRoughlyEnoughItems-2.2.0.15.tar.gz
RoughlyEnoughItems-2.2.0.15.tar.bz2
RoughlyEnoughItems-2.2.0.15.zip
Update to v2.2.0.15 & Fix Optifinev2.2.0.15
Fix #16
Diffstat (limited to 'src/main/java/me/shedaniel/rei/mixin')
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinGuiContainer.java27
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinGuiCrafting.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinGuiInventory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinGuiRecipeBook.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinNetHandlerPlayClient.java9
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinPotionBrewing.java21
7 files changed, 36 insertions, 37 deletions
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainer.java b/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainer.java
index d065c0a2a..556e62871 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainer.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinGuiContainer.java
@@ -33,7 +33,6 @@ public class MixinGuiContainer extends GuiScreen implements IMixinGuiContainer {
protected int ySize;
@Shadow
protected Slot hoveredSlot;
- private GuiContainer lastGui;
@Shadow
private ItemStack draggedStack;
@@ -64,8 +63,10 @@ public class MixinGuiContainer extends GuiScreen implements IMixinGuiContainer {
@Inject(method = "initGui()V", at = @At("RETURN"))
protected void initGui(CallbackInfo info) {
- GuiHelper.resetOverlay();
- this.children.add(GuiHelper.getOverlay(lastGui));
+ GuiHelper.setLastGuiContainer((GuiContainer) (Object) this);
+ GuiHelper.setLastMixinGuiContainer((IMixinGuiContainer) this);
+ GuiHelper.setOverlay(new ContainerGuiOverlay());
+ this.children.add(GuiHelper.getLastOverlay());
}
@Inject(method = "render(IIF)V", at = @At("RETURN"))
@@ -75,9 +76,7 @@ public class MixinGuiContainer extends GuiScreen implements IMixinGuiContainer {
if (tabGetter.getSelectedTab() != ItemGroup.INVENTORY.getIndex())
return;
}
- if (Minecraft.getInstance().currentScreen instanceof GuiContainer)
- this.lastGui = (GuiContainer) Minecraft.getInstance().currentScreen;
- GuiHelper.getOverlay(lastGui).renderOverlay(int_1, int_2, float_1);
+ GuiHelper.getLastOverlay().renderOverlay(int_1, int_2, float_1);
}
@Override
@@ -85,18 +84,12 @@ public class MixinGuiContainer extends GuiScreen implements IMixinGuiContainer {
return this.draggedStack;
}
- @Override
- public GuiContainer getContainerGui() {
- return lastGui;
- }
-
@Inject(method = "keyPressed(III)Z", at = @At("HEAD"), cancellable = true)
public void keyPressed(int int_1, int int_2, int int_3, CallbackInfoReturnable<Boolean> ci) {
- for(IGuiEventListener entry : this.getChildren())
- if (entry.keyPressed(int_1, int_2, int_3)) {
- ci.cancel();
- ci.setReturnValue(true);
- }
+ if (GuiHelper.getLastOverlay().keyPressed(int_1, int_2, int_3)) {
+ ci.cancel();
+ ci.setReturnValue(true);
+ }
}
@Override
@@ -106,7 +99,7 @@ public class MixinGuiContainer extends GuiScreen implements IMixinGuiContainer {
@Override
public boolean mouseScrolled(double double_1) {
- ContainerGuiOverlay overlay = GuiHelper.getOverlay(lastGui);
+ ContainerGuiOverlay overlay = GuiHelper.getLastOverlay();
if (GuiHelper.isOverlayVisible() && overlay.getRectangle().contains(ClientHelper.getMouseLocation()))
for(IGuiEventListener entry : this.getChildren())
if (entry.mouseScrolled(double_1))
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinGuiCrafting.java b/src/main/java/me/shedaniel/rei/mixin/MixinGuiCrafting.java
index c19d418b8..926da4928 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinGuiCrafting.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinGuiCrafting.java
@@ -16,7 +16,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(GuiCrafting.class)
public abstract class MixinGuiCrafting extends GuiContainer implements IRecipeShownListener {
- @Shadow @Final private GuiRecipeBook recipeBookGui;
+ @Shadow
+ @Final
+ private GuiRecipeBook recipeBookGui;
public MixinGuiCrafting(Container inventorySlotsIn) {
super(inventorySlotsIn);
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinGuiInventory.java b/src/main/java/me/shedaniel/rei/mixin/MixinGuiInventory.java
index 63c80d48c..cb4952371 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinGuiInventory.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinGuiInventory.java
@@ -16,7 +16,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(GuiInventory.class)
public abstract class MixinGuiInventory extends InventoryEffectRenderer implements IRecipeShownListener {
- @Shadow @Final private GuiRecipeBook recipeBookGui;
+ @Shadow
+ @Final
+ private GuiRecipeBook recipeBookGui;
public MixinGuiInventory(Container inventorySlotsIn) {
super(inventorySlotsIn);
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinGuiRecipeBook.java b/src/main/java/me/shedaniel/rei/mixin/MixinGuiRecipeBook.java
index 12640e7f8..2af44c101 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinGuiRecipeBook.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinGuiRecipeBook.java
@@ -10,7 +10,9 @@ import org.spongepowered.asm.mixin.Shadow;
@Mixin(GuiRecipeBook.class)
public class MixinGuiRecipeBook implements IMixinRecipeBookGui {
- @Shadow @Final protected GhostRecipe ghostRecipe;
+ @Shadow
+ @Final
+ protected GhostRecipe ghostRecipe;
@Override
public GhostRecipe getGhostRecipe() {
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
index 5c5f13993..cb55f1d84 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
@@ -11,7 +11,9 @@ import java.util.Map;
@Mixin(KeyBinding.class)
public class MixinKeyBinding implements IMixinKeyBinding {
- @Shadow @Final private static Map<String, Integer> CATEGORY_ORDER;
+ @Shadow
+ @Final
+ private static Map<String, Integer> CATEGORY_ORDER;
@Override
public boolean addCategory(String keyBindingCategory, int id) {
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinNetHandlerPlayClient.java b/src/main/java/me/shedaniel/rei/mixin/MixinNetHandlerPlayClient.java
index 9705afb26..e96c2d318 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinNetHandlerPlayClient.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinNetHandlerPlayClient.java
@@ -1,7 +1,7 @@
package me.shedaniel.rei.mixin;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import me.shedaniel.rei.listeners.RecipeSync;
+import me.shedaniel.rei.RoughlyEnoughItemsPlugin;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.item.crafting.RecipeManager;
import net.minecraft.network.play.server.SPacketUpdateRecipes;
@@ -15,11 +15,14 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(NetHandlerPlayClient.class)
public class MixinNetHandlerPlayClient {
- @Shadow @Final private RecipeManager recipeManager;
+ @Shadow
+ @Final
+ private RecipeManager recipeManager;
@Inject(method = "handleUpdateRecipes", at = @At("RETURN"))
private void onUpdateRecipes(SPacketUpdateRecipes packetIn, CallbackInfo ci) {
- RoughlyEnoughItemsCore.getListeners(RecipeSync.class).forEach(recipeSync -> recipeSync.recipesLoaded(this.recipeManager));
+ RoughlyEnoughItemsPlugin.discoverPlugins();
+ RoughlyEnoughItemsCore.getRecipeHelper().recipesLoaded(recipeManager);
}
}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinPotionBrewing.java b/src/main/java/me/shedaniel/rei/mixin/MixinPotionBrewing.java
index c13f213c7..90573a485 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinPotionBrewing.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinPotionBrewing.java
@@ -6,16 +6,17 @@ import me.shedaniel.rei.plugin.DefaultBrewingDisplay;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.minecraft.item.Item;
import net.minecraft.item.ItemPotion;
-import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.potion.PotionBrewing;
import net.minecraft.potion.PotionType;
import net.minecraft.potion.PotionUtils;
+import net.minecraft.util.IItemProvider;
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.util.Arrays;
import java.util.List;
@Mixin(PotionBrewing.class)
@@ -27,16 +28,14 @@ public class MixinPotionBrewing {
@Inject(method = "func_196208_a", at = @At("RETURN"))
private static void func_196208_a(Item item_1, CallbackInfo ci) {
- if (item_1 instanceof ItemPotion) {
+ if (item_1 instanceof ItemPotion)
SELF_POTION_TYPES.add(Ingredient.fromItems(item_1));
- }
}
@Inject(method = "func_196207_a", at = @At("RETURN"))
private static void func_196207_a(Item item_1, Item item_2, Item item_3, CallbackInfo ci) {
- if (item_1 instanceof ItemPotion && item_3 instanceof ItemPotion) {
+ if (item_1 instanceof ItemPotion && item_3 instanceof ItemPotion)
SELF_ITEM_RECIPES.add(new BrewingRecipe(item_1, Ingredient.fromItems(item_2), item_3));
- }
}
@Inject(method = "addMix", at = @At("RETURN"))
@@ -45,19 +44,15 @@ public class MixinPotionBrewing {
registerPotionType(potion_1);
if (!REGISTERED_POTION_TYPES.contains(potion_2))
registerPotionType(potion_2);
- SELF_POTION_TYPES.forEach(ingredient -> {
- for(ItemStack stack : ingredient.getMatchingStacks()) {
- DefaultPlugin.registerBrewingDisplay(new DefaultBrewingDisplay(PotionUtils.addPotionToItemStack(stack.copy(), potion_1), Ingredient.fromItems(item_1),
- PotionUtils.addPotionToItemStack(stack.copy(), potion_2)));
- }
- });
+ SELF_POTION_TYPES.stream().map(Ingredient::getMatchingStacks).forEach(itemStacks -> Arrays.stream(itemStacks).forEach(stack -> {
+ DefaultPlugin.registerBrewingDisplay(new DefaultBrewingDisplay(PotionUtils.addPotionToItemStack(stack.copy(), potion_1), Ingredient.fromItems(new IItemProvider[]{item_1}), PotionUtils.addPotionToItemStack(stack.copy(), potion_2)));
+ }));
}
private static void registerPotionType(PotionType potion) {
REGISTERED_POTION_TYPES.add(potion);
SELF_ITEM_RECIPES.forEach(recipe -> {
- DefaultPlugin.registerBrewingDisplay(new DefaultBrewingDisplay(PotionUtils.addPotionToItemStack(recipe.input.getDefaultInstance(), potion), recipe.ingredient,
- PotionUtils.addPotionToItemStack(recipe.output.getDefaultInstance(), potion)));
+ DefaultPlugin.registerBrewingDisplay(new DefaultBrewingDisplay(PotionUtils.addPotionToItemStack(recipe.input.getDefaultInstance(), potion), recipe.ingredient, PotionUtils.addPotionToItemStack(recipe.output.getDefaultInstance(), potion)));
});
}