Commit 53881326bb43260c8bc710c8de49d289a988dccb
1 parent
af8f47e8
Remove legacy proxy objects and move all logic into relevant mixins
Showing
18 changed files
with
191 additions
and
474 deletions
src/client/java/com/mumfrey/liteloader/client/ClientProxy.java deleted
100644 → 0
| 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; | ||
| 7 | - | ||
| 8 | -import java.io.File; | ||
| 9 | - | ||
| 10 | -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
| 11 | -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | ||
| 12 | - | ||
| 13 | -import com.mumfrey.liteloader.PlayerInteractionListener.MouseButton; | ||
| 14 | -import com.mumfrey.liteloader.client.ducks.IFramebuffer; | ||
| 15 | -import com.mumfrey.liteloader.core.Proxy; | ||
| 16 | - | ||
| 17 | -import net.minecraft.client.Minecraft; | ||
| 18 | -import net.minecraft.client.entity.EntityPlayerSP; | ||
| 19 | -import net.minecraft.client.gui.GuiNewChat; | ||
| 20 | -import net.minecraft.client.renderer.RenderGlobal; | ||
| 21 | -import net.minecraft.client.renderer.entity.Render; | ||
| 22 | -import net.minecraft.client.renderer.entity.RenderManager; | ||
| 23 | -import net.minecraft.client.shader.Framebuffer; | ||
| 24 | -import net.minecraft.entity.Entity; | ||
| 25 | -import net.minecraft.server.integrated.IntegratedServer; | ||
| 26 | -import net.minecraft.util.text.ITextComponent; | ||
| 27 | -import net.minecraft.world.WorldSettings; | ||
| 28 | - | ||
| 29 | -/** | ||
| 30 | - * Proxy class which handles the redirected calls from the injected callbacks | ||
| 31 | - * and routes them to the relevant liteloader handler classes. We do this rather | ||
| 32 | - * than patching a bunch of bytecode into the packet classes themselves because | ||
| 33 | - * this is easier to maintain. | ||
| 34 | - * | ||
| 35 | - * @author Adam Mummery-Smith | ||
| 36 | - */ | ||
| 37 | -public abstract class ClientProxy extends Proxy | ||
| 38 | -{ | ||
| 39 | - private static LiteLoaderEventBrokerClient broker; | ||
| 40 | - | ||
| 41 | - private ClientProxy() {} | ||
| 42 | - | ||
| 43 | - public static void onStartupComplete() | ||
| 44 | - { | ||
| 45 | - Proxy.onStartupComplete(); | ||
| 46 | - | ||
| 47 | - ClientProxy.broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 48 | - | ||
| 49 | - if (ClientProxy.broker == null) | ||
| 50 | - { | ||
| 51 | - throw new RuntimeException("LiteLoader failed to start up properly." | ||
| 52 | - + " The game is in an unstable state and must shut down now. Check the developer log for startup errors"); | ||
| 53 | - } | ||
| 54 | - | ||
| 55 | - ClientProxy.broker.onStartupComplete(); | ||
| 56 | - } | ||
| 57 | - | ||
| 58 | - public static void onTimerUpdate() | ||
| 59 | - { | ||
| 60 | - ClientProxy.broker.onTimerUpdate(); | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | - public static void newTick() | ||
| 64 | - { | ||
| 65 | - } | ||
| 66 | - | ||
| 67 | - public static void onTick() | ||
| 68 | - { | ||
| 69 | - ClientProxy.broker.onTick(); | ||
| 70 | - } | ||
| 71 | - | ||
| 72 | - public static void onRender() | ||
| 73 | - { | ||
| 74 | - ClientProxy.broker.onRender(); | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - public static void preRenderGUI(float partialTicks) | ||
| 78 | - { | ||
| 79 | - ClientProxy.broker.preRenderGUI(partialTicks); | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - public static void onSetupCameraTransform(int pass, float partialTicks, long timeSlice) | ||
| 83 | - { | ||
| 84 | - ClientProxy.broker.onSetupCameraTransform(pass, partialTicks, timeSlice); | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - public static void postRenderEntities(int pass, float partialTicks, long timeSlice) | ||
| 88 | - { | ||
| 89 | - ClientProxy.broker.postRenderEntities(partialTicks, timeSlice); | ||
| 90 | - } | ||
| 91 | - | ||
| 92 | - public static void postRender(float partialTicks, long timeSlice) | ||
| 93 | - { | ||
| 94 | - ClientProxy.broker.postRender(partialTicks, timeSlice); | ||
| 95 | - } | ||
| 96 | - | ||
| 97 | - public static void onRenderHUD(float partialTicks) | ||
| 98 | - { | ||
| 99 | - ClientProxy.broker.onRenderHUD(partialTicks); | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - public static void onRenderChat(GuiNewChat chatGui, float partialTicks) | ||
| 103 | - { | ||
| 104 | - ClientProxy.broker.onRenderChat(chatGui, partialTicks); | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - public static void postRenderChat(GuiNewChat chatGui, float partialTicks) | ||
| 108 | - { | ||
| 109 | - ClientProxy.broker.postRenderChat(chatGui, partialTicks); | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - public static void postRenderHUD(float partialTicks) | ||
| 113 | - { | ||
| 114 | - ClientProxy.broker.postRenderHUD(partialTicks); | ||
| 115 | - } | ||
| 116 | - | ||
| 117 | - public static void onCreateIntegratedServer(IntegratedServer server, String folderName, String worldName, WorldSettings worldSettings) | ||
| 118 | - { | ||
| 119 | - ClientProxy.broker.onStartServer(server, folderName, worldName, worldSettings); | ||
| 120 | - } | ||
| 121 | - | ||
| 122 | - public static void onOutboundChat(CallbackInfo e, String message) | ||
| 123 | - { | ||
| 124 | - ClientProxy.broker.onSendChatMessage(e, message); | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - public static void onResize(Minecraft mc) | ||
| 128 | - { | ||
| 129 | - if (ClientProxy.broker == null) return; | ||
| 130 | - ClientProxy.broker.onResize(mc); | ||
| 131 | - } | ||
| 132 | - | ||
| 133 | - public static void preRenderFBO(Framebuffer frameBufferMc) | ||
| 134 | - { | ||
| 135 | - if (ClientProxy.broker == null) return; | ||
| 136 | - if (frameBufferMc instanceof IFramebuffer) | ||
| 137 | - { | ||
| 138 | - ((IFramebuffer)frameBufferMc).setDispatchRenderEvent(true); | ||
| 139 | - } | ||
| 140 | - ClientProxy.broker.preRenderFBO(frameBufferMc); | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - public static void postRenderFBO(Framebuffer frameBufferMc) | ||
| 144 | - { | ||
| 145 | - if (ClientProxy.broker == null) return; | ||
| 146 | - ClientProxy.broker.postRenderFBO(frameBufferMc); | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - public static void renderFBO(Framebuffer frameBufferMc, int width, int height, boolean flag) | ||
| 150 | - { | ||
| 151 | - if (ClientProxy.broker == null) return; | ||
| 152 | - ClientProxy.broker.onRenderFBO(frameBufferMc, width, height); | ||
| 153 | - } | ||
| 154 | - | ||
| 155 | - public static void onRenderWorld(float partialTicks, long timeSlice) | ||
| 156 | - { | ||
| 157 | - ClientProxy.broker.onRenderWorld(partialTicks, timeSlice); | ||
| 158 | - } | ||
| 159 | - | ||
| 160 | - public static void onRenderSky(int pass, float partialTicks, long timeSlice) | ||
| 161 | - { | ||
| 162 | - ClientProxy.broker.onRenderSky(partialTicks, pass, timeSlice); | ||
| 163 | - } | ||
| 164 | - | ||
| 165 | - public static void onRenderClouds(RenderGlobal renderGlobalIn, float partialTicks, int pass) | ||
| 166 | - { | ||
| 167 | - ClientProxy.broker.onRenderClouds(partialTicks, pass, renderGlobalIn); | ||
| 168 | - } | ||
| 169 | - | ||
| 170 | - public static void onRenderTerrain(int pass, float partialTicks, long timeSlice) | ||
| 171 | - { | ||
| 172 | - ClientProxy.broker.onRenderTerrain(partialTicks, pass, timeSlice); | ||
| 173 | - } | ||
| 174 | - | ||
| 175 | - public static void onSaveScreenshot(CallbackInfoReturnable<ITextComponent> ci, File gameDir, String name, int width, int height, | ||
| 176 | - Framebuffer fbo) | ||
| 177 | - { | ||
| 178 | - ClientProxy.broker.onScreenshot(ci, name, width, height, fbo); | ||
| 179 | - } | ||
| 180 | - | ||
| 181 | - public static <T extends Entity> void onRenderEntity(RenderManager source, Render<T> render, T entity, double x, double y, double z, | ||
| 182 | - float yaw, float pTicks) | ||
| 183 | - { | ||
| 184 | - ClientProxy.broker.onRenderEntity(source, entity, x, y, z, yaw, pTicks, render); | ||
| 185 | - } | ||
| 186 | - | ||
| 187 | - public static <T extends Entity> void onPostRenderEntity(RenderManager source, Render<T> render, T entity, double x, double y, double z, | ||
| 188 | - float yaw, float pTicks) | ||
| 189 | - { | ||
| 190 | - ClientProxy.broker.onPostRenderEntity(source, entity, x, y, z, yaw, pTicks, render); | ||
| 191 | - } | ||
| 192 | - | ||
| 193 | - public static boolean onClickMouse(EntityPlayerSP player, MouseButton button) | ||
| 194 | - { | ||
| 195 | - return ClientProxy.broker.onClickMouse(player, button); | ||
| 196 | - } | ||
| 197 | - | ||
| 198 | - public static boolean onMouseHeld(EntityPlayerSP player, MouseButton button) | ||
| 199 | - { | ||
| 200 | - return ClientProxy.broker.onMouseHeld(player, button); | ||
| 201 | - } | ||
| 202 | -} |
src/client/java/com/mumfrey/liteloader/client/LiteLoaderEventBrokerClient.java
| @@ -286,7 +286,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -286,7 +286,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 286 | * Late initialisation callback | 286 | * Late initialisation callback |
| 287 | */ | 287 | */ |
| 288 | @Override | 288 | @Override |
| 289 | - protected void onStartupComplete() | 289 | + public void onStartupComplete() |
| 290 | { | 290 | { |
| 291 | this.engine.getResources().refreshResources(false); | 291 | this.engine.getResources().refreshResources(false); |
| 292 | 292 | ||
| @@ -328,7 +328,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -328,7 +328,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 328 | /** | 328 | /** |
| 329 | * Callback from the tick hook, pre render | 329 | * Callback from the tick hook, pre render |
| 330 | */ | 330 | */ |
| 331 | - void onRender() | 331 | + public void onRender() |
| 332 | { | 332 | { |
| 333 | this.renderListeners.all().onRender(); | 333 | this.renderListeners.all().onRender(); |
| 334 | } | 334 | } |
| @@ -339,7 +339,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -339,7 +339,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 339 | * @param partialTicks | 339 | * @param partialTicks |
| 340 | * @param timeSlice | 340 | * @param timeSlice |
| 341 | */ | 341 | */ |
| 342 | - void postRenderEntities(float partialTicks, long timeSlice) | 342 | + public void postRenderEntities(float partialTicks, long timeSlice) |
| 343 | { | 343 | { |
| 344 | this.postRenderListeners.all().onPostRenderEntities(partialTicks); | 344 | this.postRenderListeners.all().onPostRenderEntities(partialTicks); |
| 345 | } | 345 | } |
| @@ -350,7 +350,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -350,7 +350,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 350 | * @param partialTicks | 350 | * @param partialTicks |
| 351 | * @param timeSlice | 351 | * @param timeSlice |
| 352 | */ | 352 | */ |
| 353 | - void postRender(float partialTicks, long timeSlice) | 353 | + public void postRender(float partialTicks, long timeSlice) |
| 354 | { | 354 | { |
| 355 | ((IEntityRenderer)this.engineClient.getClient().entityRenderer).setupCamera(partialTicks, 0); | 355 | ((IEntityRenderer)this.engineClient.getClient().entityRenderer).setupCamera(partialTicks, 0); |
| 356 | this.postRenderListeners.all().onPostRender(partialTicks); | 356 | this.postRenderListeners.all().onPostRender(partialTicks); |
| @@ -359,7 +359,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -359,7 +359,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 359 | /** | 359 | /** |
| 360 | * Called immediately before the current GUI is rendered | 360 | * Called immediately before the current GUI is rendered |
| 361 | */ | 361 | */ |
| 362 | - void preRenderGUI(float partialTicks) | 362 | + public void preRenderGUI(float partialTicks) |
| 363 | { | 363 | { |
| 364 | this.renderListeners.all().onRenderGui(this.engineClient.getCurrentScreen()); | 364 | this.renderListeners.all().onRenderGui(this.engineClient.getCurrentScreen()); |
| 365 | } | 365 | } |
| @@ -371,7 +371,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -371,7 +371,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 371 | * @param timeSlice | 371 | * @param timeSlice |
| 372 | * @param partialTicks | 372 | * @param partialTicks |
| 373 | */ | 373 | */ |
| 374 | - void onSetupCameraTransform(int pass, float partialTicks, long timeSlice) | 374 | + public void onSetupCameraTransform(int pass, float partialTicks, long timeSlice) |
| 375 | { | 375 | { |
| 376 | this.renderListeners.all().onSetupCameraTransform(); | 376 | this.renderListeners.all().onSetupCameraTransform(); |
| 377 | this.preRenderListeners.all().onSetupCameraTransform(partialTicks, pass, timeSlice); | 377 | this.preRenderListeners.all().onSetupCameraTransform(partialTicks, pass, timeSlice); |
| @@ -383,7 +383,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -383,7 +383,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 383 | * @param chatGui | 383 | * @param chatGui |
| 384 | * @param partialTicks | 384 | * @param partialTicks |
| 385 | */ | 385 | */ |
| 386 | - void onRenderChat(GuiNewChat chatGui, float partialTicks) | 386 | + public void onRenderChat(GuiNewChat chatGui, float partialTicks) |
| 387 | { | 387 | { |
| 388 | this.chatRenderListeners.all().onPreRenderChat(this.screenWidth, this.screenHeight, chatGui); | 388 | this.chatRenderListeners.all().onPreRenderChat(this.screenWidth, this.screenHeight, chatGui); |
| 389 | } | 389 | } |
| @@ -394,7 +394,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -394,7 +394,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 394 | * @param chatGui | 394 | * @param chatGui |
| 395 | * @param partialTicks | 395 | * @param partialTicks |
| 396 | */ | 396 | */ |
| 397 | - void postRenderChat(GuiNewChat chatGui, float partialTicks) | 397 | + public void postRenderChat(GuiNewChat chatGui, float partialTicks) |
| 398 | { | 398 | { |
| 399 | this.chatRenderListeners.all().onPostRenderChat(this.screenWidth, this.screenHeight, chatGui); | 399 | this.chatRenderListeners.all().onPostRenderChat(this.screenWidth, this.screenHeight, chatGui); |
| 400 | } | 400 | } |
| @@ -402,7 +402,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -402,7 +402,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 402 | /** | 402 | /** |
| 403 | * Callback when about to render the HUD | 403 | * Callback when about to render the HUD |
| 404 | */ | 404 | */ |
| 405 | - void onRenderHUD(float partialTicks) | 405 | + public void onRenderHUD(float partialTicks) |
| 406 | { | 406 | { |
| 407 | this.hudRenderListeners.all().onPreRenderHUD(this.screenWidth, this.screenHeight); | 407 | this.hudRenderListeners.all().onPreRenderHUD(this.screenWidth, this.screenHeight); |
| 408 | } | 408 | } |
| @@ -410,7 +410,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -410,7 +410,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 410 | /** | 410 | /** |
| 411 | * Callback when the HUD has just been rendered | 411 | * Callback when the HUD has just been rendered |
| 412 | */ | 412 | */ |
| 413 | - void postRenderHUD(float partialTicks) | 413 | + public void postRenderHUD(float partialTicks) |
| 414 | { | 414 | { |
| 415 | this.hudRenderListeners.all().onPostRenderHUD(this.screenWidth, this.screenHeight); | 415 | this.hudRenderListeners.all().onPostRenderHUD(this.screenWidth, this.screenHeight); |
| 416 | } | 416 | } |
| @@ -418,7 +418,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -418,7 +418,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 418 | /** | 418 | /** |
| 419 | * Callback from the tick hook, called every frame when the timer is updated | 419 | * Callback from the tick hook, called every frame when the timer is updated |
| 420 | */ | 420 | */ |
| 421 | - void onTimerUpdate() | 421 | + public void onTimerUpdate() |
| 422 | { | 422 | { |
| 423 | Minecraft minecraft = this.engine.getClient(); | 423 | Minecraft minecraft = this.engine.getClient(); |
| 424 | this.loopListeners.all().onRunGameLoop(minecraft); | 424 | this.loopListeners.all().onRunGameLoop(minecraft); |
| @@ -427,7 +427,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -427,7 +427,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 427 | /** | 427 | /** |
| 428 | * Callback from the tick hook, ticks all tickable mods | 428 | * Callback from the tick hook, ticks all tickable mods |
| 429 | */ | 429 | */ |
| 430 | - void onTick() | 430 | + public void onTick() |
| 431 | { | 431 | { |
| 432 | this.profiler.endStartSection("litemods"); | 432 | this.profiler.endStartSection("litemods"); |
| 433 | 433 | ||
| @@ -474,7 +474,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -474,7 +474,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 474 | /** | 474 | /** |
| 475 | * @param message | 475 | * @param message |
| 476 | */ | 476 | */ |
| 477 | - void onSendChatMessage(CallbackInfo e, String message) | 477 | + public void onSendChatMessage(CallbackInfo e, String message) |
| 478 | { | 478 | { |
| 479 | if (!this.outboundChatFilters.all().onSendChatMessage(message)) | 479 | if (!this.outboundChatFilters.all().onSendChatMessage(message)) |
| 480 | { | 480 | { |
| @@ -485,7 +485,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -485,7 +485,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 485 | /** | 485 | /** |
| 486 | * @param framebuffer | 486 | * @param framebuffer |
| 487 | */ | 487 | */ |
| 488 | - void preRenderFBO(Framebuffer framebuffer) | 488 | + public void preRenderFBO(Framebuffer framebuffer) |
| 489 | { | 489 | { |
| 490 | this.frameBufferListeners.all().preRenderFBO(framebuffer); | 490 | this.frameBufferListeners.all().preRenderFBO(framebuffer); |
| 491 | } | 491 | } |
| @@ -495,7 +495,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -495,7 +495,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 495 | * @param width | 495 | * @param width |
| 496 | * @param height | 496 | * @param height |
| 497 | */ | 497 | */ |
| 498 | - void onRenderFBO(Framebuffer framebuffer, int width, int height) | 498 | + public void onRenderFBO(Framebuffer framebuffer, int width, int height) |
| 499 | { | 499 | { |
| 500 | this.frameBufferListeners.all().onRenderFBO(framebuffer, width, height); | 500 | this.frameBufferListeners.all().onRenderFBO(framebuffer, width, height); |
| 501 | } | 501 | } |
| @@ -503,7 +503,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -503,7 +503,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 503 | /** | 503 | /** |
| 504 | * @param framebuffer | 504 | * @param framebuffer |
| 505 | */ | 505 | */ |
| 506 | - void postRenderFBO(Framebuffer framebuffer) | 506 | + public void postRenderFBO(Framebuffer framebuffer) |
| 507 | { | 507 | { |
| 508 | this.frameBufferListeners.all().postRenderFBO(framebuffer); | 508 | this.frameBufferListeners.all().postRenderFBO(framebuffer); |
| 509 | } | 509 | } |
| @@ -512,7 +512,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -512,7 +512,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 512 | * @param partialTicks | 512 | * @param partialTicks |
| 513 | * @param timeSlice | 513 | * @param timeSlice |
| 514 | */ | 514 | */ |
| 515 | - void onRenderWorld(float partialTicks, long timeSlice) | 515 | + public void onRenderWorld(float partialTicks, long timeSlice) |
| 516 | { | 516 | { |
| 517 | this.preRenderListeners.all().onRenderWorld(partialTicks); | 517 | this.preRenderListeners.all().onRenderWorld(partialTicks); |
| 518 | } | 518 | } |
| @@ -522,7 +522,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -522,7 +522,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 522 | * @param pass | 522 | * @param pass |
| 523 | * @param timeSlice | 523 | * @param timeSlice |
| 524 | */ | 524 | */ |
| 525 | - void onRenderSky(float partialTicks, int pass, long timeSlice) | 525 | + public void onRenderSky(float partialTicks, int pass, long timeSlice) |
| 526 | { | 526 | { |
| 527 | this.preRenderListeners.all().onRenderSky(partialTicks, pass); | 527 | this.preRenderListeners.all().onRenderSky(partialTicks, pass); |
| 528 | } | 528 | } |
| @@ -532,7 +532,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -532,7 +532,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 532 | * @param pass | 532 | * @param pass |
| 533 | * @param renderGlobal | 533 | * @param renderGlobal |
| 534 | */ | 534 | */ |
| 535 | - void onRenderClouds(float partialTicks, int pass, RenderGlobal renderGlobal) | 535 | + public void onRenderClouds(float partialTicks, int pass, RenderGlobal renderGlobal) |
| 536 | { | 536 | { |
| 537 | this.preRenderListeners.all().onRenderClouds(partialTicks, pass, renderGlobal); | 537 | this.preRenderListeners.all().onRenderClouds(partialTicks, pass, renderGlobal); |
| 538 | } | 538 | } |
| @@ -542,7 +542,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -542,7 +542,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 542 | * @param pass | 542 | * @param pass |
| 543 | * @param timeSlice | 543 | * @param timeSlice |
| 544 | */ | 544 | */ |
| 545 | - void onRenderTerrain(float partialTicks, int pass, long timeSlice) | 545 | + public void onRenderTerrain(float partialTicks, int pass, long timeSlice) |
| 546 | { | 546 | { |
| 547 | this.preRenderListeners.all().onRenderTerrain(partialTicks, pass); | 547 | this.preRenderListeners.all().onRenderTerrain(partialTicks, pass); |
| 548 | } | 548 | } |
| @@ -554,7 +554,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | @@ -554,7 +554,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft | ||
| 554 | * @param height | 554 | * @param height |
| 555 | * @param fbo | 555 | * @param fbo |
| 556 | */ | 556 | */ |
| 557 | - void onScreenshot(CallbackInfoReturnable<ITextComponent> ci, String name, int width, int height, Framebuffer fbo) | 557 | + public void onScreenshot(CallbackInfoReturnable<ITextComponent> ci, String name, int width, int height, Framebuffer fbo) |
| 558 | { | 558 | { |
| 559 | ReturnValue<ITextComponent> ret = new ReturnValue<ITextComponent>(ci.getReturnValue()); | 559 | ReturnValue<ITextComponent> ret = new ReturnValue<ITextComponent>(ci.getReturnValue()); |
| 560 | 560 |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinEntityPlayerSP.java
| @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; | @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; | ||
| 10 | import org.spongepowered.asm.mixin.injection.Inject; | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 12 | 12 | ||
| 13 | -import com.mumfrey.liteloader.client.ClientProxy; | 13 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 14 | 14 | ||
| 15 | import net.minecraft.client.entity.AbstractClientPlayer; | 15 | import net.minecraft.client.entity.AbstractClientPlayer; |
| 16 | import net.minecraft.client.entity.EntityPlayerSP; | 16 | import net.minecraft.client.entity.EntityPlayerSP; |
| @@ -26,6 +26,6 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer | @@ -26,6 +26,6 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer | ||
| 26 | @Inject(method = "sendChatMessage(Ljava/lang/String;)V", at = { @At("HEAD") }, cancellable = true) | 26 | @Inject(method = "sendChatMessage(Ljava/lang/String;)V", at = { @At("HEAD") }, cancellable = true) |
| 27 | public void onSendChatMessage(String message, CallbackInfo ci) | 27 | public void onSendChatMessage(String message, CallbackInfo ci) |
| 28 | { | 28 | { |
| 29 | - ClientProxy.onOutboundChat(ci, message); | 29 | + LiteLoaderEventBrokerClient.getInstance().onSendChatMessage(ci, message); |
| 30 | } | 30 | } |
| 31 | } | 31 | } |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinEntityRenderer.java
| @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At.Shift; | @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At.Shift; | ||
| 13 | import org.spongepowered.asm.mixin.injection.Inject; | 13 | import org.spongepowered.asm.mixin.injection.Inject; |
| 14 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 14 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 15 | 15 | ||
| 16 | -import com.mumfrey.liteloader.client.ClientProxy; | 16 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 17 | import com.mumfrey.liteloader.client.overlays.IEntityRenderer; | 17 | import com.mumfrey.liteloader.client.overlays.IEntityRenderer; |
| 18 | 18 | ||
| 19 | import net.minecraft.client.renderer.EntityRenderer; | 19 | import net.minecraft.client.renderer.EntityRenderer; |
| @@ -33,6 +33,8 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -33,6 +33,8 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 33 | @Shadow abstract float getFOVModifier(float partialTicks, boolean useFOVSetting); | 33 | @Shadow abstract float getFOVModifier(float partialTicks, boolean useFOVSetting); |
| 34 | @Shadow abstract void setupCameraTransform(float partialTicks, int pass); | 34 | @Shadow abstract void setupCameraTransform(float partialTicks, int pass); |
| 35 | 35 | ||
| 36 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 37 | + | ||
| 36 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( | 38 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| 37 | value = "INVOKE", | 39 | value = "INVOKE", |
| 38 | shift = Shift.AFTER, | 40 | shift = Shift.AFTER, |
| @@ -40,7 +42,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -40,7 +42,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 40 | )) | 42 | )) |
| 41 | private void onPreRenderGUI(float partialTicks, long nanoTime, CallbackInfo ci) | 43 | private void onPreRenderGUI(float partialTicks, long nanoTime, CallbackInfo ci) |
| 42 | { | 44 | { |
| 43 | - ClientProxy.preRenderGUI(partialTicks); | 45 | + this.broker.preRenderGUI(partialTicks); |
| 44 | } | 46 | } |
| 45 | 47 | ||
| 46 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( | 48 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| @@ -49,7 +51,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -49,7 +51,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 49 | )) | 51 | )) |
| 50 | private void onRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci) | 52 | private void onRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci) |
| 51 | { | 53 | { |
| 52 | - ClientProxy.onRenderHUD(partialTicks); | 54 | + this.broker.onRenderHUD(partialTicks); |
| 53 | } | 55 | } |
| 54 | 56 | ||
| 55 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( | 57 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| @@ -59,7 +61,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -59,7 +61,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 59 | )) | 61 | )) |
| 60 | private void onPostRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci) | 62 | private void onPostRenderHUD(float partialTicks, long nanoTime, CallbackInfo ci) |
| 61 | { | 63 | { |
| 62 | - ClientProxy.postRenderHUD(partialTicks); | 64 | + this.broker.postRenderHUD(partialTicks); |
| 63 | } | 65 | } |
| 64 | 66 | ||
| 65 | @Inject(method = "renderWorld(FJ)V", at = @At( | 67 | @Inject(method = "renderWorld(FJ)V", at = @At( |
| @@ -69,7 +71,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -69,7 +71,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 69 | )) | 71 | )) |
| 70 | private void onRenderWorld(float partialTicks, long timeSlice, CallbackInfo ci) | 72 | private void onRenderWorld(float partialTicks, long timeSlice, CallbackInfo ci) |
| 71 | { | 73 | { |
| 72 | - ClientProxy.onRenderWorld(partialTicks, timeSlice); | 74 | + this.broker.onRenderWorld(partialTicks, timeSlice); |
| 73 | } | 75 | } |
| 74 | 76 | ||
| 75 | @Inject(method = "renderWorld(FJ)V", at = @At( | 77 | @Inject(method = "renderWorld(FJ)V", at = @At( |
| @@ -79,7 +81,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -79,7 +81,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 79 | )) | 81 | )) |
| 80 | private void onPostRender(float partialTicks, long timeSlice, CallbackInfo ci) | 82 | private void onPostRender(float partialTicks, long timeSlice, CallbackInfo ci) |
| 81 | { | 83 | { |
| 82 | - ClientProxy.postRender(partialTicks, timeSlice); | 84 | + this.broker.postRender(partialTicks, timeSlice); |
| 83 | } | 85 | } |
| 84 | 86 | ||
| 85 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( | 87 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| @@ -89,7 +91,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -89,7 +91,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 89 | )) | 91 | )) |
| 90 | private void onSetupCameraTransform(int pass, float partialTicks, long timeSlice, CallbackInfo ci) | 92 | private void onSetupCameraTransform(int pass, float partialTicks, long timeSlice, CallbackInfo ci) |
| 91 | { | 93 | { |
| 92 | - ClientProxy.onSetupCameraTransform(pass, partialTicks, timeSlice); | 94 | + this.broker.onSetupCameraTransform(pass, partialTicks, timeSlice); |
| 93 | } | 95 | } |
| 94 | 96 | ||
| 95 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( | 97 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| @@ -99,7 +101,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -99,7 +101,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 99 | )) | 101 | )) |
| 100 | private void onRenderSky(int pass, float partialTicks, long timeSlice, CallbackInfo ci) | 102 | private void onRenderSky(int pass, float partialTicks, long timeSlice, CallbackInfo ci) |
| 101 | { | 103 | { |
| 102 | - ClientProxy.onRenderSky(pass, partialTicks, timeSlice); | 104 | + this.broker.onRenderSky(partialTicks, pass, timeSlice); |
| 103 | } | 105 | } |
| 104 | 106 | ||
| 105 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( | 107 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| @@ -109,8 +111,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -109,8 +111,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 109 | )) | 111 | )) |
| 110 | private void onRenderTerrain(int pass, float partialTicks, long timeSlice, CallbackInfo ci) | 112 | private void onRenderTerrain(int pass, float partialTicks, long timeSlice, CallbackInfo ci) |
| 111 | { | 113 | { |
| 112 | - ClientProxy.onRenderTerrain(pass, partialTicks, timeSlice); | ||
| 113 | - | 114 | + this.broker.onRenderTerrain(partialTicks, pass, timeSlice); |
| 114 | } | 115 | } |
| 115 | 116 | ||
| 116 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( | 117 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| @@ -120,7 +121,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -120,7 +121,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 120 | )) | 121 | )) |
| 121 | private void onPostRenderEntities(int pass, float partialTicks, long timeSlice, CallbackInfo ci) | 122 | private void onPostRenderEntities(int pass, float partialTicks, long timeSlice, CallbackInfo ci) |
| 122 | { | 123 | { |
| 123 | - ClientProxy.postRenderEntities(pass, partialTicks, timeSlice); | 124 | + this.broker.postRenderEntities(partialTicks, timeSlice); |
| 124 | } | 125 | } |
| 125 | 126 | ||
| 126 | @Inject(method = "renderCloudsCheck(Lnet/minecraft/client/renderer/RenderGlobal;FIDDD)V", at = @At( | 127 | @Inject(method = "renderCloudsCheck(Lnet/minecraft/client/renderer/RenderGlobal;FIDDD)V", at = @At( |
| @@ -129,7 +130,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | @@ -129,7 +130,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer | ||
| 129 | )) | 130 | )) |
| 130 | private void onRenderClouds(RenderGlobal renderGlobalIn, float partialTicks, int pass, double x, double y, double z, CallbackInfo ci) | 131 | private void onRenderClouds(RenderGlobal renderGlobalIn, float partialTicks, int pass, double x, double y, double z, CallbackInfo ci) |
| 131 | { | 132 | { |
| 132 | - ClientProxy.onRenderClouds(renderGlobalIn, partialTicks, pass); | 133 | + this.broker.onRenderClouds(partialTicks, pass, renderGlobalIn); |
| 133 | } | 134 | } |
| 134 | 135 | ||
| 135 | @Override | 136 | @Override |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinFramebuffer.java
| @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; | @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; | ||
| 10 | import org.spongepowered.asm.mixin.injection.Inject; | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 12 | 12 | ||
| 13 | -import com.mumfrey.liteloader.client.ClientProxy; | 13 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 14 | import com.mumfrey.liteloader.client.ducks.IFramebuffer; | 14 | import com.mumfrey.liteloader.client.ducks.IFramebuffer; |
| 15 | 15 | ||
| 16 | import net.minecraft.client.shader.Framebuffer; | 16 | import net.minecraft.client.shader.Framebuffer; |
| @@ -18,6 +18,8 @@ import net.minecraft.client.shader.Framebuffer; | @@ -18,6 +18,8 @@ import net.minecraft.client.shader.Framebuffer; | ||
| 18 | @Mixin(Framebuffer.class) | 18 | @Mixin(Framebuffer.class) |
| 19 | public abstract class MixinFramebuffer implements IFramebuffer | 19 | public abstract class MixinFramebuffer implements IFramebuffer |
| 20 | { | 20 | { |
| 21 | + private LiteLoaderEventBrokerClient broker; | ||
| 22 | + | ||
| 21 | private boolean dispatchRenderEvent; | 23 | private boolean dispatchRenderEvent; |
| 22 | 24 | ||
| 23 | @Override | 25 | @Override |
| @@ -39,10 +41,15 @@ public abstract class MixinFramebuffer implements IFramebuffer | @@ -39,10 +41,15 @@ public abstract class MixinFramebuffer implements IFramebuffer | ||
| 39 | )) | 41 | )) |
| 40 | private void onRenderFBO(int width, int height, boolean flag, CallbackInfo ci) | 42 | private void onRenderFBO(int width, int height, boolean flag, CallbackInfo ci) |
| 41 | { | 43 | { |
| 42 | - if (this.dispatchRenderEvent) | 44 | + if (this.broker == null) |
| 45 | + { | ||
| 46 | + this.broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + if (this.dispatchRenderEvent && this.broker != null) | ||
| 43 | { | 50 | { |
| 44 | - ClientProxy.renderFBO((Framebuffer)(Object)this, width, height, flag); | ||
| 45 | - this.dispatchRenderEvent = false; | 51 | + this.broker.onRenderFBO((Framebuffer)(Object)this, width, height); |
| 46 | } | 52 | } |
| 53 | + this.dispatchRenderEvent = false; | ||
| 47 | } | 54 | } |
| 48 | } | 55 | } |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinGuiIngame.java
| @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At.Shift; | @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At.Shift; | ||
| 13 | import org.spongepowered.asm.mixin.injection.Inject; | 13 | import org.spongepowered.asm.mixin.injection.Inject; |
| 14 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 14 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 15 | 15 | ||
| 16 | -import com.mumfrey.liteloader.client.ClientProxy; | 16 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 17 | 17 | ||
| 18 | import net.minecraft.client.gui.Gui; | 18 | import net.minecraft.client.gui.Gui; |
| 19 | import net.minecraft.client.gui.GuiIngame; | 19 | import net.minecraft.client.gui.GuiIngame; |
| @@ -24,13 +24,15 @@ public abstract class MixinGuiIngame extends Gui | @@ -24,13 +24,15 @@ public abstract class MixinGuiIngame extends Gui | ||
| 24 | { | 24 | { |
| 25 | @Shadow @Final private GuiNewChat persistantChatGUI; | 25 | @Shadow @Final private GuiNewChat persistantChatGUI; |
| 26 | 26 | ||
| 27 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 28 | + | ||
| 27 | @Inject(method = "renderGameOverlay(F)V", at = @At( | 29 | @Inject(method = "renderGameOverlay(F)V", at = @At( |
| 28 | value = "INVOKE", | 30 | value = "INVOKE", |
| 29 | target = "Lnet/minecraft/client/gui/GuiNewChat;drawChat(I)V" | 31 | target = "Lnet/minecraft/client/gui/GuiNewChat;drawChat(I)V" |
| 30 | )) | 32 | )) |
| 31 | private void onRenderChat(float partialTicks, CallbackInfo ci) | 33 | private void onRenderChat(float partialTicks, CallbackInfo ci) |
| 32 | { | 34 | { |
| 33 | - ClientProxy.onRenderChat(this.persistantChatGUI, partialTicks); | 35 | + this.broker.onRenderChat(this.persistantChatGUI, partialTicks); |
| 34 | } | 36 | } |
| 35 | 37 | ||
| 36 | @Inject(method = "renderGameOverlay(F)V", at = @At( | 38 | @Inject(method = "renderGameOverlay(F)V", at = @At( |
| @@ -40,6 +42,6 @@ public abstract class MixinGuiIngame extends Gui | @@ -40,6 +42,6 @@ public abstract class MixinGuiIngame extends Gui | ||
| 40 | )) | 42 | )) |
| 41 | private void postRenderChat(float partialTicks, CallbackInfo ci) | 43 | private void postRenderChat(float partialTicks, CallbackInfo ci) |
| 42 | { | 44 | { |
| 43 | - ClientProxy.postRenderChat(this.persistantChatGUI, partialTicks); | 45 | + this.broker.postRenderChat(this.persistantChatGUI, partialTicks); |
| 44 | } | 46 | } |
| 45 | } | 47 | } |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinIntegratedServer.java
| @@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | @@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
| 14 | import com.mojang.authlib.GameProfileRepository; | 14 | import com.mojang.authlib.GameProfileRepository; |
| 15 | import com.mojang.authlib.minecraft.MinecraftSessionService; | 15 | import com.mojang.authlib.minecraft.MinecraftSessionService; |
| 16 | import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; | 16 | import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; |
| 17 | -import com.mumfrey.liteloader.client.ClientProxy; | 17 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 18 | 18 | ||
| 19 | import net.minecraft.client.Minecraft; | 19 | import net.minecraft.client.Minecraft; |
| 20 | import net.minecraft.server.MinecraftServer; | 20 | import net.minecraft.server.MinecraftServer; |
| @@ -25,6 +25,8 @@ import net.minecraft.world.WorldSettings; | @@ -25,6 +25,8 @@ import net.minecraft.world.WorldSettings; | ||
| 25 | @Mixin(IntegratedServer.class) | 25 | @Mixin(IntegratedServer.class) |
| 26 | public abstract class MixinIntegratedServer extends MinecraftServer | 26 | public abstract class MixinIntegratedServer extends MinecraftServer |
| 27 | { | 27 | { |
| 28 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 29 | + | ||
| 28 | public MixinIntegratedServer() | 30 | public MixinIntegratedServer() |
| 29 | { | 31 | { |
| 30 | super(null, null, null, null, null, null, null); | 32 | super(null, null, null, null, null, null, null); |
| @@ -38,7 +40,7 @@ public abstract class MixinIntegratedServer extends MinecraftServer | @@ -38,7 +40,7 @@ public abstract class MixinIntegratedServer extends MinecraftServer | ||
| 38 | private void onConstructed(Minecraft mcIn, String folderName, String worldName, WorldSettings settings, YggdrasilAuthenticationService authSrv, | 40 | private void onConstructed(Minecraft mcIn, String folderName, String worldName, WorldSettings settings, YggdrasilAuthenticationService authSrv, |
| 39 | MinecraftSessionService sessionSrv, GameProfileRepository profileRepo, PlayerProfileCache profileCache, CallbackInfo ci) | 41 | MinecraftSessionService sessionSrv, GameProfileRepository profileRepo, PlayerProfileCache profileCache, CallbackInfo ci) |
| 40 | { | 42 | { |
| 41 | - ClientProxy.onCreateIntegratedServer((IntegratedServer)(Object)this, folderName, worldName, settings); | 43 | + this.broker.onStartServer(this, folderName, worldName, settings); |
| 42 | } | 44 | } |
| 43 | 45 | ||
| 44 | @Surrogate | 46 | @Surrogate |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinMinecraft.java
| @@ -17,7 +17,8 @@ import org.spongepowered.asm.mixin.injection.Redirect; | @@ -17,7 +17,8 @@ import org.spongepowered.asm.mixin.injection.Redirect; | ||
| 17 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 17 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 18 | 18 | ||
| 19 | import com.mumfrey.liteloader.PlayerInteractionListener.MouseButton; | 19 | import com.mumfrey.liteloader.PlayerInteractionListener.MouseButton; |
| 20 | -import com.mumfrey.liteloader.client.ClientProxy; | 20 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 21 | +import com.mumfrey.liteloader.client.ducks.IFramebuffer; | ||
| 21 | import com.mumfrey.liteloader.client.overlays.IMinecraft; | 22 | import com.mumfrey.liteloader.client.overlays.IMinecraft; |
| 22 | 23 | ||
| 23 | import net.minecraft.client.Minecraft; | 24 | import net.minecraft.client.Minecraft; |
| @@ -40,22 +41,35 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -40,22 +41,35 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 40 | @Shadow private void rightClickMouse() {} | 41 | @Shadow private void rightClickMouse() {} |
| 41 | @Shadow private void middleClickMouse() {} | 42 | @Shadow private void middleClickMouse() {} |
| 42 | 43 | ||
| 44 | + private LiteLoaderEventBrokerClient broker; | ||
| 45 | + | ||
| 43 | @Inject(method = "init()V", at = @At("RETURN")) | 46 | @Inject(method = "init()V", at = @At("RETURN")) |
| 44 | private void onStartupComplete(CallbackInfo ci) | 47 | private void onStartupComplete(CallbackInfo ci) |
| 45 | { | 48 | { |
| 46 | - ClientProxy.onStartupComplete(); | 49 | + this.broker = LiteLoaderEventBrokerClient.getInstance(); |
| 50 | + | ||
| 51 | + if (this.broker == null) | ||
| 52 | + { | ||
| 53 | + throw new RuntimeException("LiteLoader failed to start up properly." | ||
| 54 | + + " The game is in an unstable state and must shut down now. Check the developer log for startup errors"); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + this.broker.onStartupComplete(); | ||
| 47 | } | 58 | } |
| 48 | 59 | ||
| 49 | @Inject(method = "updateFramebufferSize()V", at = @At("HEAD")) | 60 | @Inject(method = "updateFramebufferSize()V", at = @At("HEAD")) |
| 50 | private void onResize(CallbackInfo ci) | 61 | private void onResize(CallbackInfo ci) |
| 51 | { | 62 | { |
| 52 | - ClientProxy.onResize((Minecraft)(Object)this); | 63 | + if (this.broker != null) |
| 64 | + { | ||
| 65 | + this.broker.onResize((Minecraft)(Object)this); | ||
| 66 | + } | ||
| 53 | } | 67 | } |
| 54 | 68 | ||
| 55 | @Inject(method = "runTick()V", at = @At("HEAD")) | 69 | @Inject(method = "runTick()V", at = @At("HEAD")) |
| 56 | private void newTick(CallbackInfo ci) | 70 | private void newTick(CallbackInfo ci) |
| 57 | { | 71 | { |
| 58 | - ClientProxy.newTick(); | 72 | +// ClientProxy.newTick(); |
| 59 | } | 73 | } |
| 60 | 74 | ||
| 61 | @Inject(method = "runGameLoop()V", at = @At( | 75 | @Inject(method = "runGameLoop()V", at = @At( |
| @@ -65,7 +79,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -65,7 +79,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 65 | )) | 79 | )) |
| 66 | private void onTick(CallbackInfo ci) | 80 | private void onTick(CallbackInfo ci) |
| 67 | { | 81 | { |
| 68 | - ClientProxy.onTick(); | 82 | + this.broker.onTick(); |
| 69 | } | 83 | } |
| 70 | 84 | ||
| 71 | @Redirect(method = "runGameLoop()V", at = @At( | 85 | @Redirect(method = "runGameLoop()V", at = @At( |
| @@ -75,11 +89,17 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -75,11 +89,17 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 75 | private void renderFBO(Framebuffer framebufferMc, int width, int height) | 89 | private void renderFBO(Framebuffer framebufferMc, int width, int height) |
| 76 | { | 90 | { |
| 77 | boolean fboEnabled = OpenGlHelper.isFramebufferEnabled(); | 91 | boolean fboEnabled = OpenGlHelper.isFramebufferEnabled(); |
| 78 | - if (fboEnabled) | 92 | + if (fboEnabled && this.broker != null) |
| 79 | { | 93 | { |
| 80 | - ClientProxy.preRenderFBO(framebufferMc); | 94 | + if (framebufferMc instanceof IFramebuffer) |
| 95 | + { | ||
| 96 | + ((IFramebuffer)framebufferMc).setDispatchRenderEvent(true); | ||
| 97 | + } | ||
| 98 | + this.broker.preRenderFBO(framebufferMc); | ||
| 99 | + | ||
| 81 | framebufferMc.framebufferRender(width, height); | 100 | framebufferMc.framebufferRender(width, height); |
| 82 | - ClientProxy.preRenderFBO(framebufferMc); | 101 | + |
| 102 | + this.broker.postRenderFBO(framebufferMc); | ||
| 83 | } | 103 | } |
| 84 | else | 104 | else |
| 85 | { | 105 | { |
| @@ -94,7 +114,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -94,7 +114,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 94 | )) | 114 | )) |
| 95 | private void onTimerUpdate(CallbackInfo ci) | 115 | private void onTimerUpdate(CallbackInfo ci) |
| 96 | { | 116 | { |
| 97 | - ClientProxy.onTimerUpdate(); | 117 | + this.broker.onTimerUpdate(); |
| 98 | } | 118 | } |
| 99 | 119 | ||
| 100 | @Inject(method = "runGameLoop()V", at = @At( | 120 | @Inject(method = "runGameLoop()V", at = @At( |
| @@ -104,7 +124,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -104,7 +124,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 104 | )) | 124 | )) |
| 105 | private void onRender(CallbackInfo ci) | 125 | private void onRender(CallbackInfo ci) |
| 106 | { | 126 | { |
| 107 | - ClientProxy.onRender(); | 127 | + this.broker.onRender(); |
| 108 | } | 128 | } |
| 109 | 129 | ||
| 110 | @Redirect(method = "processKeyBinds()V", at = @At( | 130 | @Redirect(method = "processKeyBinds()V", at = @At( |
| @@ -113,7 +133,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -113,7 +133,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 113 | )) | 133 | )) |
| 114 | private void onClickMouse(Minecraft self) | 134 | private void onClickMouse(Minecraft self) |
| 115 | { | 135 | { |
| 116 | - if (ClientProxy.onClickMouse(self.player, MouseButton.LEFT)) | 136 | + if (this.broker.onClickMouse(self.player, MouseButton.LEFT)) |
| 117 | { | 137 | { |
| 118 | this.clickMouse(); | 138 | this.clickMouse(); |
| 119 | } | 139 | } |
| @@ -128,7 +148,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -128,7 +148,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 128 | ) | 148 | ) |
| 129 | private void onMouseHeld(boolean leftClick, CallbackInfo ci) | 149 | private void onMouseHeld(boolean leftClick, CallbackInfo ci) |
| 130 | { | 150 | { |
| 131 | - if (!ClientProxy.onMouseHeld(((Minecraft)(Object)this).player, MouseButton.LEFT)) | 151 | + if (!this.broker.onMouseHeld(((Minecraft)(Object)this).player, MouseButton.LEFT)) |
| 132 | { | 152 | { |
| 133 | ci.cancel(); | 153 | ci.cancel(); |
| 134 | } | 154 | } |
| @@ -141,7 +161,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -141,7 +161,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 141 | )) | 161 | )) |
| 142 | private void onRightClickMouse(Minecraft self) | 162 | private void onRightClickMouse(Minecraft self) |
| 143 | { | 163 | { |
| 144 | - if (ClientProxy.onClickMouse(self.player, MouseButton.RIGHT)) | 164 | + if (this.broker.onClickMouse(self.player, MouseButton.RIGHT)) |
| 145 | { | 165 | { |
| 146 | this.rightClickMouse(); | 166 | this.rightClickMouse(); |
| 147 | } | 167 | } |
| @@ -154,7 +174,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -154,7 +174,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 154 | )) | 174 | )) |
| 155 | private void onRightMouseHeld(Minecraft self) | 175 | private void onRightMouseHeld(Minecraft self) |
| 156 | { | 176 | { |
| 157 | - if (ClientProxy.onMouseHeld(self.player, MouseButton.RIGHT)) | 177 | + if (this.broker.onMouseHeld(self.player, MouseButton.RIGHT)) |
| 158 | { | 178 | { |
| 159 | this.rightClickMouse(); | 179 | this.rightClickMouse(); |
| 160 | } | 180 | } |
| @@ -166,7 +186,7 @@ public abstract class MixinMinecraft implements IMinecraft | @@ -166,7 +186,7 @@ public abstract class MixinMinecraft implements IMinecraft | ||
| 166 | )) | 186 | )) |
| 167 | private void onMiddleClickMouse(Minecraft self) | 187 | private void onMiddleClickMouse(Minecraft self) |
| 168 | { | 188 | { |
| 169 | - if (ClientProxy.onClickMouse(self.player, MouseButton.MIDDLE)) | 189 | + if (this.broker.onClickMouse(self.player, MouseButton.MIDDLE)) |
| 170 | { | 190 | { |
| 171 | this.middleClickMouse(); | 191 | this.middleClickMouse(); |
| 172 | } | 192 | } |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinRenderManager.java
| @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.Shadow; | @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.Shadow; | ||
| 13 | import org.spongepowered.asm.mixin.injection.At; | 13 | import org.spongepowered.asm.mixin.injection.At; |
| 14 | import org.spongepowered.asm.mixin.injection.Redirect; | 14 | import org.spongepowered.asm.mixin.injection.Redirect; |
| 15 | 15 | ||
| 16 | -import com.mumfrey.liteloader.client.ClientProxy; | 16 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 17 | import com.mumfrey.liteloader.client.ducks.IRenderManager; | 17 | import com.mumfrey.liteloader.client.ducks.IRenderManager; |
| 18 | 18 | ||
| 19 | import net.minecraft.client.renderer.entity.Render; | 19 | import net.minecraft.client.renderer.entity.Render; |
| @@ -25,6 +25,8 @@ public abstract class MixinRenderManager implements IRenderManager | @@ -25,6 +25,8 @@ public abstract class MixinRenderManager implements IRenderManager | ||
| 25 | { | 25 | { |
| 26 | @Shadow @Final private Map<Class<? extends Entity>, Render<? extends Entity>> entityRenderMap; | 26 | @Shadow @Final private Map<Class<? extends Entity>, Render<? extends Entity>> entityRenderMap; |
| 27 | 27 | ||
| 28 | + private LiteLoaderEventBrokerClient broker; | ||
| 29 | + | ||
| 28 | @Override | 30 | @Override |
| 29 | public Map<Class<? extends Entity>, Render<? extends Entity>> getRenderMap() | 31 | public Map<Class<? extends Entity>, Render<? extends Entity>> getRenderMap() |
| 30 | { | 32 | { |
| @@ -37,9 +39,13 @@ public abstract class MixinRenderManager implements IRenderManager | @@ -37,9 +39,13 @@ public abstract class MixinRenderManager implements IRenderManager | ||
| 37 | )) | 39 | )) |
| 38 | private <T extends Entity> void onRenderEntity(Render<T> render, T entity, double x, double y, double z, float entityYaw, float partialTicks) | 40 | private <T extends Entity> void onRenderEntity(Render<T> render, T entity, double x, double y, double z, float entityYaw, float partialTicks) |
| 39 | { | 41 | { |
| 40 | - RenderManager source = (RenderManager)(Object)this; | ||
| 41 | - ClientProxy.onRenderEntity(source, render, entity, x, y, z, entityYaw, partialTicks); | 42 | + if (this.broker == null) |
| 43 | + { | ||
| 44 | + this.broker = LiteLoaderEventBrokerClient.getInstance(); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + this.broker.onRenderEntity((RenderManager)(Object)this, entity, x, y, z, entityYaw, partialTicks, render); | ||
| 42 | render.doRender(entity, x, y, z, entityYaw, partialTicks); | 48 | render.doRender(entity, x, y, z, entityYaw, partialTicks); |
| 43 | - ClientProxy.onPostRenderEntity(source, render, entity, x, y, z, entityYaw, partialTicks); | 49 | + this.broker.onPostRenderEntity((RenderManager)(Object)this, entity, x, y, z, entityYaw, partialTicks, render); |
| 44 | } | 50 | } |
| 45 | } | 51 | } |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinScreenShotHelper.java
| @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.At; | @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.At; | ||
| 12 | import org.spongepowered.asm.mixin.injection.Inject; | 12 | import org.spongepowered.asm.mixin.injection.Inject; |
| 13 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | 13 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
| 14 | 14 | ||
| 15 | -import com.mumfrey.liteloader.client.ClientProxy; | 15 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
| 16 | 16 | ||
| 17 | import net.minecraft.client.shader.Framebuffer; | 17 | import net.minecraft.client.shader.Framebuffer; |
| 18 | import net.minecraft.util.ScreenShotHelper; | 18 | import net.minecraft.util.ScreenShotHelper; |
| @@ -34,6 +34,6 @@ public abstract class MixinScreenShotHelper | @@ -34,6 +34,6 @@ public abstract class MixinScreenShotHelper | ||
| 34 | ) | 34 | ) |
| 35 | private static void onSaveScreenshot(File gameDir, String name, int width, int height, Framebuffer fbo, CallbackInfoReturnable<ITextComponent> ci) | 35 | private static void onSaveScreenshot(File gameDir, String name, int width, int height, Framebuffer fbo, CallbackInfoReturnable<ITextComponent> ci) |
| 36 | { | 36 | { |
| 37 | - ClientProxy.onSaveScreenshot(ci, gameDir, name, width, height, fbo); | 37 | + LiteLoaderEventBrokerClient.getInstance().onScreenshot(ci, name, width, height, fbo); |
| 38 | } | 38 | } |
| 39 | } | 39 | } |
src/main/java/com/mumfrey/liteloader/common/mixin/MixinMinecraftServer.java
| @@ -10,16 +10,18 @@ import org.spongepowered.asm.mixin.injection.At; | @@ -10,16 +10,18 @@ import org.spongepowered.asm.mixin.injection.At; | ||
| 10 | import org.spongepowered.asm.mixin.injection.Inject; | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 12 | 12 | ||
| 13 | -import com.mumfrey.liteloader.core.Proxy; | 13 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker; |
| 14 | 14 | ||
| 15 | import net.minecraft.server.MinecraftServer; | 15 | import net.minecraft.server.MinecraftServer; |
| 16 | 16 | ||
| 17 | @Mixin(MinecraftServer.class) | 17 | @Mixin(MinecraftServer.class) |
| 18 | public abstract class MixinMinecraftServer | 18 | public abstract class MixinMinecraftServer |
| 19 | { | 19 | { |
| 20 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | ||
| 21 | + | ||
| 20 | @Inject(method = "updateTimeLightAndEntities()V", at = @At("HEAD")) | 22 | @Inject(method = "updateTimeLightAndEntities()V", at = @At("HEAD")) |
| 21 | private void onServerTick(CallbackInfo ci) | 23 | private void onServerTick(CallbackInfo ci) |
| 22 | { | 24 | { |
| 23 | - Proxy.onServerTick((MinecraftServer)(Object)this); | 25 | + this.broker.onServerTick((MinecraftServer)(Object)this); |
| 24 | } | 26 | } |
| 25 | } | 27 | } |
src/main/java/com/mumfrey/liteloader/common/mixin/MixinNetHandlerPlayServer.java
| @@ -15,12 +15,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | @@ -15,12 +15,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
| 15 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; | 15 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; |
| 16 | 16 | ||
| 17 | import com.mumfrey.liteloader.common.ducks.ITeleportHandler; | 17 | import com.mumfrey.liteloader.common.ducks.ITeleportHandler; |
| 18 | -import com.mumfrey.liteloader.core.Proxy; | 18 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker; |
| 19 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker.InteractType; | ||
| 19 | 20 | ||
| 21 | +import net.minecraft.entity.player.EntityPlayerMP; | ||
| 20 | import net.minecraft.network.NetHandlerPlayServer; | 22 | import net.minecraft.network.NetHandlerPlayServer; |
| 21 | import net.minecraft.network.play.client.CPacketAnimation; | 23 | import net.minecraft.network.play.client.CPacketAnimation; |
| 22 | import net.minecraft.network.play.client.CPacketPlayer; | 24 | import net.minecraft.network.play.client.CPacketPlayer; |
| 23 | import net.minecraft.network.play.client.CPacketPlayerDigging; | 25 | import net.minecraft.network.play.client.CPacketPlayerDigging; |
| 26 | +import net.minecraft.network.play.client.CPacketPlayerDigging.Action; | ||
| 24 | import net.minecraft.network.play.client.CPacketPlayerTryUseItem; | 27 | import net.minecraft.network.play.client.CPacketPlayerTryUseItem; |
| 25 | import net.minecraft.util.math.Vec3d; | 28 | import net.minecraft.util.math.Vec3d; |
| 26 | import net.minecraft.world.WorldServer; | 29 | import net.minecraft.world.WorldServer; |
| @@ -30,6 +33,9 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | @@ -30,6 +33,9 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | ||
| 30 | { | 33 | { |
| 31 | @Shadow private int teleportId; | 34 | @Shadow private int teleportId; |
| 32 | @Shadow private Vec3d targetPos; | 35 | @Shadow private Vec3d targetPos; |
| 36 | + @Shadow public EntityPlayerMP playerEntity;; | ||
| 37 | + | ||
| 38 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | ||
| 33 | 39 | ||
| 34 | @Inject( | 40 | @Inject( |
| 35 | method = "processTryUseItem(Lnet/minecraft/network/play/client/CPacketPlayerTryUseItem;)V", | 41 | method = "processTryUseItem(Lnet/minecraft/network/play/client/CPacketPlayerTryUseItem;)V", |
| @@ -43,7 +49,7 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | @@ -43,7 +49,7 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | ||
| 43 | ) | 49 | ) |
| 44 | private void onPlaceBlock(CPacketPlayerTryUseItem packetIn, CallbackInfo ci) | 50 | private void onPlaceBlock(CPacketPlayerTryUseItem packetIn, CallbackInfo ci) |
| 45 | { | 51 | { |
| 46 | - Proxy.onPlaceBlock(ci, (NetHandlerPlayServer)(Object)this, packetIn); | 52 | +// this.onPlaceBlock(ci, (NetHandlerPlayServer)(Object)this, packetIn); |
| 47 | } | 53 | } |
| 48 | 54 | ||
| 49 | @Inject( | 55 | @Inject( |
| @@ -58,7 +64,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | @@ -58,7 +64,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | ||
| 58 | ) | 64 | ) |
| 59 | private void onClickedAir(CPacketAnimation packetIn, CallbackInfo ci) | 65 | private void onClickedAir(CPacketAnimation packetIn, CallbackInfo ci) |
| 60 | { | 66 | { |
| 61 | - Proxy.onClickedAir(ci, (NetHandlerPlayServer)(Object)this, packetIn); | 67 | + if (!this.broker.onClickedAir(InteractType.LEFT_CLICK, ((NetHandlerPlayServer)(Object)this).playerEntity, packetIn.getHand())) |
| 68 | + { | ||
| 69 | + ci.cancel(); | ||
| 70 | + } | ||
| 62 | } | 71 | } |
| 63 | 72 | ||
| 64 | @Inject( | 73 | @Inject( |
| @@ -73,7 +82,26 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | @@ -73,7 +82,26 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | ||
| 73 | ) | 82 | ) |
| 74 | private void onPlayerDigging(CPacketPlayerDigging packetIn, CallbackInfo ci) | 83 | private void onPlayerDigging(CPacketPlayerDigging packetIn, CallbackInfo ci) |
| 75 | { | 84 | { |
| 76 | - Proxy.onPlayerDigging(ci, (NetHandlerPlayServer)(Object)this, packetIn); | 85 | + NetHandlerPlayServer netHandler = (NetHandlerPlayServer)(Object)this; |
| 86 | + Action action = packetIn.getAction(); | ||
| 87 | + if (action == Action.START_DESTROY_BLOCK) | ||
| 88 | + { | ||
| 89 | + if (!this.broker.onPlayerDigging(InteractType.DIG_BLOCK_MAYBE, this.playerEntity, netHandler, packetIn.getPosition())) | ||
| 90 | + { | ||
| 91 | + ci.cancel(); | ||
| 92 | + } | ||
| 93 | + } | ||
| 94 | + else if (action == Action.ABORT_DESTROY_BLOCK || action == Action.STOP_DESTROY_BLOCK) | ||
| 95 | + { | ||
| 96 | + this.broker.onPlayerDigging(InteractType.DIG_BLOCK_END, this.playerEntity, netHandler, packetIn.getPosition()); | ||
| 97 | + } | ||
| 98 | + else if (action == Action.SWAP_HELD_ITEMS) | ||
| 99 | + { | ||
| 100 | + if (!this.broker.onPlayerSwapItems(this.playerEntity)) | ||
| 101 | + { | ||
| 102 | + ci.cancel(); | ||
| 103 | + } | ||
| 104 | + } | ||
| 77 | } | 105 | } |
| 78 | 106 | ||
| 79 | @Inject( | 107 | @Inject( |
| @@ -89,7 +117,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | @@ -89,7 +117,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler | ||
| 89 | ) | 117 | ) |
| 90 | private void onPlayerMoved(CPacketPlayer packetIn, CallbackInfo ci, WorldServer world) | 118 | private void onPlayerMoved(CPacketPlayer packetIn, CallbackInfo ci, WorldServer world) |
| 91 | { | 119 | { |
| 92 | - Proxy.onPlayerMoved(ci, (NetHandlerPlayServer)(Object)this, packetIn, world); | 120 | + if (!this.broker.onPlayerMove((NetHandlerPlayServer)(Object)this, packetIn, this.playerEntity, world)) |
| 121 | + { | ||
| 122 | + ci.cancel(); | ||
| 123 | + } | ||
| 93 | } | 124 | } |
| 94 | 125 | ||
| 95 | @Override | 126 | @Override |
src/main/java/com/mumfrey/liteloader/common/mixin/MixinPlayerInteractionManager.java
| @@ -11,9 +11,11 @@ import org.spongepowered.asm.mixin.injection.Inject; | @@ -11,9 +11,11 @@ import org.spongepowered.asm.mixin.injection.Inject; | ||
| 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 12 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | 12 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
| 13 | 13 | ||
| 14 | -import com.mumfrey.liteloader.core.Proxy; | 14 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker; |
| 15 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker.InteractType; | ||
| 15 | 16 | ||
| 16 | import net.minecraft.entity.player.EntityPlayer; | 17 | import net.minecraft.entity.player.EntityPlayer; |
| 18 | +import net.minecraft.entity.player.EntityPlayerMP; | ||
| 17 | import net.minecraft.item.ItemStack; | 19 | import net.minecraft.item.ItemStack; |
| 18 | import net.minecraft.server.management.PlayerInteractionManager; | 20 | import net.minecraft.server.management.PlayerInteractionManager; |
| 19 | import net.minecraft.util.EnumActionResult; | 21 | import net.minecraft.util.EnumActionResult; |
| @@ -25,6 +27,8 @@ import net.minecraft.world.World; | @@ -25,6 +27,8 @@ import net.minecraft.world.World; | ||
| 25 | @Mixin(value = PlayerInteractionManager.class, priority = 2000) | 27 | @Mixin(value = PlayerInteractionManager.class, priority = 2000) |
| 26 | public abstract class MixinPlayerInteractionManager | 28 | public abstract class MixinPlayerInteractionManager |
| 27 | { | 29 | { |
| 30 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | ||
| 31 | + | ||
| 28 | @Inject( | 32 | @Inject( |
| 29 | method = "onBlockClicked(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)V", | 33 | method = "onBlockClicked(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)V", |
| 30 | cancellable = true, | 34 | cancellable = true, |
| @@ -32,7 +36,10 @@ public abstract class MixinPlayerInteractionManager | @@ -32,7 +36,10 @@ public abstract class MixinPlayerInteractionManager | ||
| 32 | ) | 36 | ) |
| 33 | private void onBlockClicked(BlockPos pos, EnumFacing side, CallbackInfo ci) | 37 | private void onBlockClicked(BlockPos pos, EnumFacing side, CallbackInfo ci) |
| 34 | { | 38 | { |
| 35 | - Proxy.onBlockClicked(ci, (PlayerInteractionManager)(Object)this, pos, side); | 39 | + if (!this.broker.onBlockClicked(pos, side, (PlayerInteractionManager)(Object)this)) |
| 40 | + { | ||
| 41 | + ci.cancel(); | ||
| 42 | + } | ||
| 36 | } | 43 | } |
| 37 | 44 | ||
| 38 | @Inject( | 45 | @Inject( |
| @@ -45,7 +52,15 @@ public abstract class MixinPlayerInteractionManager | @@ -45,7 +52,15 @@ public abstract class MixinPlayerInteractionManager | ||
| 45 | private void onRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, | 52 | private void onRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, |
| 46 | float offsetX, float offsetY, float offsetZ, CallbackInfoReturnable<EnumActionResult> cir) | 53 | float offsetX, float offsetY, float offsetZ, CallbackInfoReturnable<EnumActionResult> cir) |
| 47 | { | 54 | { |
| 48 | - Proxy.onRightClickBlock(cir, player, worldIn, stack, hand, pos, side, offsetX, offsetY, offsetZ); | 55 | + if (!(player instanceof EntityPlayerMP)) |
| 56 | + { | ||
| 57 | + return; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + if (!this.broker.onUseItem((EntityPlayerMP)player, hand, stack, pos, side)) | ||
| 61 | + { | ||
| 62 | + cir.setReturnValue(EnumActionResult.FAIL); | ||
| 63 | + } | ||
| 49 | } | 64 | } |
| 50 | 65 | ||
| 51 | // @Inject( | 66 | // @Inject( |
| @@ -58,7 +73,12 @@ public abstract class MixinPlayerInteractionManager | @@ -58,7 +73,12 @@ public abstract class MixinPlayerInteractionManager | ||
| 58 | // private void postRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, | 73 | // private void postRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, |
| 59 | // float offsetX, float offsetY, float offsetZ, CallbackInfoReturnable<EnumActionResult> cir) | 74 | // float offsetX, float offsetY, float offsetZ, CallbackInfoReturnable<EnumActionResult> cir) |
| 60 | // { | 75 | // { |
| 61 | -// Proxy.postRightClickBlock(cir, player, worldIn, stack, hand, pos, side, offsetX, offsetY, offsetZ); | 76 | +// if (!(player instanceof EntityPlayerMP)) |
| 77 | +// { | ||
| 78 | +// return; | ||
| 79 | +// } | ||
| 80 | +// | ||
| 81 | +// System.err.printf("@@ postRightClickBlock: %s\n", cir.getReturnValue()); | ||
| 62 | // } | 82 | // } |
| 63 | 83 | ||
| 64 | @Inject( | 84 | @Inject( |
| @@ -69,6 +89,14 @@ public abstract class MixinPlayerInteractionManager | @@ -69,6 +89,14 @@ public abstract class MixinPlayerInteractionManager | ||
| 69 | ) | 89 | ) |
| 70 | private void onRightClick(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, CallbackInfoReturnable<EnumActionResult> cir) | 90 | private void onRightClick(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, CallbackInfoReturnable<EnumActionResult> cir) |
| 71 | { | 91 | { |
| 72 | - Proxy.onRightClick(cir, player, worldIn, stack, hand); | 92 | + if (!(player instanceof EntityPlayerMP)) |
| 93 | + { | ||
| 94 | + return; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + if (!this.broker.onClickedAir(InteractType.RIGHT_CLICK, (EntityPlayerMP)player, hand)) | ||
| 98 | + { | ||
| 99 | + cir.setReturnValue(EnumActionResult.FAIL); | ||
| 100 | + } | ||
| 73 | } | 101 | } |
| 74 | } | 102 | } |
src/main/java/com/mumfrey/liteloader/common/mixin/MixinPlayerList.java
| @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
| 13 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | 13 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
| 14 | 14 | ||
| 15 | import com.mojang.authlib.GameProfile; | 15 | import com.mojang.authlib.GameProfile; |
| 16 | -import com.mumfrey.liteloader.core.Proxy; | 16 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker; |
| 17 | 17 | ||
| 18 | import net.minecraft.entity.player.EntityPlayerMP; | 18 | import net.minecraft.entity.player.EntityPlayerMP; |
| 19 | import net.minecraft.network.NetHandlerPlayServer; | 19 | import net.minecraft.network.NetHandlerPlayServer; |
| @@ -29,26 +29,26 @@ public abstract class MixinPlayerList | @@ -29,26 +29,26 @@ public abstract class MixinPlayerList | ||
| 29 | ) | 29 | ) |
| 30 | private void onInitializePlayerConnection(NetworkManager netManager, EntityPlayerMP player, CallbackInfo ci) | 30 | private void onInitializePlayerConnection(NetworkManager netManager, EntityPlayerMP player, CallbackInfo ci) |
| 31 | { | 31 | { |
| 32 | - Proxy.onInitializePlayerConnection((PlayerList)(Object)this, netManager, player); | 32 | + LiteLoaderEventBroker.getCommonBroker().onInitializePlayerConnection((PlayerList)(Object)this, netManager, player); |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | // Because, forge | 35 | // Because, forge |
| 36 | @Surrogate | 36 | @Surrogate |
| 37 | private void onInitializePlayerConnection(NetworkManager netManager, EntityPlayerMP player, NetHandlerPlayServer nhps, CallbackInfo ci) | 37 | private void onInitializePlayerConnection(NetworkManager netManager, EntityPlayerMP player, NetHandlerPlayServer nhps, CallbackInfo ci) |
| 38 | { | 38 | { |
| 39 | - Proxy.onInitializePlayerConnection((PlayerList)(Object)this, netManager, player); | 39 | + LiteLoaderEventBroker.getCommonBroker().onInitializePlayerConnection((PlayerList)(Object)this, netManager, player); |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | @Inject(method = "playerLoggedIn(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) | 42 | @Inject(method = "playerLoggedIn(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) |
| 43 | private void onPlayerLogin(EntityPlayerMP player, CallbackInfo ci) | 43 | private void onPlayerLogin(EntityPlayerMP player, CallbackInfo ci) |
| 44 | { | 44 | { |
| 45 | - Proxy.onPlayerLogin((PlayerList)(Object)this, player); | 45 | + LiteLoaderEventBroker.getCommonBroker().onPlayerLogin((PlayerList)(Object)this, player); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | @Inject(method = "playerLoggedOut(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) | 48 | @Inject(method = "playerLoggedOut(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) |
| 49 | private void onPlayerLogout(EntityPlayerMP player, CallbackInfo ci) | 49 | private void onPlayerLogout(EntityPlayerMP player, CallbackInfo ci) |
| 50 | { | 50 | { |
| 51 | - Proxy.onPlayerLogout((PlayerList)(Object)this, player); | 51 | + LiteLoaderEventBroker.getCommonBroker().onPlayerLogout((PlayerList)(Object)this, player); |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | @Inject( | 54 | @Inject( |
| @@ -58,7 +58,7 @@ public abstract class MixinPlayerList | @@ -58,7 +58,7 @@ public abstract class MixinPlayerList | ||
| 58 | ) | 58 | ) |
| 59 | private void onSpawnPlayer(GameProfile profile, CallbackInfoReturnable<EntityPlayerMP> cir) | 59 | private void onSpawnPlayer(GameProfile profile, CallbackInfoReturnable<EntityPlayerMP> cir) |
| 60 | { | 60 | { |
| 61 | - Proxy.onSpawnPlayer(cir, (PlayerList)(Object)this, profile); | 61 | + LiteLoaderEventBroker.getCommonBroker().onSpawnPlayer((PlayerList)(Object)this, cir.getReturnValue(), profile); |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | @Inject( | 64 | @Inject( |
| @@ -68,6 +68,6 @@ public abstract class MixinPlayerList | @@ -68,6 +68,6 @@ public abstract class MixinPlayerList | ||
| 68 | ) | 68 | ) |
| 69 | private void onRespawnPlayer(EntityPlayerMP player, int dimension, boolean conqueredEnd, CallbackInfoReturnable<EntityPlayerMP> cir) | 69 | private void onRespawnPlayer(EntityPlayerMP player, int dimension, boolean conqueredEnd, CallbackInfoReturnable<EntityPlayerMP> cir) |
| 70 | { | 70 | { |
| 71 | - Proxy.onRespawnPlayer(cir, (PlayerList)(Object)this, player, dimension, conqueredEnd); | 71 | + LiteLoaderEventBroker.getCommonBroker().onRespawnPlayer((PlayerList)(Object)this, cir.getReturnValue(), player, dimension, conqueredEnd); |
| 72 | } | 72 | } |
| 73 | } | 73 | } |
src/main/java/com/mumfrey/liteloader/core/LiteLoaderEnumerator.java
| @@ -636,6 +636,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -636,6 +636,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
| 636 | } | 636 | } |
| 637 | } | 637 | } |
| 638 | 638 | ||
| 639 | + @SuppressWarnings("deprecation") | ||
| 639 | private void addMixinsFrom(MixinContainer<File> container) | 640 | private void addMixinsFrom(MixinContainer<File> container) |
| 640 | { | 641 | { |
| 641 | try | 642 | try |
src/main/java/com/mumfrey/liteloader/core/LiteLoaderEventBroker.java
| @@ -118,7 +118,7 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe | @@ -118,7 +118,7 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe | ||
| 118 | /** | 118 | /** |
| 119 | * Singleton | 119 | * Singleton |
| 120 | */ | 120 | */ |
| 121 | - static LiteLoaderEventBroker<?, ?> broker; | 121 | + protected static LiteLoaderEventBroker<?, ?> broker; |
| 122 | 122 | ||
| 123 | /** | 123 | /** |
| 124 | * Reference to the loader instance | 124 | * Reference to the loader instance |
| @@ -191,6 +191,12 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe | @@ -191,6 +191,12 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe | ||
| 191 | 191 | ||
| 192 | LiteLoaderEventBroker.broker = this; | 192 | LiteLoaderEventBroker.broker = this; |
| 193 | } | 193 | } |
| 194 | + | ||
| 195 | + @SuppressWarnings("unchecked") | ||
| 196 | + public static <TClient, TServer extends MinecraftServer> LiteLoaderEventBroker<TClient, TServer> getCommonBroker() | ||
| 197 | + { | ||
| 198 | + return (LiteLoaderEventBroker<TClient, TServer>)LiteLoaderEventBroker.broker; | ||
| 199 | + } | ||
| 194 | 200 | ||
| 195 | /** | 201 | /** |
| 196 | * @param mods | 202 | * @param mods |
src/main/java/com/mumfrey/liteloader/core/Proxy.java deleted
100644 → 0
| 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.core; | ||
| 7 | - | ||
| 8 | -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
| 9 | -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | ||
| 10 | - | ||
| 11 | -import com.mojang.authlib.GameProfile; | ||
| 12 | -import com.mumfrey.liteloader.core.LiteLoaderEventBroker.InteractType; | ||
| 13 | - | ||
| 14 | -import net.minecraft.entity.player.EntityPlayer; | ||
| 15 | -import net.minecraft.entity.player.EntityPlayerMP; | ||
| 16 | -import net.minecraft.item.ItemStack; | ||
| 17 | -import net.minecraft.network.NetHandlerPlayServer; | ||
| 18 | -import net.minecraft.network.NetworkManager; | ||
| 19 | -import net.minecraft.network.play.client.CPacketAnimation; | ||
| 20 | -import net.minecraft.network.play.client.CPacketPlayer; | ||
| 21 | -import net.minecraft.network.play.client.CPacketPlayerDigging; | ||
| 22 | -import net.minecraft.network.play.client.CPacketPlayerDigging.Action; | ||
| 23 | -import net.minecraft.network.play.client.CPacketPlayerTryUseItem; | ||
| 24 | -import net.minecraft.server.MinecraftServer; | ||
| 25 | -import net.minecraft.server.management.PlayerInteractionManager; | ||
| 26 | -import net.minecraft.server.management.PlayerList; | ||
| 27 | -import net.minecraft.util.EnumActionResult; | ||
| 28 | -import net.minecraft.util.EnumFacing; | ||
| 29 | -import net.minecraft.util.EnumHand; | ||
| 30 | -import net.minecraft.util.math.BlockPos; | ||
| 31 | -import net.minecraft.world.World; | ||
| 32 | -import net.minecraft.world.WorldServer; | ||
| 33 | - | ||
| 34 | -public abstract class Proxy | ||
| 35 | -{ | ||
| 36 | - private static LiteLoaderEventBroker<?, ?> broker; | ||
| 37 | - | ||
| 38 | - protected Proxy() {} | ||
| 39 | - | ||
| 40 | - protected static void onStartupComplete() | ||
| 41 | - { | ||
| 42 | - Proxy.broker = LiteLoaderEventBroker.broker; | ||
| 43 | - | ||
| 44 | - if (Proxy.broker == null) | ||
| 45 | - { | ||
| 46 | - throw new RuntimeException("LiteLoader failed to start up properly." | ||
| 47 | - + " The game is in an unstable state and must shut down now. Check the developer log for startup errors"); | ||
| 48 | - } | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - public static void onInitializePlayerConnection(PlayerList source, NetworkManager netManager, EntityPlayerMP player) | ||
| 52 | - { | ||
| 53 | - Proxy.broker.onInitializePlayerConnection(source, netManager, player); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - public static void onPlayerLogin(PlayerList source, EntityPlayerMP player) | ||
| 57 | - { | ||
| 58 | - Proxy.broker.onPlayerLogin(source, player); | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - public static void onPlayerLogout(PlayerList source, EntityPlayerMP player) | ||
| 62 | - { | ||
| 63 | - Proxy.broker.onPlayerLogout(source, player); | ||
| 64 | - } | ||
| 65 | - | ||
| 66 | - public static void onSpawnPlayer(CallbackInfoReturnable<EntityPlayerMP> cir, PlayerList source, GameProfile profile) | ||
| 67 | - { | ||
| 68 | - Proxy.broker.onSpawnPlayer(source, cir.getReturnValue(), profile); | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - public static void onRespawnPlayer(CallbackInfoReturnable<EntityPlayerMP> cir, PlayerList source, EntityPlayerMP oldPlayer, | ||
| 72 | - int dimension, boolean won) | ||
| 73 | - { | ||
| 74 | - Proxy.broker.onRespawnPlayer(source, cir.getReturnValue(), oldPlayer, dimension, won); | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - public static void onServerTick(MinecraftServer mcServer) | ||
| 78 | - { | ||
| 79 | - Proxy.broker.onServerTick(mcServer); | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - public static void onPlaceBlock(CallbackInfo ci, NetHandlerPlayServer netHandler, CPacketPlayerTryUseItem packet) | ||
| 83 | - { | ||
| 84 | - // Potentially not needed any more | ||
| 85 | -// if (!Proxy.broker.onPlaceBlock(netHandler, netHandler.playerEntity, packet.getPosition(), | ||
| 86 | -// EnumFacing.getFront(packet.getPlacedBlockDirection()))) | ||
| 87 | -// { | ||
| 88 | -// ci.cancel(); | ||
| 89 | -// } | ||
| 90 | - } | ||
| 91 | - | ||
| 92 | - public static void onClickedAir(CallbackInfo ci, NetHandlerPlayServer netHandler, CPacketAnimation packet) | ||
| 93 | - { | ||
| 94 | - if (!Proxy.broker.onClickedAir(InteractType.LEFT_CLICK, netHandler.playerEntity, packet.getHand())) | ||
| 95 | - { | ||
| 96 | - ci.cancel(); | ||
| 97 | - } | ||
| 98 | - } | ||
| 99 | - | ||
| 100 | - public static void onPlayerDigging(CallbackInfo ci, NetHandlerPlayServer netHandler, CPacketPlayerDigging packet) | ||
| 101 | - { | ||
| 102 | - Action action = packet.getAction(); | ||
| 103 | - EntityPlayerMP player = netHandler.playerEntity; | ||
| 104 | - if (action == Action.START_DESTROY_BLOCK) | ||
| 105 | - { | ||
| 106 | - if (!Proxy.broker.onPlayerDigging(InteractType.DIG_BLOCK_MAYBE, player, netHandler, packet.getPosition())) | ||
| 107 | - { | ||
| 108 | - ci.cancel(); | ||
| 109 | - } | ||
| 110 | - } | ||
| 111 | - else if (action == Action.ABORT_DESTROY_BLOCK || action == Action.STOP_DESTROY_BLOCK) | ||
| 112 | - { | ||
| 113 | - Proxy.broker.onPlayerDigging(InteractType.DIG_BLOCK_END, player, netHandler, packet.getPosition()); | ||
| 114 | - } | ||
| 115 | - else if (action == Action.SWAP_HELD_ITEMS) | ||
| 116 | - { | ||
| 117 | - if (!Proxy.broker.onPlayerSwapItems(player)) | ||
| 118 | - { | ||
| 119 | - ci.cancel(); | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | - public static void onRightClickBlock(CallbackInfoReturnable<EnumActionResult> ci, EntityPlayer player, World world, ItemStack stack, | ||
| 125 | - EnumHand hand, BlockPos pos, EnumFacing side, float offsetX, float offsetY, float offsetZ) | ||
| 126 | - { | ||
| 127 | - if (!(player instanceof EntityPlayerMP)) | ||
| 128 | - { | ||
| 129 | - return; | ||
| 130 | - } | ||
| 131 | - | ||
| 132 | - if (!Proxy.broker.onUseItem((EntityPlayerMP)player, hand, stack, pos, side)) | ||
| 133 | - { | ||
| 134 | - ci.setReturnValue(EnumActionResult.FAIL); | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - | ||
| 138 | - public static void postRightClickBlock(CallbackInfoReturnable<EnumActionResult> cir, EntityPlayer player, World world, ItemStack stack, | ||
| 139 | - EnumHand hand, BlockPos pos, EnumFacing side, float offsetX, float offsetY, float offsetZ) | ||
| 140 | - { | ||
| 141 | - if (!(player instanceof EntityPlayerMP)) | ||
| 142 | - { | ||
| 143 | - return; | ||
| 144 | - } | ||
| 145 | - | ||
| 146 | - System.err.printf("@@ postRightClickBlock: %s\n", cir.getReturnValue()); | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - public static void onRightClick(CallbackInfoReturnable<EnumActionResult> cir, EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand) | ||
| 150 | - { | ||
| 151 | - if (!(player instanceof EntityPlayerMP)) | ||
| 152 | - { | ||
| 153 | - return; | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - if (!Proxy.broker.onClickedAir(InteractType.RIGHT_CLICK, (EntityPlayerMP)player, hand)) | ||
| 157 | - { | ||
| 158 | - cir.setReturnValue(EnumActionResult.FAIL); | ||
| 159 | - } | ||
| 160 | - } | ||
| 161 | - | ||
| 162 | - public static void onBlockClicked(CallbackInfo ci, PlayerInteractionManager manager, BlockPos pos, EnumFacing side) | ||
| 163 | - { | ||
| 164 | - if (!Proxy.broker.onBlockClicked(pos, side, manager)) | ||
| 165 | - { | ||
| 166 | - ci.cancel(); | ||
| 167 | - } | ||
| 168 | - } | ||
| 169 | - | ||
| 170 | - public static void onPlayerMoved(CallbackInfo ci, NetHandlerPlayServer netHandler, CPacketPlayer packet, WorldServer world, double oldPosX, | ||
| 171 | - double oldPosY, double oldPosZ) | ||
| 172 | - { | ||
| 173 | - if (!Proxy.broker.onPlayerMove(netHandler, packet, netHandler.playerEntity, world)) | ||
| 174 | - { | ||
| 175 | - ci.cancel(); | ||
| 176 | - } | ||
| 177 | - } | ||
| 178 | - | ||
| 179 | - public static void onPlayerMoved(CallbackInfo ci, NetHandlerPlayServer netHandler, CPacketPlayer packet, WorldServer world) | ||
| 180 | - { | ||
| 181 | - if (!Proxy.broker.onPlayerMove(netHandler, packet, netHandler.playerEntity, world)) | ||
| 182 | - { | ||
| 183 | - ci.cancel(); | ||
| 184 | - } | ||
| 185 | - } | ||
| 186 | -} |
src/main/java/com/mumfrey/liteloader/crashreport/CrashSectionLaunchWrapper.java
| @@ -6,7 +6,6 @@ | @@ -6,7 +6,6 @@ | ||
| 6 | package com.mumfrey.liteloader.crashreport; | 6 | package com.mumfrey.liteloader.crashreport; |
| 7 | 7 | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| 9 | -import java.util.concurrent.Callable; | ||
| 10 | 9 | ||
| 11 | import net.minecraft.crash.CrashReport; | 10 | import net.minecraft.crash.CrashReport; |
| 12 | import net.minecraft.launchwrapper.IClassTransformer; | 11 | import net.minecraft.launchwrapper.IClassTransformer; |