Commit fdb36ae1376359126e34c37f63a2792bc38f9bd4

Authored by Mumfrey
1 parent 3781bd92

Style update part 3 - apply checkstyle

Showing 100 changed files with 1045 additions and 508 deletions

Too many changes to show.

To preserve performance only 100 of 219 files are displayed.

build.gradle
... ... @@ -17,6 +17,7 @@ buildscript {
17 17 }
18 18  
19 19 apply plugin: 'net.minecraftforge.gradle.tweaker-client'
  20 +apply plugin: 'checkstyle'
20 21 apply plugin: 'maven'
21 22  
22 23 // Artefact details
... ... @@ -60,6 +61,17 @@ sourceSets {
60 61 }
61 62 }
62 63  
  64 +checkstyle {
  65 + configProperties = [
  66 + "name" : project.name,
  67 + "organization": project.organization,
  68 + "url" : project.url,
  69 + "year" : project.inceptionYear
  70 + ]
  71 + configFile = file("checkstyle.xml")
  72 + toolVersion = '6.13'
  73 +}
  74 +
63 75 javadoc {
64 76 source sourceSets.client.allJava
65 77 source sourceSets.debug.allJava
... ... @@ -110,7 +122,7 @@ task runClient(type: JavaExec, overwrite: true) {
110 122 }
111 123  
112 124 tasks.withType(JavaCompile) {
113   - options.compilerArgs += ['-Xlint:all', '-Xlint:-path']
  125 + options.compilerArgs += ['-Xlint:all', '-Xlint:-path', '-Xlint:-rawtypes']
114 126 options.deprecation = true
115 127 options.encoding = 'utf8'
116 128 }
... ...
checkstyle.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
  3 +
  4 +<!--
  5 + This configuration file was written by the eclipse-cs plugin configuration editor
  6 +-->
  7 +<!--
  8 + Checkstyle-Configuration: LiteLoader Style
  9 + Description: none
  10 +-->
  11 +<module name="Checker">
  12 + <property name="severity" value="warning"/>
  13 + <property name="charset" value="UTF-8"/>
  14 + <module name="TreeWalker">
  15 + <module name="FileContentsHolder"/>
  16 + <module name="OuterTypeFilename"/>
  17 + <module name="IllegalTokenText">
  18 + <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
  19 + <property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
  20 + <property name="message" value="Avoid using corresponding octal or Unicode escape."/>
  21 + </module>
  22 + <module name="EmptyBlock">
  23 + <property name="option" value="TEXT"/>
  24 + <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
  25 + </module>
  26 + <module name="ArrayTypeStyle"/>
  27 + <module name="MissingSwitchDefault"/>
  28 + <module name="FallThrough"/>
  29 + <module name="UpperEll"/>
  30 + <module name="ModifierOrder"/>
  31 + <module name="PackageName">
  32 + <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
  33 + <message key="name.invalidPattern" value="Package name ''{0}'' must match pattern ''{1}''."/>
  34 + </module>
  35 + <module name="TypeName">
  36 + <message key="name.invalidPattern" value="Type name ''{0}'' must match pattern ''{1}''."/>
  37 + </module>
  38 + <module name="MemberName">
  39 + <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
  40 + <message key="name.invalidPattern" value="Member name ''{0}'' must match pattern ''{1}''."/>
  41 + </module>
  42 + <module name="ParameterName">
  43 + <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
  44 + <message key="name.invalidPattern" value="Parameter name ''{0}'' must match pattern ''{1}''."/>
  45 + </module>
  46 + <module name="LocalVariableName">
  47 + <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
  48 + <property name="tokens" value="VARIABLE_DEF"/>
  49 + <message key="name.invalidPattern" value="Local variable name ''{0}'' must match pattern ''{1}''."/>
  50 + </module>
  51 + <module name="ClassTypeParameterName">
  52 + <property name="format" value="(^[A-Z][0-9]?)$|(T[A-Z][a-zA-Z0-9]*$)"/>
  53 + <message key="name.invalidPattern" value="Class type name ''{0}'' must match pattern ''{1}''."/>
  54 + </module>
  55 + <module name="MethodTypeParameterName">
  56 + <property name="format" value="(^[A-Z][0-9]?)$|(T[A-Z][a-zA-Z0-9]*$)"/>
  57 + <message key="name.invalidPattern" value="Method type name ''{0}'' must match pattern ''{1}''."/>
  58 + </module>
  59 + <module name="NoFinalizer"/>
  60 + <module name="OperatorWrap">
  61 + <property name="option" value="NL"/>
  62 + <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
  63 + </module>
  64 + <module name="RequireThis"/>
  65 + <module name="EqualsHashCode"/>
  66 + <module name="LeftCurly">
  67 + <property name="option" value="nl"/>
  68 + </module>
  69 + <module name="MethodParamPad">
  70 + <property name="allowLineBreaks" value="true"/>
  71 + <property name="tokens" value="CTOR_DEF,METHOD_CALL,METHOD_DEF,SUPER_CTOR_CALL"/>
  72 + </module>
  73 + <module name="LineLength">
  74 + <metadata name="net.sf.eclipsecs.core.comment" value="Code line length"/>
  75 + <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
  76 + <property name="max" value="150"/>
  77 + <message key="maxLineLen" value="Code line is longer than {0,number,integer} characters (found {1,number,integer})."/>
  78 + </module>
  79 + <module name="LineLength">
  80 + <metadata name="net.sf.eclipsecs.core.comment" value="Comment line length"/>
  81 + <property name="ignorePattern" value="^[ ]*([a-zA-Z0-9\{\}\+\|\&amp;\&quot;@\(\)\?\:\.=]|//)"/>
  82 + <message key="maxLineLen" value="Comment line is longer than {0,number,integer} characters (found {1,number,integer})."/>
  83 + </module>
  84 + <module name="NeedBraces">
  85 + <property name="allowSingleLineStatement" value="true"/>
  86 + <message key="needBraces" value="''{0}'' must use '''{}'''s."/>
  87 + </module>
  88 + <module name="RightCurly">
  89 + <property name="option" value="alone"/>
  90 + <property name="tokens" value="LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,LITERAL_IF,LITERAL_ELSE,CLASS_DEF,METHOD_DEF,CTOR_DEF,LITERAL_FOR,LITERAL_WHILE,LITERAL_DO,STATIC_INIT,INSTANCE_INIT"/>
  91 + <property name="shouldStartLine" value="false"/>
  92 + </module>
  93 + <module name="MissingOverride">
  94 + <property name="severity" value="error"/>
  95 + </module>
  96 + <module name="MissingDeprecated">
  97 + <property name="severity" value="warning"/>
  98 + </module>
  99 + <module name="TypecastParenPad">
  100 + <property name="tokens" value="RPAREN,TYPECAST"/>
  101 + </module>
  102 + <module name="DefaultComesLast"/>
  103 + <module name="EmptyStatement"/>
  104 + <module name="EqualsAvoidNull"/>
  105 + <module name="StringLiteralEquality"/>
  106 + <module name="FinalClass"/>
  107 + </module>
  108 + <module name="SuppressionCommentFilter"/>
  109 +</module>
... ...
src/client/java/com/mumfrey/liteloader/ChatFilter.java
... ... @@ -13,11 +13,13 @@ import net.minecraft.util.IChatComponent;
13 13 public interface ChatFilter extends LiteMod
14 14 {
15 15 /**
16   - * Chat filter function, return false to filter this packet, true to pass the packet
  16 + * Chat filter function, return false to filter this packet, true to pass
  17 + * the packet.
17 18 *
18 19 * @param chat ChatMessageComponent parsed from the chat packet
19 20 * @param message Chat message parsed from the chat message component
20   - * @param newMessage If you wish to mutate the message, set the value using newMessage.set()
  21 + * @param newMessage If you wish to mutate the message, set the value using
  22 + * newMessage.set()
21 23 *
22 24 * @return True to keep the packet, false to discard
23 25 */
... ...
src/client/java/com/mumfrey/liteloader/EntityRenderListener.java
... ... @@ -4,7 +4,8 @@ import net.minecraft.client.renderer.entity.Render;
4 4 import net.minecraft.entity.Entity;
5 5  
6 6 /**
7   - * Interface for mods which want to receive callbacks when entities are rendered into the world
  7 + * Interface for mods which want to receive callbacks when entities are rendered
  8 + * into the world.
8 9 *
9 10 * @author Adam Mummery-Smith
10 11 */
... ...
src/client/java/com/mumfrey/liteloader/FrameBufferListener.java
... ... @@ -3,20 +3,23 @@ package com.mumfrey.liteloader;
3 3 import net.minecraft.client.shader.Framebuffer;
4 4  
5 5 /**
6   - * Interface for mods which want to interact with Minecraft's main Frame Buffer Object
  6 + * Interface for mods which want to interact with Minecraft's main Frame Buffer
  7 + * Object.
7 8 *
8 9 * @author Adam Mummery-Smith
9 10 */
10 11 public interface FrameBufferListener extends LiteMod
11 12 {
12 13 /**
13   - * Called before the FBO is rendered. Useful if you want to interact with the FBO before it is drawn to the screen
  14 + * Called before the FBO is rendered. Useful if you want to interact with
  15 + * the FBO before it is drawn to the screen.
14 16 */
15 17 public abstract void preRenderFBO(Framebuffer fbo);
16 18  
17 19 /**
18   - * Called immediately before the FBO is rendered to the screen, after the appropriate IGL modes and matrix transforms
19   - * have been set but before the FBO is actually rendered into the main output buffer.
  20 + * Called immediately before the FBO is rendered to the screen, after the
  21 + * appropriate IGL modes and matrix transforms have been set but before the
  22 + * FBO is actually rendered into the main output buffer.
20 23 *
21 24 * @param fbo FBO instance
22 25 * @param width FBO width
... ...
src/client/java/com/mumfrey/liteloader/InitCompleteListener.java
... ... @@ -5,15 +5,17 @@ import net.minecraft.client.Minecraft;
5 5 import com.mumfrey.liteloader.core.LiteLoader;
6 6  
7 7 /**
8   - * Interface for mods which need to initialise stuff once the game initialisation is completed,
9   - * for example mods which need to register new renderers.
  8 + * Interface for mods which need to initialise stuff once the game
  9 + * initialisation is completed, for example mods which need to register new
  10 + * renderers.
10 11 *
11 12 * @author Adam Mummery-Smith
12 13 */
13 14 public interface InitCompleteListener extends Tickable
14 15 {
15 16 /**
16   - * Called as soon as the game is initialised and the main game loop is running
  17 + * Called as soon as the game is initialised and the main game loop is
  18 + * running.
17 19 *
18 20 * @param minecraft Minecraft instance
19 21 * @param loader LiteLoader instance
... ...
src/client/java/com/mumfrey/liteloader/JoinGameListener.java
... ... @@ -8,7 +8,8 @@ import com.mojang.realmsclient.dto.RealmsServer;
8 8  
9 9  
10 10 /**
11   - * Interface for mods which wish to be notified when the player connects to a server (or local game)
  11 + * Interface for mods which wish to be notified when the player connects to a
  12 + * server (or local game).
12 13 *
13 14 * @author Adam Mummery-Smith
14 15 */
... ... @@ -19,8 +20,10 @@ public interface JoinGameListener extends LiteMod
19 20 *
20 21 * @param netHandler Net handler
21 22 * @param joinGamePacket Join game packet
22   - * @param serverData ServerData object representing the server being connected to
23   - * @param realmsServer If connecting to a realm, a reference to the RealmsServer object
  23 + * @param serverData ServerData object representing the server being
  24 + * connected to
  25 + * @param realmsServer If connecting to a realm, a reference to the
  26 + * RealmsServer object
24 27 */
25 28 public abstract void onJoinGame(INetHandler netHandler, S01PacketJoinGame joinGamePacket, ServerData serverData, RealmsServer realmsServer);
26 29 }
... ...
src/client/java/com/mumfrey/liteloader/OutboundChatFilter.java
... ... @@ -8,7 +8,8 @@ package com.mumfrey.liteloader;
8 8 public interface OutboundChatFilter extends LiteMod
9 9 {
10 10 /**
11   - * Raised when a chat message is being sent, return false to filter this message or true to allow it to be sent
  11 + * Raised when a chat message is being sent, return false to filter this
  12 + * message or true to allow it to be sent.
12 13 *
13 14 * @param message
14 15 */
... ...
src/client/java/com/mumfrey/liteloader/OutboundChatListener.java
... ... @@ -10,7 +10,8 @@ import net.minecraft.network.play.client.C01PacketChatMessage;
10 10 public interface OutboundChatListener extends LiteMod
11 11 {
12 12 /**
13   - * Raised when a new chat packet is created (not necessarily transmitted, something could be trolling us)
  13 + * Raised when a new chat packet is created (not necessarily transmitted,
  14 + * something could be trolling us).
14 15 *
15 16 * @param packet
16 17 * @param message
... ...
src/client/java/com/mumfrey/liteloader/PostLoginListener.java
... ... @@ -10,8 +10,9 @@ import net.minecraft.network.login.server.S02PacketLoginSuccess;
10 10 public interface PostLoginListener extends LiteMod
11 11 {
12 12 /**
13   - * Called immediately after login, before the player has properly joined the game. Note that this event is raised
14   - * <b>in the network thread</b> and is not marshalled to the main thread as other packet-generated events are.
  13 + * Called immediately after login, before the player has properly joined the
  14 + * game. Note that this event is raised <b>in the network thread</b> and is
  15 + * not marshalled to the main thread as other packet-generated events are.
15 16 *
16 17 * @param netHandler
17 18 * @param packet
... ...
src/client/java/com/mumfrey/liteloader/PreRenderListener.java
... ... @@ -10,14 +10,16 @@ import net.minecraft.client.renderer.RenderGlobal;
10 10 public interface PreRenderListener extends LiteMod
11 11 {
12 12 /**
13   - * Called immediately before rendering of the world (including the sky) is started.
  13 + * Called immediately before rendering of the world (including the sky) is
  14 + * started.
14 15 *
15 16 * @param partialTicks
16 17 */
17 18 public abstract void onRenderWorld(float partialTicks);
18 19  
19 20 /**
20   - * Called <b>after</b> the world camera transform is initialised, may be called more than once per frame if anaglyph is enabled
  21 + * Called <b>after</b> the world camera transform is initialised, may be
  22 + * called more than once per frame if anaglyph is enabled.
21 23 *
22 24 * @param partialTicks
23 25 * @param pass
... ... @@ -26,7 +28,8 @@ public interface PreRenderListener extends LiteMod
26 28 public abstract void onSetupCameraTransform(float partialTicks, int pass, long timeSlice);
27 29  
28 30 /**
29   - * Called when the sky is rendered, may be called more than once per frame if anaglyph is enabled
  31 + * Called when the sky is rendered, may be called more than once per frame
  32 + * if anaglyph is enabled.
30 33 *
31 34 * @param partialTicks
32 35 * @param pass
... ... @@ -34,7 +37,8 @@ public interface PreRenderListener extends LiteMod
34 37 public abstract void onRenderSky(float partialTicks, int pass);
35 38  
36 39 /**
37   - * Called immediately before the clouds are rendered, may be called more than once per frame if anaglyph is enabled
  40 + * Called immediately before the clouds are rendered, may be called more
  41 + * than once per frame if anaglyph is enabled.
38 42 *
39 43 * @param renderGlobal
40 44 * @param partialTicks
... ... @@ -43,7 +47,8 @@ public interface PreRenderListener extends LiteMod
43 47 public abstract void onRenderClouds(float partialTicks, int pass, RenderGlobal renderGlobal);
44 48  
45 49 /**
46   - * Called before the terrain is rendered, may be called more than once per frame if anaglyph is enabled
  50 + * Called before the terrain is rendered, may be called more than once per
  51 + * frame if anaglyph is enabled.
47 52 *
48 53 * @param partialTicks
49 54 * @param pass
... ...
src/client/java/com/mumfrey/liteloader/ScreenshotListener.java
... ... @@ -13,15 +13,16 @@ import com.mumfrey.liteloader.core.LiteLoaderEventBroker.ReturnValue;
13 13 public interface ScreenshotListener extends LiteMod
14 14 {
15 15 /**
16   - * Called when a screenshot is taken, mods should return FALSE to suspend further processing, or TRUE to allow
17   - * processing to continue normally
  16 + * Called when a screenshot is taken, mods should return FALSE to suspend
  17 + * further processing, or TRUE to allow processing to continue normally
18 18 *
19 19 * @param screenshotName
20 20 * @param width
21 21 * @param height
22 22 * @param fbo
23 23 * @param message Message to return if the event is cancelled
24   - * @return FALSE to suspend further processing, or TRUE to allow processing to continue normally
  24 + * @return FALSE to suspend further processing, or TRUE to allow processing
  25 + * to continue normally
25 26 */
26 27 public boolean onSaveScreenshot(String screenshotName, int width, int height, Framebuffer fbo, ReturnValue<IChatComponent> message);
27 28 }
... ...
src/client/java/com/mumfrey/liteloader/Tickable.java
... ... @@ -15,7 +15,8 @@ public interface Tickable extends LiteMod
15 15 * @param minecraft Minecraft instance
16 16 * @param partialTicks Partial tick value
17 17 * @param inGame True if in-game, false if in the menu
18   - * @param clock True if this is a new tick, otherwise false if it's a regular frame
  18 + * @param clock True if this is a new tick, otherwise false if it's a
  19 + * regular frame
19 20 */
20 21 public abstract void onTick(Minecraft minecraft, float partialTicks, boolean inGame, boolean clock);
21 22 }
... ...
src/client/java/com/mumfrey/liteloader/client/CallbackProxyClient.java
... ... @@ -26,9 +26,10 @@ import com.mumfrey.liteloader.transformers.event.EventInfo;
26 26 import com.mumfrey.liteloader.transformers.event.ReturnEventInfo;
27 27  
28 28 /**
29   - * Proxy class which handles the redirected calls from the injected callbacks and routes them to the
30   - * relevant liteloader handler classes. We do this rather than patching a bunch of bytecode into the packet
31   - * classes themselves because this is easier to maintain.
  29 + * Proxy class which handles the redirected calls from the injected callbacks
  30 + * and routes them to the relevant liteloader handler classes. We do this rather
  31 + * than patching a bunch of bytecode into the packet classes themselves because
  32 + * this is easier to maintain.
32 33 *
33 34 * @author Adam Mummery-Smith
34 35 */
... ... @@ -50,7 +51,8 @@ public abstract class CallbackProxyClient extends CallbackProxyCommon
50 51  
51 52 if (CallbackProxyClient.clientEventBroker == null)
52 53 {
53   - throw new RuntimeException("LiteLoader failed to start up properly. The game is in an unstable state and must shut down now. Check the developer log for startup errors");
  54 + throw new RuntimeException("LiteLoader failed to start up properly."
  55 + + " The game is in an unstable state and must shut down now. Check the developer log for startup errors");
54 56 }
55 57  
56 58 CallbackProxyClient.clientEventBroker.onStartupComplete();
... ... @@ -115,7 +117,8 @@ public abstract class CallbackProxyClient extends CallbackProxyCommon
115 117 CallbackProxyClient.clientEventBroker.postRenderHUD(partialTicks);
116 118 }
117 119  
118   - public static void IntegratedServerCtor(EventInfo<IntegratedServer> e, Minecraft minecraft, String folderName, String worldName, WorldSettings worldSettings)
  120 + public static void IntegratedServerCtor(EventInfo<IntegratedServer> e, Minecraft minecraft, String folderName, String worldName,
  121 + WorldSettings worldSettings)
119 122 {
120 123 CallbackProxyClient.clientEventBroker.onStartServer(e.getSource(), folderName, worldName, worldSettings);
121 124 }
... ... @@ -185,24 +188,27 @@ public abstract class CallbackProxyClient extends CallbackProxyCommon
185 188 CallbackProxyClient.clientEventBroker.onRenderTerrain(partialTicks, pass, timeSlice);
186 189 }
187 190  
188   - public static void onSaveScreenshot(ReturnEventInfo<ScreenShotHelper, IChatComponent> e, File gameDir, String name, int width, int height, Framebuffer fbo)
  191 + public static void onSaveScreenshot(ReturnEventInfo<ScreenShotHelper, IChatComponent> e, File gameDir, String name, int width, int height,
  192 + Framebuffer fbo)
189 193 {
190 194 CallbackProxyClient.clientEventBroker.onScreenshot(e, name, width, height, fbo);
191 195 }
192 196  
193   - public static void onRenderEntity(ReturnEventInfo<RenderManager, Boolean> e, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks, boolean hideBoundingBox, Render render)
  197 + public static void onRenderEntity(ReturnEventInfo<RenderManager, Boolean> e, Entity entity, double xPos, double yPos, double zPos, float yaw,
  198 + float partialTicks, boolean hideBoundingBox, Render render)
194 199 {
195 200 CallbackProxyClient.clientEventBroker.onRenderEntity(e.getSource(), entity, xPos, yPos, zPos, yaw, partialTicks, render);
196 201 }
197 202  
198   - public static void onPostRenderEntity(ReturnEventInfo<RenderManager, Boolean> e, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks, boolean hideBoundingBox, Render render)
  203 + public static void onPostRenderEntity(ReturnEventInfo<RenderManager, Boolean> e, Entity entity, double xPos, double yPos, double zPos, float yaw,
  204 + float partialTicks, boolean hideBoundingBox, Render render)
199 205 {
200 206 CallbackProxyClient.clientEventBroker.onPostRenderEntity(e.getSource(), entity, xPos, yPos, zPos, yaw, partialTicks, render);
201 207 }
202 208  
203 209 /**
204   - * Compatiblbe behaviour with FML, this method is called to generate a consistent offline UUID between client and server
205   - * for a given username.
  210 + * Compatiblbe behaviour with FML, this method is called to generate a
  211 + * consistent offline UUID between client and server for a given username.
206 212 */
207 213 public static void generateOfflineUUID(ReturnEventInfo<Session, GameProfile> e)
208 214 {
... ...
src/client/java/com/mumfrey/liteloader/client/ClientPluginChannelsClient.java
... ... @@ -86,7 +86,9 @@ public class ClientPluginChannelsClient extends ClientPluginChannels
86 86 protected boolean send(String channel, PacketBuffer data, ChannelPolicy policy)
87 87 {
88 88 if (channel == null || channel.length() > 16 || CHANNEL_REGISTER.equals(channel) || CHANNEL_UNREGISTER.equals(channel))
  89 + {
89 90 throw new RuntimeException("Invalid channel name specified");
  91 + }
90 92  
91 93 if (!policy.allows(this, channel))
92 94 {
... ...
src/client/java/com/mumfrey/liteloader/client/GameEngineClient.java
... ... @@ -148,7 +148,8 @@ public class GameEngineClient implements GameEngine&lt;Minecraft, IntegratedServer&gt;
148 148 }
149 149  
150 150 /* (non-Javadoc)
151   - * @see com.mumfrey.liteloader.common.GameEngine#setKeyBindings(java.util.List)
  151 + * @see com.mumfrey.liteloader.common.GameEngine
  152 + * #setKeyBindings(java.util.List)
152 153 */
153 154 @Override
154 155 public void setKeyBindings(List<KeyBinding> keyBindings)
... ...
src/client/java/com/mumfrey/liteloader/client/LiteLoaderCoreProviderClient.java
1 1 package com.mumfrey.liteloader.client;
2 2  
  3 +import net.minecraft.client.audio.SoundHandler;
3 4 import net.minecraft.client.resources.IResourceManager;
4 5 import net.minecraft.client.resources.IResourcePack;
5 6 import net.minecraft.client.resources.SimpleReloadableResourceManager;
... ... @@ -28,12 +29,15 @@ public class LiteLoaderCoreProviderClient implements CoreProvider
28 29 private final LoaderProperties properties;
29 30  
30 31 /**
31   - * Read from the properties file, if true we will inhibit the sound manager reload during startup to avoid getting in trouble with OpenAL
  32 + * Read from the properties file, if true we will inhibit the sound manager
  33 + * reload during startup to avoid getting in trouble with OpenAL.
32 34 */
33 35 private boolean inhibitSoundManagerReload = true;
34 36  
35 37 /**
36   - * If inhibit is enabled, this object is used to reflectively inhibit the sound manager's reload process during startup by removing it from the reloadables list
  38 + * If inhibit is enabled, this object is used to reflectively inhibit the
  39 + * sound manager's reload process during startup by removing it from the
  40 + * reloadables list.
37 41 */
38 42 private SoundHandlerReloadInhibitor soundHandlerReloadInhibitor;
39 43  
... ... @@ -52,7 +56,9 @@ public class LiteLoaderCoreProviderClient implements CoreProvider
52 56 @Override
53 57 public void onPostInit(GameEngine<?, ?> engine)
54 58 {
55   - this.soundHandlerReloadInhibitor = new SoundHandlerReloadInhibitor((SimpleReloadableResourceManager)engine.getResources().getResourceManager(), ((GameEngineClient)engine).getSoundHandler());
  59 + SimpleReloadableResourceManager resourceManager = (SimpleReloadableResourceManager)engine.getResources().getResourceManager();
  60 + SoundHandler soundHandler = ((GameEngineClient)engine).getSoundHandler();
  61 + this.soundHandlerReloadInhibitor = new SoundHandlerReloadInhibitor(resourceManager, soundHandler);
56 62  
57 63 if (this.inhibitSoundManagerReload)
58 64 {
... ...
src/client/java/com/mumfrey/liteloader/client/LiteLoaderEventBrokerClient.java
... ... @@ -36,7 +36,7 @@ import com.mumfrey.liteloader.transformers.event.ReturnEventInfo;
36 36 import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
37 37  
38 38 public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft, IntegratedServer> implements IResourceManagerReloadListener
39   -{
  39 +{
40 40 private static LiteLoaderEventBrokerClient instance;
41 41  
42 42 /**
... ... @@ -60,8 +60,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
60 60 private boolean wasFullScreen = false;
61 61  
62 62 /**
63   - * Hash code of the current world. We don't store the world reference here because we don't want
64   - * to mess with world GC by mistake
  63 + * Hash code of the current world. We don't store the world reference
  64 + * here because we don't want to mess with world GC by mistake.
65 65 */
66 66 private int worldHashCode = 0;
67 67  
... ... @@ -76,8 +76,10 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
76 76 private FastIterableDeque<ViewportListener> viewportListeners = new HandlerList<ViewportListener>(ViewportListener.class);
77 77 private FastIterableDeque<FrameBufferListener> frameBufferListeners = new HandlerList<FrameBufferListener>(FrameBufferListener.class);
78 78 private FastIterableDeque<InitCompleteListener> initListeners = new HandlerList<InitCompleteListener>(InitCompleteListener.class);
79   - private FastIterableDeque<OutboundChatFilter> outboundChatFilters = new HandlerList<OutboundChatFilter>(OutboundChatFilter.class, ReturnLogicOp.AND);
80   - private FastIterableDeque<ScreenshotListener> screenshotListeners = new HandlerList<ScreenshotListener>(ScreenshotListener.class, ReturnLogicOp.AND_BREAK_ON_FALSE);
  79 + private FastIterableDeque<OutboundChatFilter> outboundChatFilters = new HandlerList<OutboundChatFilter>(OutboundChatFilter.class,
  80 + ReturnLogicOp.AND);
  81 + private FastIterableDeque<ScreenshotListener> screenshotListeners = new HandlerList<ScreenshotListener>(ScreenshotListener.class,
  82 + ReturnLogicOp.AND_BREAK_ON_FALSE);
81 83 private FastIterableDeque<EntityRenderListener> entityRenderListeners = new HandlerList<EntityRenderListener>(EntityRenderListener.class);
82 84  
83 85 @SuppressWarnings("cast")
... ... @@ -103,7 +105,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
103 105 }
104 106  
105 107 /* (non-Javadoc)
106   - * @see com.mumfrey.liteloader.api.InterfaceProvider#registerInterfaces(com.mumfrey.liteloader.core.InterfaceRegistrationDelegate)
  108 + * @see com.mumfrey.liteloader.api.InterfaceProvider#registerInterfaces(
  109 + * com.mumfrey.liteloader.core.InterfaceRegistrationDelegate)
107 110 */
108 111 @Override
109 112 public void registerInterfaces(InterfaceRegistrationDelegate delegate)
... ... @@ -540,7 +543,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
540 543 * @param partialTicks
541 544 * @param render
542 545 */
543   - public void onRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks, Render render)
  546 + public void onRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks,
  547 + Render render)
544 548 {
545 549 this.entityRenderListeners.all().onRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks);
546 550 }
... ... @@ -555,7 +559,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
555 559 * @param partialTicks
556 560 * @param render
557 561 */
558   - public void onPostRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks, Render render)
  562 + public void onPostRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks,
  563 + Render render)
559 564 {
560 565 this.entityRenderListeners.all().onPostRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks);
561 566 }
... ...
src/client/java/com/mumfrey/liteloader/client/LiteLoaderPanelManager.java
... ... @@ -41,7 +41,8 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
41 41 private Minecraft minecraft;
42 42  
43 43 /**
44   - * Setting which determines whether we show the "mod info" screen tab in the main menu
  44 + * Setting which determines whether we show the "mod info" screen tab in the
  45 + * main menu.
45 46 */
46 47 private boolean displayModInfoScreenTab = true;
47 48  
... ... @@ -51,8 +52,9 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
51 52 private boolean tabAlwaysExpanded = false;
52 53  
53 54 /**
54   - * Override for the "mod info" tab setting, so that mods which want to handle the mod info themselves
55   - * can temporarily disable the function without having to change the underlying property
  55 + * Override for the "mod info" tab setting, so that mods which want to
  56 + * handle the mod info themselves can temporarily disable the function
  57 + * without having to change the underlying property.
56 58 */
57 59 private boolean hideModInfoScreenTab = false;
58 60  
... ... @@ -61,8 +63,8 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
61 63 private String notification;
62 64  
63 65 /**
64   - * Active "mod info" screen, drawn as an overlay when in the main menu and made the active screen if
65   - * the user clicks the tab
  66 + * Active "mod info" screen, drawn as an overlay when in the main menu and
  67 + * made the active screen if the user clicks the tab.
66 68 */
67 69 private GuiLiteLoaderPanel panelHost;
68 70  
... ... @@ -114,7 +116,8 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
114 116 }
115 117  
116 118 /* (non-Javadoc)
117   - * @see com.mumfrey.liteloader.api.TickObserver#onTick(boolean, float, boolean)
  119 + * @see com.mumfrey.liteloader.api.TickObserver
  120 + * #onTick(boolean, float, boolean)
118 121 */
119 122 @Override
120 123 public void onTick(boolean clock, float partialTicks, boolean inGame)
... ... @@ -140,7 +143,8 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
140 143 }
141 144  
142 145 /* (non-Javadoc)
143   - * @see com.mumfrey.liteloader.api.PostRenderObserver#onPostRender(int, int, float)
  146 + * @see com.mumfrey.liteloader.api.PostRenderObserver
  147 + * #onPostRender(int, int, float)
144 148 */
145 149 @Override
146 150 public void onPostRender(int mouseX, int mouseY, float partialTicks)
... ... @@ -149,12 +153,14 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
149 153  
150 154 boolean tabHidden = this.isTabHidden() && this.minecraft.currentScreen instanceof GuiMainMenu;
151 155  
152   - if (this.isPanelSupportedOnScreen(this.minecraft.currentScreen) && ((this.displayModInfoScreenTab && !tabHidden) || (this.panelHost != null && this.panelHost.isOpen())))
  156 + if (this.isPanelSupportedOnScreen(this.minecraft.currentScreen)
  157 + && ((this.displayModInfoScreenTab && !tabHidden) || (this.panelHost != null && this.panelHost.isOpen())))
