geekles
Members-
Posts
37 -
Joined
-
Last visited
Everything posted by geekles
-
*bump* still need help
-
There isn't much to explain here since as the broad name somewhat implies ("ExperimentalMod"), the purpose of my mod is to simply try a bunch of different things with the client and try to get a thorough understanding of the client itself. I have spent basically all of my mc-related projects developing server-sided plugins with Spigot. Because I deal a lot with packets, it is important for me to understand how the client manages these packets since I have seen only one side of what occurs after the server has received said packets from the client. I also hope that the knowledge gained from this obfuscated project of mine will allow me to develop mods for myself that are utility based. Nothing in particular yet in mind, however I want all the modifications I make towards the client still compatible with vanilla servers since these are the sorts of servers I go on regularly. I personally do not like playing alone in singleplayer and I do not like playing on modded servers simply since it's a server intended for a small group of players, I prefer playing on servers with a much larger population and not restricted to necessarily a few friends. The "test" server I keep referring to about is the server I use to develop my plugins which can be handy for when I am testing certain features of the client and seeing the result on server's end of things.
-
So I gave what you said a try, and it didn't work, however what you said did make sense so I simply tried changing the gamesetting at a much later time, such as when I join a server, and now it works. I'll probably have to add some sort of minor delay after the FMLClientSetupEvent is triggered.
-
Server Log Client Log
-
I assume it does this differently then say within the development environment? Because I have had no issues while testing it, but the second I install the mod into my actual client and run it, I can't appear to use this setting.
-
Very simple, but here it is. The final line in the constructor is all that it really is. public class ExperimentalModification { public static final String MOD_ID = "experimentalmodification"; // Directly reference a log4j logger. public static final Logger LOGGER = LogManager.getLogger(); public ExperimentalModification() { // Register the setup method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); // Register the enqueueIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC); // Register the processIMC method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC); // Register the doClientStuff method for modloading FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff); // Register ourselves for server and other game events we are interested in MinecraftForge.EVENT_BUS.register(this); Minecraft.getInstance().gameSettings.pauseOnLostFocus = false; } private void setup(final FMLCommonSetupEvent event) { // some preinit code } private void doClientStuff(final FMLClientSetupEvent event) { // do something that can only be done on the client LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().gameSettings); } private void enqueueIMC(final InterModEnqueueEvent event) { // some example code to dispatch IMC to another mod InterModComms.sendTo("experimental", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world"; }); } private void processIMC(final InterModProcessEvent event) { // some example code to receive and process InterModComms from other mods LOGGER.info("Got IMC {}", event.getIMCStream(). map(m -> m.getMessageSupplier().get()). collect(Collectors.toList())); } }
-
There is almost nothing to show. This is my sever log covering the time period of my connection attempt 03.06 11:55:28 [Server] INFO CONSOLE issued server command: /list 03.06 11:55:40 [Disconnect] User com.mojang.authlib.GameProfile@1b2f84c[id=<null>,name=geekaz,properties={},legacy=false] (/--my ip--:63043) has disconnected, reason: Disconnected Then the clientside log covering the time I was attempting to connect but simply timed out after some time. [11:55:08.022] [Client thread/INFO] [minecraft/GuiConnecting]: Connecting to --private server ip--, 25566 [11:55:08.085] [Netty Client IO #15/DEBUG] [ne.mi.fm.ne.FMLHandshakeHandler/FMLHANDSHAKE]: Starting new vanilla network connection. I also can guarantee that the issue is not from a poor connectivity issue, i.e. a hiccup with my internet, but because I have tried with my alternate (main) account to connect to the same servers I usually have trouble with joining as I am testing in attempting to join other server, there are no issues at all. Also this issue is quite random since at times I can join a server and at times not, but it occurs way too frequently for it to be a normal thing. A majority of the time, I feel I can join my personal (locally hosted) server, but at times I too have issues just like the rest of the other servers.
-
In my mod, especially for testing, I want to have the client still running in the background regardless if I am actively playing it or I am simply browsing the web and it is running in the background without having the pause menu show up the second I click away. In game settings, there is an option to disable the "pauseOnLostFocus" feature which works during tests within my IntelliJ development environment. However, if I build the mod and actually run it using my client, I find that this feature oddly enough no longer works. The second I click away (alt + tab) the game pauses. I have decompiled the mod I have added into the mod folder to ensure that the built mod is in fact the latest version, therefore it is unclear to me why pauseOnLostFocus would be utilized differently in both environments.
-
I am currently experiencing a bizarre and annoying bug where after connecting say one server, I no longer can reconnect to another dedicated multiplayer server without closing and reopening the client. I am wondering if anyone else is or has experienced this bizarre behavior and what I can do to resolve this. Right now, I have disabled everything that I have personally modified with the client, but nothing has changed, perhaps I accidentally removed something vital from the main class? I am new to forge development, therefore I may be missing something vital. Also there are no errors, simply while attempting to create a new vanilla connection there is no further response until finally I get a connection timed out; this happens to all the six public servers I have tried after having connected first to my test server.
-
I looked into the PlayerControllerMP class and tried out the method you mentioned (#windowClick). Although took me quite a bit of testing to get it to work and understand what was happening, I finally have it so that I can move any item in my inventory to a particular slot without the server falling out of sync of such movements.
-
I have been spending a good portion and still am of my mc development hobby developing server plugins. However, I thought I'd pursue another new and interesting project to start understanding how to take my experience and begin working on modifying the client itself. However, I want this mod to strictly work as a utility, therefore I would like it to work on public dedi servers and not just singleplayer. Since I am very new to the forge API, I thought I would start off reasonably basic. I want to see how I can mimic a few functions of key presses that occur automatically when a player joins a server. For example, I have been trying to get the client to automatically move the item stack in the 1st slot into the 2nd slot automatically when the 1st slot is highlighted/selected in the hotbar (via scroll). Unfortunately, I can not tell if when I do have the item moved to the second slot by first copying it to the second slot and then removing the original contents in the 1st slot, that the server is either out of sync, or if it is aware of this change but doesn't see it as a valid action and therefore cancels it. I am 90% sure I am missing a packet here, but due to my limited experience with client modifications, I am not sure what packets I am looking for. So far I have simply tried forcing a synchronization of my inventory contents with the server after I have done the action with the player.inventoryContainer#detectAndSendChanges(), but the server still appears to cancel the activity. So either I am doing it wrong, or the server is cancelling the activity since I am doing the action of moving the item to the other slot very differently then what is expected. I would like to actually analyze the classes that handle these sorts of activities in the inventory, such as in my case, mimicking the pressing of the number 2 on the keyboard to move the item in the slot selected into the second slot, but I haven't had any luck finding any such class since I do not know where to look. Any help here would be most appreciated.
-
[Forge 1.13.2] Launcher Crashes Immediately
geekles replied to geekles's topic in Support & Bug Reports
Seems to be the issue with the latest versions: Minecraft Forge 25.0.202, 25.0.201, 25.0.199. Version 25.0.198 works however. -
I have done everything from uninstalling all of my java versions and reinstalling a fresh, up to date version of Java 8. I removed and reinstalled a new .minecraft and then installed forge 1.13.2. Either way, the client almost immediately crashes. Running currently java version "1.8.0_211". Oddly enough, forge 1.12 works perfectly fine. latest.log can be viewed in spoiler below: