SermisterOne
Members-
Posts
6 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
SermisterOne's Achievements
Tree Puncher (2/8)
0
Reputation
-
Why the hell do forge docs contain this @SubscribeEvent public void registerBindings(RegisterKeyMappingsEvent event) { event.register(EXAMPLE_MAPPING.get()); } and not this @SubscribeEvent public static void registerBindings(RegisterKeyMappingsEvent event) { event.register(EXAMPLE_MAPPING.get()); } https://docs.minecraftforge.net/en/1.20.x/misc/keymappings/
-
Aint no way I'm that stupid @SubscribeEvent public void registerBindings(RegisterKeyMappingsEvent event) { event.register(y); event.register(EXAMPLE_MAPPING.get()); // tried both lazy and static keymapping } this should be @SubscribeEvent public static void registerBindings(RegisterKeyMappingsEvent event) { event.register(y); event.register(EXAMPLE_MAPPING.get()); // tried both lazy and static keymapping } lmao
-
Tried creating keymappings, but only mouse button one works, and both don't appear in mey binds menu So here's the code: @Mod(ExampleMod.MODID) public class ExampleMod { static KeyMapping y = new KeyMapping( "key.categories.misc1", // Will be localized using this translation key InputConstants.Type.KEYSYM, // Default mapping is on the keyboard GLFW.GLFW_KEY_Y, // Default key is P "key.categories.misc" // Mapping will be in the misc category ); /*static KeyMapping mb5 = new KeyMapping( "key.categories.misc1", // Will be localized using this translation key InputConstants.Type.MOUSE, // Default mapping is on the keyboard GLFW.GLFW_MOUSE_BUTTON_5, // Default key is P "key.categories.misc" // Mapping will be in the misc category );*/ public static final Lazy<KeyMapping> EXAMPLE_MAPPING = Lazy.of(() -> new KeyMapping( "key.categories.misc1", // Will be localized using this translation key InputConstants.Type.MOUSE, // Default mapping is on the keyboard GLFW.GLFW_MOUSE_BUTTON_5, // Default key is P "key.categories.misc" // Mapping will be in the misc category )/*...*/); public static int toggle = 0; // Define mod id in a common place for everything to reference public static final String MODID = "examplemod"; public ExampleMod() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(this::commonSetup); MinecraftForge.EVENT_BUS.register(this); ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.SPEC); } @SubscribeEvent public void onClientTick(ClientTickEvent event) { if (event.phase == TickEvent.Phase.END) { // Only call code once as the tick event is called twice every tick while (y.consumeClick()) { // Execute logic to perform on click here if(toggle == 0) { Minecraft.getInstance().player.connection.sendCommand("gamemode spectator"); toggle = 1; } else if(toggle == 1) { Minecraft.getInstance().player.connection.sendCommand("gamemode creative"); toggle = 0; } } while(EXAMPLE_MAPPING.get().consumeClick()) { Minecraft.getInstance().player.connection.sendCommand(Config.command); // Here I get command from config, can be any string } } } @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public static class ClientModEvents { @SubscribeEvent public void registerBindings(RegisterKeyMappingsEvent event) { event.register(y); event.register(EXAMPLE_MAPPING.get()); // tried both lazy and static keymapping } @SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { } } @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public static class ClientForgeEvents { @SubscribeEvent public static void registerCommands(RegisterClientCommandsEvent event){ register(event.getDispatcher()); // I register my command here } } } What am I doing wrong there? Sorry if I posted it in the wrong section, I am new to forge forums