153 158 {
154 159 // If we're at the main menu, prepare the overlay
155 160 if (this.panelHost == null || this.panelHost.getScreen() != this.minecraft.currentScreen)
156 161 {
157   - this.panelHost = new GuiLiteLoaderPanel(this.minecraft, this.minecraft.currentScreen, this.mods, this.environment, this.properties, this.configManager, !tabHidden);
  162 + this.panelHost = new GuiLiteLoaderPanel(this.minecraft, this.minecraft.currentScreen, this.mods, this.environment, this.properties,
  163 + this.configManager, !tabHidden);
158 164 if (this.notification != null)
159 165 {
160 166 this.panelHost.setNotification(this.notification);
... ... @@ -170,14 +176,18 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
170 176 this.panelHost.release();
171 177 this.panelHost = null;
172 178 }
173   - else if (this.isPanelSupportedOnScreen(this.minecraft.currentScreen) && Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && Keyboard.isKeyDown(Keyboard.KEY_TAB))
  179 + else if (this.isPanelSupportedOnScreen(this.minecraft.currentScreen)
  180 + && Keyboard.isKeyDown(Keyboard.KEY_LCONTROL)
  181 + && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)
  182 + && Keyboard.isKeyDown(Keyboard.KEY_TAB))
174 183 {
175 184 this.displayLiteLoaderPanel(this.minecraft.currentScreen);
176 185 }
177 186 }
178 187  
179 188 /**
180   - * Set the "mod info" screen tab to hidden, regardless of the property setting
  189 + * Set the "mod info" screen tab to hidden, regardless of the property
  190 + * setting.
181 191 */
182 192 @Override
183 193 public void hideTab()
... ... @@ -247,7 +257,8 @@ public class LiteLoaderPanelManager implements PanelManager&lt;GuiScreen&gt;
247 257 {
248 258 if (this.isPanelSupportedOnScreen(parentScreen))
249 259 {
250   - this.panelHost = new GuiLiteLoaderPanel(this.minecraft, parentScreen, this.mods, this.environment, this.properties, this.configManager, !this.isTabHidden());
  260 + this.panelHost = new GuiLiteLoaderPanel(this.minecraft, parentScreen, this.mods, this.environment, this.properties,
  261 + this.configManager, !this.isTabHidden());
251 262 this.minecraft.displayGuiScreen(this.panelHost);
252 263 }
253 264 }
... ...
src/client/java/com/mumfrey/liteloader/client/PacketEventsClient.java
... ... @@ -45,11 +45,13 @@ public class PacketEventsClient extends PacketEvents
45 45 {
46 46 private static RealmsServer joiningRealm;
47 47  
48   - private FastIterableDeque<JoinGameListener> joinGameListeners = new HandlerList<JoinGameListener>(JoinGameListener.class);
49   - private FastIterableDeque<ChatListener> chatListeners = new HandlerList<ChatListener>(ChatListener.class);
50   - private FastIterableDeque<ChatFilter> chatFilters = new HandlerList<ChatFilter>(ChatFilter.class, ReturnLogicOp.AND_BREAK_ON_FALSE);
51   - private FastIterableDeque<PreJoinGameListener> preJoinGameListeners = new HandlerList<PreJoinGameListener>(PreJoinGameListener.class, ReturnLogicOp.AND_BREAK_ON_FALSE);
52   - private FastIterableDeque<PostLoginListener> postLoginListeners = new HandlerList<PostLoginListener>(PostLoginListener.class);
  48 + private FastIterableDeque<JoinGameListener> joinGameListeners = new HandlerList<JoinGameListener>(JoinGameListener.class);
  49 + private FastIterableDeque<ChatListener> chatListeners = new HandlerList<ChatListener>(ChatListener.class);
  50 + private FastIterableDeque<ChatFilter> chatFilters = new HandlerList<ChatFilter>(ChatFilter.class,
  51 + ReturnLogicOp.AND_BREAK_ON_FALSE);
  52 + private FastIterableDeque<PreJoinGameListener> preJoinGameListeners = new HandlerList<PreJoinGameListener>(PreJoinGameListener.class,
  53 + ReturnLogicOp.AND_BREAK_ON_FALSE);
  54 + private FastIterableDeque<PostLoginListener> postLoginListeners = new HandlerList<PostLoginListener>(PostLoginListener.class);
53 55  
54 56 @Override
55 57 public void registerInterfaces(InterfaceRegistrationDelegate delegate)
... ... @@ -86,7 +88,8 @@ public class PacketEventsClient extends PacketEvents
86 88 {
87 89 if (chatListener instanceof ChatFilter)
88 90 {
89   - LiteLoaderLogger.warning("Interface error initialising mod '%1s'. A mod implementing ChatFilter and ChatListener is not supported! Remove one of these interfaces", chatListener.getName());
  91 + LiteLoaderLogger.warning("Interface error initialising mod '%1s'. A mod implementing ChatFilter and ChatListener is not supported! "
  92 + + "Remove one of these interfaces", chatListener.getName());
90 93 }
91 94 else
92 95 {
... ... @@ -127,7 +130,10 @@ public class PacketEventsClient extends PacketEvents
127 130 }
128 131  
129 132 /* (non-Javadoc)
130   - * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(com.mumfrey.liteloader.common.transformers.PacketEventInfo, net.minecraft.network.INetHandler, net.minecraft.network.play.server.S01PacketJoinGame)
  133 + * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(
  134 + * com.mumfrey.liteloader.common.transformers.PacketEventInfo,
  135 + * net.minecraft.network.INetHandler,
  136 + * net.minecraft.network.play.server.S01PacketJoinGame)
131 137 */
132 138 @Override
133 139 protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S01PacketJoinGame packet)
... ... @@ -179,7 +185,10 @@ public class PacketEventsClient extends PacketEvents
179 185 }
180 186  
181 187 /* (non-Javadoc)
182   - * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(com.mumfrey.liteloader.common.transformers.PacketEventInfo, net.minecraft.network.INetHandler, net.minecraft.network.login.server.S02PacketLoginSuccess)
  188 + * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(
  189 + * com.mumfrey.liteloader.common.transformers.PacketEventInfo,
  190 + * net.minecraft.network.INetHandler,
  191 + * net.minecraft.network.login.server.S02PacketLoginSuccess)
183 192 */
184 193 @Override
185 194 protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketLoginSuccess packet)
... ... @@ -199,13 +208,18 @@ public class PacketEventsClient extends PacketEvents
199 208 }
200 209  
201 210 /* (non-Javadoc)
202   - * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(com.mumfrey.liteloader.common.transformers.PacketEventInfo, net.minecraft.network.INetHandler, net.minecraft.network.play.server.S02PacketChat)
  211 + * @see com.mumfrey.liteloader.core.PacketEvents#handlePacket(
  212 + * com.mumfrey.liteloader.common.transformers.PacketEventInfo,
  213 + * net.minecraft.network.INetHandler,
  214 + * net.minecraft.network.play.server.S02PacketChat)
203 215 */
204 216 @Override
205 217 protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketChat packet)
206 218 {
207 219 if (packet.getChatComponent() == null)
  220 + {
208 221 return;
  222 + }
209 223  
210 224 IChatComponent originalChat = packet.getChatComponent();
211 225 IChatComponent chat = originalChat;
... ...
src/client/java/com/mumfrey/liteloader/client/ResourceObserver.java
... ... @@ -50,7 +50,8 @@ public class ResourceObserver implements ModLoadObserver
50 50 {
51 51 LiteLoaderLogger.info("Adding \"%s\" to active resource pack set", container.getLocation());
52 52 IResourcePack resourcePack = this.initResourcePack(container, modName);
53   - Resources<IResourceManager, IResourcePack> resources = (Resources<IResourceManager, IResourcePack>)LiteLoader.getGameEngine().getResources();
  53 + Resources<IResourceManager, IResourcePack> resources
  54 + = (Resources<IResourceManager, IResourcePack>)LiteLoader.getGameEngine().getResources();
54 55 if (resources.registerResourcePack(resourcePack))
55 56 {
56 57 LiteLoaderLogger.info("Successfully added \"%s\" to active resource pack set", container.getLocation());
... ... @@ -66,7 +67,8 @@ public class ResourceObserver implements ModLoadObserver
66 67 {
67 68 if (container.isDirectory())
68 69 {
69   - LiteLoaderLogger.info("Setting up \"%s/%s\" as mod resource pack with identifier \"%s\"", container.toFile().getParentFile().getName(), container.getName(), name);
  70 + LiteLoaderLogger.info("Setting up \"%s/%s\" as mod resource pack with identifier \"%s\"",
  71 + container.toFile().getParentFile().getName(), container.getName(), name);
70 72 resourcePack = new ModResourcePackDir(name, container.toFile());
71 73 }
72 74 else
... ...
src/client/java/com/mumfrey/liteloader/client/ResourcesClient.java
... ... @@ -22,7 +22,8 @@ public class ResourcesClient implements Resources&lt;IResourceManager, IResourcePac
22 22 private final Map<String, IResourcePack> registeredResourcePacks = new HashMap<String, IResourcePack>();
23 23  
24 24 /**
25   - * True while initialising mods if we need to do a resource manager reload once the process is completed
  25 + * True while initialising mods if we need to do a resource manager reload
  26 + * once the process is completed.
26 27 */
27 28 private boolean pendingResourceReload;
28 29  
... ... @@ -50,7 +51,8 @@ public class ResourcesClient implements Resources&lt;IResourceManager, IResourcePac
50 51 }
51 52  
52 53 /* (non-Javadoc)
53   - * @see com.mumfrey.liteloader.common.GameEngine#registerResourcePack(net.minecraft.client.resources.IResourcePack)
  54 + * @see com.mumfrey.liteloader.common.GameEngine#registerResourcePack(
  55 + * net.minecraft.client.resources.IResourcePack)
54 56 */
55 57 @Override
56 58 public boolean registerResourcePack(IResourcePack resourcePack)
... ... @@ -72,7 +74,8 @@ public class ResourcesClient implements Resources&lt;IResourceManager, IResourcePac
72 74 }
73 75  
74 76 /* (non-Javadoc)
75   - * @see com.mumfrey.liteloader.common.GameEngine#unRegisterResourcePack(net.minecraft.client.resources.IResourcePack)
  77 + * @see com.mumfrey.liteloader.common.GameEngine#unRegisterResourcePack(
  78 + * net.minecraft.client.resources.IResourcePack)
76 79 */
77 80 @Override
78 81 public boolean unRegisterResourcePack(IResourcePack resourcePack)
... ...
src/client/java/com/mumfrey/liteloader/client/SoundHandlerReloadInhibitor.java
... ... @@ -10,7 +10,8 @@ import com.mumfrey.liteloader.client.util.PrivateFieldsClient;
10 10 import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
11 11  
12 12 /**
13   - * Manager object which handles inhibiting the sound handler's reload notification at startup
  13 + * Manager object which handles inhibiting the sound handler's reload
  14 + * notification at startup.
14 15 *
15 16 * @author Adam Mummery-Smith
16 17 */
... ... @@ -32,7 +33,8 @@ public class SoundHandlerReloadInhibitor
32 33 private boolean inhibited;
33 34  
34 35 /**
35   - * So that we can re-insert the sound manager at the same index, we store the index we remove it from
  36 + * So that we can re-insert the sound manager at the same index, we store
  37 + * the index we remove it from.
36 38 */
37 39 private int storedIndex;
38 40  
... ...
src/client/java/com/mumfrey/liteloader/client/Translator.java
... ... @@ -7,7 +7,8 @@ import com.mumfrey.liteloader.api.TranslationProvider;
7 7 public class Translator implements TranslationProvider
8 8 {
9 9 /* (non-Javadoc)
10   - * @see com.mumfrey.liteloader.api.TranslationProvider#translate(java.lang.String, java.lang.Object[])
  10 + * @see com.mumfrey.liteloader.api.TranslationProvider#translate(
  11 + * java.lang.String, java.lang.Object[])
11 12 */
12 13 @Override
13 14 public String translate(String key, Object... args)
... ... @@ -17,7 +18,8 @@ public class Translator implements TranslationProvider
17 18 }
18 19  
19 20 /* (non-Javadoc)
20   - * @see com.mumfrey.liteloader.api.TranslationProvider#translate(java.lang.String, java.lang.String, java.lang.Object[])
  21 + * @see com.mumfrey.liteloader.api.TranslationProvider#translate(
  22 + * java.lang.String, java.lang.String, java.lang.Object[])
21 23 */
22 24 @Override
23 25 public String translate(String locale, String key, Object... args)
... ...
src/client/java/com/mumfrey/liteloader/client/api/LiteLoaderBrandingProvider.java
... ... @@ -20,9 +20,13 @@ public class LiteLoaderBrandingProvider implements BrandingProvider
20 20 public static final int BRANDING_COLOUR = 0xFF4785D1;
21 21  
22 22 public static final ResourceLocation ABOUT_TEXTURE = new ResourceLocation("liteloader", "textures/gui/about.png");
23   - public static final IconAbsolute LOGO_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, "logo", 128, 40, 0, 0, 256, 80);
24   - public static final IconAbsolute ICON_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, "chicken", 32, 45, 0, 80, 64, 170);
25   - public static final IconAbsolute TWITTER_AVATAR_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, "twitter_avatar", 32, 32, 192, 80, 256, 144);
  23 +
  24 + public static final IconAbsolute LOGO_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  25 + "logo", 128, 40, 0, 0, 256, 80);
  26 + public static final IconAbsolute ICON_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  27 + "chicken", 32, 45, 0, 80, 64, 170);
  28 + public static final IconAbsolute TWITTER_AVATAR_COORDS = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  29 + "twitter_avatar",32, 32, 192, 80, 256, 144);
26 30  
27 31 public static final URI LITELOADER_URI = URI.create("http://www.liteloader.com/");
28 32  
... ... @@ -117,7 +121,8 @@ public class LiteLoaderBrandingProvider implements BrandingProvider
117 121 }
118 122  
119 123 /* (non-Javadoc)
120   - * @see com.mumfrey.liteloader.api.BrandingProvider#getTwitterAvatarResource()
  124 + * @see com.mumfrey.liteloader.api.BrandingProvider
  125 + * #getTwitterAvatarResource()
121 126 */
122 127 @Override
123 128 public ResourceLocation getTwitterAvatarResource()
... ...
src/client/java/com/mumfrey/liteloader/client/api/LiteLoaderCoreAPIClient.java
... ... @@ -53,7 +53,8 @@ public class LiteLoaderCoreAPIClient extends LiteLoaderCoreAPI
53 53 }
54 54  
55 55 /* (non-Javadoc)
56   - * @see com.mumfrey.liteloader.api.LiteAPI#getRequiredDownstreamTransformers()
  56 + * @see com.mumfrey.liteloader.api.LiteAPI
  57 + * #getRequiredDownstreamTransformers()
57 58 */
58 59 @Override
59 60 public String[] getRequiredDownstreamTransformers()
... ... @@ -144,7 +145,7 @@ public class LiteLoaderCoreAPIClient extends LiteLoaderCoreAPI
144 145 if (this.objectFactory == null)
145 146 {
146 147 this.objectFactory = new ObjectFactoryClient(this.environment, this.properties);
147   - }
  148 + }
