I am Discontinuing this mod sue to my lack of time to maintain it, sorry but if you want to see more of what I've done take a look at Thaumic Tinkerer by Vazkii where I do a little bit of work
Introduction:
The Mod Update Manager is a Source-only mod that other modders can package with their mod to include version checking, this can be easily coded by said third party, but I think that if we have a mod that handles all the mod updates in the same manner, it's beneficent for the community.
Details and Features:
The Mod Update manager comes with various features to actually make it useful, in it you'll find:
Launch Update Check: When you launch minecraft you'll get a chat message displaying the status of your mod updates.
Time-based update checks: Every 15 minutes (by default, configurable) the mod will check for updates for all your mods (can be disabled).
Multithreaded: Won't cause you any lag for the most part.
Internet Connection Checking: Auto disables itself if you're offline.
A GUI to show you all that's going on on your mod updatings, you can open it trough the "Mods" button on the main menu or by pressing 'M' (by default).
Support for changelogs, direct downloads and more!
Plenty of features for modders to customize how they want their update managing to be done.
Mod Downloads: If the mod's author endorses that feature, said mod can be downloaded from within minecraft, it can even be downloaded automatically with no hassle from the player if that is enabled.
Disclaimers: You can add some information or a warning before a mod is downloaded so people can know what they're getting into.
Mod of the Week: Every friday a new mod will be chosen for the Mod of the Week, you can see it in your mod list gui by pressing the "MotW" button.
Capes! If you adopt Update Manager into your mod and give me your minecraft username you'll get a cape that everyone using Update Manager will be able to see.
SMP Compatible: A simpler version of Update Manager is available for SMP where timely checks occur by sending couple of chat messages to all OP's on the server about the outdated mods, they can also type in /um force to force an update check, these messages also get delivered on server join.
Special Button: On the GUI, you can have a button on your mod's pane, it can do virtually anything, from opening your twitter to doing pretty much anything possible in game.
Icons: A custom icon can be rendered next to the name of your mod, this can be virtually anything, but defaults to an easy to set ItemStack.
Screenshots:
Tutorials for Modders:
Make sure you read the terms of agreement in the download section before proceeding, they're small and important!
Integrating Mod Update Manager into your mod is as simple as it can be, just download the source and drag the folders into the root "src" folder in your MCP directory, note that you must have installed minecraft forge prior to this, as it's a requirement for this.
With that done we need to chose where we want our update handler, you can have it be a subclass of your mod_ file (recommended for convenience only) or another class entirely. For this concrete tutorial I'll use the inner class as that's my preference, but you can use another class if you prefer. In this tutorial I'm using eclipse so I'l mention it in concrete, but if you're using another IDE you should know how to use the features.
Let's start. Your code should look like this when you start off:
package net.minecraft.src;[/left]
public class mod_Tutorial extends BaseMod {
public void load() {
//Do Stuff here...
}
public String getVersion() {
return "1.2";
}
}
To start off, since we're using the inner class, we have to create it, have it extend UpdateManagerMod (update manager.UpdateManagerMod), eclipse will nag you with some errors, just take the first quick fix, now your code should look like this:
package net.minecraft.src;
import updatemanager.UpdateManagerMod;
public class mod_Tutorial extends BaseMod {
public void load() {
//Do Stuff here...
}
public String getVersion() {
return "1.2";
}
public class UpdateHandler extends UpdateManagerMod{
public UpdateHandler(cpw.mods.fml.common.modloader.BaseMod m) {
super(m);
}
@Override
public String getModURL() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getUpdateURL() {
// TODO Auto-generated method stub
return null;
}
}
}
If you are using the @Mod annotation in FML, the code may differ, if that's the case, replace the constructor with this:
public UpdateHandler(cpw.mods.fml.common.Mod m) {
super(m);
}
So, now let's start filling these TODOs in, let's start off with the getModURL(), in there, just copy paste the URL of your mod's website, tip: if you like analytics get a bitly link to the website so you can track stats:
@Override
public String getModURL() {
return "www.tutorial.net";
[left] //Obviously, replace this with your website...
}[/left]
[left]
Alright, now for getUpdateURL(), that method will use a file online to check if your mod is updated or not, if the contents of that file are the same as your mod's getVersion() method the mod will be deemed updated, otherwise it'll be considered outdated, I reccomend dropbox for the files, but if you have your own domain where you can store your files feel free to use it instead:
@Override
public String getModURL() {
return "www.tutorial.net/Mod Version.txt";
//Obviously, replace this with your file URL...
}
Now, this is important, in your load() method, somewhere in it you have to create a new instance of the class you just created, pass in the instance as the only parameter:
new UpdateHandler(this);
Replace UpdateHandler with the name of your file. If you are using the @Mod annotation, rather than having this, have this:
new UpdateHandler(ModConverter.getMod(getClass()));
Now, that's pretty much it, your mod has been integrated, for SMP follow the same process except for the website, that's client-sided. Now tell me that you integrated your mod with Update Manager so I can add you into the list and give me your minecraft username so I can get you a cape that will be visible to everyone using update manager, even if they aren't using your mod!
But let's not stop it there, shan't we?
Optional Features Below! All of these are independent of eachother!
If you're a java newbie or just new to programming you may not understand everything here, but I'm try to explain everything the best possible, the javadocs provided also do justice I hope.
getModType(): updatemanager.client.ModType, gets the type of the mod, go see the ModType enum to see what all the types do. Client only.
getModName(): String, gets the name of the mod to be displayed in the GUI, defaults to the name of the mod_ class.
getChangelogURL(): String, gets the URL for a file that'll provide the changelog for the mod, do it similar to the mod website. Client only.
getDirectDownloadURL(): String, gets the URL of a file that points to another URL, that URL being the URL of the downloadable file for this mod, this is like so to make updating files easier somewhat. Client only.
getDisclaimerURL(): String, gets the URL for a file with the disclaimer before the mod is downloaded, the first line of the file gets displayed in big red text.
enableAutoDownload(): boolean, allows for a mod to be automatically downloaded, you don't need to mess with it, but you can change it. Note that if you set this to true and the getDirectDownloadURL() is null, you'll get thrown a NullPointerException.
getUMVersion(): String, gets the version of the mod, defaults to the mod_ getVersion() method, or if it's present, the getRelease() method (more on it later).
getCheckingMethod(): updatemanager.common.checking.CheckingMethod, gets what method should be used for checking for updates, look into the CheckingMethod class for the ones pre built, you can add your own checking methods too if you feel need. Defaults to CheckingMethod.NUMERICAL.
disableChecks(): boolean, gets if the mod shouldn't get checked for, defaults to the version checking on the ModType and ModReleaseType (more on it later).
srcOnly(): boolean, gets if the mod should only get checked for if Minecraft/Minecraft Server is being ran in eclipse debug mode, defaults to ModType.isRegular.
getReleaseType(): updatemanager.ModReleaseType, gets the Release Type of the mod (e.g. Released, Beta, Pre-Release, etc.), see more on the ModReleaseType enum, defaults to Released. Client only.
addNotes(): String[], gets an array of notes to put on screen on the mod GUI when this mod is selected. Client only.
getNotesHeadliner(): String, gets the headliner for the notes section (see addNotes()), defaults to "Notes:".
getIconStack(): net.minecraft.src.ItemStack, gets the ItemStack that will get rendered as an icon next to the name of your mod in the GUI. This only applies if you have the default render for icons that is.
renderIcon(int x, int y, GuiModList modList): java.awt.Dimension, renders the icon into the GUI, the parameters are the X coordinate, the Y coordinate and the GUI where it's being rendered, returns a the Dimension of the icon for offestting.
getSpecialButtonName(): String, gets the name of the special button that appears in your GUI pane, setting this to null will make no button appear, see onSpecialButtonClicked() for making the button do something.
onSpecialButtonClicked(): void, this is what happens when your special button is clicked, see getSpecialButtonName().
Downloads and Terms of Agreement:
Note: The downloads contain source code, not compiled classes, if you aren't a modder don't even bother downloading.
Terms of Agreement:
The mod is free, open source, in fact, it's meant to be packaged with the mods rather than be a requirement for them, however, you must follow a simple guideline if you want to use this: In your forum topic, you have to reference that the mod is packaged with this and provide a link to this page in a visible manner (I don't mean size 48 bold red text, it just has to be mildly visible).
This section contains everyone using the Mod Update Manager, in order of adoption, if you're using the Update Manager but aren't in this list, drop me a PM or post in this thread and I'll add you ASAP.
You include the files in the downloaded zip with your normal source files (the ones you get from decompiling minecraft and installing forge) when you are making your mod
Mod Developers include the Update Manager Source files in their mods, then compile and release them with their mod, All the implementation of Update Manager is upto the modder themselves, the mod users don't need to download anything.
I'm still having some issues. When I use the update manager, no matter what each file says, It will always output "Your mods are up to date!" I use the exact code from the tutorial as well. Also, when recompiling, all of the question marks in UpdateManagerCommands.java give me this error:
unmappable character for encoding UTF-8
I know I could change this myself, but I also thought I would let you know. Not sure if its just an issue with my mcp but just letting you know
Go into the conf folder in your mcp, open mcp.cfg, in the end, remove the encoding parameter in CmdRecomp. That happens to me too, that's what I usually do when it does.
How do I remove the parameter? Like wheres the parameter? I've got this line of code:
Tried using for my wars mod. Works client side, crashes server side. I kinda want your opinion before I start messing around with anything.
2012-11-04 08:20:09 [INFO] [ForgeModLoader] Forge Mod Loader version 4.2.2.417 for Minecraft client:1.4.2, server:1.4.2 loading
2012-11-04 08:20:16 [INFO] [STDOUT] 208 recipes
2012-11-04 08:20:16 [INFO] [STDOUT] 27 achievements
2012-11-04 08:20:22 [INFO] [Minecraft] Starting minecraft server version 1.4.2
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2012-11-04 08:20:23 [INFO] [STDOUT] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Completed early MinecraftForge initialization
2012-11-04 08:20:24 [INFO] [ForgeModLoader] Searching C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\mods for mods
2012-11-04 08:20:36 [INFO] [ForgeModLoader] Attempting to reparse the mod container bin
2012-11-04 08:20:38 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2012-11-04 08:20:40 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2012-11-04 08:20:40 [INFO] [Minecraft] Loading properties
2012-11-04 08:20:40 [INFO] [Minecraft] Default game type: SURVIVAL
2012-11-04 08:20:40 [INFO] [Minecraft] Generating keypair
2012-11-04 08:20:41 [INFO] [Minecraft] Starting Minecraft server on *:25565
2012-11-04 08:20:41 [WARNING] [Minecraft] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-11-04 08:20:41 [WARNING] [Minecraft] The server will make no attempt to authenticate usernames. Beware.
2012-11-04 08:20:41 [WARNING] [Minecraft] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-11-04 08:20:41 [WARNING] [Minecraft] To change this, set "online-mode" to "true" in the server.properties file.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [INFO] [STDOUT] [Mod Update Manager] Dumping mod list.
2012-11-04 08:20:43 [INFO] [STDOUT] Minecraft Forge : Client Version = 6.0.1.332, Web Version = 6.0.1.341 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Mod Update Manager : Client Version = 3.0, Web Version = 3.0 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Finished dumping mod list, 2 mods dumped.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Fatal errors were detected during the transition from POSTINITIALIZATION to AVAILABLE. Loading cannot continue
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader]
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
WarsModResinresin [The Wars Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
UpdateManager_TheWhiteWolves [Mod Update Manager] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Errored
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Caught exception from UpdateManager_TheWhiteWolves
java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:43 [INFO] [STDERR] cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
2012-11-04 08:20:43 [INFO] [STDERR] ... 5 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2012-11-04 08:20:43 [INFO] [STDERR] ... 33 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
2012-11-04 08:20:43 [INFO] [STDERR] ... 35 more
2012-11-04 08:20:43 [SEVERE] [Minecraft] Encountered an unexpected exception LoaderException
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:44 [SEVERE] [Minecraft] This crash report has been saved to: C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\.\crash-reports\crash-2012-11-04_08.20.44-server.txt
Tried using for my wars mod. Works client side, crashes server side. I kinda want your opinion before I start messing around with anything.
2012-11-04 08:20:09 [INFO] [ForgeModLoader] Forge Mod Loader version 4.2.2.417 for Minecraft client:1.4.2, server:1.4.2 loading
2012-11-04 08:20:16 [INFO] [STDOUT] 208 recipes
2012-11-04 08:20:16 [INFO] [STDOUT] 27 achievements
2012-11-04 08:20:22 [INFO] [Minecraft] Starting minecraft server version 1.4.2
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2012-11-04 08:20:23 [INFO] [STDOUT] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Completed early MinecraftForge initialization
2012-11-04 08:20:24 [INFO] [ForgeModLoader] Searching C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\mods for mods
2012-11-04 08:20:36 [INFO] [ForgeModLoader] Attempting to reparse the mod container bin
2012-11-04 08:20:38 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2012-11-04 08:20:40 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2012-11-04 08:20:40 [INFO] [Minecraft] Loading properties
2012-11-04 08:20:40 [INFO] [Minecraft] Default game type: SURVIVAL
2012-11-04 08:20:40 [INFO] [Minecraft] Generating keypair
2012-11-04 08:20:41 [INFO] [Minecraft] Starting Minecraft server on *:25565
2012-11-04 08:20:41 [WARNING] [Minecraft] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-11-04 08:20:41 [WARNING] [Minecraft] The server will make no attempt to authenticate usernames. Beware.
2012-11-04 08:20:41 [WARNING] [Minecraft] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-11-04 08:20:41 [WARNING] [Minecraft] To change this, set "online-mode" to "true" in the server.properties file.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [INFO] [STDOUT] [Mod Update Manager] Dumping mod list.
2012-11-04 08:20:43 [INFO] [STDOUT] Minecraft Forge : Client Version = 6.0.1.332, Web Version = 6.0.1.341 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Mod Update Manager : Client Version = 3.0, Web Version = 3.0 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Finished dumping mod list, 2 mods dumped.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Fatal errors were detected during the transition from POSTINITIALIZATION to AVAILABLE. Loading cannot continue
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader]
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
WarsModResinresin [The Wars Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
UpdateManager_TheWhiteWolves [Mod Update Manager] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Errored
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Caught exception from UpdateManager_TheWhiteWolves
java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:43 [INFO] [STDERR] cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
2012-11-04 08:20:43 [INFO] [STDERR] ... 5 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2012-11-04 08:20:43 [INFO] [STDERR] ... 33 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
2012-11-04 08:20:43 [INFO] [STDERR] ... 35 more
2012-11-04 08:20:43 [SEVERE] [Minecraft] Encountered an unexpected exception LoaderException
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:44 [SEVERE] [Minecraft] This crash report has been saved to: C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\.\crash-reports\crash-2012-11-04_08.20.44-server.txt
Looks like you might have installed it wrong, try making a new decompilation with forge and only put update manager in, then check for a crash again
I'm still having some issues. When I use the update manager, no matter what each file says, It will always output "Your mods are up to date!" I use the exact code from the tutorial as well. Also, when recompiling, all of the question marks in UpdateManagerCommands.java give me this error:
unmappable character for encoding UTF-8
I know I could change this myself, but I also thought I would let you know. Not sure if its just an issue with my mcp but just letting you know
Just a thought, would it be easier to just read the translaytions from another file that you bundle with the mod? This is essentually how I deal with translations in my own mods (I also generate a folder so the user can add different .lang translation files). It would get around the need of asking all the modders to change their encoding. I just foresee this issue will be repeated many times by a lot of modders.
Tried using for my wars mod. Works client side, crashes server side. I kinda want your opinion before I start messing around with anything.
2012-11-04 08:20:09 [INFO] [ForgeModLoader] Forge Mod Loader version 4.2.2.417 for Minecraft client:1.4.2, server:1.4.2 loading
2012-11-04 08:20:16 [INFO] [STDOUT] 208 recipes
2012-11-04 08:20:16 [INFO] [STDOUT] 27 achievements
2012-11-04 08:20:22 [INFO] [Minecraft] Starting minecraft server version 1.4.2
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2012-11-04 08:20:23 [INFO] [STDOUT] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Completed early MinecraftForge initialization
2012-11-04 08:20:24 [INFO] [ForgeModLoader] Searching C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\mods for mods
2012-11-04 08:20:36 [INFO] [ForgeModLoader] Attempting to reparse the mod container bin
2012-11-04 08:20:38 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2012-11-04 08:20:40 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2012-11-04 08:20:40 [INFO] [Minecraft] Loading properties
2012-11-04 08:20:40 [INFO] [Minecraft] Default game type: SURVIVAL
2012-11-04 08:20:40 [INFO] [Minecraft] Generating keypair
2012-11-04 08:20:41 [INFO] [Minecraft] Starting Minecraft server on *:25565
2012-11-04 08:20:41 [WARNING] [Minecraft] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-11-04 08:20:41 [WARNING] [Minecraft] The server will make no attempt to authenticate usernames. Beware.
2012-11-04 08:20:41 [WARNING] [Minecraft] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-11-04 08:20:41 [WARNING] [Minecraft] To change this, set "online-mode" to "true" in the server.properties file.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [INFO] [STDOUT] [Mod Update Manager] Dumping mod list.
2012-11-04 08:20:43 [INFO] [STDOUT] Minecraft Forge : Client Version = 6.0.1.332, Web Version = 6.0.1.341 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Mod Update Manager : Client Version = 3.0, Web Version = 3.0 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Finished dumping mod list, 2 mods dumped.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Fatal errors were detected during the transition from POSTINITIALIZATION to AVAILABLE. Loading cannot continue
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader]
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
WarsModResinresin [The Wars Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
UpdateManager_TheWhiteWolves [Mod Update Manager] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Errored
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Caught exception from UpdateManager_TheWhiteWolves
java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:43 [INFO] [STDERR] cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
2012-11-04 08:20:43 [INFO] [STDERR] ... 5 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2012-11-04 08:20:43 [INFO] [STDERR] ... 33 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
2012-11-04 08:20:43 [INFO] [STDERR] ... 35 more
2012-11-04 08:20:43 [SEVERE] [Minecraft] Encountered an unexpected exception LoaderException
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:44 [SEVERE] [Minecraft] This crash report has been saved to: C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\.\crash-reports\crash-2012-11-04_08.20.44-server.txt
Looks like you might have installed it wrong, try making a new decompilation with forge and only put update manager in, then check for a crash again
This is the exact same problem I PM'd you about. I am testing my suggested fix now (about to release the modified version)
EDIT:
I also have one request. Right now I am using bitly so I am able to get statistics about how many downloads and where they are coming from. Because of the way your update handeler works I am unable to use this with your "download" feature. Is there any way you could write in a way that I can both alow users to download my mod as well as me getting this useful information?
EDIT of EDIT:
I have actually had a go at implementing both, I have made a fork/pull request on the git hub.
seems to be an IllegalArgumentException on running(with the basemod and the update basemod). you got anything on that? (save me the time on looking myself)
To start off, since we're using the inner class, we have to create it, have it extend UpdateManagerMod (update manager.UpdateManagerMod), eclipse will nag you with some errors, just take the first quick fix, now your code should look like this:
So, now let's start filling these TODOs in, let's start off with the getModURL(), in there, just copy paste the URL of your mod's website, tip: if you like analytics get a bitly link to the website so you can track stats:
Alright, now for getUpdateURL(), that method will use a file online to check if your mod is updated or not, if the contents of that file are the same as your mod's getVersion() method the mod will be deemed updated, otherwise it'll be considered outdated, I reccomend dropbox for the files, but if you have your own domain where you can store your files feel free to use it instead:
Now, this is important, in your load() method, somewhere in it you have to create a new instance of the class you just created, pass in the instance as the only parameter:
Replace UpdateHandler with the name of your file. If you are using the @Mod annotation, rather than having this, have this:
Now, that's pretty much it, your mod has been integrated, for SMP follow the same process except for the website, that's client-sided. Now tell me that you integrated your mod with Update Manager so I can add you into the list and give me your minecraft username so I can get you a cape that will be visible to everyone using update manager, even if they aren't using your mod!
But let's not stop it there, shan't we?
Optional Features Below! All of these are independent of eachother!
If you're a java newbie or just new to programming you may not understand everything here, but I'm try to explain everything the best possible, the javadocs provided also do justice I hope.
getModType(): updatemanager.client.ModType, gets the type of the mod, go see the ModType enum to see what all the types do. Client only.
getModName(): String, gets the name of the mod to be displayed in the GUI, defaults to the name of the mod_ class.
getChangelogURL(): String, gets the URL for a file that'll provide the changelog for the mod, do it similar to the mod website. Client only.
getDirectDownloadURL(): String, gets the URL of a file that points to another URL, that URL being the URL of the downloadable file for this mod, this is like so to make updating files easier somewhat. Client only.
getDisclaimerURL(): String, gets the URL for a file with the disclaimer before the mod is downloaded, the first line of the file gets displayed in big red text.
enableAutoDownload(): boolean, allows for a mod to be automatically downloaded, you don't need to mess with it, but you can change it. Note that if you set this to true and the getDirectDownloadURL() is null, you'll get thrown a NullPointerException.
getUMVersion(): String, gets the version of the mod, defaults to the mod_ getVersion() method, or if it's present, the getRelease() method (more on it later).
getCheckingMethod(): updatemanager.common.checking.CheckingMethod, gets what method should be used for checking for updates, look into the CheckingMethod class for the ones pre built, you can add your own checking methods too if you feel need. Defaults to CheckingMethod.NUMERICAL.
disableChecks(): boolean, gets if the mod shouldn't get checked for, defaults to the version checking on the ModType and ModReleaseType (more on it later).
srcOnly(): boolean, gets if the mod should only get checked for if Minecraft/Minecraft Server is being ran in eclipse debug mode, defaults to ModType.isRegular.
getReleaseType(): updatemanager.ModReleaseType, gets the Release Type of the mod (e.g. Released, Beta, Pre-Release, etc.), see more on the ModReleaseType enum, defaults to Released. Client only.
addNotes(): String[], gets an array of notes to put on screen on the mod GUI when this mod is selected. Client only.
getNotesHeadliner(): String, gets the headliner for the notes section (see addNotes()), defaults to "Notes:".
getIconStack(): net.minecraft.src.ItemStack, gets the ItemStack that will get rendered as an icon next to the name of your mod in the GUI. This only applies if you have the default render for icons that is.
renderIcon(int x, int y, GuiModList modList): java.awt.Dimension, renders the icon into the GUI, the parameters are the X coordinate, the Y coordinate and the GUI where it's being rendered, returns a the Dimension of the icon for offestting.
getSpecialButtonName(): String, gets the name of the special button that appears in your GUI pane, setting this to null will make no button appear, see onSpecialButtonClicked() for making the button do something.
onSpecialButtonClicked(): void, this is what happens when your special button is clicked, see getSpecialButtonName().
Also yes it does need forge to function correctly
I know I could change this myself, but I also thought I would let you know. Not sure if its just an issue with my mcp but just letting you know
How do I remove the parameter? Like wheres the parameter? I've got this line of code:
but what do i do from there?
2012-11-04 08:20:09 [INFO] [ForgeModLoader] Forge Mod Loader version 4.2.2.417 for Minecraft client:1.4.2, server:1.4.2 loading
2012-11-04 08:20:16 [INFO] [STDOUT] 208 recipes
2012-11-04 08:20:16 [INFO] [STDOUT] 27 achievements
2012-11-04 08:20:22 [INFO] [Minecraft] Starting minecraft server version 1.4.2
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2012-11-04 08:20:23 [INFO] [STDOUT] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] MinecraftForge v6.0.1.332 Initialized
2012-11-04 08:20:23 [INFO] [ForgeModLoader] Completed early MinecraftForge initialization
2012-11-04 08:20:24 [INFO] [ForgeModLoader] Searching C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\mods for mods
2012-11-04 08:20:36 [INFO] [ForgeModLoader] Attempting to reparse the mod container bin
2012-11-04 08:20:38 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2012-11-04 08:20:40 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2012-11-04 08:20:40 [INFO] [Minecraft] Loading properties
2012-11-04 08:20:40 [INFO] [Minecraft] Default game type: SURVIVAL
2012-11-04 08:20:40 [INFO] [Minecraft] Generating keypair
2012-11-04 08:20:41 [INFO] [Minecraft] Starting Minecraft server on *:25565
2012-11-04 08:20:41 [WARNING] [Minecraft] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-11-04 08:20:41 [WARNING] [Minecraft] The server will make no attempt to authenticate usernames. Beware.
2012-11-04 08:20:41 [WARNING] [Minecraft] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-11-04 08:20:41 [WARNING] [Minecraft] To change this, set "online-mode" to "true" in the server.properties file.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [INFO] [STDOUT] [Mod Update Manager] Dumping mod list.
2012-11-04 08:20:43 [INFO] [STDOUT] Minecraft Forge : Client Version = 6.0.1.332, Web Version = 6.0.1.341 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Mod Update Manager : Client Version = 3.0, Web Version = 3.0 (true).
2012-11-04 08:20:43 [INFO] [STDOUT] Finished dumping mod list, 2 mods dumped.
2012-11-04 08:20:43 [INFO] [STDOUT] #######################################################
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Fatal errors were detected during the transition from POSTINITIALIZATION to AVAILABLE. Loading cannot continue
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader]
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
WarsModResinresin [The Wars Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized
UpdateManager_TheWhiteWolves [Mod Update Manager] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Errored
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2012-11-04 08:20:43 [SEVERE] [ForgeModLoader] Caught exception from UpdateManager_TheWhiteWolves
java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:43 [INFO] [STDERR] cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
2012-11-04 08:20:43 [INFO] [STDERR] at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
2012-11-04 08:20:43 [INFO] [STDERR] at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-11-04 08:20:43 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2012-11-04 08:20:43 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
2012-11-04 08:20:43 [INFO] [STDERR] ... 5 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2012-11-04 08:20:43 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2012-11-04 08:20:43 [INFO] [STDERR] ... 33 more
2012-11-04 08:20:43 [INFO] [STDERR] Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
2012-11-04 08:20:43 [INFO] [STDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
2012-11-04 08:20:43 [INFO] [STDERR] ... 35 more
2012-11-04 08:20:43 [SEVERE] [Minecraft] Encountered an unexpected exception LoaderException
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:651)
at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:88)
at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:343)
at net.minecraft.src.DedicatedServer.startServer(DedicatedServer.java:110)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:454)
at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/Minecraft
at updatemanager.common.ThreadUpdateManager.<init>(ThreadUpdateManager.java:21)
at updatemanager.common.mod_UpdateManager.modsLoaded(mod_UpdateManager.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:440)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:650)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.Minecraft
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:38)
at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:163)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
... 35 more
2012-11-04 08:20:44 [SEVERE] [Minecraft] This crash report has been saved to: C:\Users\pcw\Desktop\WARS MOD 1.4\Wars Mod 2.4.0+ mc 1.4\jars\.\crash-reports\crash-2012-11-04_08.20.44-server.txt
This is for mod makers to include in their mods. If you're only using other peoples mods, don't worry about it
Looks like you might have installed it wrong, try making a new decompilation with forge and only put update manager in, then check for a crash again
Just a thought, would it be easier to just read the translaytions from another file that you bundle with the mod? This is essentually how I deal with translations in my own mods (I also generate a folder so the user can add different .lang translation files). It would get around the need of asking all the modders to change their encoding. I just foresee this issue will be repeated many times by a lot of modders.
This is the exact same problem I PM'd you about. I am testing my suggested fix now (about to release the modified version)
EDIT:
I also have one request. Right now I am using bitly so I am able to get statistics about how many downloads and where they are coming from. Because of the way your update handeler works I am unable to use this with your "download" feature. Is there any way you could write in a way that I can both alow users to download my mod as well as me getting this useful information?
EDIT of EDIT:
I have actually had a go at implementing both, I have made a fork/pull request on the git hub.
Ye and thanks to NerdBoy, some things have been fixed and improved
Where exactly is it crashing? I may have screwed up again in my last commit?
(haven't got a report(took the source out for now)
TheWhiteWolves, you probably should update the OP about that issue.
Also, I'm having some issues.
When I add the classes, it gives me an error in ThreadDownloadMod
That line, URISyntaxException cannot be resolved to a type. When I import it, it gives me quite a few more errors.