Commit 7b01aee76b8296e9725008f37962a0586b0ed129

Authored by Mumfrey
1 parent 9f5bfc13

Initial 1.8.9 Update

Showing 53 changed files with 774 additions and 654 deletions
build.gradle
@@ -17,9 +17,9 @@ buildscript { @@ -17,9 +17,9 @@ buildscript {
17 } 17 }
18 } 18 }
19 dependencies { 19 dependencies {
20 - classpath 'net.minecraftforge.gradle:ForgeGradle:2.0-SNAPSHOT' 20 + classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
21 classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.0' 21 classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.0'
22 - classpath 'org.spongepowered:mixingradle:0.1-SNAPSHOT' 22 + classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT'
23 } 23 }
24 } 24 }
25 25
@@ -68,9 +68,15 @@ repositories { @@ -68,9 +68,15 @@ repositories {
68 } 68 }
69 69
70 dependencies { 70 dependencies {
71 - compile 'org.spongepowered:mixin:0.4.11-SNAPSHOT'  
72 - compile 'com.google.guava:guava:17.0'  
73 - compile 'com.google.code.gson:gson:2.2.4' 71 +// compile 'org.ow2.asm:asm-debug-all:5.0.3'
  72 + compile('org.spongepowered:mixin:0.5.3-SNAPSHOT') {
  73 + exclude module: 'asm-commons'
  74 + exclude module: 'asm-tree'
  75 + exclude module: 'launchwrapper'
  76 + exclude module: 'guava'
  77 + }
  78 +// compile 'com.google.guava:guava:17.0'
  79 +// compile 'com.google.code.gson:gson:2.2.4'
74 } 80 }
75 81
76 minecraft { 82 minecraft {
gradle.properties
@@ -5,6 +5,6 @@ description=LiteLoader @@ -5,6 +5,6 @@ description=LiteLoader
5 url=http://www.liteloader.com 5 url=http://www.liteloader.com
6 organization=LiteLoader 6 organization=LiteLoader
7 buildType=SNAPSHOT 7 buildType=SNAPSHOT
8 -buildVersion=1.8  
9 -mcVersion=1.8  
10 -mcMappings=snapshot_20151124  
11 \ No newline at end of file 8 \ No newline at end of file
  9 +buildVersion=1.8.9
  10 +mcVersion=1.8.9
  11 +mcMappings=snapshot_20160204
12 \ No newline at end of file 12 \ No newline at end of file
src/client/java/com/mumfrey/liteloader/EntityRenderListener.java
@@ -22,7 +22,8 @@ public interface EntityRenderListener extends LiteMod @@ -22,7 +22,8 @@ public interface EntityRenderListener extends LiteMod
22 * @param yaw 22 * @param yaw
23 * @param partialTicks 23 * @param partialTicks
24 */ 24 */
25 - public abstract void onRenderEntity(Render render, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks); 25 + public abstract void onRenderEntity(Render<? extends Entity> render, Entity entity, double xPos, double yPos, double zPos, float yaw,
  26 + float partialTicks);
26 27
27 /** 28 /**
28 * Called immediately following an entity being rendered 29 * Called immediately following an entity being rendered
@@ -35,5 +36,6 @@ public interface EntityRenderListener extends LiteMod @@ -35,5 +36,6 @@ public interface EntityRenderListener extends LiteMod
35 * @param yaw 36 * @param yaw
36 * @param partialTicks 37 * @param partialTicks
37 */ 38 */
38 - public abstract void onPostRenderEntity(Render render, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks); 39 + public abstract void onPostRenderEntity(Render<? extends Entity> render, Entity entity, double xPos, double yPos, double zPos, float yaw,
  40 + float partialTicks);
39 } 41 }
src/client/java/com/mumfrey/liteloader/RenderListener.java
@@ -22,14 +22,6 @@ public interface RenderListener extends LiteMod @@ -22,14 +22,6 @@ public interface RenderListener extends LiteMod
22 public abstract void onRenderGui(GuiScreen currentScreen); 22 public abstract void onRenderGui(GuiScreen currentScreen);
23 23
24 /** 24 /**
25 - * Called when the world is rendered  
26 - *  
27 - * @deprecated Use PreRenderListener::onRenderWorld(F)V instead  
28 - */  
29 - @Deprecated  
30 - public abstract void onRenderWorld();  
31 -  
32 - /**  
33 * Called immediately after the world/camera transform is initialised 25 * Called immediately after the world/camera transform is initialised
34 */ 26 */
35 public abstract void onSetupCameraTransform(); 27 public abstract void onSetupCameraTransform();
src/client/java/com/mumfrey/liteloader/client/ClientProxy.java
@@ -171,12 +171,14 @@ public abstract class ClientProxy extends Proxy @@ -171,12 +171,14 @@ public abstract class ClientProxy extends Proxy
171 ClientProxy.broker.onScreenshot(ci, name, width, height, fbo); 171 ClientProxy.broker.onScreenshot(ci, name, width, height, fbo);
172 } 172 }
173 173
174 - public static void onRenderEntity(RenderManager source, Render render, Entity entity, double x, double y, double z, float yaw, float pTicks) 174 + public static <T extends Entity> void onRenderEntity(RenderManager source, Render<T> render, T entity, double x, double y, double z,
  175 + float yaw, float pTicks)
175 { 176 {
176 ClientProxy.broker.onRenderEntity(source, entity, x, y, z, yaw, pTicks, render); 177 ClientProxy.broker.onRenderEntity(source, entity, x, y, z, yaw, pTicks, render);
177 } 178 }
178 179
179 - public static void onPostRenderEntity(RenderManager source, Render render, Entity entity, double x, double y, double z, float yaw, float pTicks) 180 + public static <T extends Entity> void onPostRenderEntity(RenderManager source, Render<T> render, T entity, double x, double y, double z,
  181 + float yaw, float pTicks)
180 { 182 {
181 ClientProxy.broker.onPostRenderEntity(source, entity, x, y, z, yaw, pTicks, render); 183 ClientProxy.broker.onPostRenderEntity(source, entity, x, y, z, yaw, pTicks, render);
182 } 184 }
src/client/java/com/mumfrey/liteloader/client/GameEngineClient.java
@@ -113,7 +113,7 @@ public class GameEngineClient implements GameEngine&lt;Minecraft, IntegratedServer&gt; @@ -113,7 +113,7 @@ public class GameEngineClient implements GameEngine&lt;Minecraft, IntegratedServer&gt;
113 113
114 public ScaledResolution getScaledResolution() 114 public ScaledResolution getScaledResolution()
115 { 115 {
116 - return new ScaledResolution(this.engine, this.engine.displayWidth, this.engine.displayHeight); 116 + return new ScaledResolution(this.engine);
117 } 117 }
118 118
119 public GuiNewChat getChatGUI() 119 public GuiNewChat getChatGUI()
src/client/java/com/mumfrey/liteloader/client/LiteLoaderEventBrokerClient.java
@@ -406,7 +406,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft @@ -406,7 +406,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
406 Minecraft minecraft = this.engine.getClient(); 406 Minecraft minecraft = this.engine.getClient();
407 407
408 // Flag indicates whether we are in game at the moment 408 // Flag indicates whether we are in game at the moment
409 - Entity renderViewEntity = minecraft.getRenderViewEntity(); // TODO OBF MCPTEST func_175606_aa - getRenderViewEntity 409 + Entity renderViewEntity = minecraft.getRenderViewEntity();
410 boolean inGame = renderViewEntity != null && renderViewEntity.worldObj != null; 410 boolean inGame = renderViewEntity != null && renderViewEntity.worldObj != null;
411 411
412 this.profiler.startSection("loader"); 412 this.profiler.startSection("loader");
@@ -483,7 +483,6 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft @@ -483,7 +483,6 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
483 void onRenderWorld(float partialTicks, long timeSlice) 483 void onRenderWorld(float partialTicks, long timeSlice)
484 { 484 {
485 this.preRenderListeners.all().onRenderWorld(partialTicks); 485 this.preRenderListeners.all().onRenderWorld(partialTicks);
486 - this.renderListeners.all().onRenderWorld();  
487 } 486 }
488 487
489 /** 488 /**
@@ -543,8 +542,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft @@ -543,8 +542,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
543 * @param partialTicks 542 * @param partialTicks
544 * @param render 543 * @param render
545 */ 544 */
546 - public void onRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks,  
547 - Render render) 545 + public <T extends Entity> void onRenderEntity(RenderManager source, T entity, double xPos, double yPos, double zPos, float yaw,
  546 + float partialTicks, Render<T> render)
548 { 547 {
549 this.entityRenderListeners.all().onRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks); 548 this.entityRenderListeners.all().onRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks);
550 } 549 }
@@ -559,8 +558,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft @@ -559,8 +558,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker&lt;Minecraft
559 * @param partialTicks 558 * @param partialTicks
560 * @param render 559 * @param render
561 */ 560 */
562 - public void onPostRenderEntity(RenderManager source, Entity entity, double xPos, double yPos, double zPos, float yaw, float partialTicks,  
563 - Render render) 561 + public <T extends Entity> void onPostRenderEntity(RenderManager source, T entity, double xPos, double yPos, double zPos, float yaw,
  562 + float partialTicks, Render<T> render)