148 149  
149 150 return this.objectFactory;
150 151 }
... ...
src/client/java/com/mumfrey/liteloader/client/api/LiteLoaderModInfoDecorator.java
... ... @@ -20,14 +20,17 @@ import com.mumfrey.liteloader.util.render.IconTextured;
20 20 public class LiteLoaderModInfoDecorator implements ModInfoDecorator
21 21 {
22 22 /* (non-Javadoc)
23   - * @see com.mumfrey.liteloader.api.ModInfoDecorator#addIcons(com.mumfrey.liteloader.core.ModInfo, java.util.List)
  23 + * @see com.mumfrey.liteloader.api.ModInfoDecorator
  24 + * #addIcons(com.mumfrey.liteloader.core.ModInfo, java.util.List)
24 25 */
25 26 @Override
26 27 public void addIcons(final ModInfo<?> mod, List<IconTextured> icons)
27 28 {
28 29 if (mod.hasTweakClass())
29 30 {
30   - icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE, I18n.format("gui.mod.providestweak"), 12, 12, 158, 80, 170, 92){
  31 + icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  32 + I18n.format("gui.mod.providestweak"), 12, 12, 158, 80, 170, 92)
  33 + {
31 34 @Override
32 35 public void onClicked(Object source, Object container)
33 36 {
... ... @@ -41,7 +44,9 @@ public class LiteLoaderModInfoDecorator implements ModInfoDecorator
41 44  
42 45 if (mod.hasEventTransformers())
43 46 {
44   - icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE, I18n.format("gui.mod.providesevents"), 12, 12, 170, 92, 182, 104){
  47 + icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  48 + I18n.format("gui.mod.providesevents"), 12, 12, 170, 92, 182, 104)
  49 + {
45 50 @Override
46 51 public void onClicked(Object source, Object container)
47 52 {
... ... @@ -55,7 +60,9 @@ public class LiteLoaderModInfoDecorator implements ModInfoDecorator
55 60  
56 61 if (mod.hasClassTransformers())
57 62 {
58   - icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE, I18n.format("gui.mod.providestransformer"), 12, 12, 170, 80, 182, 92){
  63 + icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  64 + I18n.format("gui.mod.providestransformer"), 12, 12, 170, 80, 182, 92)
  65 + {
59 66 @Override
60 67 public void onClicked(Object source, Object container)
61 68 {
... ... @@ -69,13 +76,16 @@ public class LiteLoaderModInfoDecorator implements ModInfoDecorator
69 76  
70 77 if (mod.usesAPI())
71 78 {
72   - icons.add(new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, I18n.format("gui.mod.usingapi"), 12, 12, 122, 92, 134, 104));
  79 + icons.add(new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  80 + I18n.format("gui.mod.usingapi"), 12, 12, 122, 92, 134, 104));
73 81 }
74 82  
75 83 List<Throwable> startupErrors = mod.getStartupErrors();
76 84 if (startupErrors != null && startupErrors.size() > 0)
77 85 {
78   - icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE, I18n.format("gui.mod.startuperror", startupErrors.size()), 12, 12, 134, 92, 146, 104){
  86 + icons.add(new IconAbsoluteClickable(LiteLoaderBrandingProvider.ABOUT_TEXTURE,
  87 + I18n.format("gui.mod.startuperror", startupErrors.size()), 12, 12, 134, 92, 146, 104)
  88 + {
79 89 @Override
80 90 public void onClicked(Object source, Object container)
81 91 {
... ... @@ -89,7 +99,9 @@ public class LiteLoaderModInfoDecorator implements ModInfoDecorator
89 99 }
90 100  
91 101 /* (non-Javadoc)
92   - * @see com.mumfrey.liteloader.api.ModInfoDecorator#modifyStatusText(com.mumfrey.liteloader.core.ModInfo, java.lang.String)
  102 + * @see com.mumfrey.liteloader.api.ModInfoDecorator
  103 + * #modifyStatusText(com.mumfrey.liteloader.core.ModInfo,
  104 + * java.lang.String)
93 105 */
94 106 @Override
95 107 public String modifyStatusText(ModInfo<?> mod, String statusText)
... ... @@ -98,10 +110,13 @@ public class LiteLoaderModInfoDecorator implements ModInfoDecorator
98 110 }
99 111  
100 112 /* (non-Javadoc)
101   - * @see com.mumfrey.liteloader.api.ModInfoDecorator#onDrawListEntry(int, int, float, int, int, int, int, boolean, com.mumfrey.liteloader.core.ModInfo, int, int, int)
  113 + * @see com.mumfrey.liteloader.api.ModInfoDecorator
  114 + * #onDrawListEntry(int, int, float, int, int, int, int, boolean,
  115 + * com.mumfrey.liteloader.core.ModInfo, int, int, int)
102 116 */
103 117 @Override
104   - public void onDrawListEntry(int mouseX, int mouseY, float partialTicks, int xPosition, int yPosition, int width, int height, boolean selected, ModInfo<?> mod, int gradientColour, int titleColour, int statusColour)
  118 + public void onDrawListEntry(int mouseX, int mouseY, float partialTicks, int xPosition, int yPosition, int width, int height, boolean selected,
  119 + ModInfo<?> mod, int gradientColour, int titleColour, int statusColour)
105 120 {
106 121 }
107 122 }
... ...
src/client/java/com/mumfrey/liteloader/client/api/ObjectFactoryClient.java
... ... @@ -96,7 +96,7 @@ class ObjectFactoryClient implements ObjectFactory&lt;Minecraft, IntegratedServer&gt;
96 96 if (this.engine == null)
97 97 {
98 98 this.engine = new GameEngineClient();
99   - }
  99 + }
100 100  
101 101 return this.engine;
102 102 }
... ... @@ -118,7 +118,7 @@ class ObjectFactoryClient implements ObjectFactory&lt;Minecraft, IntegratedServer&gt;
118 118 if (this.clientPluginChannels == null)
119 119 {
120 120 this.clientPluginChannels = new ClientPluginChannelsClient();
121   - }
  121 + }
122 122  
123 123 return this.clientPluginChannels;
124 124 }
... ... @@ -129,7 +129,7 @@ class ObjectFactoryClient implements ObjectFactory&lt;Minecraft, IntegratedServer&gt;
129 129 if (this.serverPluginChannels == null)
130 130 {
131 131 this.serverPluginChannels = new ServerPluginChannels();
132   - }
  132 + }
133 133  
134 134 return this.serverPluginChannels;
135 135 }
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiCheckbox.java
... ... @@ -27,14 +27,23 @@ public class GuiCheckbox extends GuiButton
27 27 {
28 28 minecraft.getTextureManager().bindTexture(LiteLoaderBrandingProvider.ABOUT_TEXTURE);
29 29 glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
30   - this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
  30 + this.hovered = mouseX >= this.xPosition
  31 + && mouseY >= this.yPosition
  32 + && mouseX < this.xPosition + this.width
  33 + && mouseY < this.yPosition + this.height;
31 34  
32 35 this.drawTexturedModalRect(this.xPosition, this.yPosition, this.checked ? 134 : 122, 80, 12, 12);
33 36 this.mouseDragged(minecraft, mouseX, mouseY);
34 37  
35 38 int colour = 0xE0E0E0;
36   - if (!this.enabled) colour = 0xA0A0A0;
37   - else if (this.hovered) colour = 0xFFFFA0;
  39 + if (!this.enabled)
  40 + {
  41 + colour = 0xA0A0A0;
  42 + }
  43 + else if (this.hovered)
  44 + {
  45 + colour = 0xFFFFA0;
  46 + }
38 47  
39 48 this.drawString(minecraft.fontRendererObj, this.displayString, this.xPosition + 16, this.yPosition + 2, colour);
40 49 }
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiHoverLabel.java
... ... @@ -36,7 +36,10 @@ public class GuiHoverLabel extends GuiButton
36 36 {
37 37 if (this.visible)
38 38 {
39   - this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
  39 + this.hovered = mouseX >= this.xPosition
  40 + && mouseY >= this.yPosition
  41 + && mouseX < this.xPosition + this.width
  42 + && mouseY < this.yPosition + this.height;
40 43 this.fontRenderer.drawString(this.displayString, this.xPosition, this.yPosition, this.hovered ? this.hoverColour : this.colour);
41 44 }
42 45 else
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiLiteLoaderPanel.java
... ... @@ -36,30 +36,45 @@ import com.mumfrey.liteloader.modconfig.ConfigPanel;
36 36 import com.mumfrey.liteloader.util.render.Icon;
37 37  
38 38 /**
39   - * GUI screen which displays info about loaded mods and also allows them to be enabled and
40   - * disabled. An instance of this class is created every time the main menu is displayed and is
41   - * drawn as an overlay until the tab is clicked, at which point it becomes the active GUI screen
42   - * and draws the parent main menu screen as its background to give the appearance of being
43   - * overlaid on the main menu.
  39 + * GUI screen which displays info about loaded mods and also allows them to be
  40 + * enabled and disabled. An instance of this class is created every time the
  41 + * main menu is displayed and is drawn as an overlay until the tab is clicked,
  42 + * at which point it becomes the active GUI screen and draws the parent main
  43 + * menu screen as its background to give the appearance of being overlaid on the
  44 + * main menu.
44 45 *
45 46 * @author Adam Mummery-Smith
46 47 */
47 48 public class GuiLiteLoaderPanel extends GuiScreen
48 49 {
49   - static final int LEFT_EDGE = 80;
50   - static final int MARGIN = 12;
51   - static final int TAB_WIDTH = 20;
52   - static final int TAB_HEIGHT = 40;
53   - static final int TAB_TOP = 20;
54   - static final int PANEL_TOP = 83;
55   - static final int PANEL_BOTTOM = 26;
  50 + static final int WHITE = 0xFFFFFFFF;
  51 + static final int OPAQUE = 0xFF000000;
  52 + static final int NOTIFICATION_TOOLTIP_FOREGROUND = 0xFFFFFF;
  53 + static final int NOTIFICATION_TOOLTIP_BACKGROUND = 0xB0000099;
  54 + static final int ERROR_TOOLTIP_FOREGROUND = 0xFF5555;
  55 + static final int ERROR_TOOLTIP_BACKGROUND = 0xB0330000;
  56 + static final int HEADER_HR_COLOUR = 0xFF999999;
  57 + static final int HEADER_TEXT_COLOUR = GuiLiteLoaderPanel.WHITE;
  58 + static final int HEADER_TEXT_COLOUR_SUB = 0xFFAAAAAA;
  59 + static final int TOOLTIP_FOREGROUND = 0xFFFFFF;
  60 + static final int TOOLTIP_FOREGROUND_SUB = 0xCCCCCC;
  61 + static final int TOOLTIP_BACKGROUND = 0xB0000000;
  62 +
  63 + static final int LEFT_EDGE = 80;
  64 + static final int MARGIN = 12;
  65 + static final int TAB_WIDTH = 20;
  66 + static final int TAB_HEIGHT = 40;
  67 + static final int TAB_TOP = 20;
  68 + static final int PANEL_TOP = 83;
  69 + static final int PANEL_BOTTOM = 26;
56 70  
57 71 private static final double TWEEN_RATE = 0.08;
58 72  
59 73 private static boolean displayErrorToolTip = true;
60 74  
61 75 /**
62   - * Reference to the main menu which this screen is either overlaying or using as its background
  76 + * Reference to the main menu which this screen is either overlaying or
  77 + * using as its background.
63 78 */
64 79 private GuiScreen parentScreen;
65 80  
... ... @@ -84,7 +99,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
84 99 private double tweenAmount = 0.0;
85 100  
86 101 /**
87   - * Since we don't get real mouse events we have to simulate them by tracking the mouse state
  102 + * Since we don't get real mouse events we have to simulate them by tracking
  103 + * the mouse state.
88 104 */
89 105 private boolean mouseDown, toggled, toggleable;
90 106  
... ... @@ -131,7 +147,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
131 147 * @param parentScreen
132 148 * @param mods
133 149 */
134   - public GuiLiteLoaderPanel(Minecraft minecraft, GuiScreen parentScreen, LiteLoaderMods mods, LoaderEnvironment environment, LoaderProperties properties, ConfigManager configManager, boolean showTab)
  150 + public GuiLiteLoaderPanel(Minecraft minecraft, GuiScreen parentScreen, LiteLoaderMods mods, LoaderEnvironment environment,
  151 + LoaderProperties properties, ConfigManager configManager, boolean showTab)
135 152 {
136 153 this.mc = minecraft;
137 154 this.fontRendererObj = minecraft.fontRendererObj;
... ... @@ -148,7 +165,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
148 165  
149 166 this.initBranding();
150 167  
151   - this.currentPanel = this.modsPanel = new GuiPanelMods(this, minecraft, mods, environment, configManager, this.brandColour, this.modInfoDecorators);
  168 + this.currentPanel = this.modsPanel = new GuiPanelMods(this, minecraft, mods, environment, configManager,
  169 + this.brandColour, this.modInfoDecorators);
152 170 this.settingsPanel = new GuiPanelSettings(this, minecraft);
153 171  
154 172 this.startupErrorCount = mods.getStartupErrorCount();
... ... @@ -181,7 +199,7 @@ public class GuiLiteLoaderPanel extends GuiScreen
181 199 if (brandingProvider.getBrandingColour() != 0 && brandingProvider.getPriority() > brandingColourProviderPriority)
182 200 {
183 201 brandingColourProviderPriority = brandingProvider.getPriority();
184   - this.brandColour = 0xFF000000 | brandingProvider.getBrandingColour();
  202 + this.brandColour = GuiLiteLoaderPanel.OPAQUE | brandingProvider.getBrandingColour();
185 203 }
186 204  
187 205 ResourceLocation logoResource = brandingProvider.getLogoResource();
... ... @@ -271,11 +289,13 @@ public class GuiLiteLoaderPanel extends GuiScreen
271 289  
272 290 this.currentPanel.setSize(this.width - LEFT_EDGE, this.height);
273 291  
274   - this.buttonList.add(new GuiHoverLabel(2, LEFT_EDGE + MARGIN, this.height - PANEL_BOTTOM + 9, this.fontRendererObj, I18n.format("gui.about.taboptions"), this.brandColour));
  292 + this.buttonList.add(new GuiHoverLabel(2, LEFT_EDGE + MARGIN, this.height - PANEL_BOTTOM + 9, this.fontRendererObj,
  293 + I18n.format("gui.about.taboptions"), this.brandColour));
275 294  
276 295 if (LiteLoaderVersion.getUpdateSite().canCheckForUpdate() && this.mc.theWorld == null && !this.isSnapshot)
277 296 {
278   - this.buttonList.add(new GuiHoverLabel(3, LEFT_EDGE + MARGIN + 38 + this.fontRendererObj.getStringWidth(this.versionText) + 6, 50, this.fontRendererObj, I18n.format("gui.about.checkupdates"), this.brandColour));
  297 + this.buttonList.add(new GuiHoverLabel(3, LEFT_EDGE + MARGIN + 38 + this.fontRendererObj.getStringWidth(this.versionText) + 6, 50,
  298 + this.fontRendererObj, I18n.format("gui.about.checkupdates"), this.brandColour));
279 299 }
280 300  
281 301 Keyboard.enableRepeatEvents(true);
... ... @@ -288,7 +308,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
288 308 }
289 309  
290 310 /* (non-Javadoc)
291   - * @see net.minecraft.client.gui.GuiScreen#setWorldAndResolution(net.minecraft.client.Minecraft, int, int)
  311 + * @see net.minecraft.client.gui.GuiScreen
  312 + * #setWorldAndResolution(net.minecraft.client.Minecraft, int, int)
292 313 */
293 314 @Override
294 315 public void setWorldAndResolution(Minecraft minecraft, int width, int height)
... ... @@ -363,11 +384,15 @@ public class GuiLiteLoaderPanel extends GuiScreen
363 384 int offsetMouseX = mouseX - (int)xOffset;
364 385  
365 386 // Handle mouse stuff here since we won't get mouse events when not the active GUI
366   - boolean mouseOverTab = this.showTab && (offsetMouseX > LEFT_EDGE - TAB_WIDTH && offsetMouseX < LEFT_EDGE && mouseY > TAB_TOP && mouseY < TAB_TOP + TAB_HEIGHT);
  387 + boolean mouseOverTab = this.showTab && (offsetMouseX > LEFT_EDGE - TAB_WIDTH
  388 + && offsetMouseX < LEFT_EDGE
  389 + && mouseY > TAB_TOP
  390 + && mouseY < TAB_TOP + TAB_HEIGHT);
367 391 this.handleMouseClick(offsetMouseX, mouseY, partialTicks, active, mouseOverTab);
368 392  
369 393 // Calculate the tab opacity, not framerate adjusted because we don't really care
370   - this.tabOpacity = mouseOverTab || alwaysExpandTab || this.startupErrorCount > 0 || this.notification != null || this.isOpen() ? 0.5F : Math.max(0.0F, this.tabOpacity - partialTicks * 0.1F);
  394 + this.tabOpacity = mouseOverTab || alwaysExpandTab || this.startupErrorCount > 0 || this.notification != null
  395 + || this.isOpen() ? 0.5F : Math.max(0.0F, this.tabOpacity - partialTicks * 0.1F);
371 396  
372 397 // Draw the panel contents
373 398 this.drawPanel(offsetMouseX, mouseY, partialTicks, active, xOffset);
... ... @@ -391,12 +416,12 @@ public class GuiLiteLoaderPanel extends GuiScreen
391 416 glTranslatef(xOffset, 0.0F, 0.0F);
392 417  
393 418 // Draw the background and left edge
394   - drawRect(LEFT_EDGE, 0, this.width, this.height, 0xB0000000);
  419 + drawRect(LEFT_EDGE, 0, this.width, this.height, GuiLiteLoaderPanel.TOOLTIP_BACKGROUND);
395 420  
396 421 if (this.showTab)
397 422 {
398   - drawRect(LEFT_EDGE, 0, LEFT_EDGE + 1, TAB_TOP, 0xFFFFFFFF);
399   - drawRect(LEFT_EDGE, TAB_TOP + TAB_HEIGHT, LEFT_EDGE + 1, this.height, 0xFFFFFFFF);
  423 + drawRect(LEFT_EDGE, 0, LEFT_EDGE + 1, TAB_TOP, GuiLiteLoaderPanel.WHITE);
  424 + drawRect(LEFT_EDGE, TAB_TOP + TAB_HEIGHT, LEFT_EDGE + 1, this.height, GuiLiteLoaderPanel.WHITE);
400 425  
401 426 this.mc.getTextureManager().bindTexture(LiteLoaderBrandingProvider.ABOUT_TEXTURE);
402 427 glDrawTexturedRect(LEFT_EDGE - TAB_WIDTH, TAB_TOP, TAB_WIDTH + 1, TAB_HEIGHT, 80, 80, 122, 160, 0.5F + this.tabOpacity);
... ... @@ -411,7 +436,7 @@ public class GuiLiteLoaderPanel extends GuiScreen
411 436 }
412 437 else
413 438 {
414   - drawRect(LEFT_EDGE, 0, LEFT_EDGE + 1, this.height, 0xFFFFFFFF);
  439 + drawRect(LEFT_EDGE, 0, LEFT_EDGE + 1, this.height, GuiLiteLoaderPanel.WHITE);
415 440 }
416 441  
417 442 // Only draw the panel contents if we are actually open
... ... @@ -470,14 +495,15 @@ public class GuiLiteLoaderPanel extends GuiScreen
470 495 glDrawTexturedRect(right - this.iconCoords.getIconWidth(), MARGIN, this.iconCoords, 1.0F);
471 496  
472 497 // Draw header text
473   - this.fontRendererObj.drawString(this.versionText, left + 38, 50, 0xFFFFFFFF);
474   - this.fontRendererObj.drawString(this.activeModText, left + 38, 60, 0xFFAAAAAA);
  498 + this.fontRendererObj.drawString(this.versionText, left + 38, 50, GuiLiteLoaderPanel.HEADER_TEXT_COLOUR);
  499 + this.fontRendererObj.drawString(this.activeModText, left + 38, 60, GuiLiteLoaderPanel.HEADER_TEXT_COLOUR_SUB);
475 500  
476 501 // Draw top and bottom horizontal rules
477   - drawRect(left, 80, right, 81, 0xFF999999);
478   - drawRect(left, this.height - bottom + 2, right, this.height - bottom + 3, 0xFF999999);
  502 + drawRect(left, 80, right, 81, GuiLiteLoaderPanel.HEADER_HR_COLOUR);
  503 + drawRect(left, this.height - bottom + 2, right, this.height - bottom + 3, GuiLiteLoaderPanel.HEADER_HR_COLOUR);
479 504  
480   - this.mouseOverLogo = (mouseY > MARGIN && mouseY < MARGIN + this.logoCoords.getIconHeight() && mouseX > left && mouseX < left + this.logoCoords.getIconWidth());
  505 + this.mouseOverLogo = (mouseY > MARGIN && mouseY < MARGIN + this.logoCoords.getIconHeight()
  506 + && mouseX > left && mouseX < left + this.logoCoords.getIconWidth());
481 507 return this.mouseOverLogo;
482 508 }
483 509  
... ... @@ -487,8 +513,10 @@ public class GuiLiteLoaderPanel extends GuiScreen
487 513  
488 514 if (mouseOverTab && this.tweenAmount < 0.01)
489 515 {
490   - GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, LiteLoader.getVersionDisplayString(), mouseX, mouseY, this.width, this.height, 0xFFFFFF, 0xB0000000);
491   - GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, this.activeModText, mouseX, mouseY + 13, this.width, this.height, 0xCCCCCC, 0xB0000000);
  516 + GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, LiteLoader.getVersionDisplayString(), mouseX, mouseY, this.width, this.height,
  517 + GuiLiteLoaderPanel.TOOLTIP_FOREGROUND, GuiLiteLoaderPanel.TOOLTIP_BACKGROUND);
  518 + GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, this.activeModText, mouseX, mouseY + 13, this.width, this.height,
  519 + GuiLiteLoaderPanel.TOOLTIP_FOREGROUND_SUB, GuiLiteLoaderPanel.TOOLTIP_BACKGROUND);
492 520  
493 521 if (annoyingTip)
494 522 {
... ... @@ -505,16 +533,19 @@ public class GuiLiteLoaderPanel extends GuiScreen
505 533 {
506 534 if (this.startupErrorCount > 0)
507 535 {
508   - GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, I18n.format("gui.error.tooltip", this.startupErrorCount, this.criticalErrorCount), left, top, this.width, this.height, 0xFF5555, 0xB0330000);
  536 + GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, I18n.format("gui.error.tooltip", this.startupErrorCount, this.criticalErrorCount),
  537 + left, top, this.width, this.height, GuiLiteLoaderPanel.ERROR_TOOLTIP_FOREGROUND, GuiLiteLoaderPanel.ERROR_TOOLTIP_BACKGROUND);
509 538 }
510 539 else if (this.notification != null)
511 540 {
512   - GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, this.notification, left, top, this.width, this.height, 0xFFFFFF, 0xB0000099);
  541 + GuiLiteLoaderPanel.drawTooltip(this.fontRendererObj, this.notification, left, top, this.width, this.height,
  542 + GuiLiteLoaderPanel.NOTIFICATION_TOOLTIP_FOREGROUND, GuiLiteLoaderPanel.NOTIFICATION_TOOLTIP_BACKGROUND);
513 543 }
514 544 }
515 545  
516 546 /* (non-Javadoc)
517   - * @see net.minecraft.client.gui.GuiScreen#actionPerformed(net.minecraft.client.gui.GuiButton)
  547 + * @see net.minecraft.client.gui.GuiScreen
  548 + * #actionPerformed(net.minecraft.client.gui.GuiButton)
518 549 */
519 550 @Override
520 551 protected void actionPerformed(GuiButton button)
... ... @@ -586,9 +617,13 @@ public class GuiLiteLoaderPanel extends GuiScreen
586 617 protected void mouseReleased(int mouseX, int mouseY, int button)
587 618 {
588 619 if (button == -1)
  620 + {
589 621 this.currentPanel.mouseMoved(mouseX - LEFT_EDGE, mouseY);
  622 + }
590 623 else
  624 + {
591 625 this.currentPanel.mouseReleased(mouseX - LEFT_EDGE, mouseY, button);
  626 + }
592 627  
593 628 if (!this.currentPanel.stealFocus())
594 629 {
... ... @@ -661,7 +696,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
661 696 }
662 697  
663 698 /**
664   - * Callback for the "config" button, display the config panel for the currently selected mod
  699 + * Callback for the "config" button, display the config panel for the
  700 + * currently selected mod.
665 701 */
666 702 void openConfigPanel(ConfigPanel panel, LiteMod mod)
667 703 {
... ... @@ -694,7 +730,8 @@ public class GuiLiteLoaderPanel extends GuiScreen
694 730 }
695 731  
696 732 /**
697   - * Draw a tooltip at the specified location and clip to screenWidth and screenHeight
  733 + * Draw a tooltip at the specified location and clip to screenWidth and
  734 + * screenHeight
698 735 *
699 736 * @param fontRenderer
700 737 * @param tooltipText
... ... @@ -705,13 +742,14 @@ public class GuiLiteLoaderPanel extends GuiScreen
705 742 * @param colour
706 743 * @param backgroundColour
707 744 */
708   - public static void drawTooltip(FontRenderer fontRenderer, String tooltipText, int mouseX, int mouseY, int screenWidth, int screenHeight, int colour, int backgroundColour)
  745 + public static void drawTooltip(FontRenderer fontRenderer, String tooltipText, int mouseX, int mouseY, int screenWidth, int screenHeight,
  746 + int colour, int backgroundColour)
709 747 {
710 748 int textSize = fontRenderer.getStringWidth(tooltipText);
711 749 mouseX = Math.max(0, Math.min(screenWidth - 4, mouseX - 4));
712 750 mouseY = Math.max(0, Math.min(screenHeight - 16, mouseY));
713 751 drawRect(mouseX - textSize - 2, mouseY, mouseX + 2, mouseY + 12, backgroundColour);
714   - fontRenderer.drawStringWithShadow(tooltipText, mouseX - textSize, mouseY + 2, colour); // TODO OBF MCPTEST drawStringWithShadow - func_175063_a
  752 + fontRenderer.drawStringWithShadow(tooltipText, mouseX - textSize, mouseY + 2, colour);
715 753 }
716 754  
717 755  
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelAbout.java
... ... @@ -23,13 +23,15 @@ import com.mumfrey.liteloader.util.SortableValue;
23 23 import com.mumfrey.liteloader.util.render.Icon;
24 24  
25 25 /**
26   - * "About LiteLoader" panel which docks in the mod info screen and lists information about the installed APIs
  26 + * "About LiteLoader" panel which docks in the mod info screen and lists
  27 + * information about the installed APIs.
27 28 *
28 29 * @author Adam Mummery-Smith
29 30 */
30 31 class GuiPanelAbout extends GuiPanel implements ScrollPanelContent
31 32 {
32   - public static final IconAbsolute apiIconCoords = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, "api_icon", 32, 32, 192, 144, 256, 208);
  33 + public static final IconAbsolute apiIconCoords = new IconAbsolute(LiteLoaderBrandingProvider.ABOUT_TEXTURE, "api_icon",
  34 + 32, 32, 192, 144, 256, 208);
33 35  
34 36 private static final int ROW_HEIGHT = 40;
35 37  
... ... @@ -51,7 +53,8 @@ class GuiPanelAbout extends GuiPanel implements ScrollPanelContent
51 53  
52 54 this.sortBrandingProviders();
53 55  
54   - this.scrollPane.addControl(new GuiHoverLabel(-2, 38, 22 + this.brandings.size() * GuiPanelAbout.ROW_HEIGHT, this.mc.fontRendererObj, "\247n" + MCP_URI.toString(), this.parent.getBrandColour()));
  56 + this.scrollPane.addControl(new GuiHoverLabel(-2, 38, 22 + this.brandings.size() * GuiPanelAbout.ROW_HEIGHT, this.mc.fontRendererObj,
  57 + "\247n" + MCP_URI.toString(), this.parent.getBrandColour()));
55 58 }
56 59  
57 60 /**
... ... @@ -66,9 +69,10 @@ class GuiPanelAbout extends GuiPanel implements ScrollPanelContent
66 69 BrandingProvider brandingProvider = LiteLoader.getCustomisationProvider(api, BrandingProvider.class);
67 70 if (brandingProvider != null)
68 71 {
69   - sortedBrandingProviders.add(new SortableValue<BrandingProvider>(Integer.MAX_VALUE - brandingProvider.getPriority(), 0, brandingProvider));
  72 + sortedBrandingProviders.add(new SortableValue<BrandingProvider>(Integer.MAX_VALUE - brandingProvider.getPriority(), 0,
  73 + brandingProvider));
70 74 }
71   - }
  75 + }
72 76  
73 77 int brandingIndex = 0;
74 78  
... ... @@ -80,7 +84,8 @@ class GuiPanelAbout extends GuiPanel implements ScrollPanelContent
80 84 URI homepage = brandingProvider.getHomepage();
81 85 if (homepage != null)
82 86 {
83   - this.scrollPane.addControl(new GuiHoverLabel(brandingIndex, 38, 22 + brandingIndex * GuiPanelAbout.ROW_HEIGHT, this.mc.fontRendererObj, "\247n" + homepage, this.parent.getBrandColour()));
  87 + this.scrollPane.addControl(new GuiHoverLabel(brandingIndex, 38, 22 + brandingIndex * GuiPanelAbout.ROW_HEIGHT,
  88 + this.mc.fontRendererObj, "\247n" + homepage, this.parent.getBrandColour()));
84 89 }
85 90  
86 91 brandingIndex++;
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelConfigContainer.java
... ... @@ -11,8 +11,9 @@ import com.mumfrey.liteloader.modconfig.ConfigPanel;
11 11 import com.mumfrey.liteloader.modconfig.ConfigPanelHost;
12 12  
13 13 /**
14   - * Config panel container, this handles drawing the configuration panel chrome and also hosts the
15   - * configuration panels themselves to support scrolling and stuff
  14 + * Config panel container, this handles drawing the configuration panel chrome
  15 + * and also hosts the configuration panels themselves to support scrolling and
  16 + * stuff.
16 17 *
17 18 * @author Adam Mummery-Smith
18 19 */
... ... @@ -186,7 +187,8 @@ class GuiPanelConfigContainer extends GuiPanel implements ConfigPanelHost
186 187  
187 188 // Update and draw scroll bar
188 189 this.scrollBar.setMaxValue(this.totalHeight - this.innerHeight);
189   - this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, this.width - MARGIN - 5, TOP, 5, this.innerHeight, Math.max(this.innerHeight, this.totalHeight));
  190 + this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, this.width - MARGIN - 5, TOP, 5, this.innerHeight,
  191 + Math.max(this.innerHeight, this.totalHeight));
