mirror of
https://github.com/FabricMC/fabric.git
synced 2025-09-06 19:36:26 +00:00
[1.19.4] Fail hard when unable to register key bindings, and update Loader. (#2880)
Improve networking API test keybindings.
This commit is contained in:
@@ -23,6 +23,7 @@ import java.util.Optional;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
|
import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
|
|
||||||
import net.fabricmc.fabric.mixin.client.keybinding.KeyBindingAccessor;
|
import net.fabricmc.fabric.mixin.client.keybinding.KeyBindingAccessor;
|
||||||
@@ -51,6 +52,10 @@ public final class KeyBindingRegistryImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static KeyBinding registerKeyBinding(KeyBinding binding) {
|
public static KeyBinding registerKeyBinding(KeyBinding binding) {
|
||||||
|
if (MinecraftClient.getInstance().options != null) {
|
||||||
|
throw new IllegalStateException("GameOptions has already been initialised");
|
||||||
|
}
|
||||||
|
|
||||||
for (KeyBinding existingKeyBindings : MODDED_KEY_BINDINGS) {
|
for (KeyBinding existingKeyBindings : MODDED_KEY_BINDINGS) {
|
||||||
if (existingKeyBindings == binding) {
|
if (existingKeyBindings == binding) {
|
||||||
throw new IllegalArgumentException("Attempted to register a key binding twice: " + binding.getTranslationKey());
|
throw new IllegalArgumentException("Attempted to register a key binding twice: " + binding.getTranslationKey());
|
||||||
|
@@ -34,7 +34,7 @@ import net.fabricmc.fabric.api.client.networking.v1.C2SPlayChannelEvents;
|
|||||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
||||||
|
|
||||||
public final class NetworkingChannelClientTest implements ClientModInitializer {
|
public final class NetworkingChannelClientTest implements ClientModInitializer {
|
||||||
public static final KeyBinding OPEN = KeyBindingHelper.registerKeyBinding(new KeyBinding("networking-v1-test", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_MENU, "fabric-networking-api-v1-testmod\""));
|
public static final KeyBinding OPEN = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.fabric-networking-api-v1-testmod.open", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_MENU, "key.category.fabric-networking-api-v1-testmod"));
|
||||||
static final Set<Identifier> SUPPORTED_C2S_CHANNELS = new HashSet<>();
|
static final Set<Identifier> SUPPORTED_C2S_CHANNELS = new HashSet<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -33,7 +33,7 @@ import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
|
|||||||
// The server in response will send a chat message to the client.
|
// The server in response will send a chat message to the client.
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class NetworkingKeybindClientPacketTest implements ClientModInitializer {
|
public class NetworkingKeybindClientPacketTest implements ClientModInitializer {
|
||||||
public static final KeyBinding TEST_BINDING = KeyBindingHelper.registerKeyBinding(new KeyBinding("fabric-networking-api-v1-testmod-keybind", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_RIGHT_BRACKET, "fabric-networking-api-v1-testmod"));
|
public static final KeyBinding TEST_BINDING = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.fabric-networking-api-v1-testmod.test", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_RIGHT_BRACKET, "key.category.fabric-networking-api-v1-testmod"));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"key.category.fabric-networking-api-v1-testmod": "Fabric Network Test",
|
||||||
|
"key.fabric-networking-api-v1-testmod.test": "Send test packet",
|
||||||
|
"key.fabric-networking-api-v1-testmod.open": "Open channel tester"
|
||||||
|
}
|
@@ -5,7 +5,7 @@ fabric.loom.multiProjectOptimisation=true
|
|||||||
version=0.73.3
|
version=0.73.3
|
||||||
minecraft_version=23w05a
|
minecraft_version=23w05a
|
||||||
yarn_version=+build.2
|
yarn_version=+build.2
|
||||||
loader_version=0.14.13
|
loader_version=0.14.14
|
||||||
installer_version=0.11.1
|
installer_version=0.11.1
|
||||||
|
|
||||||
prerelease=true
|
prerelease=true
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
"FabricMC"
|
"FabricMC"
|
||||||
],
|
],
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.14.13",
|
"fabricloader": ">=0.14.14",
|
||||||
"java": ">=17",
|
"java": ">=17",
|
||||||
"minecraft": ">=1.19.4- <1.19.5-"
|
"minecraft": ">=1.19.4- <1.19.5-"
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user