Moved firing the MinecartInteractEvent from individual subclasses up to EntityMinecart, which as a result automatically supports EntityMinecartMobSpawner and EntityMinecartTNT. (#4583)

This commit is contained in:
MineMaarten 2018-01-18 21:52:46 +01:00 committed by LexManos
parent 94d4cb3396
commit dbf2beb6fa
7 changed files with 15 additions and 11 deletions

View File

@ -254,9 +254,16 @@
{
p_70108_1_.field_70159_w *= 0.20000000298023224D;
p_70108_1_.field_70179_y *= 0.20000000298023224D;
@@ -1015,6 +1047,230 @@
@@ -1014,7 +1046,237 @@
{
this.func_184212_Q().func_187227_b(field_184270_f, Boolean.valueOf(p_94096_1_));
}
+
+ @Override
+ public boolean func_184230_a(EntityPlayer player, net.minecraft.util.EnumHand hand)
+ {
+ return net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, player, hand));
+ }
+ /* =================================== FORGE START ===========================================*/
+ private BlockPos getCurrentRailPosition()

View File

@ -4,7 +4,7 @@
public boolean func_184230_a(EntityPlayer p_184230_1_, EnumHand p_184230_2_)
{
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_))) return true;
+ if (super.func_184230_a(p_184230_1_, p_184230_2_)) return true;
this.field_145824_a.func_175574_a(p_184230_1_);
return false;
}

View File

@ -4,7 +4,7 @@
public boolean func_184230_a(EntityPlayer p_184230_1_, EnumHand p_184230_2_)
{
+ if(net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_))) return true;
+ if (super.func_184230_a(p_184230_1_, p_184230_2_)) return true;
if (!this.field_70170_p.field_72995_K)
{
p_184230_1_.func_71007_a(this);

View File

@ -4,7 +4,7 @@
public boolean func_184230_a(EntityPlayer p_184230_1_, EnumHand p_184230_2_)
{
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_))) return true;
+ if (super.func_184230_a(p_184230_1_, p_184230_2_)) return true;
+
if (p_184230_1_.func_70093_af())
{

View File

@ -4,7 +4,7 @@
{
ItemStack itemstack = p_184230_1_.func_184586_b(p_184230_2_);
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_))) return true;
+ if (super.func_184230_a(p_184230_1_, p_184230_2_)) return true;
+
if (itemstack.func_77973_b() == Items.field_151044_h && this.field_94110_c + 3600 <= 32000)
{

View File

@ -4,7 +4,7 @@
public boolean func_184230_a(EntityPlayer p_184230_1_, EnumHand p_184230_2_)
{
+ if(net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_))) return true;
+ if (super.func_184230_a(p_184230_1_, p_184230_2_)) return true;
if (!this.field_70170_p.field_72995_K)
{
p_184230_1_.func_71007_a(this);

View File

@ -35,11 +35,8 @@ import javax.annotation.Nonnull;
/**
* MinecartInteractEvent is fired when a player interacts with a minecart. <br>
* This event is fired whenever a player interacts with a minecart in
* {@link EntityMinecartContainer#processInitialInteract(EntityPlayer, EnumHand)},
* {@link EntityMinecartEmpty#processInitialInteract(EntityPlayer, EnumHand)},
* {@link EntityMinecartFurnace#processInitialInteract(EntityPlayer, EnumHand)},
* {@link EntityMinecartHopper#processInitialInteract(EntityPlayer, EnumHand)},
* etc.<br>
* {@link EntityMinecart#processInitialInteract(EntityPlayer, EnumHand)}.
* <br>
* <br>
* {@link #player} contains the EntityPlayer that is involved with this minecart interaction.<br>
* <br>