190 192  
191 193 // Draw other buttons
192 194 super.draw(mouseX, mouseY, partialTicks);
... ... @@ -221,7 +223,9 @@ class GuiPanelConfigContainer extends GuiPanel implements ConfigPanelHost
221 223 if (mouseButton == 0)
222 224 {
223 225 if (this.scrollBar.wasMouseOver())
  226 + {
224 227 this.scrollBar.setDragging(true);
  228 + }
225 229 }
226 230  
227 231 super.mousePressed(mouseX, mouseY, mouseButton);
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelLiteLoaderLog.java
... ... @@ -89,9 +89,12 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent
89 89 {
90 90 super.setSize(width, height);
91 91  
92   - this.controls.add(new GuiButton(0, this.width - 59 - MARGIN, this.height - BOTTOM + 9, 60, 20, I18n.format("gui.done")));
93   - this.controls.add(this.btnUpload = new GuiButton(1, this.width - 145 - MARGIN, this.height - BOTTOM + 9, 80, 20, I18n.format("gui.log.postlog")));
94   - this.controls.add(this.chkScale = new GuiCheckbox(2, MARGIN, this.height - BOTTOM + 15, I18n.format("gui.log.scalecheckbox")));
  92 + this.controls.add(new GuiButton(0, this.width - 59 - MARGIN, this.height - BOTTOM + 9, 60, 20,
  93 + I18n.format("gui.done")));
  94 + this.controls.add(this.btnUpload = new GuiButton(1, this.width - 145 - MARGIN, this.height - BOTTOM + 9, 80, 20,
  95 + I18n.format("gui.log.postlog")));
  96 + this.controls.add(this.chkScale = new GuiCheckbox(2, MARGIN, this.height - BOTTOM + 15,
  97 + I18n.format("gui.log.scalecheckbox")));
95 98  
96 99 this.chkScale.checked = GuiPanelLiteLoaderLog.useNativeRes;
97 100  
... ... @@ -142,7 +145,8 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent
142 145 {
143 146 LiteLoaderLogger.info("Log file upload succeeded, url is %s", this.logURL);
144 147 int urlWidth = this.mc.fontRendererObj.getStringWidth(this.logURL);
145   - this.controls.add(new GuiHoverLabel(3, xMid - (urlWidth / 2), this.height / 2, this.mc.fontRendererObj, "\247n" + this.logURL, this.parent.getBrandColour()));
  148 + this.controls.add(new GuiHoverLabel(3, xMid - (urlWidth / 2), this.height / 2, this.mc.fontRendererObj, "\247n" + this.logURL,
  149 + this.parent.getBrandColour()));
146 150 }
147 151 else
148 152 {
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelMods.java
... ... @@ -26,7 +26,7 @@ import com.mumfrey.liteloader.modconfig.ConfigPanel;
26 26 * @author Adam Mummery-Smith
27 27 */
28 28 public class GuiPanelMods extends GuiPanel implements ModListContainer
29   -{
  29 +{
30 30 private static final int SCROLLBAR_WIDTH = 5;
31 31  
32 32 private final GuiLiteLoaderPanel parentScreen;
... ... @@ -58,7 +58,8 @@ public class GuiPanelMods extends GuiPanel implements ModListContainer
58 58 */
59 59 private GuiSimpleScrollBar scrollBar = new GuiSimpleScrollBar();
60 60  
61   - public GuiPanelMods(GuiLiteLoaderPanel parentScreen, Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment, ConfigManager configManager, int brandColour, List<ModInfoDecorator> decorators)
  61 + public GuiPanelMods(GuiLiteLoaderPanel parentScreen, Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment,
  62 + ConfigManager configManager, int brandColour, List<ModInfoDecorator> decorators)
62 63 {
63 64 super(minecraft);
64 65  
... ... @@ -106,8 +107,10 @@ public class GuiPanelMods extends GuiPanel implements ModListContainer
106 107 int rightPanelLeftEdge = MARGIN + 4 + (this.width - MARGIN - MARGIN - 4) / 2;
107 108  
108 109 this.controls.clear();
109   - this.controls.add(this.btnToggle = new GuiButton(0, rightPanelLeftEdge, this.height - GuiLiteLoaderPanel.PANEL_BOTTOM - 24, 90, 20, I18n.format("gui.enablemod")));
110   - this.controls.add(this.btnConfig = new GuiButton(1, rightPanelLeftEdge + 92, this.height - GuiLiteLoaderPanel.PANEL_BOTTOM - 24, 69, 20, I18n.format("gui.modsettings")));
  110 + this.controls.add(this.btnToggle = new GuiButton(0, rightPanelLeftEdge, this.height - GuiLiteLoaderPanel.PANEL_BOTTOM - 24, 90, 20,
  111 + I18n.format("gui.enablemod")));
  112 + this.controls.add(this.btnConfig = new GuiButton(1, rightPanelLeftEdge + 92, this.height - GuiLiteLoaderPanel.PANEL_BOTTOM - 24, 69, 20,
  113 + I18n.format("gui.modsettings")));
111 114  
112 115 this.modList.setSize(width, height);
113 116 }
... ... @@ -252,7 +255,8 @@ public class GuiPanelMods extends GuiPanel implements ModListContainer
252 255 */
253 256 private void drawModsList(int mouseX, int mouseY, float partialTicks, int width, int height)
254 257 {
255   - this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, MARGIN + width - SCROLLBAR_WIDTH, GuiLiteLoaderPanel.PANEL_TOP, SCROLLBAR_WIDTH, height, this.listHeight);
  258 + this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, MARGIN + width - SCROLLBAR_WIDTH, GuiLiteLoaderPanel.PANEL_TOP, SCROLLBAR_WIDTH,
  259 + height, this.listHeight);
256 260  
257 261 // clip outside of scroll area
258 262 glEnableClipping(MARGIN, MARGIN + width - SCROLLBAR_WIDTH - 1, GuiLiteLoaderPanel.PANEL_TOP, this.height - GuiLiteLoaderPanel.PANEL_BOTTOM);
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelUpdateCheck.java
... ... @@ -22,6 +22,8 @@ import com.mumfrey.liteloader.update.UpdateSite;
22 22 */
23 23 class GuiPanelUpdateCheck extends GuiPanel
24 24 {
  25 + private static final int WHITE = 0xFFFFFFFF;
  26 +
25 27 /**
26 28 * URI to open if a new version is available
27 29 */
... ... @@ -51,7 +53,8 @@ class GuiPanelUpdateCheck extends GuiPanel
51 53  
52 54 private boolean canForceUpdate, updateForced;
53 55  
54   - public GuiPanelUpdateCheck(GuiLiteLoaderPanel parentScreen, Minecraft minecraft, UpdateSite updateSite, String updateName, LoaderProperties properties)
  56 + public GuiPanelUpdateCheck(GuiLiteLoaderPanel parentScreen, Minecraft minecraft, UpdateSite updateSite, String updateName,
  57 + LoaderProperties properties)
55 58 {
56 59 super(minecraft);
57 60  
... ... @@ -67,9 +70,12 @@ class GuiPanelUpdateCheck extends GuiPanel
67 70 {
68 71 super.setSize(width, height);
69 72  
70   - this.controls.add(new GuiButton(0, this.width - 99 - MARGIN, this.height - BOTTOM + 9, 100, 20, this.updateForced ? I18n.format("gui.exitgame") : I18n.format("gui.done")));
71   - this.controls.add(this.btnCheck = new GuiButton(1, MARGIN + 16, TOP + 16, 100, 20, I18n.format("gui.checknow")));
72   - this.controls.add(this.btnDownload = new GuiButton(2, MARGIN + 16, TOP + 118, 100, 20, this.canForceUpdate ? I18n.format("gui.forceupdate") : I18n.format("gui.downloadupdate")));
  73 + this.controls.add(new GuiButton(0, this.width - 99 - MARGIN, this.height - BOTTOM + 9, 100, 20,
  74 + this.updateForced ? I18n.format("gui.exitgame") : I18n.format("gui.done")));
  75 + this.controls.add(this.btnCheck = new GuiButton(1, MARGIN + 16, TOP + 16, 100, 20,
  76 + I18n.format("gui.checknow")));
  77 + this.controls.add(this.btnDownload = new GuiButton(2, MARGIN + 16, TOP + 118, 100, 20,
  78 + this.canForceUpdate ? I18n.format("gui.forceupdate") : I18n.format("gui.downloadupdate")));
73 79 }
74 80  
75 81 @Override
... ... @@ -78,7 +84,7 @@ class GuiPanelUpdateCheck extends GuiPanel
78 84 FontRenderer fontRenderer = this.mc.fontRendererObj;
79 85  
80 86 // Draw panel title
81   - fontRenderer.drawString(this.panelTitle, MARGIN, TOP - 14, 0xFFFFFFFF);
  87 + fontRenderer.drawString(this.panelTitle, MARGIN, TOP - 14, GuiPanelUpdateCheck.WHITE);
82 88  
83 89 // Draw top and bottom horizontal bars
84 90 drawRect(MARGIN, TOP - 4, this.width - MARGIN, TOP - 3, 0xFF999999);
... ... @@ -90,23 +96,25 @@ class GuiPanelUpdateCheck extends GuiPanel
90 96 if (this.updateSite.isCheckInProgress())
91 97 {
92 98 this.drawThrobber(MARGIN, TOP + 40, this.throb);
93   - fontRenderer.drawString(I18n.format("gui.updates.status.checking", ""), MARGIN + 18, TOP + 44, 0xFFFFFFFF);
  99 + fontRenderer.drawString(I18n.format("gui.updates.status.checking", ""), MARGIN + 18, TOP + 44, GuiPanelUpdateCheck.WHITE);
94 100 }
95 101 else if (this.updateSite.isCheckComplete())
96 102 {
97 103 boolean success = this.updateSite.isCheckSucceess();
98 104 String status = success ? I18n.format("gui.updates.status.success") : I18n.format("gui.updates.status.failed");
99   - fontRenderer.drawString(I18n.format("gui.updates.status.checking", status), MARGIN + 18, TOP + 44, 0xFFFFFFFF);
  105 + fontRenderer.drawString(I18n.format("gui.updates.status.checking", status), MARGIN + 18, TOP + 44, GuiPanelUpdateCheck.WHITE);
100 106  
101 107 if (success)
102 108 {
103   - fontRenderer.drawString(I18n.format("gui.updates.available.title"), MARGIN + 18, TOP + 70, 0xFFFFFFFF);
  109 + fontRenderer.drawString(I18n.format("gui.updates.available.title"), MARGIN + 18, TOP + 70, GuiPanelUpdateCheck.WHITE);
104 110 if (this.updateSite.isUpdateAvailable())
105 111 {
106 112 this.btnDownload.visible = !this.updateForced;
107   - fontRenderer.drawString(I18n.format("gui.updates.available.newversion"), MARGIN + 18, TOP + 84, 0xFFFFFFFF);
108   - fontRenderer.drawString(I18n.format("gui.updates.available.version", this.updateSite.getAvailableVersion()), MARGIN + 18, TOP + 94, 0xFFFFFFFF);
109   - fontRenderer.drawString(I18n.format("gui.updates.available.date", this.updateSite.getAvailableVersionDate()), MARGIN + 18, TOP + 104, 0xFFFFFFFF);
  113 + fontRenderer.drawString(I18n.format("gui.updates.available.newversion"), MARGIN + 18, TOP + 84, GuiPanelUpdateCheck.WHITE);
  114 + fontRenderer.drawString(I18n.format("gui.updates.available.version", this.updateSite.getAvailableVersion()),
  115 + MARGIN + 18, TOP + 94, GuiPanelUpdateCheck.WHITE);
  116 + fontRenderer.drawString(I18n.format("gui.updates.available.date", this.updateSite.getAvailableVersionDate()),
  117 + MARGIN + 18, TOP + 104, GuiPanelUpdateCheck.WHITE);
110 118  
111 119 if (this.updateForced)
112 120 {
... ... @@ -115,13 +123,13 @@ class GuiPanelUpdateCheck extends GuiPanel
115 123 }
116 124 else
117 125 {
118   - fontRenderer.drawString(I18n.format("gui.updates.available.nonewversion"), MARGIN + 18, TOP + 84, 0xFFFFFFFF);
  126 + fontRenderer.drawString(I18n.format("gui.updates.available.nonewversion"), MARGIN + 18, TOP + 84, GuiPanelUpdateCheck.WHITE);
119 127 }
120 128 }
121 129 }
122 130 else
123 131 {
124   - fontRenderer.drawString(I18n.format("gui.updates.status.idle"), MARGIN + 18, TOP + 44, 0xFFFFFFFF);
  132 + fontRenderer.drawString(I18n.format("gui.updates.status.idle"), MARGIN + 18, TOP + 44, GuiPanelUpdateCheck.WHITE);
125 133 }
126 134  
127 135 super.draw(mouseX, mouseY, partialTicks);
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiScrollPanel.java
... ... @@ -129,7 +129,8 @@ class GuiScrollPanel extends GuiPanel
129 129 glPopMatrix();
130 130  
131 131 // Update and draw scroll bar
132   - this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, this.left + this.width - 5, this.top, 5, this.height, Math.max(this.height, this.contentHeight));
  132 + this.scrollBar.drawScrollBar(mouseX, mouseY, partialTicks, this.left + this.width - 5, this.top, 5, this.height,
  133 + Math.max(this.height, this.contentHeight));
133 134 }
134 135  
135 136 @Override
... ... @@ -153,7 +154,9 @@ class GuiScrollPanel extends GuiPanel
153 154 if (mouseButton == 0)
154 155 {
155 156 if (this.scrollBar.wasMouseOver())
  157 + {
156 158 this.scrollBar.setDragging(true);
  159 + }
157 160 }
158 161 }
159 162  
... ...
src/client/java/com/mumfrey/liteloader/client/gui/GuiSimpleScrollBar.java
... ... @@ -51,7 +51,8 @@ public class GuiSimpleScrollBar extends Gui
51 51 }
52 52  
53 53 /**
54   - * Set the scroll value, the value is clamped between 0 and the current max value
  54 + * Set the scroll value, the value is clamped between 0 and the current max
  55 + * value.
55 56 */
56 57 public void setValue(int value)
57 58 {
... ... @@ -59,7 +60,8 @@ public class GuiSimpleScrollBar extends Gui
59 60 }
60 61  
61 62 /**
62   - * Offset the scroll value by the specified amount, the value is clamped between 0 and the current max value
  63 + * Offset the scroll value by the specified amount, the value is clamped
  64 + * between 0 and the current max value.
63 65 */
64 66 public void offsetValue(int offset)
65 67 {
... ...
src/client/java/com/mumfrey/liteloader/client/gui/ScrollPanelContent.java
... ... @@ -6,7 +6,7 @@ public interface ScrollPanelContent
6 6 {
7 7 public abstract int getScrollPanelContentHeight(GuiScrollPanel source);
8 8  
9   - public abstract void drawScrollPanelContent(GuiScrollPanel source, int mouseX, int mouseY, float partialTicks, int scrollAmount, int visibleHeight);
  9 + public abstract void drawScrollPanelContent(GuiScrollPanel source, int mouseX, int mouseY, float partialTicks, int scrollAmt, int visibleHeight);
10 10  
11 11 public abstract void scrollPanelActionPerformed(GuiScrollPanel source, GuiButton control);
12 12  
... ...
src/client/java/com/mumfrey/liteloader/client/gui/modlist/GuiModInfoPanel.java
... ... @@ -59,7 +59,8 @@ public class GuiModInfoPanel extends Gui
59 59  
60 60 drawRect(xPosition + 5, yPos, xPosition + width, yPos + 1, GuiModInfoPanel.DIVIDER_COLOUR); yPos += 4; // divider
61 61  
62   - this.fontRenderer.drawString(I18n.format("gui.about.authors") + ": \2477" + this.modInfo.getAuthor(), xPosition + 5, yPos, GuiModInfoPanel.AUTHORS_COLOUR); yPos += 10;
  62 + this.fontRenderer.drawString(I18n.format("gui.about.authors") + ": \2477" + this.modInfo.getAuthor(), xPosition + 5, yPos,
  63 + GuiModInfoPanel.AUTHORS_COLOUR); yPos += 10;
63 64 if (!Strings.isNullOrEmpty(this.modInfo.getURL()))
64 65 {
65 66 this.fontRenderer.drawString(this.modInfo.getURL(), xPosition + 5, yPos, GuiModListPanel.BLEND_2THRDS & this.brandColour); yPos += 10;
... ...
src/client/java/com/mumfrey/liteloader/client/gui/modlist/GuiModListPanel.java
... ... @@ -106,7 +106,8 @@ public class GuiModListPanel extends Gui
106 106 int titleColour = this.getTitleColour(selected);
107 107 int statusColour = this.getStatusColour(selected);
108 108  
109   - this.drawGradientRect(xPosition, yPosition, xPosition + width, yPosition + GuiModListPanel.PANEL_HEIGHT, gradientColour, GuiModListPanel.GRADIENT_COLOUR2);
  109 + this.drawGradientRect(xPosition, yPosition, xPosition + width, yPosition + GuiModListPanel.PANEL_HEIGHT, gradientColour,
  110 + GuiModListPanel.GRADIENT_COLOUR2);
110 111  
111 112 String titleText = this.owner.getTitleText();
112 113 String versionText = this.owner.getVersionText();
... ... @@ -128,7 +129,8 @@ public class GuiModListPanel extends Gui
128 129  
129 130 for (ModInfoDecorator decorator : this.decorators)
130 131 {
131   - decorator.onDrawListEntry(mouseX, mouseY, partialTicks, xPosition, yPosition, width, GuiModListPanel.PANEL_HEIGHT, selected, this.modInfo, gradientColour, titleColour, statusColour);
  132 + decorator.onDrawListEntry(mouseX, mouseY, partialTicks, xPosition, yPosition, width, GuiModListPanel.PANEL_HEIGHT, selected,
  133 + this.modInfo, gradientColour, titleColour, statusColour);
132 134 }
133 135 }
134 136  
... ... @@ -172,7 +174,8 @@ public class GuiModListPanel extends Gui
172 174 if (tooltipText != null)
173 175 {
174 176 glDisableClipping();
175   - GuiLiteLoaderPanel.drawTooltip(this.fontRenderer, tooltipText, mouseX, mouseY, 4096, 4096, GuiModListPanel.WHITE, GuiModListPanel.BLEND_HALF & GuiModListPanel.BLACK);
  177 + GuiLiteLoaderPanel.drawTooltip(this.fontRenderer, tooltipText, mouseX, mouseY, 4096, 4096, GuiModListPanel.WHITE,
  178 + GuiModListPanel.BLEND_HALF & GuiModListPanel.BLACK);
176 179 glEnableClipping();
177 180 }
178 181  
... ... @@ -187,7 +190,10 @@ public class GuiModListPanel extends Gui
187 190 */
188 191 protected int getGradientColour(boolean selected)
189 192 {
190   - return GuiModListPanel.BLEND_2THRDS & (this.owner.isErrored() ? (selected ? GuiModListPanel.ERROR_GRADIENT_COLOUR : GuiModListPanel.ERROR_GRADIENT_COLOUR2) : (selected ? (this.owner.isExternal() ? GuiModListPanel.EXTERNAL_ENTRY_COLOUR : this.brandColour) : GuiModListPanel.BLACK));
  193 + return GuiModListPanel.BLEND_2THRDS
  194 + & (this.owner.isErrored()
  195 + ? (selected ? GuiModListPanel.ERROR_GRADIENT_COLOUR : GuiModListPanel.ERROR_GRADIENT_COLOUR2)
  196 + : (selected ? (this.owner.isExternal() ? GuiModListPanel.EXTERNAL_ENTRY_COLOUR : this.brandColour) : GuiModListPanel.BLACK));
191 197 }
192 198  
193 199 /**
... ...
src/client/java/com/mumfrey/liteloader/client/gui/modlist/GuiModListPanelInvalid.java
... ... @@ -11,7 +11,8 @@ public class GuiModListPanelInvalid extends GuiModListPanel
11 11 {
12 12 private static final int BAD_PANEL_HEIGHT = 22;
13 13  
14   - public GuiModListPanelInvalid(ModListEntry owner, FontRenderer fontRenderer, int brandColour, ModInfo<?> modInfo, List<ModInfoDecorator> decorators)
  14 + public GuiModListPanelInvalid(ModListEntry owner, FontRenderer fontRenderer, int brandColour, ModInfo<?> modInfo,
  15 + List<ModInfoDecorator> decorators)
15 16 {
16 17 super(owner, fontRenderer, brandColour, modInfo, decorators);
17 18 }
... ...
src/client/java/com/mumfrey/liteloader/client/gui/modlist/ModList.java
... ... @@ -38,7 +38,8 @@ public class ModList
38 38  
39 39 private boolean hasConfig = false;
40 40  
41   - public ModList(ModListContainer container, Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment, ConfigManager configManager, int brandColour, List<ModInfoDecorator> decorators)
  41 + public ModList(ModListContainer container, Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment, ConfigManager configManager,
  42 + int brandColour, List<ModInfoDecorator> decorators)
42 43 {
43 44 this.container = container;
44 45 this.configManager = configManager;
... ... @@ -53,7 +54,8 @@ public class ModList
53 54 * @param brandColour
54 55 * @param decorators
55 56 */
56   - protected void populate(Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment, int brandColour, List<ModInfoDecorator> decorators)
  57 + protected void populate(Minecraft minecraft, LiteLoaderMods mods, LoaderEnvironment environment, int brandColour,
  58 + List<ModInfoDecorator> decorators)
57 59 {
58 60 // Add mods to this treeset first, in order to sort them
59 61 Map<String, ModListEntry> sortedMods = new TreeMap<String, ModListEntry>();
... ... @@ -94,7 +96,9 @@ public class ModList
94 96  
95 97 // Select the first mod in the list
96 98 if (this.mods.size() > 0)
  99 + {
97 100 this.selectedMod = this.mods.get(0);
  101 + }
98 102 }
99 103  
100 104 public GuiLiteLoaderPanel getParentScreen()
... ... @@ -156,7 +160,10 @@ public class ModList
156 160 this.scrollSelectedModIntoView();
157 161 return true;
158 162 }
159   - else if (keyCode == Keyboard.KEY_SPACE || keyCode == Keyboard.KEY_RETURN || keyCode == Keyboard.KEY_NUMPADENTER || keyCode == Keyboard.KEY_RIGHT)
  163 + else if (keyCode == Keyboard.KEY_SPACE
  164 + || keyCode == Keyboard.KEY_RETURN
  165 + || keyCode == Keyboard.KEY_NUMPADENTER
  166 + || keyCode == Keyboard.KEY_RIGHT)
160 167 {
161 168 this.toggleSelectedMod();
162 169 return true;
... ...
src/client/java/com/mumfrey/liteloader/client/gui/modlist/ModListEntry.java
... ... @@ -15,8 +15,9 @@ import com.mumfrey.liteloader.interfaces.LoadableMod;
15 15 import com.mumfrey.liteloader.launch.LoaderEnvironment;
16 16  
17 17 /**
18   - * Represents a mod in the mod info screen, keeps track of mod information and provides methods
19   - * for displaying the mod in the mod list and drawing the selected mod info
  18 + * Represents a mod in the mod info screen, keeps track of mod information and
  19 + * provides methods for displaying the mod in the mod list and drawing the
  20 + * selected mod info.
20 21 *
21 22 * @author Adam Mummery-Smith
22 23 */
... ... @@ -56,13 +57,15 @@ public class ModListEntry
56 57 private Set<String> missingAPIs;
57 58  
58 59 /**
59   - * Whether the mod can be toggled, not all mods support this, eg. internal mods
  60 + * Whether the mod can be toggled, not all mods support this, eg. internal
  61 + * mods
60 62 */
61 63 private boolean canBeToggled;
62 64  
63 65 /**
64   - * Whether the mod WILL be enabled on the next startup, if the mod is active and has been disabled this
65   - * will be false, and if it's currently disabled by has been toggled then it will be true
  66 + * Whether the mod WILL be enabled on the next startup, if the mod is active
  67 + * and has been disabled this will be false, and if it's currently disabled
  68 + * by has been toggled then it will be true.
66 69 */
67 70 private boolean willBeEnabled;
68 71  
... ... @@ -85,7 +88,8 @@ public class ModListEntry
85 88 * @param decorators
86 89 * @param modInfo
87 90 */
88   - ModListEntry(ModList modList, LiteLoaderMods mods, LoaderEnvironment environment, FontRenderer fontRenderer, int brandColour, List<ModInfoDecorator> decorators, ModInfo<?> modInfo)
  91 + ModListEntry(ModList modList, LiteLoaderMods mods, LoaderEnvironment environment, FontRenderer fontRenderer, int brandColour,
  92 + List<ModInfoDecorator> decorators, ModInfo<?> modInfo)
89 93 {
90 94 this.modList = modList;
91 95 this.mods = mods;
... ... @@ -94,7 +98,7 @@ public class ModListEntry
94 98 this.isActive = modInfo.isActive();
95 99 this.isValid = modInfo.isValid();
96 100 this.canBeToggled = modInfo.isToggleable() && mods.getEnabledModsList().saveAllowed();
97   - this.willBeEnabled = mods.isModEnabled(this.modInfo.getIdentifier());;
  101 + this.willBeEnabled = mods.isModEnabled(this.modInfo.getIdentifier());
98 102 this.isExternal = modInfo.getContainer().isExternalJar();
99 103 this.isErrored = modInfo.getStartupErrors() != null && modInfo.getStartupErrors().size() > 0;
100 104  
... ... @@ -140,7 +144,9 @@ public class ModListEntry
140 144 public void onTick()
141 145 {
142 146 if (this.doubleClickTime > 0)
  147 + {
143 148 this.doubleClickTime--;
  149 + }
144 150 }
145 151  
146 152 public void mousePressed(int mouseX, int mouseY, int mouseButton)
... ...
src/client/java/com/mumfrey/liteloader/client/gui/startup/LoadingBar.java
... ... @@ -118,7 +118,7 @@ public class LoadingBar extends LoadingProgress
118 118  
119 119 protected void _initTextures()
120 120 {
121   - this.minecraftMessage = LoadingBar.LOADING_MESSAGE_2;
  121 + this.minecraftMessage = LoadingBar.LOADING_MESSAGE_2;
122 122 }
123 123  
124 124 @Override
... ... @@ -166,14 +166,15 @@ public class LoadingBar extends LoadingProgress
166 166 {
167 167 if (this.fontRenderer == null)
168 168 {
169   - this.fontRenderer = new FontRenderer(this.minecraft.gameSettings, new ResourceLocation("textures/font/ascii.png"), this.textureManager, false);
  169 + this.fontRenderer = new FontRenderer(this.minecraft.gameSettings, new ResourceLocation("textures/font/ascii.png"),
  170 + this.textureManager, false);
170 171 this.fontRenderer.onResourceManagerReload(this.minecraft.getResourceManager());
171 172 }
172 173  
173 174 double totalProgress = this.totalMinecraftProgress + this.totalLiteLoaderProgress;
174 175 double progress = (this.minecraftProgress + this.liteLoaderProgress) / totalProgress;
175 176  
176   - // if (progress >= 1.0) LoadingBar.message = "Preparing...";
  177 +// if (progress >= 1.0) LoadingBar.message = "Preparing...";
177 178  
178 179 this.render(progress);
179 180 }
... ... @@ -308,15 +309,15 @@ public class LoadingBar extends LoadingProgress
308 309 glAlphaFunc(GL_GREATER, 0.0F);
309 310 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
310 311  
311   - // tessellator.startDrawingQuads();
312   - // tessellator.setColorRGBA(0, 0, 0, 32);
313   - // tessellator.addVertex(0.0D, scaledHeight, 0.0D);
314   - // tessellator.setColorRGBA(0, 0, 0, 180);
315   - // tessellator.addVertex(0.0D + scaledWidth, scaledHeight, 0.0D);
316   - // tessellator.setColorRGBA(0, 0, 0, 0);
317   - // tessellator.addVertex(0.0D + scaledWidth, (scaledHeight / 10), 0.0D);
318   - // tessellator.addVertex(0.0D, scaledHeight - (scaledHeight / 3), 0.0D);
319   - // tessellator.draw();
  312 +// tessellator.startDrawingQuads();
  313 +// tessellator.setColorRGBA(0, 0, 0, 32);
  314 +// tessellator.addVertex(0.0D, scaledHeight, 0.0D);
  315 +// tessellator.setColorRGBA(0, 0, 0, 180);
  316 +// tessellator.addVertex(0.0D + scaledWidth, scaledHeight, 0.0D);
  317 +// tessellator.setColorRGBA(0, 0, 0, 0);
  318 +// tessellator.addVertex(0.0D + scaledWidth, (scaledHeight / 10), 0.0D);
  319 +// tessellator.addVertex(0.0D, scaledHeight - (scaledHeight / 3), 0.0D);
  320 +// tessellator.draw();
320 321  
321 322 worldRenderer.startDrawingQuads();
322 323 worldRenderer.setColorRGBA(this.barLuma, this.barLuma, this.barLuma, 128); // TODO OBF MCPTEST func_178961_b - setColorRGBA
... ... @@ -346,7 +347,7 @@ public class LoadingBar extends LoadingProgress
346 347  
347 348 glEnableAlphaTest();
348 349 glAlphaFunc(GL_GREATER, 0.1F);
349   - // glFlush();
  350 +// glFlush();
350 351  
351 352 this.minecraft.updateDisplay(); // TODO OBF MCPTEST updateDisplay - func_175601_h
352 353 }
... ... @@ -365,8 +366,9 @@ public class LoadingBar extends LoadingProgress
365 366 }
366 367  
367 368 /**
368   - * Find the most common (approx) colour in the image and assign it to the bar, reduces the palette to 9-bit by
369   - * stripping the the 5 LSB from each byte to create a 9-bit palette index in the form RRRGGGBBB
  369 + * Find the most common (approx) colour in the image and assign it to the
  370 + * bar, reduces the palette to 9-bit by stripping the the 5 LSB from each
  371 + * byte to create a 9-bit palette index in the form RRRGGGBBB
370 372 *
371 373 * @param textureData
372 374 */
... ...
src/client/java/com/mumfrey/liteloader/client/overlays/IGuiTextField.java
... ... @@ -3,7 +3,8 @@ package com.mumfrey.liteloader.client.overlays;
3 3 import com.mumfrey.liteloader.transformers.access.Accessor;
4 4  
5 5 /**
6   - * Adapter for GuiTextField to expose internal properties, mainly to allow sensible subclassing
  6 + * Adapter for GuiTextField to expose internal properties, mainly to allow
  7 + * sensible subclassing.
7 8 *
8 9 * @author Adam Mummery-Smith
9 10 */
... ... @@ -23,13 +24,13 @@ public interface IGuiTextField
23 24 @Accessor("#5") public abstract void setHeight(int height);
24 25  
25 26 @Accessor("#12") public abstract boolean isEnabled();
26   - // @Accessor("#12") public abstract void setEnabled(boolean enabled); // built in
  27 +// @Accessor("#12") public abstract void setEnabled(boolean enabled); // built in
27 28  
28 29 @Accessor("#13") public abstract int getLineScrollOffset();
29 30  
30 31 @Accessor("#16") public abstract int getTextColor();
31   - // @Accessor("#16") public abstract void setTextColor(int color); // built in
  32 +// @Accessor("#16") public abstract void setTextColor(int color); // built in
32 33  
33 34 @Accessor("#17") public abstract int getDisabledTextColour();
34   - // @Accessor("#17") public abstract void setDisabledTextColour(int color); // built in
  35 +// @Accessor("#17") public abstract void setDisabledTextColour(int color); // built in
35 36 }
... ...
src/client/java/com/mumfrey/liteloader/client/transformers/CrashReportTransformer.java
... ... @@ -31,7 +31,8 @@ public class CrashReportTransformer extends ClassTransformer
31 31 }
32 32  
33 33 /**
34   - * Inject the additional callback for populating the crash report into the CallableJVMFlags class
  34 + * Inject the additional callback for populating the crash report into the
  35 + * CallableJVMFlags class.
35 36 *
36 37 * @param basicClass basic class
37 38 * @return transformed class
... ... @@ -58,14 +59,17 @@ public class CrashReportTransformer extends ClassTransformer
58 59 {
59 60 InsnList code = new InsnList();
60 61 code.add(new VarInsnNode(Opcodes.ALOAD, 1));
61   - code.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "com/mumfrey/liteloader/core/LiteLoader", "populateCrashReport", "(Ljava/lang/Object;)V", false));
  62 + code.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "com/mumfrey/liteloader/core/LiteLoader", "populateCrashReport",
  63 + "(Ljava/lang/Object;)V", false));
62 64  
63 65 ListIterator<AbstractInsnNode> insns = ctor.instructions.iterator();
64 66 while (insns.hasNext())
65 67 {
66 68 AbstractInsnNode insnNode = insns.next();
67 69 if (insnNode.getOpcode() == Opcodes.RETURN)
  70 + {
68 71 ctor.instructions.insertBefore(insnNode, code);
  72 + }
69 73 }
70 74 }
71 75 }
... ...
src/client/java/com/mumfrey/liteloader/client/transformers/MinecraftTransformer.java
... ... @@ -86,6 +86,6 @@ public class MinecraftTransformer extends AccessorTransformer
86 86  
87 87 method.instructions = insns;
88 88  
89   - if (!found) LiteLoaderLogger.severe("MinecraftTransformer failed to find the INIT injection point, the game will probably crash pretty soon.");
  89 + if (!found) LiteLoaderLogger.severe("MinecraftTransformer failed to find INIT injection point, the game will probably crash pretty soon.");
90 90 }
91 91 }
... ...
src/client/java/com/mumfrey/liteloader/client/util/PrivateFieldsClient.java
... ... @@ -21,19 +21,21 @@ import com.mumfrey.liteloader.core.runtime.Obf;
21 21 import com.mumfrey.liteloader.util.PrivateFields;
22 22  
23 23 @SuppressWarnings("rawtypes")
24   -public class PrivateFieldsClient<P, T> extends PrivateFields<P, T>
  24 +public final class PrivateFieldsClient<P, T> extends PrivateFields<P, T>
25 25 {
26 26 private PrivateFieldsClient(Class<P> owner, Obf obf)
27 27 {
28 28 super(owner, obf);
29 29 }
30 30  
  31 + // CHECKSTYLE:OFF
  32 +
31 33 public static final PrivateFieldsClient<RenderManager, Map> entityRenderMap = new PrivateFieldsClient<RenderManager, Map> (RenderManager.class, Obf.entityRenderMap);
32 34 public static final PrivateFieldsClient<NetHandlerLoginClient, NetworkManager> netManager = new PrivateFieldsClient<NetHandlerLoginClient, NetworkManager> (NetHandlerLoginClient.class, Obf.networkManager);
33   - public static final PrivateFieldsClient<RegistrySimple, Map> registryObjects = new PrivateFieldsClient<RegistrySimple, Map> (RegistrySimple.class, Obf.registryObjects);
34   - public static final PrivateFieldsClient<RegistryNamespaced, ObjectIntIdentityMap> underlyingIntegerMap = new PrivateFieldsClient<RegistryNamespaced, ObjectIntIdentityMap>(RegistryNamespaced.class, Obf.underlyingIntegerMap);
35   - public static final PrivateFieldsClient<ObjectIntIdentityMap, IdentityHashMap> identityMap = new PrivateFieldsClient<ObjectIntIdentityMap, IdentityHashMap> (ObjectIntIdentityMap.class, Obf.identityMap);
36   - public static final PrivateFieldsClient<ObjectIntIdentityMap, List> objectList = new PrivateFieldsClient<ObjectIntIdentityMap, List> (ObjectIntIdentityMap.class, Obf.objectList);
  35 + public static final PrivateFieldsClient<RegistrySimple, Map> registryObjects = new PrivateFieldsClient<RegistrySimple, Map> (RegistrySimple.class, Obf.registryObjects);
  36 + public static final PrivateFieldsClient<RegistryNamespaced, ObjectIntIdentityMap> underlyingIntegerMap = new PrivateFieldsClient<RegistryNamespaced, ObjectIntIdentityMap>(RegistryNamespaced.class, Obf.underlyingIntegerMap);
  37 + public static final PrivateFieldsClient<ObjectIntIdentityMap, IdentityHashMap> identityMap = new PrivateFieldsClient<ObjectIntIdentityMap, IdentityHashMap> (ObjectIntIdentityMap.class, Obf.identityMap);
  38 + public static final PrivateFieldsClient<ObjectIntIdentityMap, List> objectList = new PrivateFieldsClient<ObjectIntIdentityMap, List> (ObjectIntIdentityMap.class, Obf.objectList);
37 39 public static final PrivateFieldsClient<TileEntityRendererDispatcher, Map> specialRendererMap = new PrivateFieldsClient<TileEntityRendererDispatcher, Map> (TileEntityRendererDispatcher.class, Obf.mapSpecialRenderers);
38 40 public static final PrivateFieldsClient<TileEntity, Map> tileEntityNameToClassMap = new PrivateFieldsClient<TileEntity, Map> (TileEntity.class, Obf.tileEntityNameToClassMap);
39 41 public static final PrivateFieldsClient<TileEntity, Map> tileEntityClassToNameMap = new PrivateFieldsClient<TileEntity, Map> (TileEntity.class, Obf.tileEntityClassToNameMap);
... ...
src/client/java/com/mumfrey/liteloader/client/util/render/IconAbsolute.java
... ... @@ -22,12 +22,14 @@ public class IconAbsolute implements IconTextured
22 22 private float vCoord;
23 23 private float vCoord2;
24 24  
25   - public IconAbsolute(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2, float vCoord2)
  25 + public IconAbsolute(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2,
  26 + float vCoord2)
26 27 {
27 28 this(textureResource, displayText, width, height, uCoord, vCoord, uCoord2, vCoord2, 256);
28 29 }
29 30  
30   - public IconAbsolute(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2, float vCoord2, int texMapSize)
  31 + public IconAbsolute(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2,
  32 + float vCoord2, int texMapSize)
31 33 {
32 34 this.textureResource = textureResource;
33 35 this.displayText = displayText;
... ...
src/client/java/com/mumfrey/liteloader/client/util/render/IconAbsoluteClickable.java
... ... @@ -6,12 +6,14 @@ import com.mumfrey.liteloader.util.render.IconClickable;
6 6  
7 7 public abstract class IconAbsoluteClickable extends IconAbsolute implements IconClickable
8 8 {
9   - public IconAbsoluteClickable(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2, float vCoord2)
  9 + public IconAbsoluteClickable(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord,
  10 + float uCoord2, float vCoord2)
10 11 {
11 12 super(textureResource, displayText, width, height, uCoord, vCoord, uCoord2, vCoord2);
12 13 }
13 14  
14   - public IconAbsoluteClickable(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord, float uCoord2, float vCoord2, int texMapSize)
  15 + public IconAbsoluteClickable(ResourceLocation textureResource, String displayText, int width, int height, float uCoord, float vCoord,
  16 + float uCoord2, float vCoord2, int texMapSize)
15 17 {
16 18 super(textureResource, displayText, width, height, uCoord, vCoord, uCoord2, vCoord2, texMapSize);
17 19 }
... ...
src/client/java/com/mumfrey/liteloader/gl/GL.java
... ... @@ -14,24 +14,29 @@ import org.lwjgl.util.glu.GLU;
14 14 /**
15 15 * Convenience class for working with Mojang's GLStateManager:
16 16 *
17   - * It would be pretty tolerable to work with GLStateManager as a static import were it not for the fact that you still need to
18   - * import the GL namespaces themselves from LWJGL in order to get the constants, and also have to deal with the fact that
19   - * GLStateManager's methods don't have "gl-style" names, making it annoying to work with. This class is designed to function as
20   - * an adapter to allow changeover to be more painless. Using this class means that the following code:
  17 + * <p>It would be pretty tolerable to work with GLStateManager as a static
  18 + * import were it not for the fact that you still need to import the GL
  19 + * namespaces themselves from LWJGL in order to get the constants, and also have
  20 + * to deal with the fact that GLStateManager's methods don't have "gl-style"
  21 + * names, making it annoying to work with. This class is designed to function as
  22 + * an adapter to allow changeover to be more painless. Using this class means
  23 + * that the following code:</p>
21 24 *
22   - * glEnable(GL_BLEND);
23   - * glAlphaFunc(GL_GREATER, 0.0F);
  25 + * <pre><code>glEnable(GL_BLEND);
  26 + * glAlphaFunc(GL_GREATER, 0.0F);</code></pre>
24 27 *
25   - * becomes:
  28 + * <p>becomes:</p>
26 29 *
27   - * glEnableBlend();
28   - * glAlphaFunc(GL_GREATER, 0.0F);
  30 + * <pre><code>glEnableBlend();
  31 + * glAlphaFunc(GL_GREATER, 0.0F);</code></pre>
29 32 *
30   - * Notice that the glAlphaFunc invokation remains unchanged, and the glEnable call simply gets replaced with a logical equivalent
31   - * which invokes the GLStateManager method behind the scenes.
  33 + * <p>Notice that the <tt>glAlphaFunc</tt> invocation remains unchanged, and the
  34 + * <tt>glEnable</tt> call simply gets replaced with a logical equivalent which
  35 + * invokes the GLStateManager method behind the scenes.</p>
32 36 *
33   - * To use this class, simply replace existing static imports in your classes with this single static import, then change glEnable
34   - * and glDisable calls accordingly.
  37 + * <p>To use this class, simply replace existing static imports in your classes
  38 + * with this single static import, then change <tt>glEnable</tt> and <tt>
  39 + * glDisable</tt> calls accordingly.
35 40 *
36 41 * @author Adam Mummery-Smith
37 42 */
... ... @@ -1178,7 +1183,8 @@ public class GL
1178 1183 return GL11.glGetBoolean(pname);
1179 1184 }
1180 1185  
1181   - public static void gluProject(float objx, float objy, float objz, FloatBuffer modelMatrix, FloatBuffer projMatrix, IntBuffer viewport, FloatBuffer winPos)
  1186 + public static void gluProject(float objx, float objy, float objz, FloatBuffer modelMatrix, FloatBuffer projMatrix, IntBuffer viewport,
  1187 + FloatBuffer winPos)
