diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2018-12-31 13:12:25 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2018-12-31 13:12:25 +0800 |
| commit | fee12aa0885da204ec874cd5ada371c42501c873 (patch) | |
| tree | 880596f5f463e08762a56b1cb1d7008aaed1899d /src/main/java/me/shedaniel/mixins | |
| parent | 1b14c5142bb49db9af078b5c753bc22ce35a40cc (diff) | |
| download | RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.gz RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.bz2 RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.zip | |
packetadder wip
Diffstat (limited to 'src/main/java/me/shedaniel/mixins')
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]); } |
