Commit 7b01aee76b8296e9725008f37962a0586b0ed129
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<Minecraft, IntegratedServer> | @@ -113,7 +113,7 @@ public class GameEngineClient implements GameEngine<Minecraft, IntegratedServer> | ||
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<Minecraft | @@ -406,7 +406,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<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<Minecraft | @@ -483,7 +483,6 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<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<Minecraft | @@ -543,8 +542,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<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<Minecraft | @@ -559,8 +558,8 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<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<TClient, TServer extends MinecraftSe | @@ -488,7 +489,7 @@ public abstract class LiteLoaderEventBroker<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 |