1182 1188 {
1183 1189 GLU.gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winPos);
1184 1190 }
... ...
src/client/java/com/mumfrey/liteloader/gl/GLClippingPlanes.java
... ... @@ -8,11 +8,13 @@ import org.lwjgl.BufferUtils;
8 8 import org.lwjgl.util.Rectangle;
9 9  
10 10 /**
11   - * OpenGL clipping plane convenience functions. We prefer to clip rectangular GUI regions in Minecraft using
12   - * clipping rather than scissor because scissor is a nuisance to work with, primarily because it works in
13   - * "window" (OpenGL window) coordinates and doesn't respect the current transformation matrix. Using clipping
14   - * planes we can specify clipping edges in "Minecraft screen coordinates", can optionally clip on only one or
15   - * two axes, and also don't need to worry about the current transform.
  11 + * OpenGL clipping plane convenience functions. We prefer to clip rectangular
  12 + * GUI regions in Minecraft using clipping rather than scissor because scissor
  13 + * is a nuisance to work with, primarily because it works in "window" (OpenGL
  14 + * window) coordinates and doesn't respect the current transformation matrix.
  15 + * Using clipping planes we can specify clipping edges in "Minecraft screen
  16 + * coordinates", can optionally clip on only one or two axes, and also don't
  17 + * need to worry about the current transform.
16 18 *
17 19 * @author Adam Mummery-Smith
18 20 */
... ... @@ -44,7 +46,7 @@ public final class GLClippingPlanes
44 46  
45 47 private static int totalClippingPlanes = glGetInteger(GL_MAX_CLIP_PLANES);
46 48  
47   - // private static int frame = 0;
  49 +// private static int frame = 0;
48 50  
49 51 static
50 52 {
... ...
src/client/java/com/mumfrey/liteloader/resources/InternalResourcePack.java
... ... @@ -12,7 +12,8 @@ import net.minecraft.client.resources.data.IMetadataSerializer;
12 12 import net.minecraft.util.ResourceLocation;
13 13  
14 14 /**
15   - * Resource pack which returns resources using Class::getResourceAsStream() on the specified class
  15 + * Resource pack which returns resources using Class::getResourceAsStream() on
  16 + * the specified class.
16 17 *
17 18 * @author Adam Mummery-Smith
18 19 */
... ... @@ -50,7 +51,8 @@ public class InternalResourcePack implements IResourcePack
50 51 }
51 52  
52 53 /* (non-Javadoc)
53   - * @see net.minecraft.client.resources.IResourcePack#getInputStream(net.minecraft.util.ResourceLocation)
  54 + * @see net.minecraft.client.resources.IResourcePack
  55 + * #getInputStream(net.minecraft.util.ResourceLocation)
54 56 */
55 57 @Override
56 58 public InputStream getInputStream(ResourceLocation resourceLocation) throws IOException
... ... @@ -63,11 +65,13 @@ public class InternalResourcePack implements IResourcePack
63 65 */
64 66 private InputStream getResourceStream(ResourceLocation resourceLocation)
65 67 {
66   - return this.resourceClass.getResourceAsStream(String.format("/assets/%s/%s", resourceLocation.getResourceDomain(), resourceLocation.getResourcePath()));
  68 + return this.resourceClass.getResourceAsStream(String.format("/assets/%s/%s",
  69 + resourceLocation.getResourceDomain(), resourceLocation.getResourcePath()));
67 70 }
68 71  
69 72 /* (non-Javadoc)
70   - * @see net.minecraft.client.resources.IResourcePack#resourceExists(net.minecraft.util.ResourceLocation)
  73 + * @see net.minecraft.client.resources.IResourcePack#resourceExists(
  74 + * net.minecraft.util.ResourceLocation)
71 75 */
72 76 @Override
73 77 public boolean resourceExists(ResourceLocation resourceLocation)
... ... @@ -85,7 +89,9 @@ public class InternalResourcePack implements IResourcePack
85 89 }
86 90  
87 91 /* (non-Javadoc)
88   - * @see net.minecraft.client.resources.IResourcePack#getPackMetadata(net.minecraft.client.resources.data.IMetadataSerializer, java.lang.String)
  92 + * @see net.minecraft.client.resources.IResourcePack#getPackMetadata(
  93 + * net.minecraft.client.resources.data.IMetadataSerializer,
  94 + * java.lang.String)
89 95 */
90 96 @Override
91 97 public IMetadataSection getPackMetadata(IMetadataSerializer par1MetadataSerializer, String par2Str) throws IOException
... ...
src/client/java/com/mumfrey/liteloader/resources/ModResourcePack.java
... ... @@ -30,7 +30,9 @@ public class ModResourcePack extends FileResourcePack
30 30 }
31 31  
32 32 /* (non-Javadoc)
33   - * @see net.minecraft.client.resources.AbstractResourcePack#getPackMetadata(net.minecraft.client.resources.data.IMetadataSerializer, java.lang.String)
  33 + * @see net.minecraft.client.resources.AbstractResourcePack#getPackMetadata(
  34 + * net.minecraft.client.resources.data.IMetadataSerializer,
  35 + * java.lang.String)
34 36 */
35 37 @Override
36 38 public IMetadataSection getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException
... ...
src/client/java/com/mumfrey/liteloader/resources/ModResourcePackDir.java
... ... @@ -30,7 +30,9 @@ public class ModResourcePackDir extends FolderResourcePack
30 30 }
31 31  
32 32 /* (non-Javadoc)
33   - * @see net.minecraft.client.resources.AbstractResourcePack#getPackMetadata(net.minecraft.client.resources.data.IMetadataSerializer, java.lang.String)
  33 + * @see net.minecraft.client.resources.AbstractResourcePack#getPackMetadata(
  34 + * net.minecraft.client.resources.data.IMetadataSerializer,
  35 + * java.lang.String)
34 36 */
35 37 @Override
36 38 public IMetadataSection getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException
... ...
src/client/java/com/mumfrey/liteloader/util/InputManager.java
... ... @@ -26,7 +26,8 @@ import com.mumfrey.liteloader.launch.LoaderProperties;
26 26 import com.mumfrey.liteloader.util.jinput.ComponentRegistry;
27 27  
28 28 /**
29   - * Mod input class, aggregates functionality from LiteLoader's mod key registration functions and JInputLib
  29 + * Mod input class, aggregates functionality from LiteLoader's mod key
  30 + * registration functions and JInputLib.
30 31 *
31 32 * @author Adam Mummery-Smith
32 33 */
... ... @@ -55,8 +56,8 @@ public final class InputManager extends Input
55 56 private final List<KeyBinding> modKeyBindings = new ArrayList<KeyBinding>();
56 57  
57 58 /**
58   - * Map of mod key bindings to their key codes, stored so that we don't need to cast from
59   - * string in the properties file every tick
  59 + * Map of mod key bindings to their key codes, stored so that we don't need
  60 + * to cast from string in the properties file every tick.
60 61 */
61 62 private final Map<KeyBinding, Integer> storedModKeyBindings = new HashMap<KeyBinding, Integer>();
62 63  
... ... @@ -130,7 +131,8 @@ public final class InputManager extends Input
130 131 {
131 132 try
132 133 {
133   - binding.setKeyCode(Integer.parseInt(this.keyMapSettings.getProperty(binding.getKeyDescription(), String.valueOf(binding.getKeyCode()))));
  134 + int code = Integer.parseInt(this.keyMapSettings.getProperty(binding.getKeyDescription(), String.valueOf(binding.getKeyCode())));
  135 + binding.setKeyCode(code);
134 136 }
135 137 catch (NumberFormatException ex) {}
136 138 }
... ... @@ -148,7 +150,8 @@ public final class InputManager extends Input
148 150 }
149 151  
150 152 /**
151   - * Unregisters a registered keybind with the game settings class, thus removing it from the "controls" screen
  153 + * Unregisters a registered keybind with the game settings class, thus
  154 + * removing it from the "controls" screen.
152 155 *
153 156 * @param binding
154 157 */
... ... @@ -218,7 +221,8 @@ public final class InputManager extends Input
218 221 {
219 222 try
220 223 {
221   - this.keyMapSettings.store(new FileWriter(this.keyMapSettingsFile), "Mod key mappings for LiteLoader mods, stored here to avoid losing settings stored in options.txt");
  224 + this.keyMapSettings.store(new FileWriter(this.keyMapSettingsFile),
  225 + "Mod key mappings for LiteLoader mods, stored here to avoid losing settings stored in options.txt");
222 226 }
223 227 catch (IOException ex) {}
224 228 }
... ... @@ -233,18 +237,21 @@ public final class InputManager extends Input
233 237 }
234 238  
235 239 /**
236   - * Returns a handle to the event described by descriptor (or null if no component is found matching the
237   - * descriptor. Retrieving an event via this method adds the controller (if found) to the polling list and
238   - * causes it to raise events against the specified handler.
  240 + * Returns a handle to the event described by descriptor (or null if no
  241 + * component is found matching the descriptor. Retrieving an event via this
  242 + * method adds the controller (if found) to the polling list and causes it
  243 + * to raise events against the specified handler.
239 244 *
240   - * This method returns an {@link InputEvent} which is passed as an argument to the relevant callback on
241   - * the supplied handler in order to identify the event. For example:
  245 + * <p>This method returns an {@link InputEvent} which is passed as an
  246 + * argument to the relevant callback on the supplied handler in order to
  247 + * identify the event. For example:</p>
242 248 *
243   - * this.joystickButton = input.getEvent(descriptor, this);
  249 + * <code>this.joystickButton = input.getEvent(descriptor, this);</code>
244 250 *
245   - * then in onAxisEvent
  251 + * <p>then in onAxisEvent</p>
246 252 *
247   - * if (source == this.joystickButton) // do something with button
  253 + * <code>if (source == this.joystickButton) // do something with button
  254 + * </code>
248 255 *
249 256 * @param descriptor
250 257 * @param handler
... ...
src/client/java/com/mumfrey/liteloader/util/ModUtilities.java
... ... @@ -79,7 +79,8 @@ public abstract class ModUtilities
79 79 }
80 80 else
81 81 {
82   - LiteLoaderLogger.warning("Attempted to set renderer %s for entity class %s but the operation failed", renderer.getClass().getSimpleName(), entityClass.getSimpleName());
  82 + LiteLoaderLogger.warning("Attempted to set renderer %s for entity class %s but the operation failed",
  83 + renderer.getClass().getSimpleName(), entityClass.getSimpleName());
83 84 }
84 85 }
85 86  
... ... @@ -90,13 +91,15 @@ public abstract class ModUtilities
90 91  
91 92 try
92 93 {
93   - Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> specialRendererMap = PrivateFieldsClient.specialRendererMap.get(tileEntityRenderer);
  94 + Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> specialRendererMap
  95 + = PrivateFieldsClient.specialRendererMap.get(tileEntityRenderer);
94 96 specialRendererMap.put(tileEntityClass, renderer);
95 97 renderer.setRendererDispatcher(tileEntityRenderer);
96 98 }
97 99 catch (Exception ex)
98 100 {
99   - LiteLoaderLogger.warning("Attempted to set renderer %s for tile entity class %s but the operation failed", renderer.getClass().getSimpleName(), tileEntityClass.getSimpleName());
  101 + LiteLoaderLogger.warning("Attempted to set renderer %s for tile entity class %s but the operation failed",
  102 + renderer.getClass().getSimpleName(), tileEntityClass.getSimpleName());
100 103 }
101 104 }
102 105  
... ... @@ -213,7 +216,8 @@ public abstract class ModUtilities
213 216 /**
214 217 * Abstraction helper function
215 218 *
216   - * @param fieldName Name of field to get, returned unmodified if in debug mode
  219 + * @param fieldName Name of field to get, returned unmodified if in debug
  220 + * mode
217 221 * @return Obfuscated field name if present
218 222 * @deprecated use ObfuscationUtilities.getObfuscatedFieldName instead
219 223 */
... ... @@ -272,7 +276,8 @@ public abstract class ModUtilities
272 276 return null;
273 277 }
274 278  
275   - private static void setFinalStaticField(Field field, Object value) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
  279 + private static void setFinalStaticField(Field field, Object value)
  280 + throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
