Added preliminarty Player Interact event heavily based on the bukkit event.
This commit is contained in:
parent
a421e51805
commit
0e5c0be23e
|
@ -6,6 +6,13 @@ package net.minecraftforge.event;
|
||||||
*/
|
*/
|
||||||
public class Event
|
public class Event
|
||||||
{
|
{
|
||||||
|
public enum Result
|
||||||
|
{
|
||||||
|
DENY,
|
||||||
|
DEFAULT,
|
||||||
|
ALLOW
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isCanceled = false;
|
private boolean isCanceled = false;
|
||||||
private final boolean isCancelable;
|
private final boolean isCancelable;
|
||||||
private static ListenerList listeners = new ListenerList();
|
private static ListenerList listeners = new ListenerList();
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package net.minecraftforge.event;
|
package net.minecraftforge.event;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
import net.minecraftforge.event.entity.player.*;
|
||||||
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
|
||||||
|
|
||||||
public class ForgeEventFactory
|
public class ForgeEventFactory
|
||||||
{
|
{
|
||||||
|
@ -17,4 +18,16 @@ public class ForgeEventFactory
|
||||||
PlayerEvent.BreakSpeed event = new PlayerEvent.BreakSpeed(player, block, metadata, original);
|
PlayerEvent.BreakSpeed event = new PlayerEvent.BreakSpeed(player, block, metadata, original);
|
||||||
return (MinecraftForge.EVENT_BUS.post(event) ? -1 : event.newSpeed);
|
return (MinecraftForge.EVENT_BUS.post(event) ? -1 : event.newSpeed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PlayerInteractEvent onPlayerInteract(EntityPlayer player, Action action, int x, int y, int z, int face)
|
||||||
|
{
|
||||||
|
PlayerInteractEvent event = new PlayerInteractEvent(player, action, x, y, z, face);
|
||||||
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
return event;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void onPlayerDestroyItem(EntityPlayer player, ItemStack stack)
|
||||||
|
{
|
||||||
|
MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(player, stack));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package net.minecraftforge.event.entity.player;
|
||||||
|
|
||||||
|
import net.minecraft.src.EntityPlayer;
|
||||||
|
import net.minecraft.src.World;
|
||||||
|
import net.minecraftforge.event.Cancelable;
|
||||||
|
import net.minecraftforge.event.Event;
|
||||||
|
import static net.minecraftforge.event.Event.Result;
|
||||||
|
import static net.minecraftforge.event.Event.Result.*;
|
||||||
|
|
||||||
|
@Cancelable
|
||||||
|
public class PlayerInteractEvent extends PlayerEvent
|
||||||
|
{
|
||||||
|
public static enum Action
|
||||||
|
{
|
||||||
|
RIGHT_CLICK_AIR,
|
||||||
|
RIGHT_CLICK_BLOCK,
|
||||||
|
LEFT_CLICK_BLOCK
|
||||||
|
}
|
||||||
|
|
||||||
|
public final Action action;
|
||||||
|
public final int x;
|
||||||
|
public final int y;
|
||||||
|
public final int z;
|
||||||
|
public final int face;
|
||||||
|
|
||||||
|
public Result useBlock = DEFAULT;
|
||||||
|
public Result useItem = DEFAULT;
|
||||||
|
|
||||||
|
public PlayerInteractEvent(EntityPlayer player, Action action, int x, int y, int z, int face)
|
||||||
|
{
|
||||||
|
super(player);
|
||||||
|
this.action = action;
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.z = z;
|
||||||
|
this.face = face;
|
||||||
|
if (face == -1) useBlock = DENY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCanceled(boolean cancel)
|
||||||
|
{
|
||||||
|
useBlock = (cancel ? DENY : useBlock == DENY ? DEFAULT : useBlock);
|
||||||
|
useItem = (cancel ? DENY : useItem == DENY ? DEFAULT : useItem);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,15 @@
|
||||||
--- ../src_base/common/net/minecraft/src/ItemInWorldManager.java
|
--- ../src_base/common/net/minecraft/src/ItemInWorldManager.java
|
||||||
+++ ../src_work/common/net/minecraft/src/ItemInWorldManager.java
|
+++ ../src_work/common/net/minecraft/src/ItemInWorldManager.java
|
||||||
@@ -1,7 +1,13 @@
|
@@ -1,7 +1,17 @@
|
||||||
package net.minecraft.src;
|
package net.minecraft.src;
|
||||||
+
|
+
|
||||||
+import net.minecraftforge.common.ForgeHooks;
|
+import net.minecraftforge.common.ForgeHooks;
|
||||||
+import net.minecraftforge.common.MinecraftForge;
|
+import net.minecraftforge.common.MinecraftForge;
|
||||||
|
+import net.minecraftforge.event.Event;
|
||||||
|
+import net.minecraftforge.event.ForgeEventFactory;
|
||||||
+import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
|
+import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
|
||||||
|
+import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
|
+import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
|
||||||
|
|
||||||
public class ItemInWorldManager
|
public class ItemInWorldManager
|
||||||
{
|
{
|
||||||
|
@ -14,7 +18,20 @@
|
||||||
/** The world object that this object is connected to. */
|
/** The world object that this object is connected to. */
|
||||||
public World theWorld;
|
public World theWorld;
|
||||||
|
|
||||||
@@ -225,7 +231,7 @@
|
@@ -134,6 +144,12 @@
|
||||||
|
{
|
||||||
|
if (!this.gameType.isAdventure())
|
||||||
|
{
|
||||||
|
+ if (!ForgeEventFactory.onPlayerInteract(thisPlayerMP, Action.LEFT_CLICK_BLOCK, par1, par2, par3, par4))
|
||||||
|
+ {
|
||||||
|
+ thisPlayerMP.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(par1, par2, par3, theWorld));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (this.isCreative())
|
||||||
|
{
|
||||||
|
if (!this.theWorld.extinguishFire((EntityPlayer)null, par1, par2, par3, par4))
|
||||||
|
@@ -225,7 +241,7 @@
|
||||||
var4.onBlockHarvested(this.theWorld, par1, par2, par3, var5, this.thisPlayerMP);
|
var4.onBlockHarvested(this.theWorld, par1, par2, par3, var5, this.thisPlayerMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +40,7 @@
|
||||||
|
|
||||||
if (var4 != null && var6)
|
if (var4 != null && var6)
|
||||||
{
|
{
|
||||||
@@ -246,19 +252,30 @@
|
@@ -246,19 +262,30 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -56,7 +73,7 @@
|
||||||
|
|
||||||
if (var7 != null)
|
if (var7 != null)
|
||||||
{
|
{
|
||||||
@@ -267,9 +284,11 @@
|
@@ -267,9 +294,11 @@
|
||||||
if (var7.stackSize == 0)
|
if (var7.stackSize == 0)
|
||||||
{
|
{
|
||||||
this.thisPlayerMP.destroyCurrentEquippedItem();
|
this.thisPlayerMP.destroyCurrentEquippedItem();
|
||||||
|
@ -68,7 +85,7 @@
|
||||||
if (var6 && var8)
|
if (var6 && var8)
|
||||||
{
|
{
|
||||||
Block.blocksList[var4].harvestBlock(this.theWorld, this.thisPlayerMP, par1, par2, par3, var5);
|
Block.blocksList[var4].harvestBlock(this.theWorld, this.thisPlayerMP, par1, par2, par3, var5);
|
||||||
@@ -306,6 +325,7 @@
|
@@ -306,6 +335,7 @@
|
||||||
if (var6.stackSize == 0)
|
if (var6.stackSize == 0)
|
||||||
{
|
{
|
||||||
par1EntityPlayer.inventory.mainInventory[par1EntityPlayer.inventory.currentItem] = null;
|
par1EntityPlayer.inventory.mainInventory[par1EntityPlayer.inventory.currentItem] = null;
|
||||||
|
@ -76,37 +93,84 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -318,6 +338,12 @@
|
@@ -318,29 +348,54 @@
|
||||||
*/
|
*/
|
||||||
public boolean activateBlockOrUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
|
public boolean activateBlockOrUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
|
||||||
{
|
{
|
||||||
+ if (par3ItemStack != null &&
|
+ PlayerInteractEvent event = ForgeEventFactory.onPlayerInteract(par1EntityPlayer, Action.RIGHT_CLICK_BLOCK, par4, par5, par6, par7);
|
||||||
+ par3ItemStack.getItem() != null &&
|
+ if (event.isCanceled())
|
||||||
+ par3ItemStack.getItem().onItemUseFirst(par3ItemStack, par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10))
|
|
||||||
+ {
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
int var11 = par2World.getBlockId(par4, par5, par6);
|
|
||||||
|
|
||||||
if (var11 > 0 && Block.blocksList[var11].onBlockActivated(par2World, par4, par5, par6, par1EntityPlayer, par7, par8, par9, par10))
|
|
||||||
@@ -339,7 +365,15 @@
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- return par3ItemStack.tryPlaceItemIntoWorld(par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10);
|
|
||||||
+ if (!par3ItemStack.tryPlaceItemIntoWorld(par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10))
|
|
||||||
+ {
|
+ {
|
||||||
|
+ thisPlayerMP.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(par4, par5, par6, theWorld));
|
||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+ if (par3ItemStack.stackSize <= 0)
|
+
|
||||||
|
+ Item item = (par3ItemStack != null ? par3ItemStack.getItem() : null);
|
||||||
|
+ if (item != null && item.onItemUseFirst(par3ItemStack, par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10))
|
||||||
+ {
|
+ {
|
||||||
+ MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thisPlayerMP, par3ItemStack));
|
|
||||||
+ }
|
|
||||||
+ return true;
|
+ return true;
|
||||||
}
|
+ }
|
||||||
|
+
|
||||||
|
int var11 = par2World.getBlockId(par4, par5, par6);
|
||||||
|
-
|
||||||
|
- if (var11 > 0 && Block.blocksList[var11].onBlockActivated(par2World, par4, par5, par6, par1EntityPlayer, par7, par8, par9, par10))
|
||||||
|
- {
|
||||||
|
- return true;
|
||||||
|
- }
|
||||||
|
- else if (par3ItemStack == null)
|
||||||
|
- {
|
||||||
|
- return false;
|
||||||
|
- }
|
||||||
|
- else if (this.isCreative())
|
||||||
|
- {
|
||||||
|
- int var12 = par3ItemStack.getItemDamage();
|
||||||
|
- int var13 = par3ItemStack.stackSize;
|
||||||
|
- boolean var14 = par3ItemStack.tryPlaceItemIntoWorld(par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10);
|
||||||
|
- par3ItemStack.setItemDamage(var12);
|
||||||
|
- par3ItemStack.stackSize = var13;
|
||||||
|
- return var14;
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- return par3ItemStack.tryPlaceItemIntoWorld(par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10);
|
||||||
|
- }
|
||||||
|
+ Block block = Block.blocksList[var11];
|
||||||
|
+ boolean result = false;
|
||||||
|
+
|
||||||
|
+ if (block != null)
|
||||||
|
+ {
|
||||||
|
+ if (event.useBlock != Event.Result.DENY)
|
||||||
|
+ {
|
||||||
|
+ result = block.onBlockActivated(par2World, par4, par5, par6, par1EntityPlayer, par7, par8, par9, par10);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ thisPlayerMP.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(par4, par5, par6, theWorld));
|
||||||
|
+ result = event.useItem != Event.Result.ALLOW;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (par3ItemStack != null && !result)
|
||||||
|
+ {
|
||||||
|
+ int meta = par3ItemStack.getItemDamage();
|
||||||
|
+ int size = par3ItemStack.stackSize;
|
||||||
|
+ result = par3ItemStack.tryPlaceItemIntoWorld(par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10);
|
||||||
|
+ if (isCreative())
|
||||||
|
+ {
|
||||||
|
+ par3ItemStack.setItemDamage(meta);
|
||||||
|
+ par3ItemStack.stackSize = size;
|
||||||
|
+ }
|
||||||
|
+ if (par3ItemStack.stackSize <= 0) ForgeEventFactory.onPlayerDestroyItem(thisPlayerMP, par3ItemStack);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (par3ItemStack != null && ((!result && event.useItem != Event.Result.DENY) || event.useItem == Event.Result.ALLOW))
|
||||||
|
+ {
|
||||||
|
+ this.tryUseItem(thisPlayerMP, par2World, par3ItemStack);
|
||||||
|
+ }
|
||||||
|
+ return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -350,4 +384,13 @@
|
/**
|
||||||
|
@@ -350,4 +405,13 @@
|
||||||
{
|
{
|
||||||
this.theWorld = par1WorldServer;
|
this.theWorld = par1WorldServer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
--- ../src_base/common/net/minecraft/src/NetServerHandler.java
|
--- ../src_base/common/net/minecraft/src/NetServerHandler.java
|
||||||
+++ ../src_work/common/net/minecraft/src/NetServerHandler.java
|
+++ ../src_work/common/net/minecraft/src/NetServerHandler.java
|
||||||
@@ -310,7 +310,7 @@
|
@@ -10,6 +10,8 @@
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
+import net.minecraftforge.event.ForgeEventFactory;
|
||||||
|
+import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
|
|
||||||
|
public class NetServerHandler extends NetHandler
|
||||||
|
{
|
||||||
|
@@ -310,7 +312,7 @@
|
||||||
this.playerEntity.setPositionAndRotation(var5, var7, var9, var11, var12);
|
this.playerEntity.setPositionAndRotation(var5, var7, var9, var11, var12);
|
||||||
boolean var32 = var2.getCollidingBoundingBoxes(this.playerEntity, this.playerEntity.boundingBox.copy().contract((double)var27, (double)var27, (double)var27)).isEmpty();
|
boolean var32 = var2.getCollidingBoundingBoxes(this.playerEntity, this.playerEntity.boundingBox.copy().contract((double)var27, (double)var27, (double)var27)).isEmpty();
|
||||||
|
|
||||||
|
@ -9,7 +18,7 @@
|
||||||
{
|
{
|
||||||
this.setPlayerLocation(this.lastPosX, this.lastPosY, this.lastPosZ, var11, var12);
|
this.setPlayerLocation(this.lastPosX, this.lastPosY, this.lastPosZ, var11, var12);
|
||||||
return;
|
return;
|
||||||
@@ -318,7 +318,7 @@
|
@@ -318,7 +320,7 @@
|
||||||
|
|
||||||
AxisAlignedBB var33 = this.playerEntity.boundingBox.copy().expand((double)var27, (double)var27, (double)var27).addCoord(0.0D, -0.55D, 0.0D);
|
AxisAlignedBB var33 = this.playerEntity.boundingBox.copy().expand((double)var27, (double)var27, (double)var27).addCoord(0.0D, -0.55D, 0.0D);
|
||||||
|
|
||||||
|
@ -18,7 +27,7 @@
|
||||||
{
|
{
|
||||||
if (var29 >= -0.03125D)
|
if (var29 >= -0.03125D)
|
||||||
{
|
{
|
||||||
@@ -395,7 +395,10 @@
|
@@ -395,7 +397,10 @@
|
||||||
double var12 = this.playerEntity.posZ - ((double)var7 + 0.5D);
|
double var12 = this.playerEntity.posZ - ((double)var7 + 0.5D);
|
||||||
double var14 = var8 * var8 + var10 * var10 + var12 * var12;
|
double var14 = var8 * var8 + var10 * var10 + var12 * var12;
|
||||||
|
|
||||||
|
@ -30,7 +39,7 @@
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -417,7 +420,7 @@
|
@@ -417,7 +422,7 @@
|
||||||
|
|
||||||
if (par1Packet14BlockDig.status == 0)
|
if (par1Packet14BlockDig.status == 0)
|
||||||
{
|
{
|
||||||
|
@ -39,7 +48,27 @@
|
||||||
{
|
{
|
||||||
this.playerEntity.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(var5, var6, var7, var2));
|
this.playerEntity.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(var5, var6, var7, var2));
|
||||||
}
|
}
|
||||||
@@ -497,7 +500,9 @@
|
@@ -463,6 +468,7 @@
|
||||||
|
|
||||||
|
public void handlePlace(Packet15Place par1Packet15Place)
|
||||||
|
{
|
||||||
|
+ System.out.println("15: " + par1Packet15Place.creationTimeMillis);
|
||||||
|
WorldServer var2 = this.mcServer.worldServerForDimension(this.playerEntity.dimension);
|
||||||
|
ItemStack var3 = this.playerEntity.inventory.getCurrentItem();
|
||||||
|
boolean var4 = false;
|
||||||
|
@@ -479,7 +485,10 @@
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- this.playerEntity.theItemInWorldManager.tryUseItem(this.playerEntity, var2, var3);
|
||||||
|
+ if (ForgeEventFactory.onPlayerInteract(playerEntity, PlayerInteractEvent.Action.RIGHT_CLICK_AIR, 0, 0, 0, -1))
|
||||||
|
+ {
|
||||||
|
+ this.playerEntity.theItemInWorldManager.tryUseItem(this.playerEntity, var2, var3);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
else if (par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit() - 1 && (par1Packet15Place.getDirection() == 1 || par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit()))
|
||||||
|
{
|
||||||
|
@@ -497,7 +506,9 @@
|
||||||
var12 = var11;
|
var12 = var11;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +79,7 @@
|
||||||
{
|
{
|
||||||
this.playerEntity.theItemInWorldManager.activateBlockOrUseItem(this.playerEntity, var2, var3, var5, var6, var7, var8, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset());
|
this.playerEntity.theItemInWorldManager.activateBlockOrUseItem(this.playerEntity, var2, var3, var5, var6, var7, var8, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset());
|
||||||
}
|
}
|
||||||
@@ -798,7 +803,7 @@
|
@@ -798,7 +809,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
--- ../src_base/minecraft/net/minecraft/client/Minecraft.java
|
--- ../src_base/minecraft/net/minecraft/client/Minecraft.java
|
||||||
+++ ../src_work/minecraft/net/minecraft/client/Minecraft.java
|
+++ ../src_work/minecraft/net/minecraft/client/Minecraft.java
|
||||||
@@ -118,6 +118,7 @@
|
@@ -118,6 +118,9 @@
|
||||||
import net.minecraft.src.WorldInfo;
|
import net.minecraft.src.WorldInfo;
|
||||||
import net.minecraft.src.WorldRenderer;
|
import net.minecraft.src.WorldRenderer;
|
||||||
import net.minecraft.src.WorldSettings;
|
import net.minecraft.src.WorldSettings;
|
||||||
+import net.minecraftforge.common.ForgeHooks;
|
+import net.minecraftforge.common.ForgeHooks;
|
||||||
|
+import net.minecraftforge.event.ForgeEventFactory;
|
||||||
|
+import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action;
|
||||||
|
|
||||||
import org.lwjgl.LWJGLException;
|
import org.lwjgl.LWJGLException;
|
||||||
import org.lwjgl.Sys;
|
import org.lwjgl.Sys;
|
||||||
@@ -1245,7 +1246,7 @@
|
@@ -1245,7 +1248,7 @@
|
||||||
|
|
||||||
if (this.thePlayer.canPlayerEdit(var3, var4, var5))
|
if (this.thePlayer.canPlayerEdit(var3, var4, var5))
|
||||||
{
|
{
|
||||||
|
@ -17,7 +19,27 @@
|
||||||
this.thePlayer.swingItem();
|
this.thePlayer.swingItem();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2221,80 +2222,12 @@
|
@@ -1311,7 +1314,8 @@
|
||||||
|
{
|
||||||
|
int var8 = var3 != null ? var3.stackSize : 0;
|
||||||
|
|
||||||
|
- if (this.playerController.onPlayerRightClick(this.thePlayer, this.theWorld, var3, var4, var5, var6, var7, this.objectMouseOver.hitVec))
|
||||||
|
+ boolean result = ForgeEventFactory.onPlayerInteract(thePlayer, Action.RIGHT_CLICK_BLOCK, var4, var5, var6, var7);
|
||||||
|
+ if (result && this.playerController.onPlayerRightClick(this.thePlayer, this.theWorld, var3, var4, var5, var6, var7, this.objectMouseOver.hitVec))
|
||||||
|
{
|
||||||
|
var2 = false;
|
||||||
|
this.thePlayer.swingItem();
|
||||||
|
@@ -1337,7 +1341,8 @@
|
||||||
|
{
|
||||||
|
ItemStack var9 = this.thePlayer.inventory.getCurrentItem();
|
||||||
|
|
||||||
|
- if (var9 != null && this.playerController.sendUseItem(this.thePlayer, this.theWorld, var9))
|
||||||
|
+ boolean result = ForgeEventFactory.onPlayerInteract(thePlayer, Action.RIGHT_CLICK_AIR, 0, 0, 0, -1);
|
||||||
|
+ if (result && var9 != null && this.playerController.sendUseItem(this.thePlayer, this.theWorld, var9))
|
||||||
|
{
|
||||||
|
this.entityRenderer.itemRenderer.func_78445_c();
|
||||||
|
}
|
||||||
|
@@ -2221,80 +2226,12 @@
|
||||||
if (this.objectMouseOver != null)
|
if (this.objectMouseOver != null)
|
||||||
{
|
{
|
||||||
boolean var1 = this.thePlayer.capabilities.isCreativeMode;
|
boolean var1 = this.thePlayer.capabilities.isCreativeMode;
|
||||||
|
|
Loading…
Reference in New Issue