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 | 286 | * Late initialisation callback |
| 287 | 287 | */ |
| 288 | 288 | @Override |
| 289 | - protected void onStartupComplete() | |
| 289 | + public void onStartupComplete() | |
| 290 | 290 | { |
| 291 | 291 | this.engine.getResources().refreshResources(false); |
| 292 | 292 | |
| ... | ... | @@ -328,7 +328,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 328 | 328 | /** |
| 329 | 329 | * Callback from the tick hook, pre render |
| 330 | 330 | */ |
| 331 | - void onRender() | |
| 331 | + public void onRender() | |
| 332 | 332 | { |
| 333 | 333 | this.renderListeners.all().onRender(); |
| 334 | 334 | } |
| ... | ... | @@ -339,7 +339,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 339 | 339 | * @param partialTicks |
| 340 | 340 | * @param timeSlice |
| 341 | 341 | */ |
| 342 | - void postRenderEntities(float partialTicks, long timeSlice) | |
| 342 | + public void postRenderEntities(float partialTicks, long timeSlice) | |
| 343 | 343 | { |
| 344 | 344 | this.postRenderListeners.all().onPostRenderEntities(partialTicks); |
| 345 | 345 | } |
| ... | ... | @@ -350,7 +350,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 350 | 350 | * @param partialTicks |
| 351 | 351 | * @param timeSlice |
| 352 | 352 | */ |
| 353 | - void postRender(float partialTicks, long timeSlice) | |
| 353 | + public void postRender(float partialTicks, long timeSlice) | |
| 354 | 354 | { |
| 355 | 355 | ((IEntityRenderer)this.engineClient.getClient().entityRenderer).setupCamera(partialTicks, 0); |
| 356 | 356 | this.postRenderListeners.all().onPostRender(partialTicks); |
| ... | ... | @@ -359,7 +359,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 359 | 359 | /** |
| 360 | 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 | 364 | this.renderListeners.all().onRenderGui(this.engineClient.getCurrentScreen()); |
| 365 | 365 | } |
| ... | ... | @@ -371,7 +371,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 371 | 371 | * @param timeSlice |
| 372 | 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 | 376 | this.renderListeners.all().onSetupCameraTransform(); |
| 377 | 377 | this.preRenderListeners.all().onSetupCameraTransform(partialTicks, pass, timeSlice); |
| ... | ... | @@ -383,7 +383,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 383 | 383 | * @param chatGui |
| 384 | 384 | * @param partialTicks |
| 385 | 385 | */ |
| 386 | - void onRenderChat(GuiNewChat chatGui, float partialTicks) | |
| 386 | + public void onRenderChat(GuiNewChat chatGui, float partialTicks) | |
| 387 | 387 | { |
| 388 | 388 | this.chatRenderListeners.all().onPreRenderChat(this.screenWidth, this.screenHeight, chatGui); |
| 389 | 389 | } |
| ... | ... | @@ -394,7 +394,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 394 | 394 | * @param chatGui |
| 395 | 395 | * @param partialTicks |
| 396 | 396 | */ |
| 397 | - void postRenderChat(GuiNewChat chatGui, float partialTicks) | |
| 397 | + public void postRenderChat(GuiNewChat chatGui, float partialTicks) | |
| 398 | 398 | { |
| 399 | 399 | this.chatRenderListeners.all().onPostRenderChat(this.screenWidth, this.screenHeight, chatGui); |
| 400 | 400 | } |
| ... | ... | @@ -402,7 +402,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 402 | 402 | /** |
| 403 | 403 | * Callback when about to render the HUD |
| 404 | 404 | */ |
| 405 | - void onRenderHUD(float partialTicks) | |
| 405 | + public void onRenderHUD(float partialTicks) | |
| 406 | 406 | { |
| 407 | 407 | this.hudRenderListeners.all().onPreRenderHUD(this.screenWidth, this.screenHeight); |
| 408 | 408 | } |
| ... | ... | @@ -410,7 +410,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 410 | 410 | /** |
| 411 | 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 | 415 | this.hudRenderListeners.all().onPostRenderHUD(this.screenWidth, this.screenHeight); |
| 416 | 416 | } |
| ... | ... | @@ -418,7 +418,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 418 | 418 | /** |
| 419 | 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 | 423 | Minecraft minecraft = this.engine.getClient(); |
| 424 | 424 | this.loopListeners.all().onRunGameLoop(minecraft); |
| ... | ... | @@ -427,7 +427,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 427 | 427 | /** |
| 428 | 428 | * Callback from the tick hook, ticks all tickable mods |
| 429 | 429 | */ |
| 430 | - void onTick() | |
| 430 | + public void onTick() | |
| 431 | 431 | { |
| 432 | 432 | this.profiler.endStartSection("litemods"); |
| 433 | 433 | |
| ... | ... | @@ -474,7 +474,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 474 | 474 | /** |
| 475 | 475 | * @param message |
| 476 | 476 | */ |
| 477 | - void onSendChatMessage(CallbackInfo e, String message) | |
| 477 | + public void onSendChatMessage(CallbackInfo e, String message) | |
| 478 | 478 | { |
| 479 | 479 | if (!this.outboundChatFilters.all().onSendChatMessage(message)) |
| 480 | 480 | { |
| ... | ... | @@ -485,7 +485,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 485 | 485 | /** |
| 486 | 486 | * @param framebuffer |
| 487 | 487 | */ |
| 488 | - void preRenderFBO(Framebuffer framebuffer) | |
| 488 | + public void preRenderFBO(Framebuffer framebuffer) | |
| 489 | 489 | { |
| 490 | 490 | this.frameBufferListeners.all().preRenderFBO(framebuffer); |
| 491 | 491 | } |
| ... | ... | @@ -495,7 +495,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 495 | 495 | * @param width |
| 496 | 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 | 500 | this.frameBufferListeners.all().onRenderFBO(framebuffer, width, height); |
| 501 | 501 | } |
| ... | ... | @@ -503,7 +503,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 503 | 503 | /** |
| 504 | 504 | * @param framebuffer |
| 505 | 505 | */ |
| 506 | - void postRenderFBO(Framebuffer framebuffer) | |
| 506 | + public void postRenderFBO(Framebuffer framebuffer) | |
| 507 | 507 | { |
| 508 | 508 | this.frameBufferListeners.all().postRenderFBO(framebuffer); |
| 509 | 509 | } |
| ... | ... | @@ -512,7 +512,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 512 | 512 | * @param partialTicks |
| 513 | 513 | * @param timeSlice |
| 514 | 514 | */ |
| 515 | - void onRenderWorld(float partialTicks, long timeSlice) | |
| 515 | + public void onRenderWorld(float partialTicks, long timeSlice) | |
| 516 | 516 | { |
| 517 | 517 | this.preRenderListeners.all().onRenderWorld(partialTicks); |
| 518 | 518 | } |
| ... | ... | @@ -522,7 +522,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 522 | 522 | * @param pass |
| 523 | 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 | 527 | this.preRenderListeners.all().onRenderSky(partialTicks, pass); |
| 528 | 528 | } |
| ... | ... | @@ -532,7 +532,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 532 | 532 | * @param pass |
| 533 | 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 | 537 | this.preRenderListeners.all().onRenderClouds(partialTicks, pass, renderGlobal); |
| 538 | 538 | } |
| ... | ... | @@ -542,7 +542,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 542 | 542 | * @param pass |
| 543 | 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 | 547 | this.preRenderListeners.all().onRenderTerrain(partialTicks, pass); |
| 548 | 548 | } |
| ... | ... | @@ -554,7 +554,7 @@ public class LiteLoaderEventBrokerClient extends LiteLoaderEventBroker<Minecraft |
| 554 | 554 | * @param height |
| 555 | 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 | 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 | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | 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 | 15 | import net.minecraft.client.entity.AbstractClientPlayer; |
| 16 | 16 | import net.minecraft.client.entity.EntityPlayerSP; |
| ... | ... | @@ -26,6 +26,6 @@ public abstract class MixinEntityPlayerSP extends AbstractClientPlayer |
| 26 | 26 | @Inject(method = "sendChatMessage(Ljava/lang/String;)V", at = { @At("HEAD") }, cancellable = true) |
| 27 | 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 | 13 | import org.spongepowered.asm.mixin.injection.Inject; |
| 14 | 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 | import com.mumfrey.liteloader.client.overlays.IEntityRenderer; |
| 18 | 18 | |
| 19 | 19 | import net.minecraft.client.renderer.EntityRenderer; |
| ... | ... | @@ -33,6 +33,8 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 33 | 33 | @Shadow abstract float getFOVModifier(float partialTicks, boolean useFOVSetting); |
| 34 | 34 | @Shadow abstract void setupCameraTransform(float partialTicks, int pass); |
| 35 | 35 | |
| 36 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | |
| 37 | + | |
| 36 | 38 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| 37 | 39 | value = "INVOKE", |
| 38 | 40 | shift = Shift.AFTER, |
| ... | ... | @@ -40,7 +42,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 40 | 42 | )) |
| 41 | 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 | 48 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| ... | ... | @@ -49,7 +51,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 49 | 51 | )) |
| 50 | 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 | 57 | @Inject(method = "updateCameraAndRender(FJ)V", at = @At( |
| ... | ... | @@ -59,7 +61,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 59 | 61 | )) |
| 60 | 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 | 67 | @Inject(method = "renderWorld(FJ)V", at = @At( |
| ... | ... | @@ -69,7 +71,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 69 | 71 | )) |
| 70 | 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 | 77 | @Inject(method = "renderWorld(FJ)V", at = @At( |
| ... | ... | @@ -79,7 +81,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 79 | 81 | )) |
| 80 | 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 | 87 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| ... | ... | @@ -89,7 +91,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 89 | 91 | )) |
| 90 | 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 | 97 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| ... | ... | @@ -99,7 +101,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 99 | 101 | )) |
| 100 | 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 | 107 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| ... | ... | @@ -109,8 +111,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 109 | 111 | )) |
| 110 | 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 | 117 | @Inject(method = "renderWorldPass(IFJ)V", at = @At( |
| ... | ... | @@ -120,7 +121,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 120 | 121 | )) |
| 121 | 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 | 127 | @Inject(method = "renderCloudsCheck(Lnet/minecraft/client/renderer/RenderGlobal;FIDDD)V", at = @At( |
| ... | ... | @@ -129,7 +130,7 @@ public abstract class MixinEntityRenderer implements IEntityRenderer |
| 129 | 130 | )) |
| 130 | 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 | 136 | @Override | ... | ... |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinFramebuffer.java
| ... | ... | @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At; |
| 10 | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | 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 | import com.mumfrey.liteloader.client.ducks.IFramebuffer; |
| 15 | 15 | |
| 16 | 16 | import net.minecraft.client.shader.Framebuffer; |
| ... | ... | @@ -18,6 +18,8 @@ import net.minecraft.client.shader.Framebuffer; |
| 18 | 18 | @Mixin(Framebuffer.class) |
| 19 | 19 | public abstract class MixinFramebuffer implements IFramebuffer |
| 20 | 20 | { |
| 21 | + private LiteLoaderEventBrokerClient broker; | |
| 22 | + | |
| 21 | 23 | private boolean dispatchRenderEvent; |
| 22 | 24 | |
| 23 | 25 | @Override |
| ... | ... | @@ -39,10 +41,15 @@ public abstract class MixinFramebuffer implements IFramebuffer |
| 39 | 41 | )) |
| 40 | 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 | 13 | import org.spongepowered.asm.mixin.injection.Inject; |
| 14 | 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 | 18 | import net.minecraft.client.gui.Gui; |
| 19 | 19 | import net.minecraft.client.gui.GuiIngame; |
| ... | ... | @@ -24,13 +24,15 @@ public abstract class MixinGuiIngame extends Gui |
| 24 | 24 | { |
| 25 | 25 | @Shadow @Final private GuiNewChat persistantChatGUI; |
| 26 | 26 | |
| 27 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | |
| 28 | + | |
| 27 | 29 | @Inject(method = "renderGameOverlay(F)V", at = @At( |
| 28 | 30 | value = "INVOKE", |
| 29 | 31 | target = "Lnet/minecraft/client/gui/GuiNewChat;drawChat(I)V" |
| 30 | 32 | )) |
| 31 | 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 | 38 | @Inject(method = "renderGameOverlay(F)V", at = @At( |
| ... | ... | @@ -40,6 +42,6 @@ public abstract class MixinGuiIngame extends Gui |
| 40 | 42 | )) |
| 41 | 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 | 14 | import com.mojang.authlib.GameProfileRepository; |
| 15 | 15 | import com.mojang.authlib.minecraft.MinecraftSessionService; |
| 16 | 16 | import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; |
| 17 | -import com.mumfrey.liteloader.client.ClientProxy; | |
| 17 | +import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; | |
| 18 | 18 | |
| 19 | 19 | import net.minecraft.client.Minecraft; |
| 20 | 20 | import net.minecraft.server.MinecraftServer; |
| ... | ... | @@ -25,6 +25,8 @@ import net.minecraft.world.WorldSettings; |
| 25 | 25 | @Mixin(IntegratedServer.class) |
| 26 | 26 | public abstract class MixinIntegratedServer extends MinecraftServer |
| 27 | 27 | { |
| 28 | + private LiteLoaderEventBrokerClient broker = LiteLoaderEventBrokerClient.getInstance(); | |
| 29 | + | |
| 28 | 30 | public MixinIntegratedServer() |
| 29 | 31 | { |
| 30 | 32 | super(null, null, null, null, null, null, null); |
| ... | ... | @@ -38,7 +40,7 @@ public abstract class MixinIntegratedServer extends MinecraftServer |
| 38 | 40 | private void onConstructed(Minecraft mcIn, String folderName, String worldName, WorldSettings settings, YggdrasilAuthenticationService authSrv, |
| 39 | 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 | 46 | @Surrogate | ... | ... |
src/client/java/com/mumfrey/liteloader/client/mixin/MixinMinecraft.java
| ... | ... | @@ -17,7 +17,8 @@ import org.spongepowered.asm.mixin.injection.Redirect; |
| 17 | 17 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 18 | 18 | |
| 19 | 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 | 22 | import com.mumfrey.liteloader.client.overlays.IMinecraft; |
| 22 | 23 | |
| 23 | 24 | import net.minecraft.client.Minecraft; |
| ... | ... | @@ -40,22 +41,35 @@ public abstract class MixinMinecraft implements IMinecraft |
| 40 | 41 | @Shadow private void rightClickMouse() {} |
| 41 | 42 | @Shadow private void middleClickMouse() {} |
| 42 | 43 | |
| 44 | + private LiteLoaderEventBrokerClient broker; | |
| 45 | + | |
| 43 | 46 | @Inject(method = "init()V", at = @At("RETURN")) |
| 44 | 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 | 60 | @Inject(method = "updateFramebufferSize()V", at = @At("HEAD")) |
| 50 | 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 | 69 | @Inject(method = "runTick()V", at = @At("HEAD")) |
| 56 | 70 | private void newTick(CallbackInfo ci) |
| 57 | 71 | { |
| 58 | - ClientProxy.newTick(); | |
| 72 | +// ClientProxy.newTick(); | |
| 59 | 73 | } |
| 60 | 74 | |
| 61 | 75 | @Inject(method = "runGameLoop()V", at = @At( |
| ... | ... | @@ -65,7 +79,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 65 | 79 | )) |
| 66 | 80 | private void onTick(CallbackInfo ci) |
| 67 | 81 | { |
| 68 | - ClientProxy.onTick(); | |
| 82 | + this.broker.onTick(); | |
| 69 | 83 | } |
| 70 | 84 | |
| 71 | 85 | @Redirect(method = "runGameLoop()V", at = @At( |
| ... | ... | @@ -75,11 +89,17 @@ public abstract class MixinMinecraft implements IMinecraft |
| 75 | 89 | private void renderFBO(Framebuffer framebufferMc, int width, int height) |
| 76 | 90 | { |
| 77 | 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 | 100 | framebufferMc.framebufferRender(width, height); |
| 82 | - ClientProxy.preRenderFBO(framebufferMc); | |
| 101 | + | |
| 102 | + this.broker.postRenderFBO(framebufferMc); | |
| 83 | 103 | } |
| 84 | 104 | else |
| 85 | 105 | { |
| ... | ... | @@ -94,7 +114,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 94 | 114 | )) |
| 95 | 115 | private void onTimerUpdate(CallbackInfo ci) |
| 96 | 116 | { |
| 97 | - ClientProxy.onTimerUpdate(); | |
| 117 | + this.broker.onTimerUpdate(); | |
| 98 | 118 | } |
| 99 | 119 | |
| 100 | 120 | @Inject(method = "runGameLoop()V", at = @At( |
| ... | ... | @@ -104,7 +124,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 104 | 124 | )) |
| 105 | 125 | private void onRender(CallbackInfo ci) |
| 106 | 126 | { |
| 107 | - ClientProxy.onRender(); | |
| 127 | + this.broker.onRender(); | |
| 108 | 128 | } |
| 109 | 129 | |
| 110 | 130 | @Redirect(method = "processKeyBinds()V", at = @At( |
| ... | ... | @@ -113,7 +133,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 113 | 133 | )) |
| 114 | 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 | 138 | this.clickMouse(); |
| 119 | 139 | } |
| ... | ... | @@ -128,7 +148,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 128 | 148 | ) |
| 129 | 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 | 153 | ci.cancel(); |
| 134 | 154 | } |
| ... | ... | @@ -141,7 +161,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 141 | 161 | )) |
| 142 | 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 | 166 | this.rightClickMouse(); |
| 147 | 167 | } |
| ... | ... | @@ -154,7 +174,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 154 | 174 | )) |
| 155 | 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 | 179 | this.rightClickMouse(); |
| 160 | 180 | } |
| ... | ... | @@ -166,7 +186,7 @@ public abstract class MixinMinecraft implements IMinecraft |
| 166 | 186 | )) |
| 167 | 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 | 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 | 13 | import org.spongepowered.asm.mixin.injection.At; |
| 14 | 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 | 17 | import com.mumfrey.liteloader.client.ducks.IRenderManager; |
| 18 | 18 | |
| 19 | 19 | import net.minecraft.client.renderer.entity.Render; |
| ... | ... | @@ -25,6 +25,8 @@ public abstract class MixinRenderManager implements IRenderManager |
| 25 | 25 | { |
| 26 | 26 | @Shadow @Final private Map<Class<? extends Entity>, Render<? extends Entity>> entityRenderMap; |
| 27 | 27 | |
| 28 | + private LiteLoaderEventBrokerClient broker; | |
| 29 | + | |
| 28 | 30 | @Override |
| 29 | 31 | public Map<Class<? extends Entity>, Render<? extends Entity>> getRenderMap() |
| 30 | 32 | { |
| ... | ... | @@ -37,9 +39,13 @@ public abstract class MixinRenderManager implements IRenderManager |
| 37 | 39 | )) |
| 38 | 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 | 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 | 12 | import org.spongepowered.asm.mixin.injection.Inject; |
| 13 | 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 | 17 | import net.minecraft.client.shader.Framebuffer; |
| 18 | 18 | import net.minecraft.util.ScreenShotHelper; |
| ... | ... | @@ -34,6 +34,6 @@ public abstract class MixinScreenShotHelper |
| 34 | 34 | ) |
| 35 | 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 | 10 | import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | 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 | 15 | import net.minecraft.server.MinecraftServer; |
| 16 | 16 | |
| 17 | 17 | @Mixin(MinecraftServer.class) |
| 18 | 18 | public abstract class MixinMinecraftServer |
| 19 | 19 | { |
| 20 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | |
| 21 | + | |
| 20 | 22 | @Inject(method = "updateTimeLightAndEntities()V", at = @At("HEAD")) |
| 21 | 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 | 15 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; |
| 16 | 16 | |
| 17 | 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 | 22 | import net.minecraft.network.NetHandlerPlayServer; |
| 21 | 23 | import net.minecraft.network.play.client.CPacketAnimation; |
| 22 | 24 | import net.minecraft.network.play.client.CPacketPlayer; |
| 23 | 25 | import net.minecraft.network.play.client.CPacketPlayerDigging; |
| 26 | +import net.minecraft.network.play.client.CPacketPlayerDigging.Action; | |
| 24 | 27 | import net.minecraft.network.play.client.CPacketPlayerTryUseItem; |
| 25 | 28 | import net.minecraft.util.math.Vec3d; |
| 26 | 29 | import net.minecraft.world.WorldServer; |
| ... | ... | @@ -30,6 +33,9 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler |
| 30 | 33 | { |
| 31 | 34 | @Shadow private int teleportId; |
| 32 | 35 | @Shadow private Vec3d targetPos; |
| 36 | + @Shadow public EntityPlayerMP playerEntity;; | |
| 37 | + | |
| 38 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | |
| 33 | 39 | |
| 34 | 40 | @Inject( |
| 35 | 41 | method = "processTryUseItem(Lnet/minecraft/network/play/client/CPacketPlayerTryUseItem;)V", |
| ... | ... | @@ -43,7 +49,7 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler |
| 43 | 49 | ) |
| 44 | 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 | 55 | @Inject( |
| ... | ... | @@ -58,7 +64,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler |
| 58 | 64 | ) |
| 59 | 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 | 73 | @Inject( |
| ... | ... | @@ -73,7 +82,26 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler |
| 73 | 82 | ) |
| 74 | 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 | 107 | @Inject( |
| ... | ... | @@ -89,7 +117,10 @@ public abstract class MixinNetHandlerPlayServer implements ITeleportHandler |
| 89 | 117 | ) |
| 90 | 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 | 126 | @Override | ... | ... |
src/main/java/com/mumfrey/liteloader/common/mixin/MixinPlayerInteractionManager.java
| ... | ... | @@ -11,9 +11,11 @@ import org.spongepowered.asm.mixin.injection.Inject; |
| 11 | 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |
| 12 | 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 | 17 | import net.minecraft.entity.player.EntityPlayer; |
| 18 | +import net.minecraft.entity.player.EntityPlayerMP; | |
| 17 | 19 | import net.minecraft.item.ItemStack; |
| 18 | 20 | import net.minecraft.server.management.PlayerInteractionManager; |
| 19 | 21 | import net.minecraft.util.EnumActionResult; |
| ... | ... | @@ -25,6 +27,8 @@ import net.minecraft.world.World; |
| 25 | 27 | @Mixin(value = PlayerInteractionManager.class, priority = 2000) |
| 26 | 28 | public abstract class MixinPlayerInteractionManager |
| 27 | 29 | { |
| 30 | + LiteLoaderEventBroker<?, ?> broker = LiteLoaderEventBroker.getCommonBroker(); | |
| 31 | + | |
| 28 | 32 | @Inject( |
| 29 | 33 | method = "onBlockClicked(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)V", |
| 30 | 34 | cancellable = true, |
| ... | ... | @@ -32,7 +36,10 @@ public abstract class MixinPlayerInteractionManager |
| 32 | 36 | ) |
| 33 | 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 | 45 | @Inject( |
| ... | ... | @@ -45,7 +52,15 @@ public abstract class MixinPlayerInteractionManager |
| 45 | 52 | private void onRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, |
| 46 | 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 | 66 | // @Inject( |
| ... | ... | @@ -58,7 +73,12 @@ public abstract class MixinPlayerInteractionManager |
| 58 | 73 | // private void postRightClickBlock(EntityPlayer player, World worldIn, ItemStack stack, EnumHand hand, BlockPos pos, EnumFacing side, |
| 59 | 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 | 84 | @Inject( |
| ... | ... | @@ -69,6 +89,14 @@ public abstract class MixinPlayerInteractionManager |
| 69 | 89 | ) |
| 70 | 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 | 13 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
| 14 | 14 | |
| 15 | 15 | import com.mojang.authlib.GameProfile; |
| 16 | -import com.mumfrey.liteloader.core.Proxy; | |
| 16 | +import com.mumfrey.liteloader.core.LiteLoaderEventBroker; | |
| 17 | 17 | |
| 18 | 18 | import net.minecraft.entity.player.EntityPlayerMP; |
| 19 | 19 | import net.minecraft.network.NetHandlerPlayServer; |
| ... | ... | @@ -29,26 +29,26 @@ public abstract class MixinPlayerList |
| 29 | 29 | ) |
| 30 | 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 | 35 | // Because, forge |
| 36 | 36 | @Surrogate |
| 37 | 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 | 42 | @Inject(method = "playerLoggedIn(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) |
| 43 | 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 | 48 | @Inject(method = "playerLoggedOut(Lnet/minecraft/entity/player/EntityPlayerMP;)V", at = @At("RETURN")) |
| 49 | 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 | 54 | @Inject( |
| ... | ... | @@ -58,7 +58,7 @@ public abstract class MixinPlayerList |
| 58 | 58 | ) |
| 59 | 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 | 64 | @Inject( |
| ... | ... | @@ -68,6 +68,6 @@ public abstract class MixinPlayerList |
| 68 | 68 | ) |
| 69 | 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
src/main/java/com/mumfrey/liteloader/core/LiteLoaderEventBroker.java
| ... | ... | @@ -118,7 +118,7 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe |
| 118 | 118 | /** |
| 119 | 119 | * Singleton |
| 120 | 120 | */ |
| 121 | - static LiteLoaderEventBroker<?, ?> broker; | |
| 121 | + protected static LiteLoaderEventBroker<?, ?> broker; | |
| 122 | 122 | |
| 123 | 123 | /** |
| 124 | 124 | * Reference to the loader instance |
| ... | ... | @@ -191,6 +191,12 @@ public abstract class LiteLoaderEventBroker<TClient, TServer extends MinecraftSe |
| 191 | 191 | |
| 192 | 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 | 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