276 281 {
277 282 Field modifiers = Field.class.getDeclaredField("modifiers");
278 283 modifiers.setAccessible(true);
... ...
src/debug/java/com/mumfrey/liteloader/debug/LoginManager.java
... ... @@ -61,28 +61,33 @@ public class LoginManager
61 61 private File jsonFile;
62 62  
63 63 /**
64   - * Username read from the auth JSON file, we use this as the default in the login dialog in
65   - * case login fails. This is stored in the JSON even if authentication is not successful so that
66   - * we can display the same username next time
  64 + * Username read from the auth JSON file, we use this as the default in the
  65 + * login dialog in case login fails. This is stored in the JSON even if
  66 + * authentication is not successful so that we can display the same username
  67 + * next time.
67 68 */
68 69 private String defaultUsername;
69 70  
70 71 /**
71   - * Minecraft screen name read from the auth JSON file. Use this as default in case the login fails
72   - * or is skipped (when offline) so that at least the Minecraft client has a sensible display name.
73   - * Defaults to user.name when not specified
  72 + * Minecraft screen name read from the auth JSON file. Use this as default
  73 + * in case the login fails or is skipped (when offline) so that at least the
  74 + * Minecraft client has a sensible display name.
  75 + *
  76 + * <p>Defaults to user.name when not specified</p>
74 77 */
75 78 private String defaultDisplayName = System.getProperty("user.name");
76 79  
77 80 /**
78   - * True if login should not be attempted, skips the authentication attempt and the login dialog
  81 + * True if login should not be attempted, skips the authentication attempt
  82 + * and the login dialog.
79 83 */
80 84 private boolean offline = false;
81 85  
82 86 /**
83   - * If authentication fails with token then the first attempt will be to use the user/pass specified
84   - * on the command line (if any). This flag is set AFTER that first attempt so that we know to display
85   - * the login dialog anyway (eg. the login on the command line was bad)
  87 + * If authentication fails with token then the first attempt will be to use
  88 + * the user/pass specified on the command line (if any). This flag is set
  89 + * <b>after</b> that first attempt so that we know to display the login
  90 + * dialog anyway (eg. the login on the command line was bad).
86 91 */
87 92 private boolean forceShowLoginDialog = false;
88 93  
... ... @@ -100,8 +105,8 @@ public class LoginManager
100 105 }
101 106  
102 107 /**
103   - * When authenticaion fails, we regenerate the auth service and agent because trying again with the same
104   - * client data will fail.
  108 + * When authenticaion fails, we regenerate the auth service and agent
  109 + * because trying again with the same client data will fail.
105 110 */
106 111 public void resetAuth()
107 112 {
... ... @@ -181,18 +186,24 @@ public class LoginManager
181 186 }
182 187  
183 188 /**
184   - * Attempt to login. If authentication data are found on disk then tries first to log in with
185   - * the stored token. If the token login fails then attempts to log in with the username and password
186   - * specified. If no user or pass are specified or if they fail then displays a login dialog to
187   - * allow the user to login. If login succeeds then the token is stored on disk and the method
188   - * returns.
  189 + * Attempt to login. If authentication data are found on disk then tries
  190 + * first to log in with the stored token. If the token login fails then
  191 + * attempts to log in with the username and password specified. If no user
  192 + * or pass are specified or if they fail then displays a login dialog to
  193 + * allow the user to login. If login succeeds then the token is stored on
  194 + * disk and the method returns.
189 195 *
190   - * If the user presses cancel in the login dialog then the method returns false.
  196 + * <p>If the user presses cancel in the login dialog then the method returns
  197 + * false.</p>
191 198 *
192   - * @param username User name to log in with if token login fails, if null displays the login dialog immediately
193   - * @param password Password to log in with if token login fails, if null displays the login dialog immediately
194   - * @param remainingTries Number of loops to go through before giving up, decremented for each try, specify -1 for unlimited
195   - * @return false if the user presses cancel in the login dialog, otherwise returns true
  199 + * @param username User name to log in with if token login fails, if null
  200 + * displays the login dialog immediately
  201 + * @param password Password to log in with if token login fails, if null
  202 + * displays the login dialog immediately
  203 + * @param remainingTries Number of loops to go through before giving up,
  204 + * decremented for each try, specify -1 for unlimited
  205 + * @return false if the user presses cancel in the login dialog, otherwise
  206 + * returns true
196 207 */
197 208 public boolean login(String username, String password, int remainingTries)
198 209 {
... ... @@ -246,7 +257,14 @@ public class LoginManager
246 257  
247 258 if (this.offline)
248 259 {
249   - if (JOptionPane.showConfirmDialog(null, "<html>You have chosen to work offline. You will never be prompted to log in again.<br /><br />If you would like to re-enable login please delete the file <span style=\"color: #0000FF\">.auth.json</span> from the working dir<br />or press Cancel to return to the login dialog.</html>", "Confirm work offline", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE) == JOptionPane.CANCEL_OPTION)
  260 + if (JOptionPane.showConfirmDialog(null, "<html>You have chosen to work offline. "
  261 + + "You will never be prompted to log in again.<br /><br />"
  262 + + "If you would like to re-enable login please delete the file <span style=\"color: #0000FF\">.auth.json</span> "
  263 + + "from the working dir<br />"
  264 + + "or press Cancel to return to the login dialog.</html>",
  265 + "Confirm work offline",
  266 + JOptionPane.OK_CANCEL_OPTION,
  267 + JOptionPane.INFORMATION_MESSAGE) == JOptionPane.CANCEL_OPTION)
250 268 {
251 269 this.offline = false;
252 270 remainingTries = Math.max(remainingTries, 3);
... ... @@ -329,7 +347,8 @@ public class LoginManager
329 347 public String getUserProperties()
330 348 {
331 349 PropertyMap userProperties = this.authentication.getUserProperties();
332   - return userProperties != null ? (new GsonBuilder()).registerTypeAdapter(PropertyMap.class, new UserPropertiesSerializer()).create().toJson(userProperties) : "{}";
  350 + return userProperties != null ? (new GsonBuilder()).registerTypeAdapter(PropertyMap.class,
  351 + new UserPropertiesSerializer()).create().toJson(userProperties) : "{}";
333 352 }
334 353  
335 354 class UserPropertiesSerializer implements JsonSerializer<PropertyMap>
... ... @@ -376,21 +395,27 @@ public class LoginManager
376 395 // default ctor for Gson
377 396 }
378 397  
379   - public AuthData(YggdrasilAuthenticationService authService, YggdrasilUserAuthentication authentication, boolean workOffline, String defaultUserName, String defaultDisplayName)
  398 + public AuthData(YggdrasilAuthenticationService authService, YggdrasilUserAuthentication authentication, boolean workOffline,
  399 + String defaultUserName, String defaultDisplayName)
380 400 {
381 401 this.clientToken = authService.getClientToken();
382 402 this.credentials = authentication.saveForStorage();
383 403 this.workOffline = workOffline;
384 404  
385 405 if (defaultUserName != null && !this.credentials.containsKey("username"))
  406 + {
386 407 this.credentials.put("username", defaultUserName);
  408 + }
387 409  
388 410 if (defaultDisplayName != null && !this.credentials.containsKey("displayName"))
  411 + {
389 412 this.credentials.put("displayName", defaultDisplayName);
  413 + }
390 414 }
391 415  
392 416 /**
393   - * Called after Gson deserialisation to check that deserialisation was successful
  417 + * Called after Gson deserialisation to check that deserialisation was
  418 + * successful.
394 419 */
395 420 public boolean validate()
396 421 {
... ... @@ -426,7 +451,8 @@ public class LoginManager
426 451  
427 452 public String getDisplayName()
428 453 {
429   - return this.credentials != null && this.credentials.containsKey("displayName") ? this.credentials.get("displayName").toString() : System.getProperty("user.name");
  454 + return this.credentials != null && this.credentials.containsKey("displayName")
  455 + ? this.credentials.get("displayName").toString() : System.getProperty("user.name");
430 456 }
431 457 }
432 458 }
... ...
src/debug/java/com/mumfrey/liteloader/debug/LoginPanel.java
... ... @@ -20,7 +20,8 @@ import javax.swing.border.EmptyBorder;
20 20 import javax.swing.border.TitledBorder;
21 21  
22 22 /**
23   - * JPanel displayed in a JDialog to prompt the user for login credentials for minecraft
  23 + * JPanel displayed in a JDialog to prompt the user for login credentials for
  24 + * minecraft.
24 25 *
25 26 * @author Adam Mummery-Smith
26 27 */
... ... @@ -77,7 +78,8 @@ public class LoginPanel extends JPanel
77 78  
78 79 this.panelCentre = new JPanel();
79 80 this.panelCentre.setOpaque(false);
80   - this.panelCentre.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Yggdrasil Login", TitledBorder.LEADING, TitledBorder.TOP, null, Color.WHITE));
  81 + this.panelCentre.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Yggdrasil Login",
  82 + TitledBorder.LEADING, TitledBorder.TOP, null, Color.WHITE));