564 { 563 {
565 this.entityRenderListeners.all().onPostRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks); 564 this.entityRenderListeners.all().onPostRenderEntity(render, entity, xPos, yPos, zPos, yaw, partialTicks);
566 } 565 }
src/client/java/com/mumfrey/liteloader/client/PacketEventsClient.java
@@ -107,7 +107,7 @@ public class PacketEventsClient extends PacketEvents @@ -107,7 +107,7 @@ public class PacketEventsClient extends PacketEvents
107 this.postLoginListeners.add(postLoginListener); 107 this.postLoginListeners.add(postLoginListener);
108 } 108 }
109 109
110 - public static void onJoinRealm(long serverId, RealmsServer server) 110 + public static void onJoinRealm(RealmsServer server)
111 { 111 {
112 PacketEventsClient.joiningRealm = server; 112 PacketEventsClient.joiningRealm = server;
113 } 113 }
@@ -130,7 +130,7 @@ public class PacketEventsClient extends PacketEvents @@ -130,7 +130,7 @@ public class PacketEventsClient extends PacketEvents
130 * net.minecraft.network.play.server.S01PacketJoinGame) 130 * net.minecraft.network.play.server.S01PacketJoinGame)
131 */ 131 */
132 @Override 132 @Override
133 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S01PacketJoinGame packet) 133 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S01PacketJoinGame packet)
134 { 134 {
135 if (this.preJoinGame(e, netHandler, packet)) 135 if (this.preJoinGame(e, netHandler, packet))
136 { 136 {
@@ -149,7 +149,7 @@ public class PacketEventsClient extends PacketEvents @@ -149,7 +149,7 @@ public class PacketEventsClient extends PacketEvents
149 * @param packet 149 * @param packet
150 * @throws EventCancellationException 150 * @throws EventCancellationException
151 */ 151 */
152 - private boolean preJoinGame(PacketEventInfo<Packet> e, INetHandler netHandler, S01PacketJoinGame packet) throws EventCancellationException 152 + private boolean preJoinGame(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S01PacketJoinGame packet) throws EventCancellationException
153 { 153 {
154 if (!(netHandler instanceof INetHandlerPlayClient)) 154 if (!(netHandler instanceof INetHandlerPlayClient))
155 { 155 {
@@ -166,7 +166,7 @@ public class PacketEventsClient extends PacketEvents @@ -166,7 +166,7 @@ public class PacketEventsClient extends PacketEvents
166 * @param netHandler 166 * @param netHandler
167 * @param packet 167 * @param packet
168 */ 168 */
169 - private void postJoinGame(PacketEventInfo<Packet> e, INetHandler netHandler, S01PacketJoinGame packet) 169 + private void postJoinGame(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S01PacketJoinGame packet)
170 { 170 {
171 this.joinGameListeners.all().onJoinGame(netHandler, packet, Minecraft.getMinecraft().getCurrentServerData(), PacketEventsClient.joiningRealm); 171 this.joinGameListeners.all().onJoinGame(netHandler, packet, Minecraft.getMinecraft().getCurrentServerData(), PacketEventsClient.joiningRealm);
172 PacketEventsClient.joiningRealm = null; 172 PacketEventsClient.joiningRealm = null;
@@ -185,7 +185,7 @@ public class PacketEventsClient extends PacketEvents @@ -185,7 +185,7 @@ public class PacketEventsClient extends PacketEvents
185 * net.minecraft.network.login.server.S02PacketLoginSuccess) 185 * net.minecraft.network.login.server.S02PacketLoginSuccess)
186 */ 186 */
187 @Override 187 @Override
188 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketLoginSuccess packet) 188 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S02PacketLoginSuccess packet)
189 { 189 {
190 if (netHandler instanceof INetHandlerLoginClient) 190 if (netHandler instanceof INetHandlerLoginClient)
191 { 191 {
@@ -208,7 +208,7 @@ public class PacketEventsClient extends PacketEvents @@ -208,7 +208,7 @@ public class PacketEventsClient extends PacketEvents
208 * net.minecraft.network.play.server.S02PacketChat) 208 * net.minecraft.network.play.server.S02PacketChat)
209 */ 209 */
210 @Override 210 @Override
211 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketChat packet) 211 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S02PacketChat packet)
212 { 212 {
213 if (packet.getChatComponent() == null) 213 if (packet.getChatComponent() == null)
214 { 214 {
src/client/java/com/mumfrey/liteloader/client/ducks/IRegistrySimple.java
@@ -2,7 +2,7 @@ package com.mumfrey.liteloader.client.ducks; @@ -2,7 +2,7 @@ package com.mumfrey.liteloader.client.ducks;
2 2
3 import java.util.Map; 3 import java.util.Map;
4 4
5 -public interface IRegistrySimple 5 +public interface IRegistrySimple<K, V>
6 { 6 {
7 - public abstract <K, V> Map<K, V> getRegistryObjects(); 7 + public abstract Map<K, V> getRegistryObjects();
8 } 8 }
src/client/java/com/mumfrey/liteloader/client/ducks/IRenderManager.java
@@ -7,5 +7,5 @@ import net.minecraft.entity.Entity; @@ -7,5 +7,5 @@ import net.minecraft.entity.Entity;
7 7
8 public interface IRenderManager 8 public interface IRenderManager
9 { 9 {
10 - public abstract Map<Class<? extends Entity>, Render> getRenderMap(); 10 + public abstract Map<Class<? extends Entity>, Render<? extends Entity>> getRenderMap();
11 } 11 }
src/client/java/com/mumfrey/liteloader/client/ducks/ITileEntityRendererDispatcher.java
@@ -7,5 +7,5 @@ import net.minecraft.tileentity.TileEntity; @@ -7,5 +7,5 @@ import net.minecraft.tileentity.TileEntity;
7 7
8 public interface ITileEntityRendererDispatcher 8 public interface ITileEntityRendererDispatcher
9 { 9 {
10 - public abstract Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> getSpecialRenderMap(); 10 + public abstract Map<Class<? extends TileEntity>, TileEntitySpecialRenderer<? extends TileEntity>> getSpecialRenderMap();
11 } 11 }
src/client/java/com/mumfrey/liteloader/client/gui/GuiLiteLoaderPanel.java
1 package com.mumfrey.liteloader.client.gui; 1 package com.mumfrey.liteloader.client.gui;
2 2
3 import static com.mumfrey.liteloader.gl.GL.*; 3 import static com.mumfrey.liteloader.gl.GL.*;
  4 +import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.*;
4 5
5 import java.io.IOException; 6 import java.io.IOException;
6 import java.util.ArrayList; 7 import java.util.ArrayList;
7 import java.util.List; 8 import java.util.List;
8 9
9 -import net.minecraft.client.Minecraft;  
10 -import net.minecraft.client.gui.FontRenderer;  
11 -import net.minecraft.client.gui.GuiButton;  
12 -import net.minecraft.client.gui.GuiMainMenu;  
13 -import net.minecraft.client.gui.GuiScreen;  
14 -import net.minecraft.client.renderer.Tessellator;  
15 -import net.minecraft.client.renderer.WorldRenderer;  
16 -import net.minecraft.client.resources.I18n;  
17 -import net.minecraft.util.ResourceLocation;  
18 -  
19 import org.lwjgl.input.Keyboard; 10 import org.lwjgl.input.Keyboard;
20 import org.lwjgl.input.Mouse; 11 import org.lwjgl.input.Mouse;
21 12
@@ -35,6 +26,16 @@ import com.mumfrey.liteloader.modconfig.ConfigManager; @@ -35,6 +26,16 @@ import com.mumfrey.liteloader.modconfig.ConfigManager;
35 import com.mumfrey.liteloader.modconfig.ConfigPanel; 26 import com.mumfrey.liteloader.modconfig.ConfigPanel;
36 import com.mumfrey.liteloader.util.render.Icon; 27 import com.mumfrey.liteloader.util.render.Icon;
37 28
  29 +import net.minecraft.client.Minecraft;
  30 +import net.minecraft.client.gui.FontRenderer;
  31 +import net.minecraft.client.gui.GuiButton;
  32 +import net.minecraft.client.gui.GuiMainMenu;
  33 +import net.minecraft.client.gui.GuiScreen;
  34 +import net.minecraft.client.renderer.Tessellator;
  35 +import net.minecraft.client.renderer.WorldRenderer;
  36 +import net.minecraft.client.resources.I18n;
  37 +import net.minecraft.util.ResourceLocation;
  38 +
38 /** 39 /**
39 * GUI screen which displays info about loaded mods and also allows them to be 40 * 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 * enabled and disabled. An instance of this class is created every time the
@@ -280,7 +281,6 @@ public class GuiLiteLoaderPanel extends GuiScreen @@ -280,7 +281,6 @@ public class GuiLiteLoaderPanel extends GuiScreen
280 /* (non-Javadoc) 281 /* (non-Javadoc)
281 * @see net.minecraft.client.gui.GuiScreen#initGui() 282 * @see net.minecraft.client.gui.GuiScreen#initGui()
282 */ 283 */
283 - @SuppressWarnings("unchecked")  
284 @Override 284 @Override
285 public void initGui() 285 public void initGui()
286 { 286 {
@@ -791,11 +791,11 @@ public class GuiLiteLoaderPanel extends GuiScreen @@ -791,11 +791,11 @@ public class GuiLiteLoaderPanel extends GuiScreen
791 791
792 Tessellator tessellator = Tessellator.getInstance(); 792 Tessellator tessellator = Tessellator.getInstance();
793 WorldRenderer worldRenderer = tessellator.getWorldRenderer(); 793 WorldRenderer worldRenderer = tessellator.getWorldRenderer();
794 - worldRenderer.startDrawingQuads();  
795 - worldRenderer.addVertexWithUV(x + 0, y + height, 0, u , v2);  
796 - worldRenderer.addVertexWithUV(x + width, y + height, 0, u2, v2);  
797 - worldRenderer.addVertexWithUV(x + width, y + 0, 0, u2, v );  
798 - worldRenderer.addVertexWithUV(x + 0, y + 0, 0, u , v ); 794 + worldRenderer.begin(GL_QUADS, POSITION_TEX);
  795 + worldRenderer.pos(x + 0, y + height, 0).tex(u , v2).endVertex();
  796 + worldRenderer.pos(x + width, y + height, 0).tex(u2, v2).endVertex();
  797 + worldRenderer.pos(x + width, y + 0, 0).tex(u2, v ).endVertex();
  798 + worldRenderer.pos(x + 0, y + 0, 0).tex(u , v ).endVertex();
799 tessellator.draw(); 799 tessellator.draw();
800 800
801 glDisableBlend(); 801 glDisableBlend();
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelLiteLoaderLog.java
@@ -98,7 +98,7 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent @@ -98,7 +98,7 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent
98 98
99 this.chkScale.checked = GuiPanelLiteLoaderLog.useNativeRes; 99 this.chkScale.checked = GuiPanelLiteLoaderLog.useNativeRes;
100 100
101 - ScaledResolution res = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); 101 + ScaledResolution res = new ScaledResolution(this.mc);
102 this.guiScale = res.getScaleFactor(); 102 this.guiScale = res.getScaleFactor();
103 103
104 this.scrollPane.setSizeAndPosition(MARGIN, TOP, this.width - (MARGIN * 2), this.height - TOP - BOTTOM); 104 this.scrollPane.setSizeAndPosition(MARGIN, TOP, this.width - (MARGIN * 2), this.height - TOP - BOTTOM);
src/client/java/com/mumfrey/liteloader/client/gui/GuiPanelUpdateCheck.java
@@ -169,7 +169,7 @@ class GuiPanelUpdateCheck extends GuiPanel @@ -169,7 +169,7 @@ class GuiPanelUpdateCheck extends GuiPanel
169 { 169 {
170 this.updateForced = true; 170 this.updateForced = true;
171 this.parentScreen.setToggleable(false); 171 this.parentScreen.setToggleable(false);
172 - ScaledResolution sr = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); 172 + ScaledResolution sr = new ScaledResolution(this.mc);
173 this.parentScreen.setWorldAndResolution(this.mc, sr.getScaledWidth(), sr.getScaledHeight()); 173 this.parentScreen.setWorldAndResolution(this.mc, sr.getScaledWidth(), sr.getScaledHeight());
174 } 174 }
175 else 175 else
src/client/java/com/mumfrey/liteloader/client/gui/startup/LoadingBar.java
1 package com.mumfrey.liteloader.client.gui.startup; 1 package com.mumfrey.liteloader.client.gui.startup;
2 2
3 import static com.mumfrey.liteloader.gl.GL.*; 3 import static com.mumfrey.liteloader.gl.GL.*;
  4 +import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.*;
4 5
5 import java.awt.image.BufferedImage; 6 import java.awt.image.BufferedImage;
6 import java.io.IOException; 7 import java.io.IOException;
@@ -218,7 +219,7 @@ public class LoadingBar extends LoadingProgress @@ -218,7 +219,7 @@ public class LoadingBar extends LoadingProgress
218 } 219 }
219 } 220 }
220 221
221 - ScaledResolution scaledResolution = new ScaledResolution(this.minecraft, this.minecraft.displayWidth, this.minecraft.displayHeight); 222 + ScaledResolution scaledResolution = new ScaledResolution(this.minecraft);
222 int scaleFactor = scaledResolution.getScaleFactor(); 223 int scaleFactor = scaledResolution.getScaleFactor();
223 int scaledWidth = scaledResolution.getScaledWidth(); 224 int scaledWidth = scaledResolution.getScaledWidth();
224 int scaledHeight = scaledResolution.getScaledHeight(); 225 int scaledHeight = scaledResolution.getScaledHeight();
@@ -255,12 +256,12 @@ public class LoadingBar extends LoadingProgress @@ -255,12 +256,12 @@ public class LoadingBar extends LoadingProgress
255 this.textureManager.bindTexture(this.textureLocation); 256 this.textureManager.bindTexture(this.textureLocation);
256 Tessellator tessellator = Tessellator.getInstance(); 257 Tessellator tessellator = Tessellator.getInstance();
257 WorldRenderer worldRenderer = tessellator.getWorldRenderer(); 258 WorldRenderer worldRenderer = tessellator.getWorldRenderer();
258 - worldRenderer.startDrawingQuads();  
259 - worldRenderer.setColorOpaque_I(0xFFFFFFFF); // TODO OBF MCPTEST func_178991_c - setColorOpaque_I  
260 - worldRenderer.addVertexWithUV(0.0D, scaledHeight, 0.0D, 0.0D, 0.0D);  
261 - worldRenderer.addVertexWithUV(scaledWidth, scaledHeight, 0.0D, 0.0D, 0.0D);  
262 - worldRenderer.addVertexWithUV(scaledWidth, 0.0D, 0.0D, 0.0D, 0.0D);  
263 - worldRenderer.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D); 259 + worldRenderer.begin(GL_QUADS, POSITION);
  260 + glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  261 + worldRenderer.pos(0.0D, scaledHeight, 0.0D).endVertex();
  262 + worldRenderer.pos(scaledWidth, scaledHeight, 0.0D).endVertex();
  263 + worldRenderer.pos(scaledWidth, 0.0D, 0.0D).endVertex();
  264 + worldRenderer.pos(0.0D, 0.0D, 0.0D).endVertex();
264 tessellator.draw(); 265 tessellator.draw();
265 266
266 glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 267 glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
@@ -273,12 +274,11 @@ public class LoadingBar extends LoadingProgress @@ -273,12 +274,11 @@ public class LoadingBar extends LoadingProgress
273 int v2 = 256; 274 int v2 = 256;
274 275
275 float texMapScale = 0.00390625F; 276 float texMapScale = 0.00390625F;
276 - worldRenderer.startDrawingQuads();  
277 - worldRenderer.setColorOpaque_I(0xFFFFFFFF); // TODO OBF MCPTEST func_178991_c - setColorOpaque_I  
278 - worldRenderer.addVertexWithUV(left + 0, top + v2, 0.0D, (u1 + 0) * texMapScale, (v1 + v2) * texMapScale);  
279 - worldRenderer.addVertexWithUV(left + u2, top + v2, 0.0D, (u1 + u2) * texMapScale, (v1 + v2) * texMapScale);  
280 - worldRenderer.addVertexWithUV(left + u2, top + 0, 0.0D, (u1 + u2) * texMapScale, (v1 + 0) * texMapScale);  
281 - worldRenderer.addVertexWithUV(left + 0, top + 0, 0.0D, (u1 + 0) * texMapScale, (v1 + 0) * texMapScale); 277 + worldRenderer.begin(GL_QUADS, POSITION_TEX);
  278 + worldRenderer.pos(left + 0, top + v2, 0.0D).tex((u1 + 0) * texMapScale, (v1 + v2) * texMapScale).endVertex();
  279 + worldRenderer.pos(left + u2, top + v2, 0.0D).tex((u1 + u2) * texMapScale, (v1 + v2) * texMapScale).endVertex();
  280 + worldRenderer.pos(left + u2, top + 0, 0.0D).tex((u1 + u2) * texMapScale, (v1 + 0) * texMapScale).endVertex();
  281 + worldRenderer.pos(left + 0, top + 0, 0.0D).tex((u1 + 0) * texMapScale, (v1 + 0) * texMapScale).endVertex();
282 tessellator.draw(); 282 tessellator.draw();
283 283
284 glEnableTexture2D(); 284 glEnableTexture2D();
@@ -319,23 +319,25 @@ public class LoadingBar extends LoadingProgress @@ -319,23 +319,25 @@ public class LoadingBar extends LoadingProgress
319 // tessellator.addVertex(0.0D, scaledHeight - (scaledHeight / 3), 0.0D); 319 // tessellator.addVertex(0.0D, scaledHeight - (scaledHeight / 3), 0.0D);
320 // tessellator.draw(); 320 // tessellator.draw();
321 321
322 - worldRenderer.startDrawingQuads();  
323 - worldRenderer.setColorRGBA(this.barLuma, this.barLuma, this.barLuma, 128); // TODO OBF MCPTEST func_178961_b - setColorRGBA  
324 - worldRenderer.addVertex(0.0D, scaledHeight, 0.0D);  
325 - worldRenderer.addVertex(0.0D + scaledWidth, scaledHeight, 0.0D);  
326 - worldRenderer.addVertex(0.0D + scaledWidth, scaledHeight - barHeight, 0.0D);  
327 - worldRenderer.addVertex(0.0D, scaledHeight - barHeight, 0.0D); 322 + worldRenderer.begin(GL_QUADS, POSITION);
  323 + float luma = this.barLuma / 255.0F;
  324 + glColor4f(luma, luma, luma, 0.5F);
  325 + worldRenderer.pos(0.0D, scaledHeight, 0.0D).endVertex();
  326 + worldRenderer.pos(0.0D + scaledWidth, scaledHeight, 0.0D).endVertex();
  327 + worldRenderer.pos(0.0D + scaledWidth, scaledHeight - barHeight, 0.0D).endVertex();
  328 + worldRenderer.pos(0.0D, scaledHeight - barHeight, 0.0D).endVertex();
328 tessellator.draw(); 329 tessellator.draw();
329 330
330 barHeight -= 1; 331 barHeight -= 1;
331 332
332 - worldRenderer.startDrawingQuads();  
333 - worldRenderer.setColorRGBA(this.r2, this.g2, this.b2, 255); // TODO OBF MCPTEST func_178961_b - setColorRGBA  
334 - worldRenderer.addVertex(1.0D + barWidth * progress, scaledHeight - 1, 1.0D);  
335 - worldRenderer.addVertex(1.0D + barWidth * progress, scaledHeight - barHeight, 1.0D);  
336 - worldRenderer.setColorRGBA(0, 0, 0, 255); // TODO OBF MCPTEST func_178961_b - setColorRGBA  
337 - worldRenderer.addVertex(1.0D, scaledHeight - barHeight, 1.0D);  
338 - worldRenderer.addVertex(1.0D, scaledHeight - 1, 1.0D); 333 + worldRenderer.begin(GL_QUADS, POSITION_COLOR);
  334 + float r2 = this.r2 / 255.0F;
  335 + float g2 = this.g2 / 255.0F;
  336 + float b2 = this.b2 / 255.0F;
  337 + worldRenderer.pos(1.0D + barWidth * progress, scaledHeight - 1, 1.0D).color(r2, g2, b2, 1.0F).endVertex();
  338 + worldRenderer.pos(1.0D + barWidth * progress, scaledHeight - barHeight, 1.0D).color(r2, g2, b2, 1.0F).endVertex();
  339 + worldRenderer.pos(1.0D, scaledHeight - barHeight, 1.0D).color(0.0F, 0.0F, 0.0F, 1.0F).endVertex();
  340 + worldRenderer.pos(1.0D, scaledHeight - 1, 1.0D).color(0.0F, 0.0F, 0.0F, 1.0F).endVertex();
339 tessellator.draw(); 341 tessellator.draw();
340 342
341 glAlphaFunc(GL_GREATER, 0.1F); 343 glAlphaFunc(GL_GREATER, 0.1F);
@@ -349,7 +351,7 @@ public class LoadingBar extends LoadingProgress @@ -349,7 +351,7 @@ public class LoadingBar extends LoadingProgress
349 glAlphaFunc(GL_GREATER, 0.1F); 351 glAlphaFunc(GL_GREATER, 0.1F);
350 // glFlush(); 352 // glFlush();
351 353
352 - this.minecraft.updateDisplay(); // TODO OBF MCPTEST updateDisplay - func_175601_h 354 + this.minecraft.updateDisplay();
353 } 355 }
354 356
355 private void renderLogTail(int yPos) 357 private void renderLogTail(int yPos)
src/client/java/com/mumfrey/liteloader/client/mixin/MixinEntityRenderer.java
1 package com.mumfrey.liteloader.client.mixin; 1 package com.mumfrey.liteloader.client.mixin;
2 2
3 import org.spongepowered.asm.mixin.Mixin; 3 import org.spongepowered.asm.mixin.Mixin;
  4 +import org.spongepowered.asm.mixin.Shadow;
4 import org.spongepowered.asm.mixin.injection.At; 5 import org.spongepowered.asm.mixin.injection.At;
5 -import org.spongepowered.asm.mixin.injection.Inject;  
6 import org.spongepowered.asm.mixin.injection.At.Shift; 6 import org.spongepowered.asm.mixin.injection.At.Shift;
  7 +import org.spongepowered.asm.mixin.injection.Inject;
7 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 8 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
8 9
9 import com.mumfrey.liteloader.client.ClientProxy; 10 import com.mumfrey.liteloader.client.ClientProxy;
  11 +import com.mumfrey.liteloader.client.overlays.IEntityRenderer;
10 12
11 import net.minecraft.client.renderer.EntityRenderer; 13 import net.minecraft.client.renderer.EntityRenderer;
12 import net.minecraft.client.renderer.RenderGlobal; 14 import net.minecraft.client.renderer.RenderGlobal;
  15 +import net.minecraft.util.ResourceLocation;
13 16
14 @Mixin(EntityRenderer.class) 17 @Mixin(EntityRenderer.class)
15 -public abstract class MixinEntityRenderer 18 +public abstract class MixinEntityRenderer implements IEntityRenderer
16 { 19 {
17 - @Inject(method = "updateCameraAndRender(F)V", at = @At( 20 + @Shadow private static ResourceLocation[] shaderResourceLocations;
  21 + @Shadow private boolean useShader;
  22 + @Shadow private int shaderIndex;
  23 +
  24 + @Shadow abstract void loadShader(ResourceLocation resourceLocationIn);
  25 + @Shadow abstract float getFOVModifier(float partialTicks, boolean useFOVSetting);
  26 + @Shadow abstract void setupCameraTransform(float partialTicks, int pass);
  27 +
  28 + @Inject(method = "updateCameraAndRender(FJ)V", at = @At(
18 value = "INVOKE", 29 value = "INVOKE",
19 shift = Shift.AFTER, 30 shift = Shift.AFTER,
20 target = "Lnet/minecraft/client/renderer/GlStateManager;clear(I)V" 31 target = "Lnet/minecraft/client/renderer/GlStateManager;clear(I)V"
21 )) 32 ))
22 - private void onPreRenderGUI(float partialTicks, CallbackInfo ci) 33 + private void onPreRenderGUI(float partialTicks, long nanoTime, CallbackInfo ci)
23 { 34 {
24 ClientProxy.preRenderGUI(partialTicks); 35 ClientProxy.preRenderGUI(partialTicks);
25 } 36 }
26 37
27 - @Inject(method = "updateCameraAndRender(F)V", at = @At( 38 + @Inject(method = "updateCameraAndRender(FJ)V", at = @At(
28 value = "INVOKE", 39 value = "INVOKE",
29 target = "Lnet/minecraft/client/gui/GuiIngame;renderGameOverlay(F)V" 40 target = "Lnet/minecraft/client/gui/GuiIngame;renderGameOverlay(F)V"
30 )) 41 ))
31 - private void onRenderHUD(float partialTicks, CallbackInfo ci) 42 + private void onRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci)
32 { 43 {
33 ClientProxy.onRenderHUD(partialTicks); 44 ClientProxy.onRenderHUD(partialTicks);
34 } 45 }
35 46
36 - @Inject(method = "updateCameraAndRender(F)V", at = @At( 47 + @Inject(method = "updateCameraAndRender(FJ)V", at = @At(
37 value = "INVOKE", 48 value = "INVOKE",
38 shift = Shift.AFTER, 49 shift = Shift.AFTER,
39 target = "Lnet/minecraft/client/gui/GuiIngame;renderGameOverlay(F)V" 50 target = "Lnet/minecraft/client/gui/GuiIngame;renderGameOverlay(F)V"
40 )) 51 ))
41 - private void onPostRenderHUD(float partialTicks, CallbackInfo ci) 52 + private void onPostRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci)
42 { 53 {
43 ClientProxy.postRenderHUD(partialTicks); 54 ClientProxy.postRenderHUD(partialTicks);
44 } 55 }
@@ -112,4 +123,53 @@ public abstract class MixinEntityRenderer @@ -112,4 +123,53 @@ public abstract class MixinEntityRenderer
112 { 123 {
113 ClientProxy.onRenderClouds(renderGlobalIn, partialTicks, pass); 124 ClientProxy.onRenderClouds(renderGlobalIn, partialTicks, pass);
114 } 125 }
  126 +
  127 + @Override
  128 + public boolean getUseShader()
  129 + {
  130 + return this.useShader;
  131 + }
  132 +
  133 + @Override
  134 + public void setUseShader(boolean useShader)
  135 + {
  136 + this.useShader = useShader;
  137 + }
  138 +
  139 + @Override
  140 + public ResourceLocation[] getShaders()
  141 + {
  142 + return MixinEntityRenderer.shaderResourceLocations;
  143 + }
  144 +
  145 + @Override
  146 + public int getShaderIndex()
  147 + {
  148 + return this.shaderIndex;
  149 + }
  150 +
  151 + @Override
  152 + public void setShaderIndex(int shaderIndex)
  153 + {
  154 + this.shaderIndex = shaderIndex;
  155 + }
  156 +
  157 + @Override
  158 + public void selectShader(ResourceLocation shader)
  159 + {
  160 + this.loadShader(shader);
  161 + }
  162 +
  163 + @Override
  164 + public float getFOV(float partialTicks, boolean useFOVSetting)
  165 + {
  166 + return this.getFOVModifier(partialTicks, useFOVSetting);
  167 + }
  168 +
  169 + @Override
  170 + public void setupCamera(float partialTicks, int pass)
  171 + {
  172 + this.setupCameraTransform(partialTicks, pass);
  173 + }
  174 +
115 } 175 }
src/client/java/com/mumfrey/liteloader/client/mixin/MixinGuiTextField.java 0 โ†’ 100644
  1 +/*
  2 + * This file is part of LiteLoader.
  3 + * Copyright (C) 2012-16 Adam Mummery-Smith
  4 + * All Rights Reserved.
  5 + */
  6 +package com.mumfrey.liteloader.client.mixin;
  7 +
  8 +import org.spongepowered.asm.mixin.Final;
  9 +import org.spongepowered.asm.mixin.Mixin;
  10 +import org.spongepowered.asm.mixin.Mutable;
  11 +import org.spongepowered.asm.mixin.Shadow;
  12 +
  13 +import com.mumfrey.liteloader.client.overlays.IGuiTextField;
  14 +
  15 +import net.minecraft.client.gui.GuiTextField;
  16 +
  17 +@Mixin(GuiTextField.class)
  18 +public abstract class MixinGuiTextField implements IGuiTextField
  19 +{
  20 + @Shadow @Final @Mutable private int width;
  21 + @Shadow @Final @Mutable private int height;
  22 + @Shadow public int xPosition;
  23 + @Shadow public int yPosition;
  24 + @Shadow private int lineScrollOffset;
  25 + @Shadow private int enabledColor;
  26 + @Shadow private int disabledColor;
  27 + @Shadow private boolean isEnabled;
  28 +
  29 + @Override
  30 + public int getXPosition()
  31 + {
  32 + return this.xPosition;
  33 + }
  34 +
  35 + @Override
  36 + public void setXPosition(int xPosition)
  37 + {
  38 + this.xPosition = xPosition;
  39 + }
  40 +
  41 + @Override
  42 + public int getYPosition()
  43 + {
  44 + return this.yPosition;
  45 + }
  46 +
  47 + @Override
  48 + public void setYPosition(int yPosition)
  49 + {
  50 + this.yPosition = yPosition;
  51 + }
  52 +
  53 + @Override
  54 + public int getInternalWidth()
  55 + {
  56 + return this.width;
  57 +
  58 + }
  59 +
  60 + @Override
  61 + public void setInternalWidth(int width)
  62 + {
  63 + this.width = width;
  64 + }
  65 +
  66 + @Override
  67 + public int getHeight()
  68 + {
  69 + return this.height;
  70 + }
  71 +
  72 + @Override
  73 + public void setHeight(int height)
  74 + {
  75 + this.height = height;
  76 + }
  77 +
  78 + @Override
  79 + public boolean isEnabled()
  80 + {
  81 + return this.isEnabled;
  82 + }
  83 +
  84 + @Override
  85 + public int getLineScrollOffset()
  86 + {
  87 + return this.lineScrollOffset;
  88 + }
  89 +
  90 + @Override
  91 + public int getTextColor()
  92 + {
  93 + return this.enabledColor;
  94 + }
  95 +
  96 + @Override
  97 + public int getDisabledTextColour()
  98 + {
  99 + return this.disabledColor;
  100 + }
  101 +
  102 +}
src/client/java/com/mumfrey/liteloader/client/mixin/MixinMinecraft.java
1 package com.mumfrey.liteloader.client.mixin; 1 package com.mumfrey.liteloader.client.mixin;
2 2
  3 +import java.util.List;
  4 +
  5 +import org.spongepowered.asm.mixin.Final;
3 import org.spongepowered.asm.mixin.Mixin; 6 import org.spongepowered.asm.mixin.Mixin;
  7 +import org.spongepowered.asm.mixin.Shadow;
4 import org.spongepowered.asm.mixin.injection.At; 8 import org.spongepowered.asm.mixin.injection.At;
5 import org.spongepowered.asm.mixin.injection.At.Shift; 9 import org.spongepowered.asm.mixin.injection.At.Shift;
6 import org.spongepowered.asm.mixin.injection.Inject; 10 import org.spongepowered.asm.mixin.injection.Inject;
@@ -8,14 +12,25 @@ import org.spongepowered.asm.mixin.injection.Redirect; @@ -8,14 +12,25 @@ import org.spongepowered.asm.mixin.injection.Redirect;
8 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
9 13
10 import com.mumfrey.liteloader.client.ClientProxy; 14 import com.mumfrey.liteloader.client.ClientProxy;
  15 +import com.mumfrey.liteloader.client.overlays.IMinecraft;
11 16
12 import net.minecraft.client.Minecraft; 17 import net.minecraft.client.Minecraft;
13 import net.minecraft.client.renderer.OpenGlHelper; 18 import net.minecraft.client.renderer.OpenGlHelper;
  19 +import net.minecraft.client.resources.IResourcePack;
14 import net.minecraft.client.shader.Framebuffer; 20 import net.minecraft.client.shader.Framebuffer;
  21 +import net.minecraft.util.Timer;
15 22
16 @Mixin(Minecraft.class) 23 @Mixin(Minecraft.class)
17 -public abstract class MixinMinecraft 24 +public abstract class MixinMinecraft implements IMinecraft
18 { 25 {
  26 + @Shadow private Timer timer;
  27 + @Shadow volatile boolean running;
  28 + @Shadow @Final private List<IResourcePack> defaultResourcePacks;
  29 + @Shadow private String serverName;
  30 + @Shadow private int serverPort;
  31 +
  32 + @Shadow abstract void resize(int width, int height);
  33 +
19 @Inject(method = "startGame()V", at = @At("RETURN")) 34 @Inject(method = "startGame()V", at = @At("RETURN"))
20 private void onStartupComplete(CallbackInfo ci) 35 private void onStartupComplete(CallbackInfo ci)
21 { 36 {
@@ -37,7 +52,7 @@ public abstract class MixinMinecraft @@ -37,7 +52,7 @@ public abstract class MixinMinecraft
37 @Inject(method = "runGameLoop()V", at = @At( 52 @Inject(method = "runGameLoop()V", at = @At(
38 value = "INVOKE", 53 value = "INVOKE",
39 shift = Shift.AFTER, 54 shift = Shift.AFTER,
40 - target = "Lnet/minecraft/client/renderer/EntityRenderer;updateCameraAndRender(F)V" 55 + target = "Lnet/minecraft/client/renderer/EntityRenderer;updateCameraAndRender(FJ)V"
41 )) 56 ))
42 private void onTick(CallbackInfo ci) 57 private void onTick(CallbackInfo ci)
43 { 58 {
@@ -82,4 +97,41 @@ public abstract class MixinMinecraft @@ -82,4 +97,41 @@ public abstract class MixinMinecraft
82 { 97 {
83 ClientProxy.onRender(); 98 ClientProxy.onRender();
84 } 99 }
  100 +
  101 + @Override
  102 + public Timer getTimer()
  103 + {
  104 + return this.timer;
  105 + }
  106 +
  107 + @Override
  108 + public boolean isRunning()
  109 + {
  110 + return this.running;
  111 + }
  112 +
  113 + @Override
  114 + public List<IResourcePack> getDefaultResourcePacks()
  115 + {
  116 + return this.defaultResourcePacks;
  117 + }
  118 +
  119 + @Override
  120 + public String getServerName()
  121 + {
  122 + return this.serverName;
  123 + }
  124 +
  125 + @Override
  126 + public int getServerPort()
  127 + {
  128 + return this.serverPort;
  129 + }
  130 +
  131 + @Override
  132 + public void onResizeWindow(int width, int height)
  133 + {
  134 + this.resize(width, height);
  135 + }
  136 +
85 } 137 }
src/client/java/com/mumfrey/liteloader/client/mixin/MixinObjectIntIdentityMap.java
@@ -11,10 +11,10 @@ import com.mumfrey.liteloader.client.ducks.IObjectIntIdentityMap; @@ -11,10 +11,10 @@ import com.mumfrey.liteloader.client.ducks.IObjectIntIdentityMap;
11 import net.minecraft.util.ObjectIntIdentityMap; 11 import net.minecraft.util.ObjectIntIdentityMap;
12 12
13 @Mixin(ObjectIntIdentityMap.class) 13 @Mixin(ObjectIntIdentityMap.class)
14 -public abstract class MixinObjectIntIdentityMap implements IObjectIntIdentityMap 14 +public abstract class MixinObjectIntIdentityMap<T> implements IObjectIntIdentityMap
15 { 15 {
16 - @Shadow private IdentityHashMap<?, Integer> identityMap;  
17 - @Shadow private List<?> objectList; 16 + @Shadow private IdentityHashMap<T, Integer> identityMap;
  17 + @Shadow private List<T> objectList;
18 18
19 @SuppressWarnings("unchecked") 19 @SuppressWarnings("unchecked")
20 @Override 20 @Override
src/client/java/com/mumfrey/liteloader/client/mixin/MixinRealmsMainScreen.java
@@ -4,7 +4,6 @@ import org.spongepowered.asm.mixin.Mixin; @@ -4,7 +4,6 @@ import org.spongepowered.asm.mixin.Mixin;
4 import org.spongepowered.asm.mixin.injection.At; 4 import org.spongepowered.asm.mixin.injection.At;
5 import org.spongepowered.asm.mixin.injection.Inject; 5 import org.spongepowered.asm.mixin.injection.Inject;
6 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 6 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
7 -import org.spongepowered.asm.mixin.injection.callback.LocalCapture;  
8 7
9 import com.mojang.realmsclient.RealmsMainScreen; 8 import com.mojang.realmsclient.RealmsMainScreen;
10 import com.mojang.realmsclient.dto.RealmsServer; 9 import com.mojang.realmsclient.dto.RealmsServer;
@@ -15,12 +14,9 @@ import net.minecraft.realms.RealmsScreen; @@ -15,12 +14,9 @@ import net.minecraft.realms.RealmsScreen;
15 @Mixin(value = RealmsMainScreen.class, remap = false) 14 @Mixin(value = RealmsMainScreen.class, remap = false)
16 public abstract class MixinRealmsMainScreen extends RealmsScreen 15 public abstract class MixinRealmsMainScreen extends RealmsScreen
17 { 16 {
18 - @Inject(method = "play(J)V", locals = LocalCapture.CAPTURE_FAILSOFT, at = @At(  
19 - value = "INVOKE",  
20 - target = "Lcom/mojang/realmsclient/RealmsMainScreen;stopRealmsFetcherAndPinger()V"  
21 - ))  
22 - private void onJoinRealm(long serverId, CallbackInfo ci, RealmsServer server) 17 + @Inject(method = "play(Lcom/mojang/realmsclient/dto/RealmsServer;)V", at = @At("HEAD"))
  18 + private void onJoinRealm(RealmsServer server, CallbackInfo ci)
23 { 19 {
24 - PacketEventsClient.onJoinRealm(serverId, server); 20 + PacketEventsClient.onJoinRealm(server);
25 } 21 }
26 } 22 }
src/client/java/com/mumfrey/liteloader/client/mixin/MixinRegistryNamespaced.java
@@ -11,9 +11,9 @@ import net.minecraft.util.RegistryNamespaced; @@ -11,9 +11,9 @@ import net.minecraft.util.RegistryNamespaced;
11 import net.minecraft.util.RegistrySimple; 11 import net.minecraft.util.RegistrySimple;
12 12
13 @Mixin(RegistryNamespaced.class) 13 @Mixin(RegistryNamespaced.class)
14 -public abstract class MixinRegistryNamespaced extends RegistrySimple implements INamespacedRegistry 14 +public abstract class MixinRegistryNamespaced<K, V> extends RegistrySimple<K, V> implements INamespacedRegistry
15 { 15 {
16 - @Shadow protected ObjectIntIdentityMap underlyingIntegerMap; 16 + @Shadow protected ObjectIntIdentityMap<V> underlyingIntegerMap;
17 17
18 @Override 18 @Override
19 public IObjectIntIdentityMap getUnderlyingMap() 19 public IObjectIntIdentityMap getUnderlyingMap()
src/client/java/com/mumfrey/liteloader/client/mixin/MixinRegistrySimple.java
@@ -10,14 +10,13 @@ import com.mumfrey.liteloader.client.ducks.IRegistrySimple; @@ -10,14 +10,13 @@ import com.mumfrey.liteloader.client.ducks.IRegistrySimple;
10 import net.minecraft.util.RegistrySimple; 10 import net.minecraft.util.RegistrySimple;
11 11
12 @Mixin(RegistrySimple.class) 12 @Mixin(RegistrySimple.class)
13 -public abstract class MixinRegistrySimple implements IRegistrySimple 13 +public abstract class MixinRegistrySimple<K, V> implements IRegistrySimple<K, V>
14 { 14 {
15 - @Shadow protected Map<?, ?> registryObjects; 15 + @Shadow protected Map<K, V> registryObjects;
16 16
17 - @SuppressWarnings("unchecked")  
18 @Override 17 @Override
19 - public <K, V> Map<K, V> getRegistryObjects() 18 + public Map<K, V> getRegistryObjects()
20 { 19 {
21 - return (Map<K, V>)this.registryObjects; 20 + return this.registryObjects;
22 } 21 }
23 } 22 }
src/client/java/com/mumfrey/liteloader/client/mixin/MixinRenderManager.java
@@ -17,10 +17,10 @@ import net.minecraft.entity.Entity; @@ -17,10 +17,10 @@ import net.minecraft.entity.Entity;
17 @Mixin(RenderManager.class) 17 @Mixin(RenderManager.class)
18 public abstract class MixinRenderManager implements IRenderManager 18 public abstract class MixinRenderManager implements IRenderManager
19 { 19 {
20 - @Shadow private Map<Class<? extends Entity>, Render> entityRenderMap; 20 + @Shadow private Map<Class<? extends Entity>, Render<? extends Entity>> entityRenderMap;
21 21
22 @Override 22 @Override
23 - public Map<Class<? extends Entity>, Render> getRenderMap() 23 + public Map<Class<? extends Entity>, Render<? extends Entity>> getRenderMap()
24 { 24 {
25 return this.entityRenderMap; 25 return this.entityRenderMap;
26 } 26 }
@@ -29,7 +29,7 @@ public abstract class MixinRenderManager implements IRenderManager @@ -29,7 +29,7 @@ public abstract class MixinRenderManager implements IRenderManager
29 value = "INVOKE", 29 value = "INVOKE",
30 target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V" 30 target = "Lnet/minecraft/client/renderer/entity/Render;doRender(Lnet/minecraft/entity/Entity;DDDFF)V"
31 )) 31 ))
32 - private void onRenderEntity(Render render, Entity entity, double x, double y, double z, float entityYaw, float partialTicks) 32 + private <T extends Entity> void onRenderEntity(Render<T> render, T entity, double x, double y, double z, float entityYaw, float partialTicks)
33 { 33 {
34 RenderManager source = (RenderManager)(Object)this; 34 RenderManager source = (RenderManager)(Object)this;
35 ClientProxy.onRenderEntity(source, render, entity, x, y, z, entityYaw, partialTicks); 35 ClientProxy.onRenderEntity(source, render, entity, x, y, z, entityYaw, partialTicks);
src/client/java/com/mumfrey/liteloader/client/mixin/MixinSoundHandler.java 0 โ†’ 100644
  1 +/*
  2 + * This file is part of LiteLoader.
  3 + * Copyright (C) 2012-16 Adam Mummery-Smith
  4 + * All Rights Reserved.
  5 + */
  6 +package com.mumfrey.liteloader.client.mixin;
  7 +
  8 +import org.spongepowered.asm.mixin.Mixin;
  9 +import org.spongepowered.asm.mixin.Shadow;
  10 +
  11 +import com.mumfrey.liteloader.client.overlays.ISoundHandler;
  12 +
  13 +import net.minecraft.client.audio.SoundHandler;
  14 +import net.minecraft.client.audio.SoundList;
  15 +import net.minecraft.util.ResourceLocation;
  16 +
  17 +@Mixin(SoundHandler.class)
  18 +public abstract class MixinSoundHandler implements ISoundHandler
  19 +{
  20 +
  21 + @Shadow abstract void loadSoundResource(ResourceLocation location, SoundList sounds);
  22 +
  23 + @Override
  24 + public void addSound(ResourceLocation sound, SoundList soundList)
  25 + {
  26 + this.loadSoundResource(sound, soundList);
  27 + }
  28 +
  29 +}
src/client/java/com/mumfrey/liteloader/client/mixin/MixinTileEntityRendererDispatcher.java
@@ -14,10 +14,10 @@ import net.minecraft.tileentity.TileEntity; @@ -14,10 +14,10 @@ import net.minecraft.tileentity.TileEntity;
14 @Mixin(TileEntityRendererDispatcher.class) 14 @Mixin(TileEntityRendererDispatcher.class)
15 public abstract class MixinTileEntityRendererDispatcher implements ITileEntityRendererDispatcher 15 public abstract class MixinTileEntityRendererDispatcher implements ITileEntityRendererDispatcher
16 { 16 {
17 - @Shadow private Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> mapSpecialRenderers; 17 + @Shadow private Map<Class<? extends TileEntity>, TileEntitySpecialRenderer<? extends TileEntity>> mapSpecialRenderers;
18 18
19 @Override 19 @Override
20 - public Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> getSpecialRenderMap() 20 + public Map<Class<? extends TileEntity>, TileEntitySpecialRenderer<? extends TileEntity>> getSpecialRenderMap()
21 { 21 {
22 return this.mapSpecialRenderers; 22 return this.mapSpecialRenderers;
23 } 23 }
src/client/java/com/mumfrey/liteloader/client/overlays/IEntityRenderer.java
@@ -2,28 +2,24 @@ package com.mumfrey.liteloader.client.overlays; @@ -2,28 +2,24 @@ package com.mumfrey.liteloader.client.overlays;
2 2
3 import net.minecraft.util.ResourceLocation; 3 import net.minecraft.util.ResourceLocation;
4 4
5 -import com.mumfrey.liteloader.transformers.access.Accessor;  
6 -import com.mumfrey.liteloader.transformers.access.Invoker;  
7 -  
8 /** 5 /**
9 * Adapter for EntityRenderer to expose some private functionality 6 * Adapter for EntityRenderer to expose some private functionality
10 * 7 *
11 * @author Adam Mummery-Smith 8 * @author Adam Mummery-Smith
12 */ 9 */
13 -@Accessor("EntityRenderer")  
14 public interface IEntityRenderer 10 public interface IEntityRenderer
15 { 11 {
16 - @Accessor("useShader") public abstract boolean getUseShader();  
17 - @Accessor("useShader") public abstract void setUseShader(boolean useShader); 12 + public abstract boolean getUseShader();
  13 + public abstract void setUseShader(boolean useShader);
18 14
19 - @Accessor("shaderResourceLocations") public abstract ResourceLocation[] getShaders(); 15 + public abstract ResourceLocation[] getShaders();
20 16
21 - @Accessor("shaderIndex") public abstract int getShaderIndex();  
22 - @Accessor("shaderIndex") public abstract void setShaderIndex(int shaderIndex); 17 + public abstract int getShaderIndex();
  18 + public abstract void setShaderIndex(int shaderIndex);
23 19
24 - @Invoker("loadShader") public abstract void selectShader(ResourceLocation shader); 20 + public abstract void selectShader(ResourceLocation shader);
25 21
26 - @Invoker("getFOVModifier") public abstract float getFOV(float partialTicks, boolean armFOV); 22 + public abstract float getFOV(float partialTicks, boolean armFOV);
27 23
28 - @Invoker("setupCameraTransform") public abstract void setupCamera(float partialTicks, int pass); 24 + public abstract void setupCamera(float partialTicks, int pass);
29 } 25 }
src/client/java/com/mumfrey/liteloader/client/overlays/IGuiTextField.java
1 package com.mumfrey.liteloader.client.overlays; 1 package com.mumfrey.liteloader.client.overlays;
2 2
3 -import com.mumfrey.liteloader.transformers.access.Accessor;  
4 -  
5 /** 3 /**
6 * Adapter for GuiTextField to expose internal properties, mainly to allow 4 * Adapter for GuiTextField to expose internal properties, mainly to allow
7 * sensible subclassing. 5 * sensible subclassing.
8 * 6 *
9 * @author Adam Mummery-Smith 7 * @author Adam Mummery-Smith
10 */ 8 */
11 -@Accessor("GuiTextField")  
12 public interface IGuiTextField 9 public interface IGuiTextField
13 { 10 {
14 - @Accessor("#2") public abstract int getXPosition();  
15 - @Accessor("#2") public abstract void setXPosition(int xPosition);  
16 -  
17 - @Accessor("#3") public abstract int getYPosition();  
18 - @Accessor("#3") public abstract void setYPosition(int yPosition);  
19 -  
20 - @Accessor("#4") public abstract int getInternalWidth();  
21 - @Accessor("#4") public abstract void setInternalWidth(int width);  
22 -  
23 - @Accessor("#5") public abstract int getHeight();  
24 - @Accessor("#5") public abstract void setHeight(int height);  
25 -  
26 - @Accessor("#12") public abstract boolean isEnabled();  
27 -// @Accessor("#12") public abstract void setEnabled(boolean enabled); // built in  
28 -  
29 - @Accessor("#13") public abstract int getLineScrollOffset();  
30 -  
31 - @Accessor("#16") public abstract int getTextColor();  
32 -// @Accessor("#16") public abstract void setTextColor(int color); // built in  
33 -  
34 - @Accessor("#17") public abstract int getDisabledTextColour();  
35 -// @Accessor("#17") public abstract void setDisabledTextColour(int color); // built in 11 + public abstract int getXPosition();
  12 + public abstract void setXPosition(int xPosition);
  13 + public abstract int getYPosition();
  14 + public abstract void setYPosition(int yPosition);
  15 + public abstract int getInternalWidth();
  16 + public abstract void setInternalWidth(int width);
  17 + public abstract int getHeight();
  18 + public abstract void setHeight(int height);
  19 + public abstract boolean isEnabled();
  20 + public abstract int getLineScrollOffset();
  21 + public abstract int getTextColor();
  22 + public abstract int getDisabledTextColour();
  23 +
36 } 24 }
src/client/java/com/mumfrey/liteloader/client/overlays/IMinecraft.java
@@ -5,48 +5,36 @@ import java.util.List; @@ -5,48 +5,36 @@ import java.util.List;
5 import net.minecraft.client.resources.IResourcePack; 5 import net.minecraft.client.resources.IResourcePack;
6 import net.minecraft.util.Timer; 6 import net.minecraft.util.Timer;
7 7
8 -import com.mumfrey.liteloader.core.runtime.Obf;  
9 -import com.mumfrey.liteloader.transformers.access.Accessor;  
10 -import com.mumfrey.liteloader.transformers.access.Invoker;  
11 -import com.mumfrey.liteloader.transformers.access.ObfTableClass;  
12 -  
13 /** 8 /**
14 * Interface containing injected accessors for Minecraft 9 * Interface containing injected accessors for Minecraft
15 * 10 *
16 * @author Adam Mummery-Smith 11 * @author Adam Mummery-Smith
17 */ 12 */
18 -@ObfTableClass(Obf.class)  
19 -@Accessor("Minecraft")  
20 public interface IMinecraft 13 public interface IMinecraft
21 { 14 {
22 /** 15 /**
23 * Get the timer instance 16 * Get the timer instance
24 */ 17 */
25 - @Accessor("timer")  
26 public abstract Timer getTimer(); 18 public abstract Timer getTimer();
27 19
28 /** 20 /**
29 * Get the "running" flag 21 * Get the "running" flag
30 */ 22 */
31 - @Accessor("running")  
32 public abstract boolean isRunning(); 23 public abstract boolean isRunning();
33 24
34 /** 25 /**
35 * Get the default resource packs set 26 * Get the default resource packs set
36 */ 27 */
37 - @Accessor("defaultResourcePacks")  
38 public abstract List<IResourcePack> getDefaultResourcePacks(); 28 public abstract List<IResourcePack> getDefaultResourcePacks();
39 29
40 /** 30 /**
41 * Get the current server address (from connection) 31 * Get the current server address (from connection)
42 */ 32 */
43 - @Accessor("serverName")  
44 public abstract String getServerName(); 33 public abstract String getServerName();
45 34
46 /** 35 /**
47 * Get the current server port (from connection) 36 * Get the current server port (from connection)
48 */ 37 */
49 - @Accessor("serverPort")  
50 public abstract int getServerPort(); 38 public abstract int getServerPort();
51 39
52 /** 40 /**
@@ -55,6 +43,6 @@ public interface IMinecraft @@ -55,6 +43,6 @@ public interface IMinecraft
55 * @param width 43 * @param width
56 * @param height 44 * @param height
57 */ 45 */
58 - @Invoker("resize")  
59 public abstract void onResizeWindow(int width, int height); 46 public abstract void onResizeWindow(int width, int height);
  47 +
60 } 48 }
src/client/java/com/mumfrey/liteloader/client/overlays/ISoundHandler.java
@@ -3,12 +3,7 @@ package com.mumfrey.liteloader.client.overlays; @@ -3,12 +3,7 @@ package com.mumfrey.liteloader.client.overlays;
3 import net.minecraft.client.audio.SoundList; 3 import net.minecraft.client.audio.SoundList;
4 import net.minecraft.util.ResourceLocation; 4 import net.minecraft.util.ResourceLocation;
5 5
6 -import com.mumfrey.liteloader.transformers.access.Accessor;  
7 -import com.mumfrey.liteloader.transformers.access.Invoker;  
8 -  
9 -@Accessor("SoundHandler")  
10 public interface ISoundHandler 6 public interface ISoundHandler
11 { 7 {
12 - @Invoker("loadSoundResource")  
13 public abstract void addSound(ResourceLocation sound, SoundList soundList); 8 public abstract void addSound(ResourceLocation sound, SoundList soundList);
14 } 9 }
src/client/java/com/mumfrey/liteloader/client/transformers/MinecraftTransformer.java
@@ -13,27 +13,19 @@ import org.objectweb.asm.tree.TypeInsnNode; @@ -13,27 +13,19 @@ import org.objectweb.asm.tree.TypeInsnNode;
13 13
14 import com.mumfrey.liteloader.core.runtime.Obf; 14 import com.mumfrey.liteloader.core.runtime.Obf;
15 import com.mumfrey.liteloader.launch.LiteLoaderTweaker; 15 import com.mumfrey.liteloader.launch.LiteLoaderTweaker;
16 -import com.mumfrey.liteloader.transformers.access.AccessorTransformer; 16 +import com.mumfrey.liteloader.transformers.ClassTransformer;
17 import com.mumfrey.liteloader.util.log.LiteLoaderLogger; 17 import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
18 18
19 -public class MinecraftTransformer extends AccessorTransformer 19 +public class MinecraftTransformer extends ClassTransformer
20 { 20 {
21 private static final String TWEAKCLASS = LiteLoaderTweaker.class.getName().replace('.', '/'); 21 private static final String TWEAKCLASS = LiteLoaderTweaker.class.getName().replace('.', '/');
22 -  
23 - @Override  
24 - protected void addAccessors()  
25 - {  
26 - this.addAccessor(Obf.IMinecraft.name);  
27 - this.addAccessor(Obf.IGuiTextField.name);  
28 - this.addAccessor(Obf.IEntityRenderer.name);  
29 - this.addAccessor(Obf.ISoundHandler.name);  
30 - }  
31 - 22 +
32 @Override 23 @Override
33 - protected void postTransform(String name, String transformedName, ClassNode classNode) 24 + public byte[] transform(String name, String transformedName, byte[] basicClass)
34 { 25 {
35 if ((Obf.Minecraft.name.equals(transformedName) || Obf.Minecraft.obf.equals(transformedName))) 26 if ((Obf.Minecraft.name.equals(transformedName) || Obf.Minecraft.obf.equals(transformedName)))
36 { 27 {
  28 + ClassNode classNode = this.readClass(basicClass, true);
37 for (MethodNode method : classNode.methods) 29 for (MethodNode method : classNode.methods)
38 { 30 {
39 if (Obf.startGame.obf.equals(method.name) || Obf.startGame.srg.equals(method.name) || Obf.startGame.name.equals(method.name)) 31 if (Obf.startGame.obf.equals(method.name) || Obf.startGame.srg.equals(method.name) || Obf.startGame.name.equals(method.name))
@@ -41,9 +33,12 @@ public class MinecraftTransformer extends AccessorTransformer @@ -41,9 +33,12 @@ public class MinecraftTransformer extends AccessorTransformer
41 this.transformStartGame(method); 33 this.transformStartGame(method);
42 } 34 }
43 } 35 }
  36 + return this.writeClass(classNode);
44 } 37 }
  38 + return basicClass;
45 } 39 }
46 40
  41 +
47 private void transformStartGame(MethodNode method) 42 private void transformStartGame(MethodNode method)
48 { 43 {
49 InsnList insns = new InsnList(); 44 InsnList insns = new InsnList();
src/client/java/com/mumfrey/liteloader/gl/GL.java
@@ -855,12 +855,12 @@ public class GL @@ -855,12 +855,12 @@ public class GL
855 855
856 public static void glEnableLight(int light) 856 public static void glEnableLight(int light)
857 { 857 {
858 - GlStateManager.enableLight(light); // TODO OBF MCPTEST enableBooleanStateAt - enableLight 858 + GlStateManager.enableLight(light);
859 } 859 }
860 860
861 public static void glDisableLight(int light) 861 public static void glDisableLight(int light)
862 { 862 {
863 - GlStateManager.disableLight(light); // TODO OBF MCPTEST disableBooleanStateAt - disableLight 863 + GlStateManager.disableLight(light);
864 } 864 }
865 865
866 public static void glLight(int light, int pname, FloatBuffer params) 866 public static void glLight(int light, int pname, FloatBuffer params)
@@ -1040,7 +1040,7 @@ public class GL @@ -1040,7 +1040,7 @@ public class GL
1040 1040
1041 public static void glTexGen(TexGen tex, int pname, FloatBuffer params) 1041 public static void glTexGen(TexGen tex, int pname, FloatBuffer params)
1042 { 1042 {
1043 - GlStateManager.func_179105_a(tex, pname, params); 1043 + GlStateManager.texGen(tex, pname, params);
1044 } 1044 }
1045 1045
1046 public static void glSetActiveTextureUnit(int texture) 1046 public static void glSetActiveTextureUnit(int texture)
@@ -1050,27 +1050,27 @@ public class GL @@ -1050,27 +1050,27 @@ public class GL
1050 1050
1051 public static void glEnableTexture2D() 1051 public static void glEnableTexture2D()
1052 { 1052 {
1053 - GlStateManager.enableTexture2D(); // TODO OBF MCPTEST func_179098_w - enableTexture2D 1053 + GlStateManager.enableTexture2D();
1054 } 1054 }
1055 1055
1056 public static void glDisableTexture2D() 1056 public static void glDisableTexture2D()
1057 { 1057 {
1058 - GlStateManager.disableTexture2D(); // TODO OBF MCPTEST func_179090_x - disableTexture2D 1058 + GlStateManager.disableTexture2D();
1059 } 1059 }
1060 1060
1061 public static int glGenTextures() 1061 public static int glGenTextures()
1062 { 1062 {
1063 - return GlStateManager.generateTexture(); // TODO OBF MCPTEST func_179146_y - generateTexture 1063 + return GlStateManager.generateTexture();
1064 } 1064 }
1065 1065
1066 public static void glDeleteTextures(int textureName) 1066 public static void glDeleteTextures(int textureName)
1067 { 1067 {
1068 - GlStateManager.deleteTexture(textureName); // TODO OBF MCPTEST func_179150_h - deleteTexture 1068 + GlStateManager.deleteTexture(textureName);
1069 } 1069 }
1070 1070
1071 public static void glBindTexture2D(int textureName) 1071 public static void glBindTexture2D(int textureName)
1072 { 1072 {
1073 - GlStateManager.bindTexture(textureName); // TODO OBF MCPTEST func_179144_i - bindTexture 1073 + GlStateManager.bindTexture(textureName);
1074 } 1074 }
1075 1075
1076 public static void glEnableNormalize() 1076 public static void glEnableNormalize()
src/client/java/com/mumfrey/liteloader/resources/InternalResourcePack.java
@@ -94,7 +94,7 @@ public class InternalResourcePack implements IResourcePack @@ -94,7 +94,7 @@ public class InternalResourcePack implements IResourcePack
94 * java.lang.String) 94 * java.lang.String)
95 */ 95 */
96 @Override 96 @Override
97 - public IMetadataSection getPackMetadata(IMetadataSerializer par1MetadataSerializer, String par2Str) throws IOException 97 + public <T extends IMetadataSection> T getPackMetadata(IMetadataSerializer par1MetadataSerializer, String par2Str) throws IOException
98 { 98 {
99 return null; 99 return null;
100 } 100 }
src/client/java/com/mumfrey/liteloader/resources/ModResourcePack.java
@@ -35,7 +35,7 @@ public class ModResourcePack extends FileResourcePack @@ -35,7 +35,7 @@ public class ModResourcePack extends FileResourcePack
35 * java.lang.String) 35 * java.lang.String)
36 */ 36 */
37 @Override 37 @Override
38 - public IMetadataSection getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException 38 + public <T extends IMetadataSection> T getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException
39 { 39 {
40 try 40 try
41 { 41 {
src/client/java/com/mumfrey/liteloader/resources/ModResourcePackDir.java
@@ -35,7 +35,7 @@ public class ModResourcePackDir extends FolderResourcePack @@ -35,7 +35,7 @@ public class ModResourcePackDir extends FolderResourcePack
35 * java.lang.String) 35 * java.lang.String)
36 */ 36 */
37 @Override 37 @Override
38 - public IMetadataSection getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException 38 + public <T extends IMetadataSection> T getPackMetadata(IMetadataSerializer metadataSerializer, String metadataSectionName) throws IOException
39 { 39 {
40 try 40 try
41 { 41 {
src/client/java/com/mumfrey/liteloader/util/ModUtilities.java
@@ -65,11 +65,11 @@ public abstract class ModUtilities @@ -65,11 +65,11 @@ public abstract class ModUtilities
65 * @param entityClass 65 * @param entityClass
66 * @param renderer 66 * @param renderer
67 */ 67 */
68 - public static void addRenderer(Class<? extends Entity> entityClass, Render renderer) 68 + public static <T extends Entity> void addRenderer(Class<T> entityClass, Render<T> renderer)
69 { 69 {
70 RenderManager renderManager = Minecraft.getMinecraft().getRenderManager(); 70 RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();
71 71
72 - Map<Class<? extends Entity>, Render> entityRenderMap = ((IRenderManager)renderManager).getRenderMap(); 72 + Map<Class<? extends Entity>, Render<? extends Entity>> entityRenderMap = ((IRenderManager)renderManager).getRenderMap();
73 if (entityRenderMap != null) 73 if (entityRenderMap != null)
74 { 74 {
75 entityRenderMap.put(entityClass, renderer); 75 entityRenderMap.put(entityClass, renderer);
@@ -81,13 +81,13 @@ public abstract class ModUtilities @@ -81,13 +81,13 @@ public abstract class ModUtilities
81 } 81 }
82 } 82 }
83 83
84 - public static void addRenderer(Class<? extends TileEntity> tileEntityClass, TileEntitySpecialRenderer renderer) 84 + public static <T extends TileEntity> void addRenderer(Class<T> tileEntityClass, TileEntitySpecialRenderer<T> renderer)
85 { 85 {
86 TileEntityRendererDispatcher tileEntityRenderer = TileEntityRendererDispatcher.instance; 86 TileEntityRendererDispatcher tileEntityRenderer = TileEntityRendererDispatcher.instance;
87 87
88 try 88 try
89 { 89 {
90 - Map<Class<? extends TileEntity>, TileEntitySpecialRenderer> specialRendererMap 90 + Map<Class<? extends TileEntity>, TileEntitySpecialRenderer<? extends TileEntity>> specialRendererMap
91 = ((ITileEntityRendererDispatcher)tileEntityRenderer).getSpecialRenderMap(); 91 = ((ITileEntityRendererDispatcher)tileEntityRenderer).getSpecialRenderMap();
92 specialRendererMap.put(tileEntityClass, renderer); 92 specialRendererMap.put(tileEntityClass, renderer);
93 renderer.setRendererDispatcher(tileEntityRenderer); 93 renderer.setRendererDispatcher(tileEntityRenderer);
@@ -109,7 +109,7 @@ public abstract class ModUtilities @@ -109,7 +109,7 @@ public abstract class ModUtilities
109 */ 109 */
110 public static void addBlock(int blockId, ResourceLocation blockName, Block block, boolean force) 110 public static void addBlock(int blockId, ResourceLocation blockName, Block block, boolean force)
111 { 111 {
112 - Block existingBlock = (Block)Block.blockRegistry.getObject(blockName); 112 + Block existingBlock = Block.blockRegistry.getObject(blockName);
113 113
114 try 114 try
115 { 115 {
@@ -157,7 +157,7 @@ public abstract class ModUtilities @@ -157,7 +157,7 @@ public abstract class ModUtilities
157 */ 157 */
158 public static void addItem(int itemId, ResourceLocation itemName, Item item, boolean force) 158 public static void addItem(int itemId, ResourceLocation itemName, Item item, boolean force)
159 { 159 {
160 - Item existingItem = (Item)Item.itemRegistry.getObject(itemName); 160 + Item existingItem = Item.itemRegistry.getObject(itemName);
161 161
162 try 162 try
163 { 163 {
@@ -208,7 +208,7 @@ public abstract class ModUtilities @@ -208,7 +208,7 @@ public abstract class ModUtilities
208 } 208 }
209 } 209 }
210 210
211 - private static <K, V> V removeObjectFromRegistry(RegistrySimple registry, K key) 211 + private static <K, V> V removeObjectFromRegistry(RegistrySimple<K, V> registry, K key)
212 { 212 {
213 if (registry == null) return null; 213 if (registry == null) return null;
214 214
@@ -219,7 +219,8 @@ public abstract class ModUtilities @@ -219,7 +219,8 @@ public abstract class ModUtilities
219 underlyingIntegerMap = ((INamespacedRegistry)registry).getUnderlyingMap(); 219 underlyingIntegerMap = ((INamespacedRegistry)registry).getUnderlyingMap();
220 } 220 }
221 221
222 - Map<K, V> registryObjects = ((IRegistrySimple)registry).<K, V>getRegistryObjects(); 222 + @SuppressWarnings("unchecked")
  223 + Map<K, V> registryObjects = ((IRegistrySimple<K, V>)registry).getRegistryObjects();
223 if (registryObjects != null) 224 if (registryObjects != null)
224 { 225 {
225 V existingValue = registryObjects.get(key); 226 V existingValue = registryObjects.get(key);
src/client/resources/mixins.liteloader.client.json
1 { 1 {
2 "required": true, 2 "required": true,
3 - "minVersion": "0.4.10", 3 + "minVersion": "0.5.3",
4 "package": "com.mumfrey.liteloader.client.mixin", 4 "package": "com.mumfrey.liteloader.client.mixin",
5 "refmap": "mixins.liteloader.client.refmap.json", 5 "refmap": "mixins.liteloader.client.refmap.json",
6 "mixins": [ 6 "mixins": [
@@ -18,6 +18,11 @@ @@ -18,6 +18,11 @@
18 "MixinRegistrySimple", 18 "MixinRegistrySimple",
19 "MixinRegistryNamespaced", 19 "MixinRegistryNamespaced",
20 "MixinTileEntityRendererDispatcher", 20 "MixinTileEntityRendererDispatcher",
21 - "MixinSimpleReloadableResourceManager"  
22 - ] 21 + "MixinSimpleReloadableResourceManager",
  22 + "MixinSoundHandler",
  23 + "MixinGuiTextField"
  24 + ],
  25 + "injectors": {
  26 + "defaultRequire": 1
  27 + }
23 } 28 }
24 \ No newline at end of file 29 \ No newline at end of file
src/debug/resources/obfuscation.properties deleted 100644 โ†’ 0
1 -field_71424_I=mcProfiler  
2 -field_78729_o=entityRenderMap  
3 -field_110546_b=reloadListeners  
4 -field_147393_d=networkManager  
5 -field_82596_a=registryObjects  
6 -field_148759_a=underlyingIntegerMap  
7 -field_148749_a=identityMap  
8 -field_148748_b=objectList  
9 -field_147559_m=mapSpecialRenderers  
10 -field_145855_i=nameToClassMap  
11 -field_145853_j=classToNameMap  
12 -field_71428_T=timer  
13 -field_71424_I=mcProfiler  
14 -field_71425_J=running  
15 -field_110449_ao=defaultResourcePacks  
16 -field_71475_ae=serverName  
17 -field_71477_af=serverPort  
18 -field_147712_ad=shaderResourceLocations  
19 -field_147713_ae=shaderIndex  
20 -field_175083_ad=useShader  
21 -field_149528_b=view  
22 -field_70163_u=posY  
23 -field_148919_a=chatComponent  
24 -func_148833_a=processPacket  
25 -func_71411_J=runGameLoop  
26 -func_71407_l=runTick  
27 -func_78480_b=updateCameraAndRender  
28 -func_78471_a=renderWorld  
29 -func_175180_a=renderGameOverlay  
30 -func_76320_a=startSection  
31 -func_76319_b=endSection  
32 -func_76318_c=endStartSection  
33 -func_148545_a=createPlayerForUser  
34 -func_72368_a=recreatePlayerEntity  
35 -func_72355_a=initializeConnectionToPlayer  
36 -func_72377_c=playerLoggedIn  
37 -func_72367_e=playerLoggedOut  
38 -func_71384_a=startGame  
39 -func_71197_b=startServer  
40 -func_71256_s=startServerThread  
41 -func_71165_d=sendChatMessage  
42 -func_147119_ah=updateFramebufferSize  
43 -func_147615_c=framebufferRender  
44 -func_178038_a=framebufferRenderExt  
45 -func_147612_c=bindFramebufferTexture  
46 -func_146230_a=drawChat  
47 -func_179086_m=clear  
48 -func_175068_a=renderWorldPass  
49 -func_148256_e=getProfile  
50 -func_148260_a=saveScreenshot  
51 -func_148822_b=isFramebufferEnabled  
52 -func_147939_a=doRenderEntity  
53 -func_76986_a=doRender  
54 -func_71370_a=resize  
55 -func_175069_a=loadShader  
56 -func_78481_a=getFOVModifier  
57 -func_78479_a=setupCameraTransform  
58 -func_147693_a=loadSoundResource  
59 -func_180784_a=onBlockClicked  
60 -func_180236_a=activateBlockOrUseItem  
61 -func_147346_a=processPlayerBlockPlacement  
62 -func_175087_a=handleAnimation  
63 -func_147345_a=processPlayerDigging  
64 -func_71190_q=updateTimeLightAndEntities  
65 -func_180031_a=checkThreadAndEnqueue  
66 -func_147347_a=processPlayer  
67 -func_174976_a=renderSky  
68 -func_180437_a=renderCloudsCheck  
69 -func_78468_a=setupFog  
70 \ No newline at end of file 0 \ No newline at end of file
src/main/java/com/mumfrey/liteloader/PacketHandler.java
@@ -15,7 +15,7 @@ public interface PacketHandler extends LiteMod @@ -15,7 +15,7 @@ public interface PacketHandler extends LiteMod
15 /** 15 /**
16 * Get list of packets to handle 16 * Get list of packets to handle
17 */ 17 */
18 - public List<Class<? extends Packet>> getHandledPackets(); 18 + public List<Class<? extends Packet<?>>> getHandledPackets();
19 19
20 /** 20 /**
21 * @param netHandler The vanilla nethandler which will handle this packet if 21 * @param netHandler The vanilla nethandler which will handle this packet if
@@ -28,5 +28,5 @@ public interface PacketHandler extends LiteMod @@ -28,5 +28,5 @@ public interface PacketHandler extends LiteMod
28 * if you wish to inhibit later PacketHandlers but preserve vanilla 28 * if you wish to inhibit later PacketHandlers but preserve vanilla
29 * behaviour. 29 * behaviour.
30 */ 30 */
31 - public abstract boolean handlePacket(INetHandler netHandler, Packet packet); 31 + public abstract boolean handlePacket(INetHandler netHandler, Packet<?> packet);
32 } 32 }
src/main/java/com/mumfrey/liteloader/common/transformers/PacketEventInfo.java
@@ -4,7 +4,7 @@ import com.mumfrey.liteloader.transformers.event.EventInfo; @@ -4,7 +4,7 @@ import com.mumfrey.liteloader.transformers.event.EventInfo;
4 4
5 import net.minecraft.network.Packet; 5 import net.minecraft.network.Packet;
6 6
7 -public class PacketEventInfo<S extends Packet> extends EventInfo<S> 7 +public class PacketEventInfo<S extends Packet<?>> extends EventInfo<S>
8 { 8 {
9 private final int packetId; 9 private final int packetId;
10 10
src/main/java/com/mumfrey/liteloader/core/LiteLoaderEventBroker.java
@@ -30,6 +30,7 @@ import net.minecraft.network.NetworkManager; @@ -30,6 +30,7 @@ import net.minecraft.network.NetworkManager;
30 import net.minecraft.network.play.client.C03PacketPlayer; 30 import net.minecraft.network.play.client.C03PacketPlayer;
31 import net.minecraft.network.play.client.C15PacketClientSettings; 31 import net.minecraft.network.play.client.C15PacketClientSettings;
32 import net.minecraft.network.play.server.S08PacketPlayerPosLook; 32 import net.minecraft.network.play.server.S08PacketPlayerPosLook;
  33 +import net.minecraft.network.play.server.S08PacketPlayerPosLook.EnumFlags;
33 import net.minecraft.network.play.server.S23PacketBlockChange; 34 import net.minecraft.network.play.server.S23PacketBlockChange;
34 import net.minecraft.profiler.Profiler; 35 import net.minecraft.profiler.Profiler;
35 import net.minecraft.server.MinecraftServer; 36 import net.minecraft.server.MinecraftServer;
@@ -488,7 +489,7 @@ public abstract class LiteLoaderEventBroker&lt;TClient, TServer extends MinecraftSe @@ -488,7 +489,7 @@ public abstract class LiteLoaderEventBroker&lt;TClient, TServer extends MinecraftSe
488 { 489 {
489 playerMP.setPositionAndRotation(from.xCoord, from.yCoord, from.zCoord, playerMP.prevRotationYaw, playerMP.prevRotationPitch); 490 playerMP.setPositionAndRotation(from.xCoord, from.yCoord, from.zCoord, playerMP.prevRotationYaw, playerMP.prevRotationPitch);
490 playerMP.playerNetServerHandler.sendPacket(new S08PacketPlayerPosLook(from.xCoord, from.yCoord, from.zCoord, 491 playerMP.playerNetServerHandler.sendPacket(new S08PacketPlayerPosLook(from.xCoord, from.yCoord, from.zCoord,
491 - playerMP.prevRotationYaw, playerMP.prevRotationPitch, Collections.emptySet())); 492 + playerMP.prevRotationYaw, playerMP.prevRotationPitch, Collections.<EnumFlags>emptySet()));
492 return false; 493 return false;
493 } 494 }
494 495
src/main/java/com/mumfrey/liteloader/core/LiteLoaderVersion.java
@@ -38,12 +38,13 @@ public enum LiteLoaderVersion @@ -38,12 +38,13 @@ public enum LiteLoaderVersion
38 MC_1_7_10_R2(29, 1405369406, "1.7.10", "1.7.10_02", "1.7.10"), 38 MC_1_7_10_R2(29, 1405369406, "1.7.10", "1.7.10_02", "1.7.10"),
39 MC_1_7_10_R3(30, 1407687918, "1.7.10", "1.7.10_03", "1.7.10", "1.7.10_03"), 39 MC_1_7_10_R3(30, 1407687918, "1.7.10", "1.7.10_03", "1.7.10", "1.7.10_03"),
40 MC_1_7_10_R4(31, 1414368553, "1.7.10", "1.7.10_04", "1.7.10", "1.7.10_03", "1.7.10_04"), 40 MC_1_7_10_R4(31, 1414368553, "1.7.10", "1.7.10_04", "1.7.10", "1.7.10_03", "1.7.10_04"),
41 - MC_1_8_0_R0(32, 0, "1.8", "1.8.0", "1.8", "1.8.0"); 41 + MC_1_8_0_R0(32, 0, "1.8", "1.8.0", "1.8", "1.8.0"),
  42 + MC_1_8_9_R0(34, 0, "1.8.9", "1.8.9", "1.8.9", "1.8.9");
42 43
43 /** 44 /**
44 * Current loader version 45 * Current loader version
45 */ 46 */
46 - public static final LiteLoaderVersion CURRENT = LiteLoaderVersion.MC_1_8_0_R0; 47 + public static final LiteLoaderVersion CURRENT = LiteLoaderVersion.MC_1_8_9_R0;
47 48
48 private static final LiteLoaderUpdateSite updateSite = new LiteLoaderUpdateSite(LiteLoaderVersion.CURRENT.getMinecraftVersion(), 49 private static final LiteLoaderUpdateSite updateSite = new LiteLoaderUpdateSite(LiteLoaderVersion.CURRENT.getMinecraftVersion(),
49 LiteLoaderVersion.CURRENT.getReleaseTimestamp()); 50 LiteLoaderVersion.CURRENT.getReleaseTimestamp());
src/main/java/com/mumfrey/liteloader/core/PacketEvents.java
@@ -108,10 +108,10 @@ public abstract class PacketEvents implements InterfaceProvider @@ -108,10 +108,10 @@ public abstract class PacketEvents implements InterfaceProvider
108 */ 108 */
109 public void registerPacketHandler(PacketHandler handler) 109 public void registerPacketHandler(PacketHandler handler)
110 { 110 {
111 - List<Class<? extends Packet>> handledPackets = handler.getHandledPackets(); 111 + List<Class<? extends Packet<?>>> handledPackets = handler.getHandledPackets();
112 if (handledPackets != null) 112 if (handledPackets != null)
113 { 113 {
114 - for (Class<? extends Packet> packetClass : handledPackets) 114 + for (Class<? extends Packet<?>> packetClass : handledPackets)
115 { 115 {
116 String packetClassName = packetClass.getName(); 116 String packetClassName = packetClass.getName();
117 int packetId = Packets.indexOf(packetClassName); 117 int packetId = Packets.indexOf(packetClassName);
@@ -138,12 +138,12 @@ public abstract class PacketEvents implements InterfaceProvider @@ -138,12 +138,12 @@ public abstract class PacketEvents implements InterfaceProvider
138 * @param e 138 * @param e
139 * @param netHandler 139 * @param netHandler
140 */ 140 */
141 - public static void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler) 141 + public static void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler)
142 { 142 {
143 PacketEvents.instance.handlePacket(e, netHandler, e.getPacketId()); 143 PacketEvents.instance.handlePacket(e, netHandler, e.getPacketId());
144 } 144 }
145 145
146 - private void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) 146 + private void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, int packetId)
147 { 147 {
148 Packets packetInfo = Packets.packets[e.getPacketId()]; 148 Packets packetInfo = Packets.packets[e.getPacketId()];
149 IThreadListener threadListener = this.getPacketContextListener(packetInfo.getContext()); 149 IThreadListener threadListener = this.getPacketContextListener(packetInfo.getContext());
@@ -176,9 +176,9 @@ public abstract class PacketEvents implements InterfaceProvider @@ -176,9 +176,9 @@ public abstract class PacketEvents implements InterfaceProvider
176 * @param netHandler 176 * @param netHandler
177 * @param packetId 177 * @param packetId
178 */ 178 */
179 - protected void handleAsyncPacketEvent(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) 179 + protected void handleAsyncPacketEvent(PacketEventInfo<Packet<?>> e, INetHandler netHandler, int packetId)
180 { 180 {
181 - Packet packet = e.getSource(); 181 + Packet<?> packet = e.getSource();
182 182
183 if (packetId == this.loginSuccessPacketId) 183 if (packetId == this.loginSuccessPacketId)
184 { 184 {
@@ -193,9 +193,9 @@ public abstract class PacketEvents implements InterfaceProvider @@ -193,9 +193,9 @@ public abstract class PacketEvents implements InterfaceProvider
193 * @return true if the packet was handled by a local handler and shouldn't 193 * @return true if the packet was handled by a local handler and shouldn't
194 * be forwarded to later handlers 194 * be forwarded to later handlers
195 */ 195 */
196 - protected boolean handlePacketEvent(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) 196 + protected boolean handlePacketEvent(PacketEventInfo<Packet<?>> e, INetHandler netHandler, int packetId)
197 { 197 {
198 - Packet packet = e.getSource(); 198 + Packet<?> packet = e.getSource();
199 199
200 if (packetId == this.serverChatPacketId) 200 if (packetId == this.serverChatPacketId)
201 { 201 {
@@ -241,7 +241,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -241,7 +241,7 @@ public abstract class PacketEvents implements InterfaceProvider
241 * @param netHandler 241 * @param netHandler
242 * @param packet 242 * @param packet
243 */ 243 */
244 - protected abstract void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketLoginSuccess packet); 244 + protected abstract void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S02PacketLoginSuccess packet);
245 245
246 /** 246 /**
247 * S02PacketChat::processPacket() 247 * S02PacketChat::processPacket()
@@ -249,7 +249,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -249,7 +249,7 @@ public abstract class PacketEvents implements InterfaceProvider
249 * @param netHandler 249 * @param netHandler
250 * @param packet 250 * @param packet
251 */ 251 */
252 - protected abstract void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S02PacketChat packet); 252 + protected abstract void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S02PacketChat packet);
253 253
254 /** 254 /**
255 * S02PacketChat::processPacket() 255 * S02PacketChat::processPacket()
@@ -257,7 +257,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -257,7 +257,7 @@ public abstract class PacketEvents implements InterfaceProvider
257 * @param netHandler 257 * @param netHandler
258 * @param packet 258 * @param packet
259 */ 259 */
260 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, C01PacketChatMessage packet) 260 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, C01PacketChatMessage packet)
261 { 261 {
262 EntityPlayerMP player = netHandler instanceof NetHandlerPlayServer ? ((NetHandlerPlayServer)netHandler).playerEntity : null; 262 EntityPlayerMP player = netHandler instanceof NetHandlerPlayServer ? ((NetHandlerPlayServer)netHandler).playerEntity : null;
263 263
@@ -273,7 +273,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -273,7 +273,7 @@ public abstract class PacketEvents implements InterfaceProvider
273 * @param netHandler 273 * @param netHandler
274 * @param packet 274 * @param packet
275 */ 275 */
276 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S01PacketJoinGame packet) 276 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S01PacketJoinGame packet)
277 { 277 {
278 this.loader.onJoinGame(netHandler, packet); 278 this.loader.onJoinGame(netHandler, packet);
279 } 279 }
@@ -284,7 +284,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -284,7 +284,7 @@ public abstract class PacketEvents implements InterfaceProvider
284 * @param netHandler 284 * @param netHandler
285 * @param packet 285 * @param packet
286 */ 286 */
287 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, S3FPacketCustomPayload packet) 287 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, S3FPacketCustomPayload packet)
288 { 288 {
289 LiteLoader.getClientPluginChannels().onPluginChannelMessage(packet); 289 LiteLoader.getClientPluginChannels().onPluginChannelMessage(packet);
290 } 290 }
@@ -295,7 +295,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -295,7 +295,7 @@ public abstract class PacketEvents implements InterfaceProvider
295 * @param netHandler 295 * @param netHandler
296 * @param packet 296 * @param packet
297 */ 297 */
298 - protected void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, C17PacketCustomPayload packet) 298 + protected void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, C17PacketCustomPayload packet)
299 { 299 {
300 LiteLoader.getServerPluginChannels().onPluginChannelMessage(netHandler, packet); 300 LiteLoader.getServerPluginChannels().onPluginChannelMessage(netHandler, packet);
301 } 301 }
@@ -307,7 +307,7 @@ public abstract class PacketEvents implements InterfaceProvider @@ -307,7 +307,7 @@ public abstract class PacketEvents implements InterfaceProvider
307 * @param netHandler 307 * @param netHandler
308 * @param packet 308 * @param packet
309 */ 309 */
310 - private void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, C15PacketClientSettings packet) 310 + private void handlePacket(PacketEventInfo<Packet<?>> e, INetHandler netHandler, C15PacketClientSettings packet)
311 { 311 {
312 if (netHandler instanceof NetHandlerPlayServer) 312 if (netHandler instanceof NetHandlerPlayServer)
313 { 313 {
src/main/java/com/mumfrey/liteloader/core/runtime/Methods.java deleted 100644 โ†’ 0
1 -package com.mumfrey.liteloader.core.runtime;  
2 -  
3 -import java.io.File;  
4 -import java.lang.reflect.Field;  
5 -import java.util.HashMap;  
6 -import java.util.Map;  
7 -  
8 -import com.mumfrey.liteloader.transformers.event.MethodInfo;  
9 -  
10 -/**  
11 - *  
12 - * @author Adam Mummery-Smith  
13 - */  
14 -public abstract class Methods  
15 -{  
16 - // CHECKSTYLE:OFF  
17 -  
18 - // Client & General  
19 - @Deprecated public static final MethodInfo startGame = new MethodInfo(Obf.Minecraft, Obf.startGame, Void.TYPE);  
20 - @Deprecated public static final MethodInfo runGameLoop = new MethodInfo(Obf.Minecraft, Obf.runGameLoop, Void.TYPE);  
21 - @Deprecated public static final MethodInfo runTick = new MethodInfo(Obf.Minecraft, Obf.runTick, Void.TYPE);  
22 - @Deprecated public static final MethodInfo updateFramebufferSize = new MethodInfo(Obf.Minecraft, Obf.updateFramebufferSize, Void.TYPE);  
23 - @Deprecated public static final MethodInfo framebufferRender = new MethodInfo(Obf.FrameBuffer, Obf.framebufferRender, Void.TYPE, Integer.TYPE, Integer.TYPE);  
24 - @Deprecated public static final MethodInfo framebufferRenderExt = new MethodInfo(Obf.FrameBuffer, Obf.framebufferRenderExt, Void.TYPE, Integer.TYPE, Integer.TYPE, Boolean.TYPE);  
25 - @Deprecated public static final MethodInfo bindFramebufferTexture = new MethodInfo(Obf.FrameBuffer, Obf.bindFramebufferTexture, Void.TYPE);  
26 - @Deprecated public static final MethodInfo sendChatMessage = new MethodInfo(Obf.EntityPlayerSP, Obf.sendChatMessage, Void.TYPE, String.class);  
27 - @Deprecated public static final MethodInfo renderWorld = new MethodInfo(Obf.EntityRenderer, Obf.renderWorld, Void.TYPE, Float.TYPE, Long.TYPE);  
28 - @Deprecated public static final MethodInfo renderWorldPass = new MethodInfo(Obf.EntityRenderer, Obf.renderWorldPass, Void.TYPE, Integer.TYPE, Float.TYPE, Long.TYPE);  
29 - @Deprecated public static final MethodInfo updateCameraAndRender = new MethodInfo(Obf.EntityRenderer, Obf.updateCameraAndRender, Void.TYPE, Float.TYPE);  
30 - @Deprecated public static final MethodInfo renderGameOverlay = new MethodInfo(Obf.GuiIngame, Obf.renderGameOverlay, Void.TYPE, Float.TYPE);  
31 - @Deprecated public static final MethodInfo drawChat = new MethodInfo(Obf.GuiNewChat, Obf.drawChat, Void.TYPE, Integer.TYPE);  
32 - @Deprecated public static final MethodInfo integratedServerCtor = new MethodInfo(Obf.IntegratedServer, Obf.constructor, Void.TYPE, Obf.Minecraft, String.class, String.class, Obf.WorldSettings);  
33 - @Deprecated public static final MethodInfo initPlayerConnection = new MethodInfo(Obf.ServerConfigurationManager, Obf.initializeConnectionToPlayer, Void.TYPE, Obf.NetworkManager, Obf.EntityPlayerMP);  
34 - @Deprecated public static final MethodInfo playerLoggedIn = new MethodInfo(Obf.ServerConfigurationManager, Obf.playerLoggedIn, Void.TYPE, Obf.EntityPlayerMP);  
35 - @Deprecated public static final MethodInfo playerLoggedOut = new MethodInfo(Obf.ServerConfigurationManager, Obf.playerLoggedOut, Void.TYPE, Obf.EntityPlayerMP);  
36 - @Deprecated public static final MethodInfo spawnPlayer = new MethodInfo(Obf.ServerConfigurationManager, Obf.spawnPlayer, Obf.EntityPlayerMP, Obf.GameProfile);  
37 - @Deprecated public static final MethodInfo respawnPlayer = new MethodInfo(Obf.ServerConfigurationManager, Obf.respawnPlayer, Obf.EntityPlayerMP, Obf.EntityPlayerMP, Integer.TYPE, Boolean.TYPE);  
38 - @Deprecated public static final MethodInfo glClear = new MethodInfo(Obf.GlStateManager, Obf.clear, Void.TYPE, Integer.TYPE);  
39 - @Deprecated public static final MethodInfo getProfile = new MethodInfo(Obf.Session, Obf.getProfile, Obf.GameProfile);  
40 - @Deprecated public static final MethodInfo saveScreenshot = new MethodInfo(Obf.ScreenShotHelper, Obf.saveScreenshot, Obf.IChatComponent, File.class, String.class, Integer.TYPE, Integer.TYPE, Obf.FrameBuffer);  
41 - @Deprecated public static final MethodInfo isFramebufferEnabled = new MethodInfo(Obf.OpenGlHelper, Obf.isFramebufferEnabled, Boolean.TYPE);  
42 - @Deprecated public static final MethodInfo doRenderEntity = new MethodInfo(Obf.RenderManager, Obf.doRenderEntity, Boolean.TYPE, Obf.Entity, Double.TYPE, Double.TYPE, Double.TYPE, Float.TYPE, Float.TYPE, Boolean.TYPE);  
43 - @Deprecated public static final MethodInfo doRender = new MethodInfo(Obf.Render, Obf.doRender, Void.TYPE, Obf.Entity, Double.TYPE, Double.TYPE, Double.TYPE, Float.TYPE, Float.TYPE);  
44 - @Deprecated public static final MethodInfo doRenderShadowAndFire = new MethodInfo(Obf.Render, Obf.doRenderShadowAndFire, Void.TYPE, Obf.Entity, Double.TYPE, Double.TYPE, Double.TYPE, Float.TYPE, Float.TYPE);  
45 - @Deprecated public static final MethodInfo realmsPlay = new MethodInfo(Obf.RealmsMainScreen, "play", Void.TYPE, Long.TYPE);  
46 - @Deprecated public static final MethodInfo realmsStopFetcher = new MethodInfo(Obf.RealmsMainScreen, "stopRealmsFetcherAndPinger", Void.TYPE);  
47 - @Deprecated public static final MethodInfo onBlockClicked = new MethodInfo(Obf.ItemInWorldManager, Obf.onBlockClicked, Void.TYPE, Obf.BlockPos, Obf.EnumFacing);  
48 - @Deprecated public static final MethodInfo activateBlockOrUseItem = new MethodInfo(Obf.ItemInWorldManager, Obf.activateBlockOrUseItem, Boolean.TYPE, Obf.EntityPlayer, Obf.World, Obf.ItemStack, Obf.BlockPos, Obf.EnumFacing, Float.TYPE, Float.TYPE, Float.TYPE);  
49 - @Deprecated public static final MethodInfo processBlockPlacement = new MethodInfo(Obf.NetHandlerPlayServer, Obf.processPlayerBlockPlacement, Void.TYPE, Packets.C08PacketPlayerBlockPlacement);  
50 - @Deprecated public static final MethodInfo handleAnimation = new MethodInfo(Obf.NetHandlerPlayServer, Obf.handleAnimation, Void.TYPE, Packets.C0APacketAnimation);  
51 - @Deprecated public static final MethodInfo processPlayerDigging = new MethodInfo(Obf.NetHandlerPlayServer, Obf.processPlayerDigging, Void.TYPE, Packets.C07PacketPlayerDigging);  
52 - @Deprecated public static final MethodInfo serverJobs = new MethodInfo(Obf.MinecraftServer, Obf.updateTimeLightAndEntities, Void.TYPE);  
53 - @Deprecated public static final MethodInfo checkThreadAndEnqueue = new MethodInfo(Obf.PacketThreadUtil, Obf.checkThreadAndEnqueue);  
54 - @Deprecated public static final MethodInfo processPlayer = new MethodInfo(Obf.NetHandlerPlayServer, Obf.processPlayer, Void.TYPE, Packets.C03PacketPlayer);  
55 - @Deprecated public static final MethodInfo renderSky = new MethodInfo(Obf.RenderGlobal, Obf.renderSky, Void.TYPE, Float.TYPE, Integer.TYPE);  
56 - @Deprecated public static final MethodInfo renderCloudsCheck = new MethodInfo(Obf.EntityRenderer, Obf.renderCloudsCheck, Void.TYPE, Obf.RenderGlobal, Float.TYPE, Integer.TYPE);  
57 - @Deprecated public static final MethodInfo setupFog = new MethodInfo(Obf.EntityRenderer, Obf.setupFog, Void.TYPE, Integer.TYPE, Float.TYPE);  
58 -  
59 - // Profiler  
60 - @Deprecated public static final MethodInfo startSection = new MethodInfo(Obf.Profiler, Obf.startSection, Void.TYPE, String.class);  
61 - @Deprecated public static final MethodInfo endSection = new MethodInfo(Obf.Profiler, Obf.endSection, Void.TYPE);  
62 - @Deprecated public static final MethodInfo endStartSection = new MethodInfo(Obf.Profiler, Obf.endStartSection, Void.TYPE, String.class);  
63 -  
64 - // Dedicated Server  
65 - @Deprecated public static final MethodInfo startServer = new MethodInfo(Obf.DedicatedServer, Obf.startServer, Boolean.TYPE);  
66 - @Deprecated public static final MethodInfo startServerThread = new MethodInfo(Obf.MinecraftServer, Obf.startServerThread, Void.TYPE);  
67 -  
68 - private Methods() {}  
69 -  
70 - private static final Map<String, MethodInfo> methodMap = new HashMap<String, MethodInfo>();  
71 -  
72 - static  
73 - {  
74 - try  
75 - {  
76 - for (Field fd : Methods.class.getFields())  
77 - {  
78 - if (fd.getType().equals(MethodInfo.class))  
79 - {  
80 - Methods.methodMap.put(fd.getName(), (MethodInfo)fd.get(null));  
81 - }  
82 - }  
83 - }  
84 - catch (IllegalAccessException ex) {}  
85 - }  
86 -  
87 - public static MethodInfo getByName(String name)  
88 - {  
89 - return Methods.methodMap.get(name);  
90 - }  
91 -}  
src/main/java/com/mumfrey/liteloader/core/runtime/Obf.java
1 package com.mumfrey.liteloader.core.runtime; 1 package com.mumfrey.liteloader.core.runtime;
2 2
3 -import java.io.IOException;  
4 -import java.io.InputStream; 3 +import java.io.File;
5 import java.lang.reflect.Field; 4 import java.lang.reflect.Field;
6 import java.util.HashMap; 5 import java.util.HashMap;
7 import java.util.Map; 6 import java.util.Map;
8 -import java.util.Properties; 7 +
  8 +import org.spongepowered.asm.obfuscation.SrgField;
  9 +import org.spongepowered.asm.obfuscation.SrgMethod;
9 10
10 /** 11 /**
11 * Centralised obfuscation table for LiteLoader 12 * Centralised obfuscation table for LiteLoader
12 * 13 *
13 * @author Adam Mummery-Smith 14 * @author Adam Mummery-Smith
14 - * TODO Obfuscation 1.8 15 + * TODO Obfuscation 1.8.9
15 */ 16 */
16 public class Obf 17 public class Obf
17 { 18 {
@@ -33,132 +34,31 @@ public class Obf @@ -33,132 +34,31 @@ public class Obf
33 public static final Obf postInit = new Obf("postInit" ); 34 public static final Obf postInit = new Obf("postInit" );
34 public static final Obf constructor = new Obf("<init>" ); 35 public static final Obf constructor = new Obf("<init>" );
35 36
36 - // Overlays and Accessor Interfaces  
37 - // -----------------------------------------------------------------------------------------  
38 - public static final Obf IMinecraft = new Obf("com.mumfrey.liteloader.client.overlays.IMinecraft" );  
39 - public static final Obf IGuiTextField = new Obf("com.mumfrey.liteloader.client.overlays.IGuiTextField" );  
40 - public static final Obf IEntityRenderer = new Obf("com.mumfrey.liteloader.client.overlays.IEntityRenderer" );  
41 - public static final Obf ISoundHandler = new Obf("com.mumfrey.liteloader.client.overlays.ISoundHandler" );  
42 -  
43 // CHECKSTYLE:OFF 37 // CHECKSTYLE:OFF
44 38
45 // Classes 39 // Classes
46 // ----------------------------------------------------------------------------------------- 40 // -----------------------------------------------------------------------------------------
47 - public static final Obf Minecraft = new Obf("net.minecraft.client.Minecraft", "bsu" );  
48 - public static final Obf EntityRenderer = new Obf("net.minecraft.client.renderer.EntityRenderer", "cji" );  
49 - public static final Obf Blocks = new Obf("net.minecraft.init.Blocks", "aty" );  
50 - public static final Obf CrashReport$6 = new Obf("net.minecraft.crash.CrashReport$6", "h" );  
51 - public static final Obf INetHandler = new Obf("net.minecraft.network.INetHandler", "hg" );  
52 - public static final Obf Items = new Obf("net.minecraft.init.Items", "amk" ); 41 + public static final Obf Minecraft = new Obf("net.minecraft.client.Minecraft", "ave" );
  42 + public static final Obf EntityRenderer = new Obf("net.minecraft.client.renderer.EntityRenderer", "bfk" );
  43 + public static final Obf Blocks = new Obf("net.minecraft.init.Blocks", "afi" );
  44 + public static final Obf CrashReport$6 = new Obf("net.minecraft.crash.CrashReport$6", "b$6" );
  45 + public static final Obf INetHandler = new Obf("net.minecraft.network.INetHandler", "ep" );
  46 + public static final Obf Items = new Obf("net.minecraft.init.Items", "zy" );
  47 + public static final Obf Profiler = new Obf("net.minecraft.profiler.Profiler", "ny" );
  48 + public static final Obf TileEntity = new Obf("net.minecraft.tileentity.TileEntity", "akw" );
53 49
54 // Fields 50 // Fields
55 // ----------------------------------------------------------------------------------------- 51 // -----------------------------------------------------------------------------------------
56 - public static final Obf tileEntityNameToClassMap = new Obf("field_145855_i", "f" );  
57 - public static final Obf tileEntityClassToNameMap = new Obf("field_145853_j", "g" ); 52 + public static final Obf tileEntityNameToClassMap = new Obf(Obf.TileEntity, "field_145855_i", "f" );
  53 + public static final Obf tileEntityClassToNameMap = new Obf(Obf.TileEntity, "field_145853_j", "g" );
58 54
59 // Methods 55 // Methods
60 // ----------------------------------------------------------------------------------------- 56 // -----------------------------------------------------------------------------------------
61 - public static final Obf startGame = new Obf("func_71384_a", "aj" );  
62 - public static final Obf startSection = new Obf("func_76320_a", "a" );  
63 - public static final Obf endSection = new Obf("func_76319_b", "b" );  
64 - public static final Obf endStartSection = new Obf("func_76318_c", "c" );  
65 - public static final Obf processPacket = new Obf("func_148833_a", "a" );  
66 -  
67 - // Legacy  
68 - // -----------------------------------------------------------------------------------------  
69 - @Deprecated public static final Obf GuiIngame = new Obf("net.minecraft.client.gui.GuiIngame", "btz" );  
70 - @Deprecated public static final Obf Profiler = new Obf("net.minecraft.profiler.Profiler", "uw" );  
71 - @Deprecated public static final Obf IntegratedServer = new Obf("net.minecraft.server.integrated.IntegratedServer", "cyk" );  
72 - @Deprecated public static final Obf WorldSettings = new Obf("net.minecraft.world.WorldSettings", "arb" );  
73 - @Deprecated public static final Obf ServerConfigurationManager = new Obf("net.minecraft.server.management.ServerConfigurationManager", "sn" );  
74 - @Deprecated public static final Obf EntityPlayerMP = new Obf("net.minecraft.entity.player.EntityPlayerMP", "qw" );  
75 - @Deprecated public static final Obf NetworkManager = new Obf("net.minecraft.network.NetworkManager", "gr" );  
76 - @Deprecated public static final Obf DedicatedServer = new Obf("net.minecraft.server.dedicated.DedicatedServer", "po" );  
77 - @Deprecated public static final Obf EntityPlayerSP = new Obf("net.minecraft.client.entity.EntityPlayerSP", "cio" );  
78 - @Deprecated public static final Obf FrameBuffer = new Obf("net.minecraft.client.shader.Framebuffer", "ckw" );  
79 - @Deprecated public static final Obf GuiNewChat = new Obf("net.minecraft.client.gui.GuiNewChat", "buh" );  
80 - @Deprecated public static final Obf GlStateManager = new Obf("net.minecraft.client.renderer.GlStateManager", "cjm" );  
81 - @Deprecated public static final Obf Session = new Obf("net.minecraft.util.Session", "btw" );  
82 - @Deprecated public static final Obf IChatComponent = new Obf("net.minecraft.util.IChatComponent", "ho" );  
83 - @Deprecated public static final Obf ScreenShotHelper = new Obf("net.minecraft.util.ScreenShotHelper", "btt" );  
84 - @Deprecated public static final Obf OpenGlHelper = new Obf("net.minecraft.client.renderer.OpenGlHelper", "dax" );  
85 - @Deprecated public static final Obf Entity = new Obf("net.minecraft.entity.Entity", "wv" );  
86 - @Deprecated public static final Obf RenderManager = new Obf("net.minecraft.client.renderer.entity.RenderManager", "cpt" );  
87 - @Deprecated public static final Obf Render = new Obf("net.minecraft.client.renderer.entity.Render", "cpu" );  
88 - @Deprecated public static final Obf GuiTextField = new Obf("net.minecraft.client.gui.GuiTextField", "bul" );  
89 - @Deprecated public static final Obf SoundHandler = new Obf("net.minecraft.client.audio.SoundHandler", "czh" );  
90 - @Deprecated public static final Obf BlockPos = new Obf("net.minecraft.util.BlockPos", "dt" );  
91 - @Deprecated public static final Obf EnumFacing = new Obf("net.minecraft.util.EnumFacing", "ej" );  
92 - @Deprecated public static final Obf ItemInWorldManager = new Obf("net.minecraft.server.management.ItemInWorldManager", "qx" );  
93 - @Deprecated public static final Obf NetHandlerPlayServer = new Obf("net.minecraft.network.NetHandlerPlayServer", "rj" );  
94 - @Deprecated public static final Obf EntityPlayer = new Obf("net.minecraft.entity.player.EntityPlayer", "ahd" );  
95 - @Deprecated public static final Obf World = new Obf("net.minecraft.world.World", "aqu" );  
96 - @Deprecated public static final Obf ItemStack = new Obf("net.minecraft.item.ItemStack", "amj" );  
97 - @Deprecated public static final Obf PacketThreadUtil = new Obf("net.minecraft.network.PacketThreadUtil", "ig" );  
98 - @Deprecated public static final Obf RenderGlobal = new Obf("net.minecraft.client.renderer.RenderGlobal", "ckn" );  
99 - @Deprecated public static final Obf minecraftProfiler = new Obf("field_71424_I", "y" );  
100 - @Deprecated public static final Obf entityRenderMap = new Obf("field_78729_o", "k" );  
101 - @Deprecated public static final Obf reloadListeners = new Obf("field_110546_b", "d" );  
102 - @Deprecated public static final Obf networkManager = new Obf("field_147393_d", "d" );  
103 - @Deprecated public static final Obf registryObjects = new Obf("field_82596_a", "c" );  
104 - @Deprecated public static final Obf underlyingIntegerMap = new Obf("field_148759_a", "a" );  
105 - @Deprecated public static final Obf identityMap = new Obf("field_148749_a", "a" );  
106 - @Deprecated public static final Obf objectList = new Obf("field_148748_b", "b" );  
107 - @Deprecated public static final Obf mapSpecialRenderers = new Obf("field_147559_m", "m" );  
108 - @Deprecated public static final Obf timer = new Obf("field_71428_T", "U" );  
109 - @Deprecated public static final Obf mcProfiler = new Obf("field_71424_I", "y" );  
110 - @Deprecated public static final Obf running = new Obf("field_71425_J", "z" );  
111 - @Deprecated public static final Obf defaultResourcePacks = new Obf("field_110449_ao", "aw" );  
112 - @Deprecated public static final Obf serverName = new Obf("field_71475_ae", "am" );  
113 - @Deprecated public static final Obf serverPort = new Obf("field_71477_af", "an" );  
114 - @Deprecated public static final Obf shaderResourceLocations = new Obf("field_147712_ad", "ab" );  
115 - @Deprecated public static final Obf shaderIndex = new Obf("field_147713_ae", "ac" );  
116 - @Deprecated public static final Obf useShader = new Obf("field_175083_ad", "ad" );  
117 - @Deprecated public static final Obf viewDistance = new Obf("field_149528_b", "b" );  
118 - @Deprecated public static final Obf entityPosY = new Obf("field_70163_u", "t" );  
119 - @Deprecated public static final Obf chatComponent = new Obf("field_148919_a", "a" );  
120 - @Deprecated public static final Obf runGameLoop = new Obf("func_71411_J", "as" );  
121 - @Deprecated public static final Obf runTick = new Obf("func_71407_l", "r" );  
122 - @Deprecated public static final Obf updateCameraAndRender = new Obf("func_78480_b", "b" );  
123 - @Deprecated public static final Obf renderWorld = new Obf("func_78471_a", "a" );  
124 - @Deprecated public static final Obf renderGameOverlay = new Obf("func_175180_a", "a" );  
125 - @Deprecated public static final Obf spawnPlayer = new Obf("func_148545_a", "f" );  
126 - @Deprecated public static final Obf respawnPlayer = new Obf("func_72368_a", "a" );  
127 - @Deprecated public static final Obf initializeConnectionToPlayer = new Obf("func_72355_a", "a" );  
128 - @Deprecated public static final Obf playerLoggedIn = new Obf("func_72377_c", "c" );  
129 - @Deprecated public static final Obf playerLoggedOut = new Obf("func_72367_e", "e" );  
130 - @Deprecated public static final Obf startServer = new Obf("func_71197_b", "i" );  
131 - @Deprecated public static final Obf startServerThread = new Obf("func_71256_s", "B" );  
132 - @Deprecated public static final Obf sendChatMessage = new Obf("func_71165_d", "e" );  
133 - @Deprecated public static final Obf updateFramebufferSize = new Obf("func_147119_ah", "av" );  
134 - @Deprecated public static final Obf framebufferRender = new Obf("func_147615_c", "c" );  
135 - @Deprecated public static final Obf framebufferRenderExt = new Obf("func_178038_a", "a" );  
136 - @Deprecated public static final Obf bindFramebufferTexture = new Obf("func_147612_c", "c" );  
137 - @Deprecated public static final Obf drawChat = new Obf("func_146230_a", "a" );  
138 - @Deprecated public static final Obf clear = new Obf("func_179086_m", "m" );  
139 - @Deprecated public static final Obf renderWorldPass = new Obf("func_175068_a", "a" );  
140 - @Deprecated public static final Obf getProfile = new Obf("func_148256_e", "a" );  
141 - @Deprecated public static final Obf saveScreenshot = new Obf("func_148260_a", "a" );  
142 - @Deprecated public static final Obf isFramebufferEnabled = new Obf("func_148822_b", "i" );  
143 - @Deprecated public static final Obf doRenderEntity = new Obf("func_147939_a", "a" );  
144 - @Deprecated public static final Obf doRender = new Obf("func_76986_a", "a" );  
145 - @Deprecated public static final Obf doRenderShadowAndFire = new Obf("func_76979_b", "b" );  
146 - @Deprecated public static final Obf resize = new Obf("func_71370_a", "a" );  
147 - @Deprecated public static final Obf loadShader = new Obf("func_175069_a", "a" );  
148 - @Deprecated public static final Obf getFOVModifier = new Obf("func_78481_a", "a" );  
149 - @Deprecated public static final Obf setupCameraTransform = new Obf("func_78479_a", "a" );  
150 - @Deprecated public static final Obf loadSoundResource = new Obf("func_147693_a", "a" );  
151 - @Deprecated public static final Obf onBlockClicked = new Obf("func_180784_a", "a" );  
152 - @Deprecated public static final Obf activateBlockOrUseItem = new Obf("func_180236_a", "a" );  
153 - @Deprecated public static final Obf processPlayerBlockPlacement = new Obf("func_147346_a", "a" );  
154 - @Deprecated public static final Obf handleAnimation = new Obf("func_175087_a", "a" );  
155 - @Deprecated public static final Obf processPlayerDigging = new Obf("func_147345_a", "a" );  
156 - @Deprecated public static final Obf updateTimeLightAndEntities = new Obf("func_71190_q", "z" );  
157 - @Deprecated public static final Obf checkThreadAndEnqueue = new Obf("func_180031_a", "a" );  
158 - @Deprecated public static final Obf processPlayer = new Obf("func_147347_a", "a" );  
159 - @Deprecated public static final Obf renderSky = new Obf("func_174976_a", "a" );  
160 - @Deprecated public static final Obf renderCloudsCheck = new Obf("func_180437_a", "a" );  
161 - @Deprecated public static final Obf setupFog = new Obf("func_78468_a", "a" ); 57 + public static final Obf startGame = new Obf(Obf.Minecraft, "func_71384_a", "am" );
  58 + public static final Obf startSection = new Obf(Obf.Profiler, "func_76320_a", "a" );
  59 + public static final Obf endSection = new Obf(Obf.Profiler, "func_76319_b", "b" );
  60 + public static final Obf endStartSection = new Obf(Obf.Profiler, "func_76318_c", "c" );
  61 + public static final Obf processPacket = new Obf(Packets.S12PacketEntityVelocity, "func_148833_a", "a" );
162 62
163 // CHECKSTYLE:ON 63 // CHECKSTYLE:ON
164 64
@@ -166,7 +66,7 @@ public class Obf @@ -166,7 +66,7 @@ public class Obf
166 public static final int SRG = 1; 66 public static final int SRG = 1;
167 public static final int OBF = 2; 67 public static final int OBF = 2;
168 68
169 - private static Properties mcpNames; 69 + private static SrgContainer srgs;
170 70
171 private static final Map<String, Obf> obfs = new HashMap<String, Obf>(); 71 private static final Map<String, Obf> obfs = new HashMap<String, Obf>();
172 72
@@ -226,6 +126,15 @@ public class Obf @@ -226,6 +126,15 @@ public class Obf
226 { 126 {
227 this(seargeName, obfName, null); 127 this(seargeName, obfName, null);
228 } 128 }
  129 +
  130 + /**
  131 + * @param seargeName
  132 + * @param obfName
  133 + */
  134 + protected Obf(Obf owner, String seargeName, String obfName)
  135 + {
  136 + this(owner, seargeName, obfName, null);
  137 + }
229 138
230 /** 139 /**
231 * @param seargeName 140 * @param seargeName
@@ -234,7 +143,12 @@ public class Obf @@ -234,7 +143,12 @@ public class Obf
234 */ 143 */
235 protected Obf(String seargeName, String obfName, String mcpName) 144 protected Obf(String seargeName, String obfName, String mcpName)
236 { 145 {
237 - this.name = mcpName != null ? mcpName : this.getDeobfuscatedName(seargeName); 146 + this(null, seargeName, obfName, mcpName);
  147 + }
  148 +
  149 + private Obf(Obf owner, String seargeName, String obfName, String mcpName)
  150 + {
  151 + this.name = mcpName != null ? mcpName : this.getDeobfuscatedName(owner, seargeName);
238 this.ref = this.name.replace('.', '/'); 152 this.ref = this.name.replace('.', '/');
239 this.srg = seargeName; 153 this.srg = seargeName;
240 this.obf = obfName; 154 this.obf = obfName;
@@ -302,37 +216,55 @@ public class Obf @@ -302,37 +216,55 @@ public class Obf
302 /** 216 /**
303 * @param seargeName 217 * @param seargeName
304 */ 218 */
305 - protected String getDeobfuscatedName(String seargeName) 219 + protected String getDeobfuscatedName(Obf owner, String seargeName)
306 { 220 {
307 - return Obf.getDeobfName(seargeName); 221 + return Obf.getDeobfName(owner, seargeName);
308 } 222 }
309 223
310 /** 224 /**
311 * @param seargeName 225 * @param seargeName
312 */ 226 */
313 - static String getDeobfName(String seargeName) 227 + static String getDeobfName(Obf owner, String seargeName)
314 { 228 {
315 - if (Obf.mcpNames == null) 229 + if (owner == null)
  230 + {
  231 + return seargeName;
  232 + }
  233 +
  234 + if (Obf.srgs == null)
316 { 235 {
317 - Obf.mcpNames = new Properties();  
318 - InputStream is = Obf.class.getResourceAsStream("/obfuscation.properties");  
319 - if (is != null) 236 + Obf.srgs = new SrgContainer();
  237 + String srgFileName = System.getProperty("net.minecraftforge.gradle.GradleStart.srg.srg-mcp");
  238 + if (srgFileName != null)
320 { 239 {
321 try 240 try
322 { 241 {
323 - Obf.mcpNames.load(is); 242 + File srgFile = new File(srgFileName);
  243 + if (srgFile.isFile())
  244 + {
  245 + Obf.srgs.readSrg(srgFile);
  246 + }
324 } 247 }
325 - catch (IOException ex) {}  
326 -  
327 - try 248 + catch (Exception ex)
328 { 249 {
329 - is.close(); 250 + ex.printStackTrace();
330 } 251 }
331 - catch (IOException ex) {}  
332 } 252 }
333 } 253 }
  254 +
  255 + SrgField field = Obf.srgs.getFieldMapping(owner.ref, seargeName, false);
  256 + if (field != null)
  257 + {
  258 + return field.getName();
  259 + }
  260 +
  261 + SrgMethod method = Obf.srgs.getMethodMapping(owner.ref, seargeName, false);
  262 + if (method != null)
  263 + {
  264 + return method.getSimpleName();
  265 + }
334 266
335 - return Obf.mcpNames.getProperty(seargeName, seargeName); 267 + return seargeName;
336 } 268 }
337 269
338 /** 270 /**
src/main/java/com/mumfrey/liteloader/core/runtime/Packets.java
@@ -7,7 +7,7 @@ import java.util.Map; @@ -7,7 +7,7 @@ import java.util.Map;
7 * Packet obfuscation table 7 * Packet obfuscation table
8 * 8 *
9 * @author Adam Mummery-Smith 9 * @author Adam Mummery-Smith
10 - * TODO Obfuscation 1.8 10 + * TODO Obfuscation 1.8.9
11 */ 11 */
12 public final class Packets extends Obf 12 public final class Packets extends Obf
13 { 13 {
@@ -32,117 +32,117 @@ public final class Packets extends Obf @@ -32,117 +32,117 @@ public final class Packets extends Obf
32 32
33 private static Map<String, Packets> packetMap = new HashMap<String, Packets>(); 33 private static Map<String, Packets> packetMap = new HashMap<String, Packets>();
34 34
35 - public static Packets S08PacketPlayerPosLook = new Packets("net.minecraft.network.play.server.S08PacketPlayerPosLook", "ii", Context.CLIENT);  
36 - public static Packets S0EPacketSpawnObject = new Packets("net.minecraft.network.play.server.S0EPacketSpawnObject", "il", Context.CLIENT);  
37 - public static Packets S11PacketSpawnExperienceOrb = new Packets("net.minecraft.network.play.server.S11PacketSpawnExperienceOrb", "im", Context.CLIENT);  
38 - public static Packets S2CPacketSpawnGlobalEntity = new Packets("net.minecraft.network.play.server.S2CPacketSpawnGlobalEntity", "in", Context.CLIENT);  
39 - public static Packets S0FPacketSpawnMob = new Packets("net.minecraft.network.play.server.S0FPacketSpawnMob", "io", Context.CLIENT);  
40 - public static Packets S10PacketSpawnPainting = new Packets("net.minecraft.network.play.server.S10PacketSpawnPainting", "ip", Context.CLIENT);  
41 - public static Packets S0CPacketSpawnPlayer = new Packets("net.minecraft.network.play.server.S0CPacketSpawnPlayer", "iq", Context.CLIENT);  
42 - public static Packets S0BPacketAnimation = new Packets("net.minecraft.network.play.server.S0BPacketAnimation", "ir", Context.CLIENT);  
43 - public static Packets S37PacketStatistics = new Packets("net.minecraft.network.play.server.S37PacketStatistics", "is", Context.CLIENT);  
44 - public static Packets S25PacketBlockBreakAnim = new Packets("net.minecraft.network.play.server.S25PacketBlockBreakAnim", "it", Context.CLIENT);  
45 - public static Packets S35PacketUpdateTileEntity = new Packets("net.minecraft.network.play.server.S35PacketUpdateTileEntity", "iu", Context.CLIENT);  
46 - public static Packets S24PacketBlockAction = new Packets("net.minecraft.network.play.server.S24PacketBlockAction", "iv", Context.CLIENT);  
47 - public static Packets S23PacketBlockChange = new Packets("net.minecraft.network.play.server.S23PacketBlockChange", "iw", Context.CLIENT);  
48 - public static Packets S41PacketServerDifficulty = new Packets("net.minecraft.network.play.server.S41PacketServerDifficulty", "ix", Context.CLIENT);  
49 - public static Packets S3APacketTabComplete = new Packets("net.minecraft.network.play.server.S3APacketTabComplete", "iy", Context.CLIENT);  
50 - public static Packets S02PacketChat = new Packets("net.minecraft.network.play.server.S02PacketChat", "iz", Context.CLIENT);  
51 - public static Packets S22PacketMultiBlockChange = new Packets("net.minecraft.network.play.server.S22PacketMultiBlockChange", "ja", Context.CLIENT);  
52 - public static Packets S32PacketConfirmTransaction = new Packets("net.minecraft.network.play.server.S32PacketConfirmTransaction", "jc", Context.CLIENT);  
53 - public static Packets S2EPacketCloseWindow = new Packets("net.minecraft.network.play.server.S2EPacketCloseWindow", "jd", Context.CLIENT);  
54 - public static Packets S2DPacketOpenWindow = new Packets("net.minecraft.network.play.server.S2DPacketOpenWindow", "je", Context.CLIENT);  
55 - public static Packets S30PacketWindowItems = new Packets("net.minecraft.network.play.server.S30PacketWindowItems", "jf", Context.CLIENT);  
56 - public static Packets S31PacketWindowProperty = new Packets("net.minecraft.network.play.server.S31PacketWindowProperty", "jg", Context.CLIENT);  
57 - public static Packets S2FPacketSetSlot = new Packets("net.minecraft.network.play.server.S2FPacketSetSlot", "jh", Context.CLIENT);  
58 - public static Packets S3FPacketCustomPayload = new Packets("net.minecraft.network.play.server.S3FPacketCustomPayload", "ji", Context.CLIENT);  
59 - public static Packets S40PacketDisconnect = new Packets("net.minecraft.network.play.server.S40PacketDisconnect", "jj", Context.CLIENT);  
60 - public static Packets S19PacketEntityStatus = new Packets("net.minecraft.network.play.server.S19PacketEntityStatus", "jk", Context.CLIENT);  
61 - public static Packets S49PacketUpdateEntityNBT = new Packets("net.minecraft.network.play.server.S49PacketUpdateEntityNBT", "jl", Context.CLIENT);  
62 - public static Packets S27PacketExplosion = new Packets("net.minecraft.network.play.server.S27PacketExplosion", "jm", Context.CLIENT);  
63 - public static Packets S46PacketSetCompressionLevel = new Packets("net.minecraft.network.play.server.S46PacketSetCompressionLevel", "jn", Context.CLIENT);  
64 - public static Packets S2BPacketChangeGameState = new Packets("net.minecraft.network.play.server.S2BPacketChangeGameState", "jo", Context.CLIENT);  
65 - public static Packets S00PacketKeepAlive = new Packets("net.minecraft.network.play.server.S00PacketKeepAlive", "jp", Context.CLIENT);  
66 - public static Packets S21PacketChunkData = new Packets("net.minecraft.network.play.server.S21PacketChunkData", "jq", Context.CLIENT);  
67 - public static Packets S26PacketMapChunkBulk = new Packets("net.minecraft.network.play.server.S26PacketMapChunkBulk", "js", Context.CLIENT);  
68 - public static Packets S28PacketEffect = new Packets("net.minecraft.network.play.server.S28PacketEffect", "jt", Context.CLIENT);  
69 - public static Packets S2APacketParticles = new Packets("net.minecraft.network.play.server.S2APacketParticles", "ju", Context.CLIENT);  
70 - public static Packets S29PacketSoundEffect = new Packets("net.minecraft.network.play.server.S29PacketSoundEffect", "jv", Context.CLIENT);  
71 - public static Packets S01PacketJoinGame = new Packets("net.minecraft.network.play.server.S01PacketJoinGame", "jw", Context.CLIENT);  
72 - public static Packets S34PacketMaps = new Packets("net.minecraft.network.play.server.S34PacketMaps", "jx", Context.CLIENT);  
73 - public static Packets S14PacketEntity = new Packets("net.minecraft.network.play.server.S14PacketEntity", "jy", Context.CLIENT);  
74 - public static Packets S15PacketEntityRelMove = new Packets("net.minecraft.network.play.server.S14PacketEntity$S15PacketEntityRelMove", "jz", Context.CLIENT);  
75 - public static Packets S17PacketEntityLookMove = new Packets("net.minecraft.network.play.server.S14PacketEntity$S17PacketEntityLookMove", "ka", Context.CLIENT);  
76 - public static Packets S16PacketEntityLook = new Packets("net.minecraft.network.play.server.S14PacketEntity$S16PacketEntityLook", "kb", Context.CLIENT);  
77 - public static Packets S36PacketSignEditorOpen = new Packets("net.minecraft.network.play.server.S36PacketSignEditorOpen", "kc", Context.CLIENT);  
78 - public static Packets S39PacketPlayerAbilities = new Packets("net.minecraft.network.play.server.S39PacketPlayerAbilities", "kd", Context.CLIENT);  
79 - public static Packets S42PacketCombatEvent = new Packets("net.minecraft.network.play.server.S42PacketCombatEvent", "ke", Context.CLIENT);  
80 - public static Packets S38PacketPlayerListItem = new Packets("net.minecraft.network.play.server.S38PacketPlayerListItem", "kh", Context.CLIENT);  
81 - public static Packets S0APacketUseBed = new Packets("net.minecraft.network.play.server.S0APacketUseBed", "kl", Context.CLIENT);  
82 - public static Packets S13PacketDestroyEntities = new Packets("net.minecraft.network.play.server.S13PacketDestroyEntities", "km", Context.CLIENT);  
83 - public static Packets S1EPacketRemoveEntityEffect = new Packets("net.minecraft.network.play.server.S1EPacketRemoveEntityEffect", "kn", Context.CLIENT);  
84 - public static Packets S48PacketResourcePackSend = new Packets("net.minecraft.network.play.server.S48PacketResourcePackSend", "ko", Context.CLIENT);  
85 - public static Packets S07PacketRespawn = new Packets("net.minecraft.network.play.server.S07PacketRespawn", "kp", Context.CLIENT);  
86 - public static Packets S19PacketEntityHeadLook = new Packets("net.minecraft.network.play.server.S19PacketEntityHeadLook", "kq", Context.CLIENT);  
87 - public static Packets S44PacketWorldBorder = new Packets("net.minecraft.network.play.server.S44PacketWorldBorder", "kr", Context.CLIENT);  
88 - public static Packets S43PacketCamera = new Packets("net.minecraft.network.play.server.S43PacketCamera", "ku", Context.CLIENT);  
89 - public static Packets S09PacketHeldItemChange = new Packets("net.minecraft.network.play.server.S09PacketHeldItemChange", "kv", Context.CLIENT);  
90 - public static Packets S3DPacketDisplayScoreboard = new Packets("net.minecraft.network.play.server.S3DPacketDisplayScoreboard", "kw", Context.CLIENT);  
91 - public static Packets S1CPacketEntityMetadata = new Packets("net.minecraft.network.play.server.S1CPacketEntityMetadata", "kx", Context.CLIENT);  
92 - public static Packets S1BPacketEntityAttach = new Packets("net.minecraft.network.play.server.S1BPacketEntityAttach", "ky", Context.CLIENT);  
93 - public static Packets S12PacketEntityVelocity = new Packets("net.minecraft.network.play.server.S12PacketEntityVelocity", "kz", Context.CLIENT);  
94 - public static Packets S04PacketEntityEquipment = new Packets("net.minecraft.network.play.server.S04PacketEntityEquipment", "la", Context.CLIENT);  
95 - public static Packets S1FPacketSetExperience = new Packets("net.minecraft.network.play.server.S1FPacketSetExperience", "lb", Context.CLIENT);  
96 - public static Packets S06PacketUpdateHealth = new Packets("net.minecraft.network.play.server.S06PacketUpdateHealth", "lc", Context.CLIENT);  
97 - public static Packets S3BPacketScoreboardObjective = new Packets("net.minecraft.network.play.server.S3BPacketScoreboardObjective", "ld", Context.CLIENT);  
98 - public static Packets S3EPacketTeams = new Packets("net.minecraft.network.play.server.S3EPacketTeams", "le", Context.CLIENT);  
99 - public static Packets S3CPacketUpdateScore = new Packets("net.minecraft.network.play.server.S3CPacketUpdateScore", "lf", Context.CLIENT);  
100 - public static Packets S05PacketSpawnPosition = new Packets("net.minecraft.network.play.server.S05PacketSpawnPosition", "lh", Context.CLIENT);  
101 - public static Packets S03PacketTimeUpdate = new Packets("net.minecraft.network.play.server.S03PacketTimeUpdate", "li", Context.CLIENT);  
102 - public static Packets S45PacketTitle = new Packets("net.minecraft.network.play.server.S45PacketTitle", "lj", Context.CLIENT);  
103 - public static Packets S33PacketUpdateSign = new Packets("net.minecraft.network.play.server.S33PacketUpdateSign", "ll", Context.CLIENT);  
104 - public static Packets S47PacketPlayerListHeaderFooter = new Packets("net.minecraft.network.play.server.S47PacketPlayerListHeaderFooter", "lm", Context.CLIENT);  
105 - public static Packets S0DPacketCollectItem = new Packets("net.minecraft.network.play.server.S0DPacketCollectItem", "ln", Context.CLIENT);  
106 - public static Packets S18PacketEntityTeleport = new Packets("net.minecraft.network.play.server.S18PacketEntityTeleport", "lo", Context.CLIENT);  
107 - public static Packets S20PacketEntityProperties = new Packets("net.minecraft.network.play.server.S20PacketEntityProperties", "lp", Context.CLIENT);  
108 - public static Packets S1DPacketEntityEffect = new Packets("net.minecraft.network.play.server.S1DPacketEntityEffect", "lr", Context.CLIENT);  
109 - public static Packets C14PacketTabComplete = new Packets("net.minecraft.network.play.client.C14PacketTabComplete", "lt", Context.SERVER);  
110 - public static Packets C01PacketChatMessage = new Packets("net.minecraft.network.play.client.C01PacketChatMessage", "lu", Context.SERVER);  
111 - public static Packets C16PacketClientStatus = new Packets("net.minecraft.network.play.client.C16PacketClientStatus", "lv", Context.SERVER);  
112 - public static Packets C15PacketClientSettings = new Packets("net.minecraft.network.play.client.C15PacketClientSettings", "lx", Context.SERVER);  
113 - public static Packets C0FPacketConfirmTransaction = new Packets("net.minecraft.network.play.client.C0FPacketConfirmTransaction", "ly", Context.SERVER);  
114 - public static Packets C11PacketEnchantItem = new Packets("net.minecraft.network.play.client.C11PacketEnchantItem", "lz", Context.SERVER);  
115 - public static Packets C0EPacketClickWindow = new Packets("net.minecraft.network.play.client.C0EPacketClickWindow", "ma", Context.SERVER);  
116 - public static Packets C0DPacketCloseWindow = new Packets("net.minecraft.network.play.client.C0DPacketCloseWindow", "mb", Context.SERVER);  
117 - public static Packets C17PacketCustomPayload = new Packets("net.minecraft.network.play.client.C17PacketCustomPayload", "mc", Context.SERVER);  
118 - public static Packets C02PacketUseEntity = new Packets("net.minecraft.network.play.client.C02PacketUseEntity", "md", Context.SERVER);  
119 - public static Packets C00PacketKeepAlive = new Packets("net.minecraft.network.play.client.C00PacketKeepAlive", "mf", Context.SERVER);  
120 - public static Packets C03PacketPlayer = new Packets("net.minecraft.network.play.client.C03PacketPlayer", "mg", Context.SERVER);  
121 - public static Packets C04PacketPlayerPosition = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition", "mh", Context.SERVER);  
122 - public static Packets C06PacketPlayerPosLook = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook", "mi", Context.SERVER);  
123 - public static Packets C05PacketPlayerLook = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C05PacketPlayerLook", "mj", Context.SERVER);  
124 - public static Packets C13PacketPlayerAbilities = new Packets("net.minecraft.network.play.client.C13PacketPlayerAbilities", "mk", Context.SERVER);  
125 - public static Packets C07PacketPlayerDigging = new Packets("net.minecraft.network.play.client.C07PacketPlayerDigging", "ml", Context.SERVER);  
126 - public static Packets C0BPacketEntityAction = new Packets("net.minecraft.network.play.client.C0BPacketEntityAction", "mn", Context.SERVER);  
127 - public static Packets C0CPacketInput = new Packets("net.minecraft.network.play.client.C0CPacketInput", "mp", Context.SERVER);  
128 - public static Packets C19PacketResourcePackStatus = new Packets("net.minecraft.network.play.client.C19PacketResourcePackStatus", "mq", Context.SERVER);  
129 - public static Packets C09PacketHeldItemChange = new Packets("net.minecraft.network.play.client.C09PacketHeldItemChange", "ms", Context.SERVER);  
130 - public static Packets C10PacketCreativeInventoryAction = new Packets("net.minecraft.network.play.client.C10PacketCreativeInventoryAction", "mt", Context.SERVER);  
131 - public static Packets C12PacketUpdateSign = new Packets("net.minecraft.network.play.client.C12PacketUpdateSign", "mu", Context.SERVER);  
132 - public static Packets C0APacketAnimation = new Packets("net.minecraft.network.play.client.C0APacketAnimation", "mv", Context.SERVER);  
133 - public static Packets C18PacketSpectate = new Packets("net.minecraft.network.play.client.C18PacketSpectate", "mw", Context.SERVER);  
134 - public static Packets C08PacketPlayerBlockPlacement = new Packets("net.minecraft.network.play.client.C08PacketPlayerBlockPlacement", "mx", Context.SERVER);  
135 - public static Packets C00Handshake = new Packets("net.minecraft.network.handshake.client.C00Handshake", "mz", Context.SERVER);  
136 - public static Packets S02PacketLoginSuccess = new Packets("net.minecraft.network.login.server.S02PacketLoginSuccess", "nd", Context.CLIENT);  
137 - public static Packets S01PacketEncryptionRequest = new Packets("net.minecraft.network.login.server.S01PacketEncryptionRequest", "ne", Context.CLIENT);  
138 - public static Packets S03PacketEnableCompression = new Packets("net.minecraft.network.login.server.S03PacketEnableCompression", "nf", Context.CLIENT);  
139 - public static Packets S00PacketDisconnect = new Packets("net.minecraft.network.login.server.S00PacketDisconnect", "ng", Context.CLIENT);  
140 - public static Packets C00PacketLoginStart = new Packets("net.minecraft.network.login.client.C00PacketLoginStart", "ni", Context.SERVER);  
141 - public static Packets C01PacketEncryptionResponse = new Packets("net.minecraft.network.login.client.C01PacketEncryptionResponse", "nj", Context.SERVER);  
142 - public static Packets S01PacketPong = new Packets("net.minecraft.network.status.server.S01PacketPong", "nn", Context.CLIENT);  
143 - public static Packets S00PacketServerInfo = new Packets("net.minecraft.network.status.server.S00PacketServerInfo", "no", Context.CLIENT);  
144 - public static Packets C01PacketPing = new Packets("net.minecraft.network.status.client.C01PacketPing", "nw", Context.SERVER);  
145 - public static Packets C00PacketServerQuery = new Packets("net.minecraft.network.status.client.C00PacketServerQuery", "nx", Context.SERVER); 35 + public static Packets S08PacketPlayerPosLook = new Packets("net.minecraft.network.play.server.S08PacketPlayerPosLook", "fi", Context.CLIENT);
  36 + public static Packets S0EPacketSpawnObject = new Packets("net.minecraft.network.play.server.S0EPacketSpawnObject", "fk", Context.CLIENT);
  37 + public static Packets S11PacketSpawnExperienceOrb = new Packets("net.minecraft.network.play.server.S11PacketSpawnExperienceOrb", "fl", Context.CLIENT);
  38 + public static Packets S2CPacketSpawnGlobalEntity = new Packets("net.minecraft.network.play.server.S2CPacketSpawnGlobalEntity", "fm", Context.CLIENT);
  39 + public static Packets S0FPacketSpawnMob = new Packets("net.minecraft.network.play.server.S0FPacketSpawnMob", "fn", Context.CLIENT);
  40 + public static Packets S10PacketSpawnPainting = new Packets("net.minecraft.network.play.server.S10PacketSpawnPainting", "fo", Context.CLIENT);
  41 + public static Packets S0CPacketSpawnPlayer = new Packets("net.minecraft.network.play.server.S0CPacketSpawnPlayer", "fp", Context.CLIENT);
  42 + public static Packets S0BPacketAnimation = new Packets("net.minecraft.network.play.server.S0BPacketAnimation", "fq", Context.CLIENT);
  43 + public static Packets S37PacketStatistics = new Packets("net.minecraft.network.play.server.S37PacketStatistics", "fr", Context.CLIENT);
  44 + public static Packets S25PacketBlockBreakAnim = new Packets("net.minecraft.network.play.server.S25PacketBlockBreakAnim", "fs", Context.CLIENT);
  45 + public static Packets S35PacketUpdateTileEntity = new Packets("net.minecraft.network.play.server.S35PacketUpdateTileEntity", "ft", Context.CLIENT);
  46 + public static Packets S24PacketBlockAction = new Packets("net.minecraft.network.play.server.S24PacketBlockAction", "fu", Context.CLIENT);
  47 + public static Packets S23PacketBlockChange = new Packets("net.minecraft.network.play.server.S23PacketBlockChange", "fv", Context.CLIENT);
  48 + public static Packets S41PacketServerDifficulty = new Packets("net.minecraft.network.play.server.S41PacketServerDifficulty", "fw", Context.CLIENT);
  49 + public static Packets S3APacketTabComplete = new Packets("net.minecraft.network.play.server.S3APacketTabComplete", "fx", Context.CLIENT);
  50 + public static Packets S02PacketChat = new Packets("net.minecraft.network.play.server.S02PacketChat", "fy", Context.CLIENT);
  51 + public static Packets S22PacketMultiBlockChange = new Packets("net.minecraft.network.play.server.S22PacketMultiBlockChange", "fz", Context.CLIENT);
  52 + public static Packets S32PacketConfirmTransaction = new Packets("net.minecraft.network.play.server.S32PacketConfirmTransaction", "ga", Context.CLIENT);
  53 + public static Packets S2EPacketCloseWindow = new Packets("net.minecraft.network.play.server.S2EPacketCloseWindow", "gb", Context.CLIENT);
  54 + public static Packets S2DPacketOpenWindow = new Packets("net.minecraft.network.play.server.S2DPacketOpenWindow", "gc", Context.CLIENT);
  55 + public static Packets S30PacketWindowItems = new Packets("net.minecraft.network.play.server.S30PacketWindowItems", "gd", Context.CLIENT);
  56 + public static Packets S31PacketWindowProperty = new Packets("net.minecraft.network.play.server.S31PacketWindowProperty", "ge", Context.CLIENT);
  57 + public static Packets S2FPacketSetSlot = new Packets("net.minecraft.network.play.server.S2FPacketSetSlot", "gf", Context.CLIENT);
  58 + public static Packets S3FPacketCustomPayload = new Packets("net.minecraft.network.play.server.S3FPacketCustomPayload", "gg", Context.CLIENT);
  59 + public static Packets S40PacketDisconnect = new Packets("net.minecraft.network.play.server.S40PacketDisconnect", "gh", Context.CLIENT);
  60 + public static Packets S19PacketEntityStatus = new Packets("net.minecraft.network.play.server.S19PacketEntityStatus", "gi", Context.CLIENT);
  61 + public static Packets S49PacketUpdateEntityNBT = new Packets("net.minecraft.network.play.server.S49PacketUpdateEntityNBT", "gj", Context.CLIENT);
  62 + public static Packets S27PacketExplosion = new Packets("net.minecraft.network.play.server.S27PacketExplosion", "gk", Context.CLIENT);
  63 + public static Packets S46PacketSetCompressionLevel = new Packets("net.minecraft.network.play.server.S46PacketSetCompressionLevel", "gl", Context.CLIENT);
  64 + public static Packets S2BPacketChangeGameState = new Packets("net.minecraft.network.play.server.S2BPacketChangeGameState", "gm", Context.CLIENT);
  65 + public static Packets S00PacketKeepAlive = new Packets("net.minecraft.network.play.server.S00PacketKeepAlive", "gn", Context.CLIENT);
  66 + public static Packets S21PacketChunkData = new Packets("net.minecraft.network.play.server.S21PacketChunkData", "go", Context.CLIENT);
  67 + public static Packets S26PacketMapChunkBulk = new Packets("net.minecraft.network.play.server.S26PacketMapChunkBulk", "gp", Context.CLIENT);
  68 + public static Packets S28PacketEffect = new Packets("net.minecraft.network.play.server.S28PacketEffect", "gq", Context.CLIENT);
  69 + public static Packets S2APacketParticles = new Packets("net.minecraft.network.play.server.S2APacketParticles", "gr", Context.CLIENT);
  70 + public static Packets S29PacketSoundEffect = new Packets("net.minecraft.network.play.server.S29PacketSoundEffect", "gs", Context.CLIENT);
  71 + public static Packets S01PacketJoinGame = new Packets("net.minecraft.network.play.server.S01PacketJoinGame", "gt", Context.CLIENT);
  72 + public static Packets S34PacketMaps = new Packets("net.minecraft.network.play.server.S34PacketMaps", "gu", Context.CLIENT);
  73 + public static Packets S14PacketEntity = new Packets("net.minecraft.network.play.server.S14PacketEntity", "gv", Context.CLIENT);
  74 + public static Packets S15PacketEntityRelMove = new Packets("net.minecraft.network.play.server.S14PacketEntity$S15PacketEntityRelMove", "gv$a", Context.CLIENT);
  75 + public static Packets S17PacketEntityLookMove = new Packets("net.minecraft.network.play.server.S14PacketEntity$S17PacketEntityLookMove", "gv$b", Context.CLIENT);
  76 + public static Packets S16PacketEntityLook = new Packets("net.minecraft.network.play.server.S14PacketEntity$S16PacketEntityLook", "gv$c", Context.CLIENT);
  77 + public static Packets S36PacketSignEditorOpen = new Packets("net.minecraft.network.play.server.S36PacketSignEditorOpen", "gw", Context.CLIENT);
  78 + public static Packets S39PacketPlayerAbilities = new Packets("net.minecraft.network.play.server.S39PacketPlayerAbilities", "gx", Context.CLIENT);
  79 + public static Packets S42PacketCombatEvent = new Packets("net.minecraft.network.play.server.S42PacketCombatEvent", "gy", Context.CLIENT);
  80 + public static Packets S38PacketPlayerListItem = new Packets("net.minecraft.network.play.server.S38PacketPlayerListItem", "gz", Context.CLIENT);
  81 + public static Packets S0APacketUseBed = new Packets("net.minecraft.network.play.server.S0APacketUseBed", "ha", Context.CLIENT);
  82 + public static Packets S13PacketDestroyEntities = new Packets("net.minecraft.network.play.server.S13PacketDestroyEntities", "hb", Context.CLIENT);
  83 + public static Packets S1EPacketRemoveEntityEffect = new Packets("net.minecraft.network.play.server.S1EPacketRemoveEntityEffect", "hc", Context.CLIENT);
  84 + public static Packets S48PacketResourcePackSend = new Packets("net.minecraft.network.play.server.S48PacketResourcePackSend", "hd", Context.CLIENT);
  85 + public static Packets S07PacketRespawn = new Packets("net.minecraft.network.play.server.S07PacketRespawn", "he", Context.CLIENT);
  86 + public static Packets S19PacketEntityHeadLook = new Packets("net.minecraft.network.play.server.S19PacketEntityHeadLook", "hf", Context.CLIENT);
  87 + public static Packets S44PacketWorldBorder = new Packets("net.minecraft.network.play.server.S44PacketWorldBorder", "hg", Context.CLIENT);
  88 + public static Packets S43PacketCamera = new Packets("net.minecraft.network.play.server.S43PacketCamera", "hh", Context.CLIENT);
  89 + public static Packets S09PacketHeldItemChange = new Packets("net.minecraft.network.play.server.S09PacketHeldItemChange", "hi", Context.CLIENT);
  90 + public static Packets S3DPacketDisplayScoreboard = new Packets("net.minecraft.network.play.server.S3DPacketDisplayScoreboard", "hj", Context.CLIENT);
  91 + public static Packets S1CPacketEntityMetadata = new Packets("net.minecraft.network.play.server.S1CPacketEntityMetadata", "hk", Context.CLIENT);
  92 + public static Packets S1BPacketEntityAttach = new Packets("net.minecraft.network.play.server.S1BPacketEntityAttach", "hl", Context.CLIENT);
  93 + public static Packets S12PacketEntityVelocity = new Packets("net.minecraft.network.play.server.S12PacketEntityVelocity", "hm", Context.CLIENT);
  94 + public static Packets S04PacketEntityEquipment = new Packets("net.minecraft.network.play.server.S04PacketEntityEquipment", "hn", Context.CLIENT);
  95 + public static Packets S1FPacketSetExperience = new Packets("net.minecraft.network.play.server.S1FPacketSetExperience", "ho", Context.CLIENT);
  96 + public static Packets S06PacketUpdateHealth = new Packets("net.minecraft.network.play.server.S06PacketUpdateHealth", "hp", Context.CLIENT);
  97 + public static Packets S3BPacketScoreboardObjective = new Packets("net.minecraft.network.play.server.S3BPacketScoreboardObjective", "hq", Context.CLIENT);
  98 + public static Packets S3EPacketTeams = new Packets("net.minecraft.network.play.server.S3EPacketTeams", "hr", Context.CLIENT);
  99 + public static Packets S3CPacketUpdateScore = new Packets("net.minecraft.network.play.server.S3CPacketUpdateScore", "hs", Context.CLIENT);
  100 + public static Packets S05PacketSpawnPosition = new Packets("net.minecraft.network.play.server.S05PacketSpawnPosition", "ht", Context.CLIENT);
  101 + public static Packets S03PacketTimeUpdate = new Packets("net.minecraft.network.play.server.S03PacketTimeUpdate", "hu", Context.CLIENT);
  102 + public static Packets S45PacketTitle = new Packets("net.minecraft.network.play.server.S45PacketTitle", "hv", Context.CLIENT);
  103 + public static Packets S33PacketUpdateSign = new Packets("net.minecraft.network.play.server.S33PacketUpdateSign", "hw", Context.CLIENT);
  104 + public static Packets S47PacketPlayerListHeaderFooter = new Packets("net.minecraft.network.play.server.S47PacketPlayerListHeaderFooter", "hx", Context.CLIENT);
  105 + public static Packets S0DPacketCollectItem = new Packets("net.minecraft.network.play.server.S0DPacketCollectItem", "hy", Context.CLIENT);
  106 + public static Packets S18PacketEntityTeleport = new Packets("net.minecraft.network.play.server.S18PacketEntityTeleport", "hz", Context.CLIENT);
  107 + public static Packets S20PacketEntityProperties = new Packets("net.minecraft.network.play.server.S20PacketEntityProperties", "ia", Context.CLIENT);
  108 + public static Packets S1DPacketEntityEffect = new Packets("net.minecraft.network.play.server.S1DPacketEntityEffect", "ib", Context.CLIENT);
  109 + public static Packets C14PacketTabComplete = new Packets("net.minecraft.network.play.client.C14PacketTabComplete", "id", Context.SERVER);
  110 + public static Packets C01PacketChatMessage = new Packets("net.minecraft.network.play.client.C01PacketChatMessage", "ie", Context.SERVER);
  111 + public static Packets C16PacketClientStatus = new Packets("net.minecraft.network.play.client.C16PacketClientStatus", "ig", Context.SERVER);
  112 + public static Packets C15PacketClientSettings = new Packets("net.minecraft.network.play.client.C15PacketClientSettings", "ih", Context.SERVER);
  113 + public static Packets C0FPacketConfirmTransaction = new Packets("net.minecraft.network.play.client.C0FPacketConfirmTransaction", "ii", Context.SERVER);
  114 + public static Packets C11PacketEnchantItem = new Packets("net.minecraft.network.play.client.C11PacketEnchantItem", "ij", Context.SERVER);
  115 + public static Packets C0EPacketClickWindow = new Packets("net.minecraft.network.play.client.C0EPacketClickWindow", "ik", Context.SERVER);
  116 + public static Packets C0DPacketCloseWindow = new Packets("net.minecraft.network.play.client.C0DPacketCloseWindow", "il", Context.SERVER);
  117 + public static Packets C17PacketCustomPayload = new Packets("net.minecraft.network.play.client.C17PacketCustomPayload", "im", Context.SERVER);
  118 + public static Packets C02PacketUseEntity = new Packets("net.minecraft.network.play.client.C02PacketUseEntity", "in", Context.SERVER);
  119 + public static Packets C00PacketKeepAlive = new Packets("net.minecraft.network.play.client.C00PacketKeepAlive", "io", Context.SERVER);
  120 + public static Packets C03PacketPlayer = new Packets("net.minecraft.network.play.client.C03PacketPlayer", "ip", Context.SERVER);
  121 + public static Packets C04PacketPlayerPosition = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C04PacketPlayerPosition", "ip$a", Context.SERVER);
  122 + public static Packets C06PacketPlayerPosLook = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook", "ip$b", Context.SERVER);
  123 + public static Packets C05PacketPlayerLook = new Packets("net.minecraft.network.play.client.C03PacketPlayer$C05PacketPlayerLook", "ip$c", Context.SERVER);
  124 + public static Packets C13PacketPlayerAbilities = new Packets("net.minecraft.network.play.client.C13PacketPlayerAbilities", "iq", Context.SERVER);
  125 + public static Packets C07PacketPlayerDigging = new Packets("net.minecraft.network.play.client.C07PacketPlayerDigging", "ir", Context.SERVER);
  126 + public static Packets C0BPacketEntityAction = new Packets("net.minecraft.network.play.client.C0BPacketEntityAction", "is", Context.SERVER);
  127 + public static Packets C0CPacketInput = new Packets("net.minecraft.network.play.client.C0CPacketInput", "it", Context.SERVER);
  128 + public static Packets C19PacketResourcePackStatus = new Packets("net.minecraft.network.play.client.C19PacketResourcePackStatus", "iu", Context.SERVER);
  129 + public static Packets C09PacketHeldItemChange = new Packets("net.minecraft.network.play.client.C09PacketHeldItemChange", "iv", Context.SERVER);
  130 + public static Packets C10PacketCreativeInventoryAction = new Packets("net.minecraft.network.play.client.C10PacketCreativeInventoryAction", "iw", Context.SERVER);
  131 + public static Packets C12PacketUpdateSign = new Packets("net.minecraft.network.play.client.C12PacketUpdateSign", "ix", Context.SERVER);
  132 + public static Packets C0APacketAnimation = new Packets("net.minecraft.network.play.client.C0APacketAnimation", "iy", Context.SERVER);
  133 + public static Packets C18PacketSpectate = new Packets("net.minecraft.network.play.client.C18PacketSpectate", "iz", Context.SERVER);
  134 + public static Packets C08PacketPlayerBlockPlacement = new Packets("net.minecraft.network.play.client.C08PacketPlayerBlockPlacement", "ja", Context.SERVER);
  135 + public static Packets C00Handshake = new Packets("net.minecraft.network.handshake.client.C00Handshake", "jc", Context.SERVER);
  136 + public static Packets S02PacketLoginSuccess = new Packets("net.minecraft.network.login.server.S02PacketLoginSuccess", "jg", Context.CLIENT);
  137 + public static Packets S01PacketEncryptionRequest = new Packets("net.minecraft.network.login.server.S01PacketEncryptionRequest", "jh", Context.CLIENT);
  138 + public static Packets S03PacketEnableCompression = new Packets("net.minecraft.network.login.server.S03PacketEnableCompression", "ji", Context.CLIENT);
  139 + public static Packets S00PacketDisconnect = new Packets("net.minecraft.network.login.server.S00PacketDisconnect", "jj", Context.CLIENT);
  140 + public static Packets C00PacketLoginStart = new Packets("net.minecraft.network.login.client.C00PacketLoginStart", "jl", Context.SERVER);
  141 + public static Packets C01PacketEncryptionResponse = new Packets("net.minecraft.network.login.client.C01PacketEncryptionResponse", "jm", Context.SERVER);
  142 + public static Packets S01PacketPong = new Packets("net.minecraft.network.status.server.S01PacketPong", "jq", Context.CLIENT);
  143 + public static Packets S00PacketServerInfo = new Packets("net.minecraft.network.status.server.S00PacketServerInfo", "jr", Context.CLIENT);
  144 + public static Packets C01PacketPing = new Packets("net.minecraft.network.status.client.C01PacketPing", "ju", Context.SERVER);
  145 + public static Packets C00PacketServerQuery = new Packets("net.minecraft.network.status.client.C00PacketServerQuery", "jv", Context.SERVER);
146 146
147 // CHECKSTYLE:ON 147 // CHECKSTYLE:ON
148 148
src/main/java/com/mumfrey/liteloader/core/runtime/SrgContainer.java 0 โ†’ 100644
  1 +package com.mumfrey.liteloader.core.runtime;
  2 +
  3 +import java.io.File;
  4 +import java.io.IOException;
  5 +import java.nio.charset.Charset;
  6 +import java.util.HashMap;
  7 +import java.util.Map;
  8 +import java.util.Map.Entry;
  9 +
  10 +import org.spongepowered.asm.obfuscation.SrgField;
  11 +import org.spongepowered.asm.obfuscation.SrgMethod;
  12 +
  13 +import com.google.common.io.Files;
  14 +
  15 +import joptsimple.internal.Strings;
  16 +
  17 +public class SrgContainer
  18 +{
  19 +
  20 + private final Map<String, String> packageMap = new HashMap<String, String>();
  21 + private final Map<String, String> classMap = new HashMap<String, String>();
  22 + private final Map<SrgField, SrgField> fieldMap = new HashMap<SrgField, SrgField>();
  23 + private final Map<SrgMethod, SrgMethod> methodMap = new HashMap<SrgMethod, SrgMethod>();
  24 +
  25 + private final Map<String, String> reversePackageMap = new HashMap<String, String>();
  26 + private final Map<String, String> reverseClassMap = new HashMap<String, String>();
  27 + private final Map<SrgField, SrgField> reverseFieldMap = new HashMap<SrgField, SrgField>();
  28 + private final Map<SrgMethod, SrgMethod> reverseMethodMap = new HashMap<SrgMethod, SrgMethod>();
  29 +
  30 + public void readSrg(File srg) throws IOException
  31 + {
  32 + for (String line : Files.readLines(srg, Charset.defaultCharset()))
  33 + {
  34 + if (Strings.isNullOrEmpty(line) || line.startsWith("#"))
  35 + {
  36 + continue;
  37 + }
  38 +
  39 + String type = line.substring(0, 2);
  40 + String[] args = line.substring(4).split(" ");
  41 +
  42 + if ("PK".equals(type))
  43 + {
  44 + this.packageMap.put(args[0], args[1]);
  45 + this.reversePackageMap.put(args[1], args[0]);
  46 + }
  47 + else if ("CL".equals(type))
  48 + {
  49 + this.classMap.put(args[0], args[1]);
  50 + this.reverseClassMap.put(args[1], args[0]);
  51 + }
  52 + else if ("FD".equals(type))
  53 + {
  54 + SrgField field1 = new SrgField(args[0]);
  55 + SrgField field2 = new SrgField(args[1]);
  56 + this.fieldMap.put(field1, field2);
  57 + this.reverseFieldMap.put(field2, field1);
  58 + }
  59 + else if ("MD".equals(type))
  60 + {
  61 + SrgMethod method1 = new SrgMethod(args[0], args[1]);
  62 + SrgMethod method2 = new SrgMethod(args[2], args[3]);
  63 + this.methodMap.put(method1, method2);
  64 + this.reverseMethodMap.put(method2, method1);
  65 + }
  66 + }
  67 + }
  68 +
  69 + public SrgMethod getMethodMapping(String owner, String name, boolean reverse)
  70 + {
  71 + Map<SrgMethod, SrgMethod> map = reverse ? this.reverseMethodMap : this.methodMap;
  72 +
  73 + for (Entry<SrgMethod, SrgMethod> mapping : map.entrySet())
  74 + {
  75 + SrgMethod method = mapping.getKey();
  76 + if (owner.equals(method.getOwner()) && name.equals(method.getSimpleName()))
  77 + {
  78 + return mapping.getValue();
  79 + }
  80 + }
  81 +
  82 + return null;
  83 + }
  84 +
  85 + public SrgField getFieldMapping(String owner, String name, boolean reverse)
  86 + {
  87 + Map<SrgField, SrgField> map = reverse ? this.reverseFieldMap : this.fieldMap;
  88 +
  89 + for (Entry<SrgField, SrgField> mapping : map.entrySet())
  90 + {
  91 + SrgField field = mapping.getKey();
  92 + if (owner.equals(field.getOwner()) && name.equals(field.getName()))
  93 + {
  94 + return mapping.getValue();
  95 + }
  96 + }
  97 +
  98 + return null;
  99 + }
  100 +
  101 + public SrgMethod getMethodMapping(SrgMethod methodName)
  102 + {
  103 + return this.methodMap.get(methodName);
  104 + }
  105 +
  106 + public SrgField getFieldMapping(SrgField fieldName)
  107 + {
  108 + return this.fieldMap.get(fieldName);
  109 + }
  110 +
  111 + public String getClassMapping(String className)
  112 + {
  113 + return this.classMap.get(className);
  114 + }
  115 +
  116 + public String getPackageMapping(String packageName)
  117 + {
  118 + return this.packageMap.get(packageName);
  119 + }
  120 +
  121 +}
src/main/java/com/mumfrey/liteloader/launch/LiteLoaderTweaker.java
@@ -33,8 +33,8 @@ public class LiteLoaderTweaker implements ITweaker @@ -33,8 +33,8 @@ public class LiteLoaderTweaker implements ITweaker
33 public static final int ENV_TYPE_CLIENT = 0; 33 public static final int ENV_TYPE_CLIENT = 0;
34 public static final int ENV_TYPE_DEDICATEDSERVER = 1; 34 public static final int ENV_TYPE_DEDICATEDSERVER = 1;
35 35
36 - // TODO Version - 1.8  
37 - public static final String VERSION = "1.8"; 36 + // TODO Version - 1.8.9
  37 + public static final String VERSION = "1.8.9";
38 38
39 protected static final String bootstrapClassName = "com.mumfrey.liteloader.core.LiteLoaderBootstrap"; 39 protected static final String bootstrapClassName = "com.mumfrey.liteloader.core.LiteLoaderBootstrap";
40 40
src/main/java/com/mumfrey/liteloader/transformers/PacketHandlerException.java
@@ -12,18 +12,18 @@ public class PacketHandlerException extends RuntimeException @@ -12,18 +12,18 @@ public class PacketHandlerException extends RuntimeException
12 { 12 {
13 private static final long serialVersionUID = -330946238844640302L; 13 private static final long serialVersionUID = -330946238844640302L;
14 14
15 - private Packet packet; 15 + private Packet<?> packet;
16 16
17 - public PacketHandlerException(Packet packet) 17 + public PacketHandlerException(Packet<?> packet)
18 { 18 {
19 } 19 }
20 20
21 - public PacketHandlerException(Packet packet, String message) 21 + public PacketHandlerException(Packet<?> packet, String message)
22 { 22 {
23 super(message); 23 super(message);
24 } 24 }
25 25
26 - public Packet getPacket() 26 + public Packet<?> getPacket()
27 { 27 {
28 return this.packet; 28 return this.packet;
29 } 29 }
src/main/java/com/mumfrey/liteloader/transformers/access/AccessorException.java 0 โ†’ 100644
  1 +/*
  2 + * This file is part of LiteLoader.
  3 + * Copyright (C) 2012-16 Adam Mummery-Smith
  4 + * All Rights Reserved.
  5 + */
  6 +package com.mumfrey.liteloader.transformers.access;
  7 +
  8 +public class AccessorException extends RuntimeException
  9 +{
  10 + private static final long serialVersionUID = 1L;
  11 +
  12 + public AccessorException(String message)
  13 + {
  14 + super(message);
  15 + }
  16 +
  17 +}
src/main/java/com/mumfrey/liteloader/transformers/access/AccessorTransformer.java
@@ -37,6 +37,8 @@ import com.mumfrey.liteloader.util.log.LiteLoaderLogger; @@ -37,6 +37,8 @@ import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
37 */ 37 */
38 public abstract class AccessorTransformer extends ClassTransformer 38 public abstract class AccessorTransformer extends ClassTransformer
39 { 39 {
  40 + static final String EXCEPTION = "com/mumfrey/liteloader/transformers/access/AccessorException";
  41 +
40 static final Pattern ordinalRefPattern = Pattern.compile("^#([0-9]{1,5})$"); 42 static final Pattern ordinalRefPattern = Pattern.compile("^#([0-9]{1,5})$");
41 43
42 /** 44 /**
@@ -269,13 +271,14 @@ public abstract class AccessorTransformer extends ClassTransformer @@ -269,13 +271,14 @@ public abstract class AccessorTransformer extends ClassTransformer
269 { 271 {
270 LiteLoaderLogger.severe("[AccessorTransformer] Method %s for %s has no @Accessor or @Invoker annotation, the method will " 272 LiteLoaderLogger.severe("[AccessorTransformer] Method %s for %s has no @Accessor or @Invoker annotation, the method will "
271 + "be ABSTRACT!", method.name, this.iface); 273 + "be ABSTRACT!", method.name, this.iface);
272 - this.injectException(classNode, method, "No @Accessor or @Invoker annotation on method"); 274 + this.injectException(classNode, method, AccessorTransformer.EXCEPTION, "No @Accessor or @Invoker annotation on method");
273 return; 275 return;
274 } 276 }
275 277
276 LiteLoaderLogger.severe("[AccessorTransformer] Method %s for %s could not locate target member, the method will be ABSTRACT!", 278 LiteLoaderLogger.severe("[AccessorTransformer] Method %s for %s could not locate target member, the method will be ABSTRACT!",
277 method.name, this.iface); 279 method.name, this.iface);
278 - this.injectException(classNode, method, "Could not locate target class member '" + targetId + "'"); 280 + this.injectException(classNode, method, AccessorTransformer.EXCEPTION,
  281 + "Accessor could not locate target class member '" + targetId + "'");
279 } 282 }
280 283
281 /** 284 /**
@@ -437,18 +440,19 @@ public abstract class AccessorTransformer extends ClassTransformer @@ -437,18 +440,19 @@ public abstract class AccessorTransformer extends ClassTransformer
437 * 440 *
438 * @param classNode 441 * @param classNode
439 * @param method 442 * @param method
  443 + * @param exceptionType
440 * @param message 444 * @param message
441 */ 445 */
442 - private void injectException(ClassNode classNode, MethodNode method, String message) 446 + private void injectException(ClassNode classNode, MethodNode method, String exceptionType, String message)
443 { 447 {
444 InsnList insns = method.instructions; 448 InsnList insns = method.instructions;
445 method.maxStack = 2; 449 method.maxStack = 2;
446 450
447 insns.clear(); 451 insns.clear();
448 - insns.add(new TypeInsnNode(Opcodes.NEW, "java/lang/RuntimeException")); 452 + insns.add(new TypeInsnNode(Opcodes.NEW, exceptionType));
449 insns.add(new InsnNode(Opcodes.DUP)); 453 insns.add(new InsnNode(Opcodes.DUP));
450 insns.add(new LdcInsnNode(message)); 454 insns.add(new LdcInsnNode(message));
451 - insns.add(new MethodInsnNode(Opcodes.INVOKESPECIAL, "java/lang/RuntimeException", "<init>", "(Ljava/lang/String;)V", false)); 455 + insns.add(new MethodInsnNode(Opcodes.INVOKESPECIAL, exceptionType, "<init>", "(Ljava/lang/String;)V", false));
452 insns.add(new InsnNode(Opcodes.ATHROW)); 456 insns.add(new InsnNode(Opcodes.ATHROW));
453 } 457 }
454 458
src/main/java/com/mumfrey/liteloader/transformers/event/json/JsonMethods.java
@@ -4,7 +4,6 @@ import java.util.HashMap; @@ -4,7 +4,6 @@ import java.util.HashMap;
4 import java.util.List; 4 import java.util.List;
5 import java.util.Map; 5 import java.util.Map;
6 6
7 -import com.mumfrey.liteloader.core.runtime.Methods;  
8 import com.mumfrey.liteloader.transformers.event.MethodInfo; 7 import com.mumfrey.liteloader.transformers.event.MethodInfo;
9 8
10 /** 9 /**
@@ -76,12 +75,6 @@ public class JsonMethods @@ -76,12 +75,6 @@ public class JsonMethods
76 return method; 75 return method;
77 } 76 }
78 77
79 - MethodInfo builtinMethod = Methods.getByName(key);  
80 - if (builtinMethod != null)  
81 - {  
82 - return builtinMethod;  
83 - }  
84 -  
85 throw new InvalidEventJsonException("Could not locate method descriptor with token " + token); 78 throw new InvalidEventJsonException("Could not locate method descriptor with token " + token);
86 } 79 }
87 } 80 }
88 \ No newline at end of file 81 \ No newline at end of file
src/main/java/com/mumfrey/liteloader/util/ChatUtilities.java
@@ -82,7 +82,6 @@ public abstract class ChatUtilities @@ -82,7 +82,6 @@ public abstract class ChatUtilities
82 return siblings; 82 return siblings;
83 } 83 }
84 84
85 - @SuppressWarnings("unchecked")  
86 private static IChatComponent covertCodesInPlace(IChatComponent component) 85 private static IChatComponent covertCodesInPlace(IChatComponent component)
87 { 86 {
88 IChatComponent newComponent = null; 87 IChatComponent newComponent = null;
src/main/resources/mixins.liteloader.core.json
1 { 1 {
2 "required": true, 2 "required": true,
3 - "minVersion": "0.4.10", 3 + "minVersion": "0.5.3",
4 "package": "com.mumfrey.liteloader.common.mixin", 4 "package": "com.mumfrey.liteloader.common.mixin",
5 "refmap": "mixins.liteloader.core.refmap.json", 5 "refmap": "mixins.liteloader.core.refmap.json",
6 "mixins": [ 6 "mixins": [
@@ -10,5 +10,8 @@ @@ -10,5 +10,8 @@
10 "MixinItemInWorldManager", 10 "MixinItemInWorldManager",
11 "MixinC15PacketClientSettings", 11 "MixinC15PacketClientSettings",
12 "MixinS02PacketChat" 12 "MixinS02PacketChat"
13 - ] 13 + ],
  14 + "injectors": {
  15 + "defaultRequire": 1
  16 + }
14 } 17 }
15 \ No newline at end of file 18 \ No newline at end of file