Posted September 26, 20213 yr Hi, i have a FMLServerStartingEvent and i need register RegisterCommandsEvent, but i can't make this. Event registration only goes through the constructor, are there any workarounds to solve this? Edited September 26, 20213 yr by WildHeart
September 26, 20213 yr what? for questions about Events look here if the doc doesn't help please explain more
September 26, 20213 yr Author Oh, okey. @SubscribeEvent public void serverStarting(FMLServerStartingEvent e) { // Creating managerProvider managerProvider.register(); } // In ManagerProvider public void register() { MinecraftForge.EVENT_BUS.addListener(this::onCommandRegister); } But it doesn't work for me
September 26, 20213 yr why on earth did you register Events in FMLServerStartingEvent? you should do this is your Mod constructor, or you use the automatic event registration (via @Mod.EventBusSubscriber & @SubscribeEvent) Edit: I recommend you to use the automatic registration, it is the easiest and best solution you could choose Edited September 26, 20213 yr by Luis_ST
September 26, 20213 yr Author Previously, the registration was in FMLServerStartingEvent, now there is an additional event for this, but this is inconvenient. That's why I'm asking how this can be done. Or is it possible to call FMLServerStartingEvent at the beginning, and then RegisterCommandsEvent?
September 26, 20213 yr What. Just register your events in your mod constructor or use the class annotation. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 27, 20213 yr Author To avoid creating a new topic I'll ask here, how to add requires for vanilla commands?
September 27, 20213 yr Author It needs to be added for all vanilla commands, perhaps it should be done via CommandNode, but I'm not sure that binding to literal argument will work
September 27, 20213 yr vanilla add "requires" behind Commands#literal, so it should work also do not post vanilla code we all can look into your ide nextime post the class name an the line, that's enough to find the code part you are talking about Edited September 27, 20213 yr by Luis_ST
September 27, 20213 yr Author Yes, but the problem is that need to make sure that the registered commands are vanilla
September 27, 20213 yr get the command literal via Reflection and check if it equals the command literal you want to modify
September 27, 20213 yr Author And the last question, I have libraries that are loaded into mods/myfolder and I need to load them. Fabric has a FabricLauncherBase.getLauncher() But I don't see anything in forge that can allow this to be done
September 27, 20213 yr if you use these mods in the dev, gradle will compile them automatically (if you use them as a dependency)
September 28, 20213 yr Author Yes, but what's the point of carrying 20+ dependencies with you when you can load only what you need(yes, my mod can do this), but I need to load these dependencies during startup. I found this Launch.classLoader.addURL but apparently this does not work with the new version of Forge.
September 28, 20213 yr 16 hours ago, Luis_ST said: if you use these mods in the dev, gradle will compile them automatically (if you use them as a dependency) now you talk about dependencies so this would work for you
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.