81 83 this.panelLoginLayout = new GridBagLayout();
82 84 this.panelLoginLayout.columnWidths = new int[] {30, 80, 120, 120, 30};
83 85 this.panelLoginLayout.rowHeights = new int[] {24, 32, 32, 32};
... ... @@ -115,7 +117,8 @@ public class LoginPanel extends JPanel
115 117 this.txtPassword.setText(password);
116 118  
117 119 this.btnLogin = new JButton("Log in");
118   - this.btnLogin.addActionListener(new ActionListener() {
  120 + this.btnLogin.addActionListener(new ActionListener()
  121 + {
119 122 @Override public void actionPerformed(ActionEvent e)
120 123 {
121 124 LoginPanel.this.onLoginClick();
... ... @@ -123,7 +126,8 @@ public class LoginPanel extends JPanel
123 126 });
124 127  
125 128 this.btnCancel = new JButton("Cancel");
126   - this.btnCancel.addActionListener(new ActionListener() {
  129 + this.btnCancel.addActionListener(new ActionListener()
  130 + {
127 131 @Override public void actionPerformed(ActionEvent e)
128 132 {
129 133 LoginPanel.this.onCancelClick();
... ... @@ -225,9 +229,13 @@ public class LoginPanel extends JPanel
225 229 if (this.txtUsername.getText().length() > 0)
226 230 {
227 231 if (this.txtPassword.getText().length() > 0)
  232 + {
228 233 this.txtUsername.select(0, this.txtUsername.getText().length());
  234 + }
229 235 else
  236 + {
230 237 this.txtPassword.requestFocusInWindow();
  238 + }
231 239 }
232 240 }
233 241  
... ...
src/debug/java/com/mumfrey/liteloader/debug/Start.java
... ... @@ -18,7 +18,8 @@ import com.mumfrey.liteloader.launch.LiteLoaderTweakerServer;
18 18 import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
19 19  
20 20 /**
21   - * Wrapper class for LaunchWrapper Main class, which logs in using Yggdrasil first so that online shizzle can be tested
  21 + * Wrapper class for LaunchWrapper Main class, which logs in using Yggdrasil
  22 + * first so that online shizzle can be tested.
22 23 *
23 24 * @author Adam Mummery-Smith
24 25 */
... ... @@ -48,8 +49,9 @@ public abstract class Start
48 49 }
49 50  
50 51 /**
51   - * Process the launch-time args, since we may be being launched by GradleStart we need to parse
52   - * out any values passed in and ensure we replace them with our own
  52 + * Process the launch-time args, since we may be being launched by
  53 + * GradleStart we need to parse out any values passed in and ensure we
  54 + * replace them with our own.
53 55 */
54 56 private static String[] processArgs(String[] args)
55 57 {
... ... @@ -77,14 +79,17 @@ public abstract class Start
77 79 for (String arg : args)
78 80 {
79 81 if (target.equalsIgnoreCase(arg))
  82 + {
80 83 return true;
  84 + }
81 85 }
82 86  
83 87 return false;
84 88 }
85 89  
86 90 /**
87   - * Read the args from the command line into the qualified and unqualified collections
  91 + * Read the args from the command line into the qualified and unqualified
  92 + * collections.
88 93 */
89 94 private static void parseArgs(String[] args, List<String> unqualifiedArgs, Map<String, Set<String>> qualifiedArgs)
90 95 {
... ... @@ -166,7 +171,9 @@ public abstract class Start
166 171 }
167 172  
168 173 if (!Start.MULTI_VALUE_ARGS.contains(qualifier))
  174 + {
169 175 args.clear();
  176 + }
170 177  
171 178 args.add(arg);
172 179 }
... ...
src/main/java/com/mumfrey/liteloader/Configurable.java
... ... @@ -3,15 +3,16 @@ package com.mumfrey.liteloader;
3 3 import com.mumfrey.liteloader.modconfig.ConfigPanel;
4 4  
5 5 /**
6   - * Interface for mods which want to provide a configuration panel inside the "mod info" screen
  6 + * Interface for mods which want to provide a configuration panel inside the
  7 + * "mod info" screen.
7 8 *
8 9 * @author Adam Mummery-Smith
9 10 */
10 11 public interface Configurable
11 12 {
12 13 /**
13   - * Get the class of the configuration panel to use, the returned class must have a
14   - * default (no-arg) constructor
  14 + * Get the class of the configuration panel to use, the returned class must
  15 + * have a default (no-arg) constructor
15 16 *
16 17 * @return configuration panel class
17 18 */
... ...
src/main/java/com/mumfrey/liteloader/LiteMod.java
... ... @@ -20,15 +20,17 @@ public interface LiteMod extends Exposable, Listener
20 20 public abstract String getVersion();
21 21  
22 22 /**
23   - * Do startup stuff here, minecraft is not fully initialised when this function is called so mods *must not*
24   - * interact with minecraft in any way here
  23 + * Do startup stuff here, minecraft is not fully initialised when this
  24 + * function is called so mods <b>must not</b> interact with minecraft in any
  25 + * way here.
25 26 *
26 27 * @param configPath Configuration path to use
27 28 */
28 29 public abstract void init(File configPath);
29 30  
30 31 /**
31   - * Called when the loader detects that a version change has happened since this mod was last loaded
  32 + * Called when the loader detects that a version change has happened since
  33 + * this mod was last loaded.
32 34 *
33 35 * @param version new version
34 36 * @param configPath Path for the new version-specific config
... ...
src/main/java/com/mumfrey/liteloader/PacketHandler.java
... ... @@ -18,11 +18,15 @@ public interface PacketHandler extends LiteMod
18 18 public List<Class<? extends Packet>> getHandledPackets();
19 19  
20 20 /**
21   - * @param netHandler The vanilla nethandler which will handle this packet if not cancelled
  21 + * @param netHandler The vanilla nethandler which will handle this packet if
  22 + * not cancelled
22 23 * @param packet Incoming packet
23   - * @return True to allow further processing of this packet, including other PacketHandlers and eventually the vanilla netHandler, to inhibit further
24   - * processing return false. You may choose to return false and then invoke the vanilla handler method on the supplied INetHandler if you wish to
25   - * inhibit later PacketHandlers but preserve vanilla behaviour.
  24 + * @return True to allow further processing of this packet, including other
  25 + * PacketHandlers and eventually the vanilla netHandler, to inhibit
  26 + * further processing return false. You may choose to return false and
  27 + * then invoke the vanilla handler method on the supplied INetHandler
  28 + * if you wish to inhibit later PacketHandlers but preserve vanilla
  29 + * behaviour.
26 30 */
27 31 public abstract boolean handlePacket(INetHandler netHandler, Packet packet);
28 32 }
... ...
src/main/java/com/mumfrey/liteloader/Permissible.java
... ... @@ -11,9 +11,11 @@ import com.mumfrey.liteloader.permissions.PermissionsManagerClient;
11 11 public interface Permissible extends LiteMod
12 12 {
13 13 /**
14   - * Returns the node name of the mod, replicated permissions will be of the form mod.<name>.permission.node so this
15   - * method must return a valid name for use in permission nodes. This method must also return the same value every
16   - * time it is called since permissible names are not necessarily cached.
  14 + * Returns the node name of the mod, replicated permissions will be of the
  15 + * form mod.<name>.permission.node so this method must return a valid name
  16 + * for use in permission nodes. This method must also return the same value
  17 + * every time it is called since permissible names are not necessarily
  18 + * cached.
17 19 *
18 20 * @return Permissible name
19 21 */
... ... @@ -27,9 +29,10 @@ public interface Permissible extends LiteMod
27 29 public abstract float getPermissibleModVersion();
28 30  
29 31 /**
30   - * Called by the permissions manager at initialisation to instruct the mod to populate the list of permissions it
31   - * supports. This method should call back against the supplied permissions manager to register the permissions to
32   - * be sent to the server when connecting.
  32 + * Called by the permissions manager at initialisation to instruct the mod
  33 + * to populate the list of permissions it supports. This method should call
  34 + * back against the supplied permissions manager to register the permissions
  35 + * to be sent to the server when connecting.
33 36 *
34 37 * @param permissionsManager Client permissions manager
35 38 */
... ... @@ -43,7 +46,8 @@ public interface Permissible extends LiteMod
43 46 public abstract void onPermissionsCleared(PermissionsManager manager);
44 47  
45 48 /**
46   - * Called when the permissions are changed (eg. when new permissions are received from the server)
  49 + * Called when the permissions are changed (eg. when new permissions are
  50 + * received from the server)
47 51 *
48 52 * @param manager
49 53 */
... ...
src/main/java/com/mumfrey/liteloader/PlayerInteractionListener.java
... ... @@ -6,8 +6,8 @@ import net.minecraft.util.EnumFacing;
6 6 import net.minecraft.util.MovingObjectPosition.MovingObjectType;
7 7  
8 8 /**
9   - * Interface for mods which want to observe the player's "interaction" status (player mouse clicks), allows block interaction
10   - * events to be cancelled.
  9 + * Interface for mods which want to observe the player's "interaction" status
  10 + * (player mouse clicks), allows block interaction events to be cancelled.
11 11 *
12 12 * @author Adam Mummery-Smith
13 13 */
... ... @@ -23,28 +23,36 @@ public interface PlayerInteractionListener extends LiteMod
23 23 }
24 24  
25 25 /**
26   - * Called when the player clicks but does not "hit" a block, the trace position is raytraced to the player's current view
27   - * distance and represents the block which the player is "looking at". This method is NOT called when the player right clicks
28   - * with an empty hand.
  26 + * Called when the player clicks but does not "hit" a block, the trace
  27 + * position is raytraced to the player's current view distance and
  28 + * represents the block which the player is "looking at". This method is
  29 + * <b>not</b> called when the player right clicks with an empty hand.
29 30 *
30 31 * @param player Player
31 32 * @param button Mouse button the user clicked
32 33 * @param tracePos Raytraced location of the block which was hit
33 34 * @param traceSideHit Raytraced side hit
34   - * @param traceHitType Type of hit, will be MISS if the trace expired without hitting anything (eg. the player clicked the sky)
  35 + * @param traceHitType Type of hit, will be MISS if the trace expired
  36 + * without hitting anything (eg. the player clicked the sky)
35 37 */
36   - public abstract void onPlayerClickedAir(EntityPlayerMP player, MouseButton button, BlockPos tracePos, EnumFacing traceSideHit, MovingObjectType traceHitType);
  38 + public abstract void onPlayerClickedAir(EntityPlayerMP player, MouseButton button, BlockPos tracePos, EnumFacing traceSideHit,
  39 + MovingObjectType traceHitType);
37 40  
38 41 /**
39   - * Calls when the player clicks and hits a block, usually indicates that the player is digging or placing a block, although
40   - * a block placement does not necessarily succeed. Return true from this callback to allow the action to proceed, or false to
41   - * cancel the action. Cancelling the action does not prevent further handlers from receiving the event.
  42 + * Calls when the player clicks and hits a block, usually indicates that the
  43 + * player is digging or placing a block, although a block placement does not
  44 + * necessarily succeed. Return true from this callback to allow the action
  45 + * to proceed, or false to cancel the action. Cancelling the action does not
  46 + * prevent further handlers from receiving the event.
42 47 *
43 48 * @param player Player
44   - * @param button Mouse button that was pressed (left = dig, right = interact/place)
45   - * @param hitPos Block which was *hit*. Note that block placement will normally be at hitPos.offset(sideHit)
  49 + * @param button Mouse button that was pressed, left = dig, right = interact
  50 + * @param hitPos Block which was *hit*. Note that block placement will
  51 + * normally be at hitPos.offset(sideHit)
46 52 * @param sideHit Side of the block which was hit
47   - * @return true to allow the action to be processed (another listener may still inhibit the action), return false to cancel the action (other listeners will still be notified)
  53 + * @return true to allow the action to be processed (another listener may
  54 + * still inhibit the action), return false to cancel the action (other
  55 + * listeners will still be notified)
48 56 */
49 57 public abstract boolean onPlayerClickedBlock(EntityPlayerMP player, MouseButton button, BlockPos hitPos, EnumFacing sideHit);
50 58 }
... ...
src/main/java/com/mumfrey/liteloader/PlayerMoveListener.java
... ... @@ -18,9 +18,10 @@ public interface PlayerMoveListener extends LiteMod
18 18 * @param playerMP Player moving
19 19 * @param from Player's previous recorded position
20 20 * @param to Position the player is attempting to move to
21   - * @param newPos Set this position to teleport the player to newPos instead of processing the original move
22   - *
23   - * @return false to cancel the event or true to allow the movement to be processed as normal or newPos to be applied
  21 + * @param newPos Set this position to teleport the player to newPos instead
  22 + * of processing the original move
  23 + * @return false to cancel the event or true to allow the movement to be
  24 + * processed as normal or newPos to be applied
24 25 */
25 26 public abstract boolean onPlayerMove(EntityPlayerMP playerMP, Position from, Position to, ReturnValue<Position> newPos);
26 27 }
... ...
src/main/java/com/mumfrey/liteloader/PluginChannelListener.java
... ... @@ -12,7 +12,8 @@ import com.mumfrey.liteloader.core.CommonPluginChannelListener;
12 12 public interface PluginChannelListener extends LiteMod, CommonPluginChannelListener
13 13 {
14 14 /**
15   - * Called when a custom payload packet arrives on a channel this mod has registered
  15 + * Called when a custom payload packet arrives on a channel this mod has
  16 + * registered.
16 17 *
17 18 * @param channel Channel on which the custom payload was received
18 19 * @param data Custom payload data
... ...
src/main/java/com/mumfrey/liteloader/PreJoinGameListener.java
... ... @@ -5,18 +5,19 @@ import net.minecraft.network.play.server.S01PacketJoinGame;
5 5  
6 6  
7 7 /**
8   - * Interface for mods which wish to be notified when the player connects to a server (or local game)
  8 + * Interface for mods which wish to be notified when the player connects to a
  9 + * server (or local game).
9 10 *
10 11 * @author Adam Mummery-Smith
11 12 */
12 13 public interface PreJoinGameListener extends LiteMod
13 14 {
14 15 /**
15   - * Called before login. NOTICE: as of 1.8 the return value of this method has a different meaning!
  16 + * Called before login. NOTICE: as of 1.8 the return value of this method
  17 + * has a different meaning!
16 18 *
17 19 * @param netHandler Net handler
18 20 * @param joinGamePacket Join game packet
19   - *
20 21 * @return true to allow login to continue, false to cancel login
21 22 */
22 23 public abstract boolean onPreJoinGame(INetHandler netHandler, S01PacketJoinGame joinGamePacket);
... ...
src/main/java/com/mumfrey/liteloader/Priority.java
... ... @@ -6,8 +6,8 @@ import java.lang.annotation.RetentionPolicy;
6 6 import java.lang.annotation.Target;
7 7  
8 8 /**
9   - * Priority declaration for LiteMods, used when sorting listener lists. Default value if no Priority annotation
10   - * is specified is 1000.
  9 + * Priority declaration for LiteMods, used when sorting listener lists. Default
  10 + * value if no Priority annotation is specified is 1000.
11 11 *
12 12 * @author Adam Mummery-Smith
13 13 */
... ...
src/main/java/com/mumfrey/liteloader/ServerChatFilter.java
... ... @@ -11,7 +11,8 @@ import net.minecraft.network.play.client.C01PacketChatMessage;
11 11 public interface ServerChatFilter extends LiteMod
12 12 {
13 13 /**
14   - * Chat filter function, return false to filter this packet, true to pass the packet
  14 + * Chat filter function, return false to filter this packet, true to pass
  15 + * the packet.
15 16 *
16 17 * @param chatPacket Chat packet to examine
17 18 * @param message Chat message
... ...
src/main/java/com/mumfrey/liteloader/ServerCommandProvider.java
... ... @@ -11,8 +11,9 @@ import net.minecraft.command.ServerCommandManager;
11 11 public interface ServerCommandProvider extends LiteMod
12 12 {
13 13 /**
14   - * Allows the mod to provide commands to the server command manager my invoking commandManager.registerCommand() to
15   - * provide new commands for single player and lan worlds
  14 + * Allows the mod to provide commands to the server command manager by
  15 + * invoking commandManager.registerCommand() to provide new commands for
  16 + * single player and lan worlds
16 17 *
17 18 * @param commandManager
18 19 */
... ...
src/main/java/com/mumfrey/liteloader/ServerPlayerListener.java
... ... @@ -5,15 +5,17 @@ import net.minecraft.entity.player.EntityPlayerMP;
5 5 import com.mojang.authlib.GameProfile;
6 6  
7 7 /**
8   - * Interface for mods which want to handle players joining and leaving a LAN game (or single player game)
  8 + * Interface for mods which want to handle players joining and leaving a LAN
  9 + * game (or single player game)
9 10 *
10 11 * @author Adam Mummery-Smith
11 12 */
12 13 public interface ServerPlayerListener extends LiteMod
13 14 {
14 15 /**
15   - * Called when a player connects to the server and the EntityPlayerMP instance is created, the player has not logged
16   - * in at this point and may be disconnected if login fails
  16 + * Called when a player connects to the server and the EntityPlayerMP
  17 + * instance is created, the player has not logged in at this point and may
  18 + * be disconnected if login fails.
17 19 *
18 20 * @param player Player attempting to connect
19 21 * @param profile Player's GameProfile from the authentication service
... ... @@ -21,19 +23,22 @@ public interface ServerPlayerListener extends LiteMod
21 23 public abstract void onPlayerConnect(EntityPlayerMP player, GameProfile profile);
22 24  
23 25 /**
24   - * Called once the player has successfully logged in and all player variables are initialised and replicated
  26 + * Called once the player has successfully logged in and all player
  27 + * variables are initialised and replicated.
25 28 *
26 29 * @param player Player connected
27 30 */
28 31 public abstract void onPlayerLoggedIn(EntityPlayerMP player);
29 32  
30 33 /**
31   - * Called when a player respawns. This event is raised when a player respawns after dying or conquers the end
  34 + * Called when a player respawns. This event is raised when a player
  35 + * respawns after dying or conquers the end.
32 36 *
33 37 * @param player New player instance
34 38 * @param oldPlayer Old player instance being discarded
35 39 * @param newDimension Dimension the player is respawning in
36   - * @param playerWonTheGame True if the player conquered the end (this respawn is NOT as the result of a death)
  40 + * @param playerWonTheGame True if the player conquered the end (this
  41 + * respawn is NOT as the result of a death)
37 42 */
38 43 public abstract void onPlayerRespawn(EntityPlayerMP player, EntityPlayerMP oldPlayer, int newDimension, boolean playerWonTheGame);
39 44  
... ...
src/main/java/com/mumfrey/liteloader/ServerPluginChannelListener.java
... ... @@ -6,14 +6,16 @@ import net.minecraft.network.PacketBuffer;
6 6 import com.mumfrey.liteloader.core.CommonPluginChannelListener;
7 7  
8 8 /**
9   - * Interface for mods which want to use plugin channels on the (integrated) server side
  9 + * Interface for mods which want to use plugin channels on the (integrated)
  10 + * server side.
10 11 *
11 12 * @author Adam Mummery-Smith
12 13 */
13 14 public interface ServerPluginChannelListener extends CommonPluginChannelListener
14 15 {
15 16 /**
16   - * Called when a custom payload packet arrives on a channel this mod has registered
  17 + * Called when a custom payload packet arrives on a channel this mod has
  18 + * registered.
17 19 *
18 20 * @param sender Player object which is the source of this message
19 21 * @param channel Channel on which the custom payload was received
... ...
src/main/java/com/mumfrey/liteloader/ShutdownListener.java
1 1 package com.mumfrey.liteloader;
2 2  
3 3 /**
4   - * Interface for mods that want to receive an event when the game is shutting down due to a user request. They do
5   - * not receive the callback when the VM is terminating for other reasons, use a regular VM shutdownhook for that.
  4 + * Interface for mods that want to receive an event when the game is shutting
  5 + * down due to a user request. They do not receive the callback when the VM is
  6 + * terminating for other reasons, use a regular VM shutdownhook for that.
6 7 *
7 8 * @author Adam Mummery-Smith
8 9 */
... ...
src/main/java/com/mumfrey/liteloader/api/BrandingProvider.java
... ... @@ -9,94 +9,108 @@ import com.mumfrey.liteloader.util.render.Icon;
9 9 /**
10 10 * LiteLoader Extensible API - Branding Provider
11 11 *
12   - * The Branding Provider manages loader branding alterations for a particular API. This is an optional
13   - * API component which allows an API to specify customisations and additions to the loader environment
14   - * in order to provide a more comfortable integration for the API.
  12 + * <p>The Branding Provider manages loader branding alterations for a particular
  13 + * API. This is an optional API component which allows an API to specify
  14 + * customisations and additions to the loader environment in order to provide a
  15 + * more comfortable integration for the API.</p>
15 16 *
16   - * Since some branding options simply stack (like the API copyright notices for example) all APIs will
17   - * be allowed to supply this information, however other options (like the main logo image) can only be
18   - * set by one API. To determine which API should be used to set this information, the getPriority()
19   - * method will be called and used to sort branding providers by priority, with highest priority winning.
  17 + * <p>Since some branding options simply stack (like the API copyright notices
  18 + * for example) all APIs will be allowed to supply this information, however
  19 + * other options (like the main logo image) can only be set by one API. To
  20 + * determine which API should be used to set this information, the getPriority()
  21 + * method will be called and used to sort branding providers by priority, with
  22 + * highest priority winning.</p>
20 23 *
21   - * All branding options may return a null/not set value, allowing a branding provider to only override
22   - * the branding features it wishes. Some options require a non-null value to be returned from a set of
23   - * methods in order to take effect. eg. the logo option requires non-null return values from BOTH the
24   - * getLogoResource() and getLogoCoords() methods.
  24 + * <p>All branding options may return a null/not set value, allowing a branding
  25 + * provider to only override the branding features it wishes. Some options
  26 + * require a non-null value to be returned from a set of methods in order to
  27 + * take effect. eg. the logo option requires non-null return values from BOTH
  28 + * the getLogoResource() and getLogoCoords() methods.</p>
25 29 *
26 30 * @author Adam Mummery-Smith
27 31 */
28 32 public interface BrandingProvider extends CustomisationProvider
29 33 {
30 34 /**
31   - * Get the priority of this provider, higher numbers take precedence. Some brandings can only be set
32   - * by one provider (eg. the main "about" logo) so the branding provider with the highest priority will
33   - * be the one which gets control of that feature.
  35 + * Get the priority of this provider, higher numbers take precedence. Some
  36 + * brandings can only be set by one provider (eg. the main "about" logo) so
  37 + * the branding provider with the highest priority will be the one which
  38 + * gets control of that feature.
34 39 */
35 40 public abstract int getPriority();
36 41  
37 42 /**
38   - * Get the primary branding colour for this API, the branding provider should return 0 if it
39   - * does not wish to override the branding colour. The branding colour is used for the mod list
40   - * entries and hyper-links within the about GUI panels, the colour returned should be fully opaque.
  43 + * Get the primary branding colour for this API, the branding provider
  44 + * should return 0 if it does not wish to override the branding colour. The
  45 + * branding colour is used for the mod list entries and hyper-links within
  46 + * the about GUI panels, the colour returned should be fully opaque.
41 47 */
42 48 public abstract int getBrandingColour();
43 49  
44 50 /**
45   - * Get the resource to use for the main logo, the API with the highest priority gets to define the
46   - * logo, this method can return null if this API does not want to override the logo
  51 + * Get the resource to use for the main logo, the API with the highest
  52 + * priority gets to define the logo, this method can return null if this API
  53 + * does not want to override the logo.
47 54 */
48 55 public abstract ResourceLocation getLogoResource();
49 56  
50 57 /**
51   - * Gets the coordinates of the logo as an IIcon instance, only called if getLogoResource() returns
52   - * a non-null value and the logo will only be used if BOTH methods return a valid object.
  58 + * Gets the coordinates of the logo as an IIcon instance, only called if
  59 + * getLogoResource() returns a non-null value and the logo will only be used
  60 + * if BOTH methods return a valid object.
53 61 */
54 62 public abstract Icon getLogoCoords();
55 63  
56 64 /**
57   - * Get the resource to use for the icon logo (the chicken in the default setup), the API with the
58   - * highest priority gets to define the icon logo, this method can return null if this API does not
59   - * want to override the icon
  65 + * Get the resource to use for the icon logo (the chicken in the default
  66 + * setup), the API with the highest priority gets to define the icon logo,
  67 + * this method can return null if this API does not want to override the
  68 + * icon.
60 69 */
61 70 public abstract ResourceLocation getIconResource();
62 71  
63 72 /**
64   - * Gets the coordinates of the icon logo as an IIcon instance, only called if getIconResource()
65   - * returns a non-null value and the icon will only be used if BOTH methods return a valid object.
  73 + * Gets the coordinates of the icon logo as an IIcon instance, only called
  74 + * if getIconResource() returns a non-null value and the icon will only be
  75 + * used if BOTH methods return a valid object.
66 76 */
67 77 public abstract Icon getIconCoords();
68 78  
69 79 /**
70   - * Get the display name for this API, used on the "about" screen, must not return null
  80 + * Get the display name for this API, used on the "about" screen, must not
  81 + * return null.
71 82 */
72 83 public abstract String getDisplayName();
73 84  
74 85 /**
75   - * Get the copyright text for this API, used on the "about" screen, must not return null
  86 + * Get the copyright text for this API, used on the "about" screen, must not
  87 + * return null.
76 88 */
77 89 public abstract String getCopyrightText();
78 90  
79 91 /**
80   - * Get the main home page URL for this API, used on the "about" screen, must not return null
  92 + * Get the main home page URL for this API, used on the "about" screen, must
  93 + * not return null.
81 94 */
82 95 public abstract URI getHomepage();
83 96  
84 97 /**
85   - * If you wish to display a clickable twitter icon next to the API information in the "about" panel
86   - * then you must return values from this method as well as getTwitterAvatarResource() and
  98 + * If you wish to display a clickable twitter icon next to the API
  99 + * information in the "about" panel then you must return values from this
  100 + * method as well as getTwitterAvatarResource() and
87 101 * getTwitterAvatarCoords(). Return the twitter user name here.
88 102 */
89 103 public abstract String getTwitterUserName();
90 104  
91 105 /**
92   - * If you wish to display a clickable twitter icon next to the API information, return the icon
93   - * resource here.
  106 + * If you wish to display a clickable twitter icon next to the API
  107 + * information, return the icon resource here.
94 108 */
95 109 public abstract ResourceLocation getTwitterAvatarResource();
96 110  
97 111 /**
98   - * If you wish to display a clickable twitter icon next to the API information, return the icon
99   - * coordinates here.
  112 + * If you wish to display a clickable twitter icon next to the API
  113 + * information, return the icon coordinates here.
100 114 */
101 115 public abstract Icon getTwitterAvatarCoords();
102 116 }
... ...
src/main/java/com/mumfrey/liteloader/api/ContainerRegistry.java
... ... @@ -36,7 +36,8 @@ public interface ContainerRegistry
36 36 }
37 37  
38 38 /**
39   - * Register an enabled container, removes the container from the disabled containers list if present
  39 + * Register an enabled container, removes the container from the disabled
  40 + * containers list if present.
40 41 */
41 42 public abstract void registerEnabledContainer(LoadableMod<?> container);
42 43  
... ...
src/main/java/com/mumfrey/liteloader/api/CoreProvider.java
... ... @@ -9,10 +9,11 @@ import com.mumfrey.liteloader.core.LiteLoaderMods;
9 9 /**
10 10 * LiteLoader Extensible API - API Core Provider
11 11 *
12   - * Core Providers are objects whose lifecycle is equivalent to the run time of game and thus the entire
13   - * lifecycle of your API, they are instanced early in the loader startup process. CoreProviders can implement
14   - * any Observer interface as appropriate and are automatically considered when allocating Observers to
15   - * callback lists
  12 + * Core Providers are objects whose lifecycle is equivalent to the run time of
  13 + * game and thus the entire lifecycle of your API, they are instanced early in
  14 + * the loader startup process. CoreProviders can implement any Observer
  15 + * interface as appropriate and are automatically considered when allocating
  16 + * Observers to callback lists.
16 17 *
17 18 * @author Adam Mummery-Smith
18 19 */
... ... @@ -21,33 +22,39 @@ public interface CoreProvider extends TickObserver, WorldObserver, ShutdownObser
21 22 public abstract void onInit();
22 23  
23 24 /**
24   - * During the postInit phase, the mods which were discovered during preInit phase are initialised and the
25   - * interfaces are allocated. This callback is invoked at the very start of the postInit phase, before mods
26   - * are initialised but after the point at which it is safe to assume it's ok to access game classes. This
27   - * is the first point at which the Minecraft game instance should be referenced. Be aware that certain game
28   - * classes (such as the EntityRenderer) are NOT initialised at this point.
  25 + * During the postInit phase, the mods which were discovered during preInit
  26 + * phase are initialised and the interfaces are allocated. This callback is
  27 + * invoked at the very start of the postInit phase, before mods are
  28 + * initialised but after the point at which it is safe to assume it's ok to
  29 + * access game classes. This is the first point at which the Minecraft game
  30 + * instance should be referenced. Be aware that certain game classes (such
  31 + * as the EntityRenderer) are NOT initialised at this point.
29 32 *
30 33 * @param engine
31 34 */
32 35 public abstract void onPostInit(GameEngine<?, ?> engine);
33 36  
34 37 /**
35   - * Once the mods are initialised and the interfaces have been allocated, this callback is invoked to allow
36   - * the CoreProvider to perform any tasks which should be performed in the postInit phase but after mods
37   - * have been initialised.
  38 + * Once the mods are initialised and the interfaces have been allocated,
  39 + * this callback is invoked to allow the CoreProvider to perform any tasks
  40 + * which should be performed in the postInit phase but after mods have been
  41 + * initialised.
38 42 *
39 43 * @param mods
40 44 */
41 45 public abstract void onPostInitComplete(LiteLoaderMods mods);
42 46  
43 47 /**
44   - * Called once startup is complete and the game loop begins running. This callback is invoked immediately
45   - * prior to the first "tick" event and immediately AFTER the the "late init" phase for mods (InitCompleteListener)
  48 + * Called once startup is complete and the game loop begins running. This
  49 + * callback is invoked immediately prior to the first "tick" event and
  50 + * immediately <b>after</b> the the "late init" phase for mods
  51 + * (InitCompleteListener).
46 52 */
47 53 public abstract void onStartupComplete();
48 54  
49 55 /**
50   - * Called immediately on joining a single or multi-player world when the JoinGame packet is received. Only called on the client.
  56 + * Called immediately on joining a single or multi-player world when the
  57 + * JoinGame packet is received. Only called on the client.
51 58 *
52 59 * @param netHandler
53 60 * @param loginPacket
... ...
src/main/java/com/mumfrey/liteloader/api/CustomisationProvider.java
1 1 package com.mumfrey.liteloader.api;
2 2  
3 3 /**
4   - * Base interface for loader customisation providers, has to be here so that we don't load branding provider classes too soon
  4 + * Base interface for loader customisation providers, has to be here so that we
  5 + * don't load branding provider classes too soon.
5 6 *
6 7 * @author Adam Mummery-Smith
7 8 */
... ...
src/main/java/com/mumfrey/liteloader/api/EnumerationObserver.java
... ... @@ -11,8 +11,9 @@ import com.mumfrey.liteloader.interfaces.TweakContainer;
11 11 /**
12 12 * LiteLoader Extensible API - Enumeration observer
13 13 *
14   - * EnumerationObserver receive callbacks when mod containers are enumerated. Instances of this class MUST be returned from
15   - * getPreInitObservers in order to work
  14 + * EnumerationObserver receive callbacks when mod containers are enumerated.
  15 + * Instances of this class <b>must</b> be returned from getPreInitObservers in
  16 + * order to work.
16 17 *
17 18 * @author Adam Mummery-Smith
18 19 */
... ... @@ -27,7 +28,8 @@ public interface EnumerationObserver extends Observer
27 28 public abstract void onRegisterEnabledContainer(LoaderEnumerator enumerator, LoadableMod<?> container);
28 29  
29 30 /**
30   - * Called upon registration for every discovered container which is currently disabled, either because
  31 + * Called upon registration for every discovered container which is
  32 + * currently disabled, either because
31 33 *
32 34 * @param enumerator
33 35 * @param container
... ... @@ -36,7 +38,8 @@ public interface EnumerationObserver extends Observer
36 38 public abstract void onRegisterDisabledContainer(LoaderEnumerator enumerator, LoadableMod<?> container, DisabledReason reason);
37 39  
38 40 /**
39   - * Called AFTER registration of an ENABLED container (eg. onRegisterEnabledContainer will be called first) if that container also
  41 + * Called AFTER registration of an ENABLED container (eg.
  42 + * onRegisterEnabledContainer will be called first) if that container also
40 43 * contains tweaks.
41 44 *
42 45 * @param enumerator
... ... @@ -45,10 +48,14 @@ public interface EnumerationObserver extends Observer
45 48 public abstract void onRegisterTweakContainer(LoaderEnumerator enumerator, TweakContainer<File> container);
46 49  
47 50 /**
48   - * Called when a mod container is added to the pending mods list. This does not mean that the specific mod will actually be instanced since
49   - * the mod can still be disabled via the exclusion list (this is to allow entire containers to be disabled or just individual mods) and so
50   - * if you wish to observe actual mod instantiation you should still provide a {@link ResourceObserver}. However this event expresses a
51   - * declaration by the enumerator of an intention to load the specified mod.
  51 + * Called when a mod container is added to the pending mods list. This does
  52 + * not mean that the specific mod will actually be instanced since the mod
  53 + * can still be disabled via the exclusion list (this is to allow entire
  54 + * containers to be disabled or just individual mods) and so if you wish to
  55 + * observe actual mod instantiation you should still provide a
  56 + * {@link com.mumfrey.liteloader.client.ResourceObserver}. However this
  57 + * event expresses a declaration by the enumerator of an intention to load
  58 + * the specified mod.
52 59 *
53 60 * @param enumerator
54 61 * @param mod
... ...
src/main/java/com/mumfrey/liteloader/api/EnumeratorModule.java
... ... @@ -7,10 +7,12 @@ import com.mumfrey.liteloader.launch.LoaderProperties;
7 7 import net.minecraft.launchwrapper.LaunchClassLoader;
8 8  
9 9 /**
10   - * LiteLoader Extensible API - Interface for objects which can enumerate mods in places
  10 + * LiteLoader Extensible API - Interface for objects which can enumerate mods in
  11 + * places.
11 12 *
12   - * EnumeratorModules plug into the LoaderEnumerator and are used to discover mod containers in various
13   - * locations, for example searching in a specific folder for particular files.
  13 + * <p>EnumeratorModules plug into the LoaderEnumerator and are used to discover
  14 + * mod containers in various locations, for example searching in a specific
  15 + * folder for particular files.</p>
14 16 *
15 17 * @author Adam Mummery-Smith
16 18 */
... ... @@ -29,11 +31,13 @@ public interface EnumeratorModule
29 31 public abstract void writeSettings(LoaderEnvironment environment, LoaderProperties properties);
30 32  
31 33 /**
32   - * Find loadable mods in this enumerator's domain, the enumerator module should call back against the enumerator
33   - * itself to register containers it discovers using the registerModContainer() and registerTweakContainer()
  34 + * Find loadable mods in this enumerator's domain, the enumerator module
  35 + * should call back against the enumerator itself to register containers it
  36 + * discovers using the registerModContainer() and registerTweakContainer()
34 37 * callbacks.
35 38 *
36   - * This method is called during loader PREINIT phase so **DO NOT USE ANY GAME CLASSES HERE**!
  39 + * <p>This method is called during loader PREINIT phase so <b>do not use any
  40 + * game classes here</b>!</p>
37 41 *
38 42 * @param enumerator
39 43 * @param profile
... ... @@ -41,9 +45,10 @@ public interface EnumeratorModule
41 45 public abstract void enumerate(ModularEnumerator enumerator, String profile);
42 46  
43 47 /**
44   - * The enumerator module should inject (as required) any discovered containers into the classpath
  48 + * The enumerator module should inject (as required) any discovered
  49 + * containers into the classpath.
45 50 *
46   - * This method is called during the loader INIT phase
  51 + * <p>This method is called during the loader INIT phase.</p>
47 52 *
48 53 * @param enumerator
49 54 * @param classLoader
... ... @@ -51,10 +56,10 @@ public interface EnumeratorModule
51 56 public abstract void injectIntoClassLoader(ModularEnumerator enumerator, LaunchClassLoader classLoader);
52 57  
53 58 /**
54   - * The enumerator module should callback against the enumerator using the registerModsFrom() callback to
55   - * register mods from discovered containers
  59 + * The enumerator module should callback against the enumerator using the
  60 + * registerModsFrom() callback to register mods from discovered containers.
56 61 *
57   - * This method is called during the loader INIT phase
  62 + * <p>This method is called during the loader INIT phase</p>
58 63 *
59 64 * @param enumerator
60 65 * @param classLoader
... ...
src/main/java/com/mumfrey/liteloader/api/EnumeratorPlugin.java
... ... @@ -7,7 +7,8 @@ import com.mumfrey.liteloader.launch.LoaderEnvironment;
7 7 import com.mumfrey.liteloader.launch.LoaderProperties;
8 8  
9 9 /**
10   - * LiteLoader Extensible API - Interface for objects which can interact with the enumeration process, not yet available to APIs
  10 + * LiteLoader Extensible API - Interface for objects which can interact with the
  11 + * enumeration process, not yet available to APIs.
11 12 *
12 13 * @author Adam Mummery-Smith
13 14 */
... ... @@ -24,7 +25,7 @@ public interface EnumeratorPlugin
24 25 * @param container Container to inspect
25 26 * @param classloader ClassLoader for this container
26 27 * @param validator Mod class validator
27   - * @return
  28 + * @return list of classes in the container
28 29 */
29 30 public abstract <T> List<Class<? extends T>> getClasses(LoadableMod<?> container, ClassLoader classloader, ModClassValidator validator);
30 31  
... ...
src/main/java/com/mumfrey/liteloader/api/InterfaceProvider.java
... ... @@ -5,8 +5,8 @@ import com.mumfrey.liteloader.core.InterfaceRegistrationDelegate;
5 5 /**
6 6 * LiteLoader Extensible API - Interface Provider
7 7 *
8   - * InterfaceProviders are able to advertise and provide Listener interfaces which can be implemented
9   - * by mods or other Listener-derived classes
  8 + * InterfaceProviders are able to advertise and provide Listener interfaces
  9 + * which can be implemented by mods or other Listener-derived classes.
10 10 *
11 11 * @author Adam Mummery-Smith
12 12 */
... ... @@ -18,8 +18,8 @@ public interface InterfaceProvider
18 18 public abstract Class<? extends Listener> getListenerBaseType();
19 19  
20 20 /**
21   - * The provider should call back against the supplied delegate in order to advertise the interfaces
22   - * it provides.
  21 + * The provider should call back against the supplied delegate in order to
  22 + * advertise the interfaces it provides.
23 23 *
24 24 * @param delegate
25 25 */
... ...
src/main/java/com/mumfrey/liteloader/api/Listener.java
1 1 package com.mumfrey.liteloader.api;
2 2  
3 3 /**
4   - * LiteLoader Extensible API - Listener is the base interface for (counter-intuitively) consumable Listener interfaces, in
5   - * that derived interfaces are consumable (from the point of view of the providers) but actual implementors consume the events
6   - * thus advertised by implementing those interfaces, making them themselves the consumers. Okay so that's probably pretty
7   - * confusing but I can't think of any better terminology so it's staying :)
  4 + * LiteLoader Extensible API - Listener is the base interface for
  5 + * (counter-intuitively) consumable Listener interfaces, in that derived
  6 + * interfaces are consumable (from the point of view of the providers) but
  7 + * actual implementors consume the events thus advertised by implementing those
  8 + * interfaces, making them themselves the consumers. Okay so that's probably
  9 + * pretty confusing but I can't think of any better terminology so it's
  10 + * staying :)
8 11 *
9 12 * @author Adam Mummery-Smith
10 13 */
... ...
src/main/java/com/mumfrey/liteloader/api/LiteAPI.java
... ... @@ -8,18 +8,22 @@ import com.mumfrey.liteloader.launch.LoaderProperties;
8 8 /**
9 9 * LiteLoader Extensible API - main Mod API
10 10 *
11   - * Implementors of this class don't really do anything except provide instances of other classes which make up the API proper.
12   - * Where possible, instance things as LATE as possible (eg. do not instance your CoreProviders in the constructor or init()) because
13   - * it's possible to screw up the game startup if things get loaded out of order, in general it's best to instance things only at
14   - * the earliest point in time at which they are needed.
  11 + * <p>Implementors of this class don't really do anything except provide
  12 + * instances of other classes which make up the API proper. Where possible,
  13 + * instance things as <em>late</em> as possible (eg. do not instance your
  14 + * CoreProviders in the constructor or init()) because it's possible to screw up
  15 + * the game startup if things get loaded out of order, in general it's best to
  16 + * instance things only at the earliest point in time at which they are needed.
  17 + * </p>
15 18 *
16 19 * @author Adam Mummery-Smith
17 20 */
18 21 public interface LiteAPI
19 22 {
20 23 /**
21   - * Initialise this API, the API should do as little processing as possible here, but should also cache
22   - * the supplied environment and properties instances for later use
  24 + * Initialise this API, the API should do as little processing as possible
  25 + * here, but should also cache the supplied environment and properties
  26 + * instances for later use.
23 27 *
24 28 * @param environment
25 29 * @param properties
... ... @@ -27,7 +31,8 @@ public interface LiteAPI
27 31 public abstract void init(LoaderEnvironment environment, LoaderProperties properties);
28 32  
29 33 /**
30   - * Get the identifier for this API, the identifier is used to retrieve the API and match it against specified mod API dependencies
  34 + * Get the identifier for this API, the identifier is used to retrieve the
  35 + * API and match it against specified mod API dependencies.
31 36 */
32 37 public abstract String getIdentifier();
33 38  
... ... @@ -42,50 +47,63 @@ public interface LiteAPI
42 47 public abstract String getVersion();
43 48  
44 49 /**
45   - * Get the revision number of this API. Unlike the version number, the revision number should only change when an incompatible
46   - * change is made to the APIs interfaces, it is also used when a mod specifies an API dependency using the api@revision syntax
  50 + * Get the revision number of this API. Unlike the version number, the
  51 + * revision number should only change when an incompatible change is made to
  52 + * the APIs interfaces, it is also used when a mod specifies an API
  53 + * dependency using the api@revision syntax.
47 54 */
48 55 public abstract int getRevision();
49 56  
50 57 /**
51   - * Should return an array of required transformer names, these transformers will be injected UPSTREAM. Can return null.
  58 + * Should return an array of required transformer names, these transformers
  59 + * will be injected UPSTREAM. Can return null.
52 60 */
53 61 public abstract String[] getRequiredTransformers();
54 62  
55 63 /**
56   - * Should return an array of required transformer names, these transformers will be injected DOWNSTREAM. Can return null.
  64 + * Should return an array of required transformer names, these transformers
  65 + * will be injected DOWNSTREAM. Can return null.
57 66 */
58 67 public abstract String[] getRequiredDownstreamTransformers();
59 68  
60 69 /**
61   - * Return a mod class prefix supported by this API, can return null if an API just wants to use "LiteMod" as a standard class name prefix
  70 + * Return a mod class prefix supported by this API, can return null if an
  71 + * API just wants to use "LiteMod" as a standard class name prefix
62 72 */
63 73 public abstract String getModClassPrefix();
64 74  
65 75 /**
66   - * Should return a list of Enumerator modules to be injected, can return null if the API doesn't want to inject any additonal modules
  76 + * Should return a list of Enumerator modules to be injected, can return
  77 + * null if the API doesn't want to inject any additonal modules
67 78 */
68 79 public abstract List<EnumeratorModule> getEnumeratorModules();
69 80  
70 81 /**
71   - * Should return a list of CoreProviders for this API, can return null if the API doesn't have any CoreProviders, (almost) guaranteed to only be called once
  82 + * Should return a list of CoreProviders for this API, can return null if
  83 + * the API doesn't have any CoreProviders, (almost) guaranteed to only be
  84 + * called once.
72 85 */
73 86 public abstract List<CoreProvider> getCoreProviders();
74 87  
75 88 /**
76   - * Should return a list of InterfaceProviders for this API, can return null if the API doesn't have any InterfaceProviders, (almost) guaranteed to only be called once
  89 + * Should return a list of InterfaceProviders for this API, can return null
  90 + * if the API doesn't have any InterfaceProviders, (almost) guaranteed to
  91 + * only be called once
77 92 */
78 93 public abstract List<InterfaceProvider> getInterfaceProviders();
79 94  
80 95 /**
81   - * Should return a list of Observers which are safe to instantiate during pre-init, for example EnumerationObservers. Can return null if the API doesn't have any
82   - * Observers.
  96 + * Should return a list of Observers which are safe to instantiate during
  97 + * pre-init, for example EnumerationObservers. Can return null if the API
  98 + * doesn't have any Observers.
83 99 */
84 100 public abstract List<Observer> getPreInitObservers();
85 101  
86 102 /**
87   - * Should return a list of Observers for this API, can return null if the API doesn't have any Observers, (almost) guaranteed to only be called once. This list may
88   - * include Observers returned by getPreInitObservers if the observers are still required.
  103 + * Should return a list of Observers for this API, can return null if the
  104 + * API doesn't have any Observers, (almost) guaranteed to only be called
  105 + * once. This list may include Observers returned by getPreInitObservers if
  106 + * the observers are still required.
89 107 */
90 108 public abstract List<Observer> getObservers();
91 109  
... ...
src/main/java/com/mumfrey/liteloader/api/ModClassValidator.java
1 1 package com.mumfrey.liteloader.api;
2 2  
3 3 /**
4   - * Interface for object which validates whether a supplied mod class can be loaded
  4 + * Interface for object which validates whether a supplied mod class can be
  5 + * loaded.
5 6 *
6 7 * @author Adam Mummery-Smith
7 8 */
... ...
src/main/java/com/mumfrey/liteloader/api/ModInfoDecorator.java
... ... @@ -8,7 +8,8 @@ import com.mumfrey.liteloader.util.render.IconTextured;
8 8 /**
9 9 * LiteLoader Extensible API - Branding Provider
10 10 *
11   - * Decorator for ModInfo classes, to alter the appearance of ModInfo entries in the mod list
  11 + * Decorator for ModInfo classes, to alter the appearance of ModInfo entries in
  12 + * the mod list.
12 13 *
13 14 * @author Adam Mummery-Smith
14 15 */
... ... @@ -23,10 +24,12 @@ public interface ModInfoDecorator extends CustomisationProvider
23 24 public abstract void addIcons(ModInfo<?> mod, List<IconTextured> icons);
24 25  
25 26 /**
26   - * Allows this decorator to modify the status text for the specified mod, return null if no modification required
  27 + * Allows this decorator to modify the status text for the specified mod,
  28 + * return null if no modification required.
27 29 *
28 30 * @param statusText
29   - * @return new status text or NULL to indicate the text should remain default
  31 + * @return new status text or NULL to indicate the text should remain
  32 + * default
30 33 */
31 34 public abstract String modifyStatusText(ModInfo<?> mod, String statusText);
32 35  
... ... @@ -45,5 +48,6 @@ public interface ModInfoDecorator extends CustomisationProvider
45 48 * @param titleColour
46 49 * @param statusColour
47 50 */
48   - public abstract void onDrawListEntry(int mouseX, int mouseY, float partialTicks, int xPosition, int yPosition, int width, int height, boolean selected, ModInfo<?> mod, int gradientColour, int titleColour, int statusColour);
  51 + public abstract void onDrawListEntry(int mouseX, int mouseY, float partialTicks, int xPosition, int yPosition, int width, int height,
  52 + boolean selected, ModInfo<?> mod, int gradientColour, int titleColour, int statusColour);
49 53 }
... ...
src/main/java/com/mumfrey/liteloader/api/ModLoadObserver.java
... ... @@ -9,21 +9,22 @@ import com.mumfrey.liteloader.interfaces.LoadableMod;
9 9 /**
10 10 * LiteLoader Extensible API - Mod Load Observer
11 11 *
12   - * ModLoadObservers receive callbacks when mod loading events are occurring, prior to init and other
13   - * loader-managed processes
  12 + * ModLoadObservers receive callbacks when mod loading events are occurring,
  13 + * prior to init and other loader-managed processes.
14 14 *
15 15 * @author Adam Mummery-Smith
16 16 */
17 17 public interface ModLoadObserver extends Observer
18 18 {
19 19 /**
20   - * Called immediately after a mod instance is created, throw an exception from this method in
21   - * order to prevent further initialisation
  20 + * Called immediately after a mod instance is created, throw an exception
  21 + * from this method in order to prevent further initialisation.
22 22 */
23 23 public abstract void onModLoaded(LiteMod mod);
24 24  
25 25 /**
26   - * Called after a mod is instanced and has been successfully added to the active mods list
  26 + * Called after a mod is instanced and has been successfully added to the
  27 + * active mods list.
27 28 *
28 29 * @param handle Mod handle
29 30 */
... ...
src/main/java/com/mumfrey/liteloader/api/Observer.java
... ... @@ -3,8 +3,10 @@ package com.mumfrey.liteloader.api;
3 3 /**
4 4 * LiteLoader Extensible API - Observer base interface
5 5 *
6   - * Observers are essentially "core listeners" which are objects which make up the core a of a particular API implementation
7   - * and sink events generated by the Loader or by other observable components. See the derived interfaces for more detail.
  6 + * <p>Observers are essentially "core listeners" which are objects which make up
  7 + * the core a of a particular API implementation and sink events generated by
  8 + * the Loader or by other observable components. See the derived interfaces for
  9 + * more detail.</p>
8 10 *
9 11 * @author Adam Mummery-Smith
10 12 */
... ...
src/main/java/com/mumfrey/liteloader/api/PostRenderObserver.java
... ... @@ -3,7 +3,8 @@ package com.mumfrey.liteloader.api;
3 3 /**
4 4 * LiteLoader Extensible API - Post-render Observers
5 5 *
6   - * PostRenderObservers receive the onPostRender event every frame, allowing "draw-on-top" behaviour for API components
  6 + * <p>PostRenderObservers receive the onPostRender event every frame, allowing
  7 + * "draw-on-top" behaviour for API components.</p>
7 8 *
8 9 * @author Adam Mummery-Smith
9 10 */
... ...
src/main/java/com/mumfrey/liteloader/api/ShutdownObserver.java
... ... @@ -3,8 +3,9 @@ package com.mumfrey.liteloader.api;
3 3 /**
4 4 * LiteLoader Extensible API - ShutDownObserver
5 5 *
6   - * ShutDownObservers receive an event when the game is shutting down due to a user request. They do NOT receive the
7   - * callback when the VM is terminating, use a regular VM shutdownhook for that.
  6 + * ShutDownObservers receive an event when the game is shutting down due to a
  7 + * user request. They do NOT receive the callback when the VM is terminating,
  8 + * use a regular VM shutdownhook for that.
8 9 *
9 10 * @author Adam Mummery-Smith
10 11 */
... ...
src/main/java/com/mumfrey/liteloader/api/TranslationProvider.java
... ... @@ -8,12 +8,14 @@ package com.mumfrey.liteloader.api;
8 8 public interface TranslationProvider extends CustomisationProvider
9 9 {
10 10 /**
11   - * Translate the supplied key or return NULL if the provider has no translation for the specified key
  11 + * Translate the supplied key or return NULL if the provider has no
  12 + * translation for the specified key
12 13 */
13 14 public abstract String translate(String key, Object... args);
14 15  
15 16 /**
16   - * Translate the supplied key to the specified locale, or return NULL if the provider has no translation for this key
  17 + * Translate the supplied key to the specified locale, or return NULL if the
  18 + * provider has no translation for this key
17 19 */
18 20 public abstract String translate(String locale, String key, Object... args);
19 21 }
... ...
src/main/java/com/mumfrey/liteloader/api/WorldObserver.java
... ... @@ -5,8 +5,8 @@ import net.minecraft.world.World;
5 5 /**
6 6 * LiteLoader Extensible API - WorldObserver
7 7 *
8   - * WorldObservers receive a callback when the Minecraft.theWorld reference changes, beware the value is allowed
9   - * to be null
  8 + * <p>WorldObservers receive a callback when the Minecraft.theWorld reference
  9 + * changes, beware the value is allowed to be null.</p>
10 10 *
11 11 * @author Adam Mummery-Smith
12 12 */
... ...
src/main/java/com/mumfrey/liteloader/api/manager/APIAdapter.java
... ... @@ -8,7 +8,8 @@ import com.mumfrey.liteloader.api.Observer;
8 8 import com.mumfrey.liteloader.interfaces.InterfaceRegistry;
9 9  
10 10 /**
11   - * API Adapter provides convenience methods for invoking actions on ALL registered APIs
  11 + * API Adapter provides convenience methods for invoking actions on ALL
  12 + * registered APIs
12 13 *
13 14 * @author Adam Mummery-Smith
14 15 */
... ... @@ -20,7 +21,8 @@ public interface APIAdapter
20 21 public abstract List<String> getRequiredTransformers();
21 22  
22 23 /**
23   - * Aggregate and return required downstream transformers from all registered APIs
  24 + * Aggregate and return required downstream transformers from all registered
  25 + * APIs
24 26 */
25 27 public abstract List<String> getRequiredDownstreamTransformers();
26 28  
... ... @@ -30,22 +32,27 @@ public interface APIAdapter
30 32 public abstract void registerInterfaces(InterfaceRegistry interfaceManager);
31 33  
32 34 /**
33   - * Get the CoreProviders for the specified API. Consuming classes should call this method instead of calling API::getCoreProviders()
34   - * directly since getCoreProviders() should only be invoked once and the resulting collection is cached by the API Adapter
  35 + * Get the CoreProviders for the specified API. Consuming classes should
  36 + * call this method instead of calling API::getCoreProviders() directly
  37 + * since getCoreProviders() should only be invoked once and the resulting
  38 + * collection is cached by the API Adapter
35 39 */
36 40 public abstract List<CoreProvider> getCoreProviders();
37 41  
38 42 /**
39   - * Get the observers for the specified API. Consuming classes should call this method instead of calling API::getObservers() directly
40   - * since getObservers() should only be invoked once and the resulting list is cached by the API Adapter
  43 + * Get the observers for the specified API. Consuming classes should call
  44 + * this method instead of calling API::getObservers() directly since
  45 + * getObservers() should only be invoked once and the resulting list is
  46 + * cached by the API Adapter
41 47 *
42 48 * @param api API to get observers for
43 49 */
44 50 public abstract List<? extends Observer> getObservers(LiteAPI api);
45 51  
46 52 /**
47   - * Get the observers for the specified API which implement the specified Observer interface. Always returns a valid list (even if
48   - * empty) and doesn't return null.
  53 + * Get the observers for the specified API which implement the specified
  54 + * Observer interface. Always returns a valid list (even if empty) and
  55 + * doesn't return null.
49 56 *
50 57 * @param api API to get observers for
51 58 * @param observerType type of observer to search for
... ... @@ -53,8 +60,9 @@ public interface APIAdapter
53 60 public abstract <T extends Observer> List<T> getObservers(LiteAPI api, Class<T> observerType);
54 61  
55 62 /**
56   - * Get the observers for all registered APIs which implement the specified Observer interface. Always returns a valid list (even if
57   - * empty) and doesn't return null. Also includes core providers
  63 + * Get the observers for all registered APIs which implement the specified
  64 + * Observer interface. Always returns a valid list (even if empty) and
  65 + * doesn't return null. Also includes core providers
58 66 *
59 67 * @param observerType type of observer to search for
60 68 */
... ...
src/main/java/com/mumfrey/liteloader/api/manager/APIProvider.java
... ... @@ -21,7 +21,8 @@ public interface APIProvider
21 21 /**
22 22 * Returns true if the specified API is available
23 23 *
24   - * @param identifier API identifier (case sensitive) or API identifier-plus-minrevision in the form "identifier@minver"
  24 + * @param identifier API identifier (case sensitive) or API
  25 + * identifier-plus-minrevision in the form "identifier@minver"
25 26 */
26 27 public abstract boolean isAPIAvailable(String identifier);
27 28  
... ...
src/main/java/com/mumfrey/liteloader/api/manager/APIProviderBasic.java
... ... @@ -56,7 +56,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
56 56 }
57 57  
58 58 /* (non-Javadoc)
59   - * @see com.mumfrey.liteloader.api.manager.APIProvider#getRequiredTransformers()
  59 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  60 + * #getRequiredTransformers()
60 61 */
61 62 @Override
62 63 public List<String> getRequiredTransformers()
... ... @@ -76,7 +77,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
76 77 }
77 78  
78 79 /* (non-Javadoc)
79   - * @see com.mumfrey.liteloader.api.manager.APIProvider#getRequiredDownstreamTransformers()
  80 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  81 + * #getRequiredDownstreamTransformers()
80 82 */
81 83 @Override
82 84 public List<String> getRequiredDownstreamTransformers()
... ... @@ -96,7 +98,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
96 98 }
97 99  
98 100 /* (non-Javadoc)
99   - * @see com.mumfrey.liteloader.api.manager.APIProvider#getObservers(com.mumfrey.liteloader.api.LiteAPI)
  101 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  102 + * #getObservers(com.mumfrey.liteloader.api.LiteAPI)
100 103 */
101 104 @Override
102 105 public List<? extends Observer> getObservers(LiteAPI api)
... ... @@ -152,7 +155,9 @@ class APIProviderBasic implements APIProvider, APIAdapter
152 155 for (CoreProvider coreProvider : this.getCoreProviders())
153 156 {
154 157 if (observerType.isAssignableFrom(coreProvider.getClass()) && !matchingObservers.contains(coreProvider))
  158 + {
155 159 matchingObservers.add((T)coreProvider);
  160 + }
156 161 }
157 162  
158 163 return matchingObservers;
... ... @@ -178,7 +183,9 @@ class APIProviderBasic implements APIProvider, APIAdapter
178 183 }
179 184  
180 185 /* (non-Javadoc)
181   - * @see com.mumfrey.liteloader.api.manager.APIProvider#registerInterfaceProviders(com.mumfrey.liteloader.core.InterfaceManager)
  186 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  187 + * #registerInterfaceProviders(
  188 + * com.mumfrey.liteloader.core.InterfaceManager)
182 189 */
183 190 @Override
184 191 public void registerInterfaces(InterfaceRegistry interfaceManager)
... ... @@ -224,7 +231,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
224 231 }
225 232  
226 233 /* (non-Javadoc)
227   - * @see com.mumfrey.liteloader.api.manager.APIProvider#isAPIAvailable(java.lang.String)
  234 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  235 + * #isAPIAvailable(java.lang.String)
228 236 */
229 237 @Override
230 238 public boolean isAPIAvailable(String identifier)
... ... @@ -242,7 +250,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
242 250 }
243 251  
244 252 /* (non-Javadoc)
245   - * @see com.mumfrey.liteloader.api.manager.APIProvider#isAPIAvailable(java.lang.String, int)
  253 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  254 + * #isAPIAvailable(java.lang.String, int)
246 255 */
247 256 @Override
248 257 public boolean isAPIAvailable(String identifier, int minRevision)
... ... @@ -254,7 +263,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
254 263 }
255 264  
256 265 /* (non-Javadoc)
257   - * @see com.mumfrey.liteloader.api.manager.APIProvider#getAPI(java.lang.String)
  266 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  267 + * #getAPI(java.lang.String)
258 268 */
259 269 @Override
260 270 public LiteAPI getAPI(String identifier)
... ... @@ -263,7 +273,8 @@ class APIProviderBasic implements APIProvider, APIAdapter
263 273 }
264 274  
265 275 /* (non-Javadoc)
266   - * @see com.mumfrey.liteloader.api.manager.APIProvider#getAPI(java.lang.Class)
  276 + * @see com.mumfrey.liteloader.api.manager.APIProvider
  277 + * #getAPI(java.lang.Class)
267 278 */
268 279 @SuppressWarnings("unchecked")
269 280 @Override
... ... @@ -274,7 +285,9 @@ class APIProviderBasic implements APIProvider, APIAdapter
274 285 for (LiteAPI api : this.apis)
275 286 {
276 287 if (apiClass.isAssignableFrom(api.getClass()))
  288 + {
277 289 return (T)api;
  290 + }
278 291 }
279 292 }
280 293 catch (NullPointerException ex1) {}
... ...
src/main/java/com/mumfrey/liteloader/api/manager/APIRegistry.java
... ... @@ -17,8 +17,8 @@ import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
17 17 import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity;
18 18  
19 19 /**
20   - * This is where we register API classes during early startup before baking the registered list into an
21   - * APIProvider instance
  20 + * This is where we register API classes during early startup before baking the
  21 + * registered list into an APIProvider instance
22 22 *
23 23 * @author Adam Mummery-Smith
24 24 */
... ... @@ -44,7 +44,8 @@ public final class APIRegistry
44 44 }
45 45  
46 46 /**
47   - * Register an API class, throws an exception if the API list has already been baked
  47 + * Register an API class, throws an exception if the API list has already
  48 + * been baked.
48 49 *
49 50 * @param apiClass
50 51 */
... ... @@ -52,7 +53,8 @@ public final class APIRegistry
52 53 {
53 54 if (this.baked != null)
54 55 {
55   - throw new InvalidAPIStateException("Unable to register API provider '" + apiClass + "' because the API state is now frozen, this probably means you are registering an API too late in the initialisation process");
  56 + throw new InvalidAPIStateException("Unable to register API provider '" + apiClass
  57 + + "' because the API state is now frozen, this probably means you are registering an API too late in the initialisation process");
56 58 }
57 59  
58 60 if (!this.registeredAPIClasses.contains(apiClass))
... ... @@ -93,7 +95,8 @@ public final class APIRegistry
93 95 }
94 96  
95 97 Class<? extends LiteAPI> conflictingAPIClass = this.instances.get(identifier).getClass();
96   - LiteLoaderLogger.severe("API identifier clash while registering '%s', identifier '%s' clashes with '%s'", apiClassName, identifier, conflictingAPIClass);
  98 + LiteLoaderLogger.severe("API identifier clash while registering '%s', identifier '%s' clashes with '%s'", apiClassName,
  99 + identifier, conflictingAPIClass);
