Commit ab107f540b4d90695f2048ee16d7bab198c375d7
1 parent
5225abe9
implement onRenderWorld - closes #60
Showing
5 changed files
with
46 additions
and
7 deletions
java/client/com/mumfrey/liteloader/client/CallbackProxyClient.java
... | ... | @@ -2,6 +2,7 @@ package com.mumfrey.liteloader.client; |
2 | 2 | |
3 | 3 | import net.minecraft.client.Minecraft; |
4 | 4 | import net.minecraft.client.entity.EntityClientPlayerMP; |
5 | +import net.minecraft.client.renderer.EntityRenderer; | |
5 | 6 | import net.minecraft.client.renderer.OpenGlHelper; |
6 | 7 | import net.minecraft.client.shader.Framebuffer; |
7 | 8 | import net.minecraft.entity.player.EntityPlayerMP; |
... | ... | @@ -307,4 +308,9 @@ public class CallbackProxyClient |
307 | 308 | |
308 | 309 | CallbackProxyClient.renderingFBO = false; |
309 | 310 | } |
311 | + | |
312 | + public static void onRenderWorld(EventInfo<EntityRenderer> e, float partialTicks, long timeSlice) | |
313 | + { | |
314 | + CallbackProxyClient.events.onRenderWorld(partialTicks, timeSlice); | |
315 | + } | |
310 | 316 | } | ... | ... |
java/client/com/mumfrey/liteloader/client/ClientEvents.java
... | ... | @@ -682,4 +682,13 @@ public class ClientEvents extends Events<Minecraft, IntegratedServer> |
682 | 682 | { |
683 | 683 | this.frameBufferListeners.all().postRenderFBO(framebuffer); |
684 | 684 | } |
685 | + | |
686 | + /** | |
687 | + * @param partialTicks | |
688 | + * @param timeSlice | |
689 | + */ | |
690 | + public void onRenderWorld(float partialTicks, long timeSlice) | |
691 | + { | |
692 | + this.renderListeners.all().onRenderWorld(); | |
693 | + } | |
685 | 694 | } | ... | ... |
java/client/com/mumfrey/liteloader/client/transformers/LiteLoaderEventInjectionTransformer.java
... | ... | @@ -6,22 +6,20 @@ import com.mumfrey.liteloader.transformers.event.EventInjectionTransformer; |
6 | 6 | import com.mumfrey.liteloader.transformers.event.InjectionPoint; |
7 | 7 | import com.mumfrey.liteloader.transformers.event.MethodInfo; |
8 | 8 | import com.mumfrey.liteloader.transformers.event.inject.BeforeInvoke; |
9 | +import com.mumfrey.liteloader.transformers.event.inject.BeforeStringInvoke; | |
9 | 10 | import com.mumfrey.liteloader.transformers.event.inject.MethodHead; |
10 | 11 | |
12 | +import static com.mumfrey.liteloader.core.runtime.Methods.*; | |
13 | + | |
11 | 14 | public class LiteLoaderEventInjectionTransformer extends EventInjectionTransformer |
12 | 15 | { |
13 | 16 | @Override |
14 | 17 | protected void addEvents() |
15 | 18 | { |
16 | - MethodInfo runGameLoop = new MethodInfo(Obf.Minecraft, Obf.runGameLoop, Void.TYPE); | |
17 | - MethodInfo updateFramebufferSize = new MethodInfo(Obf.Minecraft, Obf.updateFramebufferSize, Void.TYPE); | |
18 | - MethodInfo framebufferRender = new MethodInfo(Obf.FrameBuffer, Obf.framebufferRender, Void.TYPE, Integer.TYPE, Integer.TYPE); | |
19 | - MethodInfo bindFramebufferTexture = new MethodInfo(Obf.FrameBuffer, Obf.bindFramebufferTexture, Void.TYPE); | |
20 | - MethodInfo sendChatMessage = new MethodInfo(Obf.EntityClientPlayerMP, Obf.sendChatMessage, Void.TYPE, String.class); | |
21 | - | |
22 | 19 | InjectionPoint methodHead = new MethodHead(); |
23 | 20 | InjectionPoint beforeFBORender = new BeforeInvoke(framebufferRender); |
24 | 21 | InjectionPoint beforeBindFBOTex = new BeforeInvoke(bindFramebufferTexture); |
22 | + InjectionPoint beforePickProfiler = new BeforeStringInvoke("pick", endStartSection); | |
25 | 23 | |
26 | 24 | this.addEvent(Event.getOrCreate("sendChatMessage", true), sendChatMessage, methodHead) |
27 | 25 | .addListener(new MethodInfo(Obf.CallbackProxyClient, "onOutboundChat")); |
... | ... | @@ -37,5 +35,8 @@ public class LiteLoaderEventInjectionTransformer extends EventInjectionTransform |
37 | 35 | |
38 | 36 | this.addEvent(Event.getOrCreate("postRenderFBO", false), runGameLoop, InjectionPoint.after(beforeFBORender)) |
39 | 37 | .addListener(new MethodInfo(Obf.CallbackProxyClient, "postRenderFBO"));; |
38 | + | |
39 | + this.addEvent(Event.getOrCreate("onRenderWorld", false), renderWorld, beforePickProfiler) | |
40 | + .addListener(new MethodInfo(Obf.CallbackProxyClient, "onRenderWorld"));; | |
40 | 41 | } |
41 | 42 | } | ... | ... |
java/common/com/mumfrey/liteloader/core/runtime/Methods.java
0 → 100644
1 | +package com.mumfrey.liteloader.core.runtime; | |
2 | + | |
3 | +import com.mumfrey.liteloader.transformers.event.MethodInfo; | |
4 | + | |
5 | +/** | |
6 | + * | |
7 | + * @author Adam Mummery-Smith | |
8 | + */ | |
9 | +public abstract class Methods | |
10 | +{ | |
11 | + public static final MethodInfo runGameLoop = new MethodInfo(Obf.Minecraft, Obf.runGameLoop, Void.TYPE); | |
12 | + public static final MethodInfo updateFramebufferSize = new MethodInfo(Obf.Minecraft, Obf.updateFramebufferSize, Void.TYPE); | |
13 | + public static final MethodInfo framebufferRender = new MethodInfo(Obf.FrameBuffer, Obf.framebufferRender, Void.TYPE, Integer.TYPE, Integer.TYPE); | |
14 | + public static final MethodInfo bindFramebufferTexture = new MethodInfo(Obf.FrameBuffer, Obf.bindFramebufferTexture, Void.TYPE); | |
15 | + public static final MethodInfo sendChatMessage = new MethodInfo(Obf.EntityClientPlayerMP, Obf.sendChatMessage, Void.TYPE, String.class); | |
16 | + public static final MethodInfo renderWorld = new MethodInfo(Obf.EntityRenderer, Obf.renderWorld, Void.TYPE, Float.TYPE, Long.TYPE); | |
17 | + | |
18 | + public static final MethodInfo startSection = new MethodInfo(Obf.Profiler, Obf.startSection, Void.TYPE, String.class); | |
19 | + public static final MethodInfo endSection = new MethodInfo(Obf.Profiler, Obf.endSection, Void.TYPE); | |
20 | + public static final MethodInfo endStartSection = new MethodInfo(Obf.Profiler, Obf.endStartSection, Void.TYPE, String.class); | |
21 | + | |
22 | + private Methods() {} | |
23 | +} | ... | ... |
java/common/com/mumfrey/liteloader/launch/LiteLoaderTweaker.java
... | ... | @@ -322,7 +322,7 @@ public class LiteLoaderTweaker implements ITweaker |
322 | 322 | @Override |
323 | 323 | public void injectIntoClassLoader(LaunchClassLoader classLoader) |
324 | 324 | { |
325 | - classLoader.addClassLoaderExclusion("com.mumfrey.liteloader.core.runtime."); | |
325 | + classLoader.addClassLoaderExclusion("com.mumfrey.liteloader.core.runtime.Obf"); | |
326 | 326 | |
327 | 327 | LiteLoaderTweaker.instance.transformerManager.injectUpstreamTransformers(classLoader); |
328 | 328 | ... | ... |