aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/mixins
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2018-12-31 13:12:25 +0800
committerUnknown <shekwancheung0528@gmail.com>2018-12-31 13:12:25 +0800
commitfee12aa0885da204ec874cd5ada371c42501c873 (patch)
tree880596f5f463e08762a56b1cb1d7008aaed1899d /src/main/java/me/shedaniel/mixins
parent1b14c5142bb49db9af078b5c753bc22ce35a40cc (diff)
downloadRoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.gz
RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.bz2
RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.zip
packetadder wip
Diffstat (limited to 'src/main/java/me/shedaniel/mixins')
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinBrewingRecipeRegistry.java22
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinDoneLoading.java11
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinGuiContainer.java46
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinGuiContainerCreative.java77
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinKeyboardListener.java10
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinMinecraftClient.java40
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinMinecraftResize.java19
-rw-r--r--src/main/java/me/shedaniel/mixins/MixinPotionBrewing.java21
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/MixinRecipeManager.java16
-rwxr-xr-xsrc/main/java/me/shedaniel/mixins/SettingsMixin.java14
10 files changed, 158 insertions, 118 deletions
diff --git a/src/main/java/me/shedaniel/mixins/MixinBrewingRecipeRegistry.java b/src/main/java/me/shedaniel/mixins/MixinBrewingRecipeRegistry.java
new file mode 100644
index 000000000..606634ebb
--- /dev/null
+++ b/src/main/java/me/shedaniel/mixins/MixinBrewingRecipeRegistry.java
@@ -0,0 +1,22 @@
+package me.shedaniel.mixins;
+
+import me.shedaniel.Core;
+import me.shedaniel.listenerdefinitions.PotionCraftingAdder;
+import net.minecraft.item.Item;
+import net.minecraft.potion.Potion;
+import net.minecraft.recipe.BrewingRecipeRegistry;
+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;
+
+@Mixin(BrewingRecipeRegistry.class)
+public class MixinBrewingRecipeRegistry {
+
+ @Inject(method = "registerPotionRecipe", at = @At("RETURN"))
+ private static void registerPotionRecipe(Potion potion_1, Item item_1, Potion potion_2, CallbackInfo info) {
+ System.out.println("a");
+ Core.getListeners(PotionCraftingAdder.class).forEach(potionCraftingAdder -> potionCraftingAdder.addPotionRecipe(potion_1, item_1, potion_2));
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/mixins/MixinDoneLoading.java b/src/main/java/me/shedaniel/mixins/MixinDoneLoading.java
index df79245db..c3b4ff186 100755
--- a/src/main/java/me/shedaniel/mixins/MixinDoneLoading.java
+++ b/src/main/java/me/shedaniel/mixins/MixinDoneLoading.java
@@ -1,8 +1,8 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.DoneLoading;
-import net.minecraft.init.Bootstrap;
-import org.dimdev.riftloader.RiftLoader;
+import net.minecraft.Bootstrap;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -13,10 +13,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
*/
@Mixin(Bootstrap.class)
public class MixinDoneLoading {
- @Inject(method = "register", at = @At("RETURN"))
+ @Inject(method = "initialize", at = @At("RETURN"))
private static void onBootstrapRegister(CallbackInfo ci) {
- for(DoneLoading listener : RiftLoader.instance.getListeners(DoneLoading.class)) {
- listener.onDoneLoading();
- }
+ System.out.println("Done Loading");
+ Core.getListeners(DoneLoading.class).forEach(DoneLoading::onDoneLoading);
}
}
diff --git a/src/main/java/me/shedaniel/mixins/MixinGuiContainer.java b/src/main/java/me/shedaniel/mixins/MixinGuiContainer.java
index b4c0dbab3..69adb45ad 100755
--- a/src/main/java/me/shedaniel/mixins/MixinGuiContainer.java
+++ b/src/main/java/me/shedaniel/mixins/MixinGuiContainer.java
@@ -1,12 +1,12 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.*;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.IGuiEventListenerDeferred;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.inventory.Slot;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.ContainerGui;
+import net.minecraft.client.gui.GuiEventListener;
+import net.minecraft.container.Slot;
import net.minecraft.item.ItemStack;
-import org.dimdev.riftloader.RiftLoader;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -17,32 +17,32 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
/**
* Created by James on 7/27/2018.
*/
-@Mixin(GuiContainer.class)
-public abstract class MixinGuiContainer implements IGuiEventListenerDeferred, IMixinGuiContainer {
+@Mixin(ContainerGui.class)
+public abstract class MixinGuiContainer implements GuiEventListener, IMixinContainerGui {
@Shadow
- protected Slot hoveredSlot;
+ protected Slot focusedSlot;
@Shadow
- private ItemStack draggedStack;
+ private ItemStack field_2782; //draggedStack
@Shadow
- protected int guiLeft;
+ protected int left;
@Shadow
- protected int guiTop;
+ protected int top;
@Shadow
- protected int xSize;
+ protected int containerWidth;
@Shadow
- protected int ySize;
+ protected int containerHeight;
- @Inject(method = "render", at = @At("RETURN"))
+ @Inject(method = "draw", at = @At("RETURN"))
private void onRender(int p_drawScreen_1_, int p_drawScreen_2_, float p_drawScreen_3_, CallbackInfo ci) {
- for(DrawContainer listener : RiftLoader.instance.getListeners(DrawContainer.class)) {
- listener.draw(p_drawScreen_1_, p_drawScreen_2_, p_drawScreen_3_, (GuiContainer) Minecraft.getInstance().currentScreen);
+ for(DrawContainer listener : Core.getListeners(DrawContainer.class)) {
+ listener.draw(p_drawScreen_1_, p_drawScreen_2_, p_drawScreen_3_, (ContainerGui) MinecraftClient.getInstance().currentGui);
}
}
@Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true)
private void onMouseClicked(double p_mouseClicked_1_, double p_mouseClicked_3_, int p_mouseClicked_5_, CallbackInfoReturnable<Boolean> ci) {
boolean handled = false;
- for(GuiCickListener listener : RiftLoader.instance.getListeners(GuiCickListener.class)) {
+ for(GuiCickListener listener : Core.getListeners(GuiCickListener.class)) {
if (listener.onClick((int) p_mouseClicked_1_, (int) p_mouseClicked_3_, p_mouseClicked_5_)) {
ci.setReturnValue(true);
handled = true;
@@ -56,7 +56,7 @@ public abstract class MixinGuiContainer implements IGuiEventListenerDeferred, IM
@Inject(method = "keyPressed", at = @At("HEAD"), cancellable = true)
private void onKeyPressed(int p_keyPressed_1_, int p_keyPressed_2_, int p_keyPressed_3_, CallbackInfoReturnable<Boolean> ci) {
boolean handled = false;
- for(GuiKeyDown listener : RiftLoader.instance.getListeners(GuiKeyDown.class)) {
+ for(GuiKeyDown listener : Core.getListeners(GuiKeyDown.class)) {
if (listener.keyDown(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_))
handled = true;
}
@@ -68,7 +68,7 @@ public abstract class MixinGuiContainer implements IGuiEventListenerDeferred, IM
public boolean mouseScrolled(double p_mouseScrolled_1_) {
boolean handled = false;
- for(MouseScrollListener listener : RiftLoader.instance.getListeners(MouseScrollListener.class)) {
+ for(MouseScrollListener listener : Core.getListeners(MouseScrollListener.class)) {
if (listener.mouseScrolled(p_mouseScrolled_1_)) {
handled = true;
}
@@ -78,21 +78,21 @@ public abstract class MixinGuiContainer implements IGuiEventListenerDeferred, IM
@Override
public ItemStack getDraggedStack() {
- return draggedStack;
+ return field_2782;
}
@Override
public int getGuiLeft() {
- return guiLeft;
+ return left;
}
@Override
public int getXSize() {
- return xSize;
+ return containerWidth;
}
@Override
public Slot getHoveredSlot() {
- return hoveredSlot;
+ return focusedSlot;
}
}
diff --git a/src/main/java/me/shedaniel/mixins/MixinGuiContainerCreative.java b/src/main/java/me/shedaniel/mixins/MixinGuiContainerCreative.java
index 57f24b048..455266c8d 100644
--- a/src/main/java/me/shedaniel/mixins/MixinGuiContainerCreative.java
+++ b/src/main/java/me/shedaniel/mixins/MixinGuiContainerCreative.java
@@ -1,76 +1,75 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.GuiKeyDown;
-import net.minecraft.client.gui.GuiTextField;
-import net.minecraft.client.gui.inventory.GuiContainerCreative;
-import net.minecraft.client.renderer.InventoryEffectRenderer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.Slot;
+import net.minecraft.client.gui.ingame.AbstractPlayerInventoryGui;
+import net.minecraft.client.gui.ingame.CreativePlayerInventoryGui;
+import net.minecraft.client.gui.widget.TextFieldWidget;
+import net.minecraft.container.Container;
+import net.minecraft.container.Slot;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.math.MathHelper;
-import org.dimdev.riftloader.RiftLoader;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
-import javax.annotation.Nullable;
import java.util.Objects;
-@Mixin(GuiContainerCreative.class)
-public abstract class MixinGuiContainerCreative extends InventoryEffectRenderer {
+@Mixin(CreativePlayerInventoryGui.class)
+public abstract class MixinGuiContainerCreative extends AbstractPlayerInventoryGui {
@Shadow
- private static int selectedTabIndex = ItemGroup.BUILDING_BLOCKS.getIndex();
+ private boolean field_2888;
+
@Shadow
- private GuiTextField searchField;
+ public abstract int method_2469();
@Shadow
- protected abstract boolean hasTmpInventory(@Nullable Slot p_208018_1_);
+ protected abstract void setSelectedTab(ItemGroup itemGroup_1);
@Shadow
- protected abstract void setCurrentCreativeTab(ItemGroup tab);
+ protected abstract boolean method_2470(Slot slot_1);
@Shadow
- protected abstract void updateCreativeSearch();
+ private TextFieldWidget searchBox;
@Shadow
- private boolean field_195377_F;
+ protected abstract void method_2464();
@Shadow
- protected abstract boolean needsScrollBars();
+ protected abstract boolean doRenderScrollBar();
@Shadow
- private float currentScroll;
+ private float scrollPosition;
- public MixinGuiContainerCreative(Container inventorySlotsIn) {
- super(inventorySlotsIn);
+ public MixinGuiContainerCreative(Container container_1) {
+ super(container_1);
}
@Overwrite
public boolean keyPressed(int p_keyPressed_1_, int p_keyPressed_2_, int p_keyPressed_3_) {
- this.field_195377_F = false;
- if (selectedTabIndex != ItemGroup.SEARCH.getIndex()) {
- if (selectedTabIndex != ItemGroup.INVENTORY.getIndex()) {
- if (this.mc.gameSettings.keyBindChat.matchesKey(p_keyPressed_1_, p_keyPressed_2_)) {
- this.field_195377_F = true;
- this.setCurrentCreativeTab(ItemGroup.SEARCH);
+ this.field_2888 = false;
+ if (method_2469() != ItemGroup.SEARCH.getId()) {
+ if (method_2469() != ItemGroup.INVENTORY.getId()) {
+ if (this.client.options.keyChat.matches(p_keyPressed_1_, p_keyPressed_2_)) {
+ this.field_2888 = true;
+ this.setSelectedTab(ItemGroup.SEARCH);
return true;
}
- } else for(GuiKeyDown listener : RiftLoader.instance.getListeners(GuiKeyDown.class))
+ } else for(GuiKeyDown listener : Core.getListeners(GuiKeyDown.class))
if (listener.keyDown(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_))
return true;
} else {
- boolean flag = !this.hasTmpInventory(this.hoveredSlot) || this.hoveredSlot != null && this.hoveredSlot.getHasStack();
-
- if (flag && this.func_195363_d(p_keyPressed_1_, p_keyPressed_2_)) {
- this.field_195377_F = true;
+ boolean flag = !this.method_2470(this.focusedSlot) || this.focusedSlot != null && this.focusedSlot.hasStack();
+ if (flag && this.handleHotbarKeyPressed(p_keyPressed_1_, p_keyPressed_2_)) {
+ this.field_2888 = true;
return true;
} else {
- String s = this.searchField.getText();
+ String s = this.searchBox.getText();
- if (this.searchField.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_)) {
- if (!Objects.equals(s, this.searchField.getText()))
- this.updateCreativeSearch();
+ if (this.searchBox.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_)) {
+ if (!Objects.equals(s, this.searchBox.getText()))
+ this.method_2464();
return true;
}
}
@@ -80,13 +79,13 @@ public abstract class MixinGuiContainerCreative extends InventoryEffectRenderer
@Overwrite
public boolean mouseScrolled(double p_mouseScrolled_1_) {
- if (!this.needsScrollBars()) {
+ if (!this.doRenderScrollBar()) {
return super.mouseScrolled(p_mouseScrolled_1_);
} else {
- int i = (((GuiContainerCreative.ContainerCreative) this.inventorySlots).itemList.size() + 9 - 1) / 9 - 5;
- this.currentScroll = (float) ((double) this.currentScroll - p_mouseScrolled_1_ / (double) i);
- this.currentScroll = MathHelper.clamp(this.currentScroll, 0.0F, 1.0F);
- ((GuiContainerCreative.ContainerCreative) this.inventorySlots).scrollTo(this.currentScroll);
+ int i = (((CreativePlayerInventoryGui.CreativeContainer) this.container).itemList.size() + 9 - 1) / 9 - 5;
+ this.scrollPosition = (float) ((double) this.scrollPosition - p_mouseScrolled_1_ / (double) i);
+ this.scrollPosition = MathHelper.clamp(this.scrollPosition, 0.0F, 1.0F);
+ ((CreativePlayerInventoryGui.CreativeContainer) this.container).method_2473(this.scrollPosition);
return true;
}
}
diff --git a/src/main/java/me/shedaniel/mixins/MixinKeyboardListener.java b/src/main/java/me/shedaniel/mixins/MixinKeyboardListener.java
index bffde5b8d..f7c69373e 100755
--- a/src/main/java/me/shedaniel/mixins/MixinKeyboardListener.java
+++ b/src/main/java/me/shedaniel/mixins/MixinKeyboardListener.java
@@ -1,8 +1,8 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.CharInput;
-import net.minecraft.client.KeyboardListener;
-import org.dimdev.riftloader.RiftLoader;
+import net.minecraft.client.Keyboard;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -11,12 +11,12 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
/**
* Created by James on 8/4/2018.
*/
-@Mixin(KeyboardListener.class)
+@Mixin(Keyboard.class)
public class MixinKeyboardListener {
- @Inject(method = "onCharEvent", at = @At("RETURN"), cancellable = true)
+ @Inject(method = "onChar", at = @At("RETURN"), cancellable = true)
private void onCharEvent(long p_onCharEvent_1_, int p_onCharEvent_3_, int p_onCharEvent_4_, CallbackInfo ci) {
boolean handled = false;
- for(CharInput listener : RiftLoader.instance.getListeners(CharInput.class)) {
+ for(CharInput listener : Core.getListeners(CharInput.class)) {
if (listener.charInput(p_onCharEvent_1_, p_onCharEvent_3_, p_onCharEvent_4_)) {
handled = true;
}
diff --git a/src/main/java/me/shedaniel/mixins/MixinMinecraftClient.java b/src/main/java/me/shedaniel/mixins/MixinMinecraftClient.java
new file mode 100644
index 000000000..5b0b20961
--- /dev/null
+++ b/src/main/java/me/shedaniel/mixins/MixinMinecraftClient.java
@@ -0,0 +1,40 @@
+package me.shedaniel.mixins;
+
+import me.shedaniel.Core;
+import me.shedaniel.listenerdefinitions.ClientTickable;
+import me.shedaniel.listenerdefinitions.KeybindHandler;
+import net.minecraft.class_3689;
+import net.minecraft.client.MinecraftClient;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(MinecraftClient.class)
+public class MixinMinecraftClient {
+
+ @Shadow
+ @Final
+ private class_3689 profiler;
+
+ @Inject(method = "tick", at = @At("RETURN"))
+ private void onTick(CallbackInfo ci) {
+ profiler.begin("mods");
+ for(ClientTickable tickable : Core.getListeners(ClientTickable.class)) {
+ profiler.begin(() -> tickable.getClass().getCanonicalName().replace('.', '/'));
+ tickable.clientTick();
+ profiler.end();
+ }
+ profiler.end();
+ }
+
+ @Inject(method = "method_1508", at = @At("HEAD"))
+ public void onProcessKeyBinds(CallbackInfo ci) {
+ for (KeybindHandler keybindHandler : Core.getListeners(KeybindHandler.class)) {
+ keybindHandler.processKeybinds();
+ }
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/mixins/MixinMinecraftResize.java b/src/main/java/me/shedaniel/mixins/MixinMinecraftResize.java
index 4cacb122c..c9452eb24 100755
--- a/src/main/java/me/shedaniel/mixins/MixinMinecraftResize.java
+++ b/src/main/java/me/shedaniel/mixins/MixinMinecraftResize.java
@@ -1,8 +1,8 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.MinecraftResize;
-import net.minecraft.client.MainWindow;
-import org.dimdev.riftloader.RiftLoader;
+import net.minecraft.client.util.Window;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -12,15 +12,18 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
/**
* Created by James on 7/28/2018.
*/
-@Mixin(MainWindow.class)
+@Mixin(Window.class)
public abstract class MixinMinecraftResize implements AutoCloseable {
- @Shadow private int scaledHeight;
- @Shadow private int scaledWidth;
+ @Shadow
+ private int scaledHeight;
- @Inject(method = "updateSize", at = @At("RETURN"))
- private void onResize(CallbackInfo ci) {
- for(MinecraftResize listener : RiftLoader.instance.getListeners(MinecraftResize.class)) {
+ @Shadow
+ private int scaledWidth;
+
+ @Inject(method = "onSizeChanged", at = @At("RETURN"))
+ private void onSizeChanged(long long_1, int int_1, int int_2, CallbackInfo ci) {
+ for(MinecraftResize listener : Core.getListeners(MinecraftResize.class)) {
listener.resize(this.scaledWidth, this.scaledHeight);
}
}
diff --git a/src/main/java/me/shedaniel/mixins/MixinPotionBrewing.java b/src/main/java/me/shedaniel/mixins/MixinPotionBrewing.java
deleted file mode 100644
index 37ab903ef..000000000
--- a/src/main/java/me/shedaniel/mixins/MixinPotionBrewing.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.shedaniel.mixins;
-
-import me.shedaniel.listenerdefinitions.PotionCraftingAdder;
-import net.minecraft.item.Item;
-import net.minecraft.potion.PotionBrewing;
-import net.minecraft.potion.PotionType;
-import org.dimdev.riftloader.RiftLoader;
-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;
-
-@Mixin(PotionBrewing.class)
-public class MixinPotionBrewing {
-
- @Inject(method = "addMix", at = @At("RETURN"))
- private static void addMix(PotionType inputPotion, Item reagent, PotionType outputPotion, CallbackInfo info) {
- RiftLoader.instance.getListeners(PotionCraftingAdder.class).forEach(potionCraftingAdder -> potionCraftingAdder.addPotionRecipe(inputPotion, reagent, outputPotion));
- }
-
-}
diff --git a/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java b/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java
index 8eddf9d1f..8fffc11dd 100755
--- a/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java
+++ b/src/main/java/me/shedaniel/mixins/MixinRecipeManager.java
@@ -1,25 +1,25 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.RecipeLoadListener;
-import net.minecraft.client.network.NetHandlerPlayClient;
-import net.minecraft.item.crafting.RecipeManager;
-import net.minecraft.network.play.server.SPacketUpdateRecipes;
-import org.dimdev.riftloader.RiftLoader;
+import net.minecraft.client.network.ClientPlayNetworkHandler;
+import net.minecraft.client.network.packet.SynchronizeRecipesClientPacket;
+import net.minecraft.recipe.RecipeManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-@Mixin(NetHandlerPlayClient.class)
+@Mixin(ClientPlayNetworkHandler.class)
public class MixinRecipeManager {
@Shadow
RecipeManager recipeManager;
- @Inject(method = "handleUpdateRecipes", at = @At("RETURN"))
- private void onUpdateRecipies(SPacketUpdateRecipes packetIn, CallbackInfo ci) {
- for(RecipeLoadListener listener : RiftLoader.instance.getListeners(RecipeLoadListener.class)) {
+ @Inject(method = "onSynchronizeRecipes", at = @At("RETURN"))
+ private void onUpdateRecipies(SynchronizeRecipesClientPacket packetIn, CallbackInfo ci) {
+ for(RecipeLoadListener listener : Core.getListeners(RecipeLoadListener.class)) {
listener.recipesLoaded(recipeManager);
}
}
diff --git a/src/main/java/me/shedaniel/mixins/SettingsMixin.java b/src/main/java/me/shedaniel/mixins/SettingsMixin.java
index fa4dee435..bc7408d6e 100755
--- a/src/main/java/me/shedaniel/mixins/SettingsMixin.java
+++ b/src/main/java/me/shedaniel/mixins/SettingsMixin.java
@@ -1,9 +1,9 @@
package me.shedaniel.mixins;
+import me.shedaniel.Core;
import me.shedaniel.listenerdefinitions.PreLoadOptions;
-import net.minecraft.client.GameSettings;
+import net.minecraft.client.settings.GameOptions;
import net.minecraft.client.settings.KeyBinding;
-import org.dimdev.riftloader.RiftLoader;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -17,7 +17,7 @@ import java.util.List;
* Created by James on 8/7/2018.
*/
-@Mixin(GameSettings.class)
+@Mixin(GameOptions.class)
public class SettingsMixin {
@Shadow
public KeyBinding[] keyBindings;
@@ -26,18 +26,16 @@ public class SettingsMixin {
System.out.println("loaded");
}
- @Inject(method = "loadOptions", at = @At("HEAD"))
+ @Inject(method = "load", at = @At("HEAD"))
public void beforeLoadOptions(CallbackInfo ci) {
-
- RiftLoader.instance.getListeners(PreLoadOptions.class).stream().forEach(f -> processNewBindings(f.loadOptions()));
+ Core.getListeners(PreLoadOptions.class).stream().forEach(f -> processNewBindings(f.loadOptions()));
}
private void processNewBindings(List<KeyBinding> newBindings) {
List<KeyBinding> toAdd = new ArrayList<>();
toAdd.addAll(newBindings);
- for(KeyBinding keyBinding : keyBindings) {
+ for(KeyBinding keyBinding : keyBindings)
toAdd.add(keyBinding);
- }
keyBindings = (KeyBinding[]) toAdd.toArray(new KeyBinding[0]);
}