97 100 }
98 101 catch (ClassNotFoundException ex)
99 102 {
... ... @@ -133,7 +136,9 @@ public final class APIRegistry
133 136 }
134 137  
135 138 /**
136   - * Bakes all currently registered API classes to a new APIProvider containing the API instances
  139 + * Bakes all currently registered API classes to a new APIProvider
  140 + * containing the API instances.
  141 + *
137 142 * @throws InvalidAPIStateException if the API list was already baked
138 143 */
139 144 public APIProvider bake() throws InvalidAPIStateException
... ...
src/main/java/com/mumfrey/liteloader/common/GameEngine.java
... ... @@ -9,8 +9,10 @@ import net.minecraft.server.MinecraftServer;
9 9 /**
10 10 * @author Adam Mummery-Smith
11 11 *
12   - * @param <TClient> Type of the client runtime, "Minecraft" on client and null on the server
13   - * @param <TServer> Type of the server runtime, "IntegratedServer" on the client, "MinecraftServer" on the server
  12 + * @param <TClient> Type of the client runtime, "Minecraft" on client and null
  13 + * on the server
  14 + * @param <TServer> Type of the server runtime, "IntegratedServer" on the
  15 + * client, "MinecraftServer" on the server
14 16 */
15 17 public interface GameEngine<TClient, TServer extends MinecraftServer>
16 18 {
... ... @@ -20,7 +22,8 @@ public interface GameEngine&lt;TClient, TServer extends MinecraftServer&gt;
20 22 public abstract boolean isClient();
21 23  
22 24 /**
23   - * True if the current environment is a server environment, always true on dedicated and true in single player
  25 + * True if the current environment is a server environment, always true on
  26 + * dedicated and true in single player.
24 27 */
25 28 public abstract boolean isServer();
26 29  
... ... @@ -60,12 +63,14 @@ public interface GameEngine&lt;TClient, TServer extends MinecraftServer&gt;
60 63 public abstract Profiler getProfiler();
61 64  
62 65 /**
63   - * Get the keybinding list, only supported on client will throw an exception on the server
  66 + * Get the keybinding list, only supported on client will throw an exception
  67 + * on the server.
64 68 */
65 69 public abstract List<KeyBinding> getKeyBindings();
66 70  
67 71 /**
68   - * Set the keybinding list, only supported on client will throw an exception on the server
  72 + * Set the keybinding list, only supported on client will throw an exception
  73 + * on the server.
69 74 *
70 75 * @param keyBindings
71 76 */
... ...
src/main/java/com/mumfrey/liteloader/common/LoadingProgress.java
... ... @@ -29,7 +29,7 @@ public abstract class LoadingProgress
29 29  
30 30 public static void setMessage(String format, String... args)
31 31 {
32   - if (LoadingProgress.instance != null) LoadingProgress.instance._setMessage(String.format(format, args));
  32 + if (LoadingProgress.instance != null) LoadingProgress.instance._setMessage(String.format(format, (Object[])args));
33 33 }
34 34  
35 35 public static void setMessage(String message)
... ... @@ -39,7 +39,7 @@ public abstract class LoadingProgress
39 39  
40 40 public static void incLiteLoaderProgress(String format, String... args)
41 41 {
42   - if (LoadingProgress.instance != null) LoadingProgress.instance._incLiteLoaderProgress(String.format(format, args));
  42 + if (LoadingProgress.instance != null) LoadingProgress.instance._incLiteLoaderProgress(String.format(format, (Object[])args));
43 43 }
44 44  
45 45 public static void incLiteLoaderProgress(String message)
... ...
src/main/java/com/mumfrey/liteloader/common/Resources.java
... ... @@ -10,7 +10,9 @@ public interface Resources&lt;TResourceManager, TResourcePack&gt;
10 10 public abstract void refreshResources(boolean force);
11 11  
12 12 /**
13   - * Get the resource manager for the current environment, returns the SimpleReloadableResourceManager on client and ModResourceManager on the server
  13 + * Get the resource manager for the current environment, returns the
  14 + * SimpleReloadableResourceManager on client and ModResourceManager on the
  15 + * server.
14 16 */
15 17 public abstract TResourceManager getResourceManager();
16 18  
... ...