Fix crash when clicking hotkey button; introduced in 83690f4
This commit is contained in:
@@ -2,6 +2,7 @@ package com.replaymod.core;
|
||||
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.replaymod.core.mixin.KeyBindingAccessor;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import net.minecraft.client.options.KeyBinding;
|
||||
@@ -127,7 +128,7 @@ public class KeyBindingRegistry extends EventRegistrations {
|
||||
}
|
||||
}
|
||||
|
||||
public void handleKeyBindings() {
|
||||
private void handleKeyBindings() {
|
||||
for (Binding binding : bindings.values()) {
|
||||
while (binding.keyBinding.wasPressed()) {
|
||||
invokeKeyBindingHandlers(binding, binding.handlers);
|
||||
@@ -169,7 +170,7 @@ public class KeyBindingRegistry extends EventRegistrations {
|
||||
}
|
||||
}
|
||||
|
||||
public static class Binding {
|
||||
public class Binding {
|
||||
public final String name;
|
||||
public final KeyBinding keyBinding;
|
||||
private final List<Runnable> handlers = new ArrayList<>();
|
||||
@@ -183,5 +184,11 @@ public class KeyBindingRegistry extends EventRegistrations {
|
||||
public String getBoundKey() {
|
||||
return MCVer.getBoundKey(keyBinding);
|
||||
}
|
||||
|
||||
public void trigger() {
|
||||
KeyBindingAccessor acc = (KeyBindingAccessor) keyBinding;
|
||||
acc.setPressTime(acc.getPressTime() + 1);
|
||||
handleKeyBindings();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.replaymod.extras;
|
||||
|
||||
import com.replaymod.core.KeyBindingRegistry;
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.core.mixin.KeyBindingAccessor;
|
||||
import com.replaymod.replay.events.ReplayOpenedCallback;
|
||||
import com.replaymod.replay.gui.overlay.GuiReplayOverlay;
|
||||
import de.johni0702.minecraft.gui.GuiRenderer;
|
||||
@@ -77,11 +76,7 @@ public class HotkeyButtons extends EventRegistrations implements Extra {
|
||||
setLabel(keyBinding.getBoundKey());
|
||||
super.draw(renderer, size, renderInfo);
|
||||
}
|
||||
}.onClick(() -> {
|
||||
KeyBindingAccessor acc = (KeyBindingAccessor) keyBinding;
|
||||
acc.setPressTime(acc.getPressTime() + 1);
|
||||
keyBindingRegistry.handleKeyBindings();
|
||||
});
|
||||
}.onClick(keyBinding::trigger);
|
||||
panel.addElements(null, new GuiPanel().setSize(150, 20).setLayout(new HorizontalLayout().setSpacing(2))
|
||||
.addElements(new HorizontalLayout.Data(0.5),
|
||||
new GuiPanel().setLayout(new CustomLayout<GuiPanel>() {
|
||||
|
||||
Reference in New Issue
Block a user