ForgePatch/patches/minecraft/net/minecraft/entity/item/EnderPearlEntity.java.patch

40 lines
2.3 KiB
Diff

--- a/net/minecraft/entity/item/EnderPearlEntity.java
+++ b/net/minecraft/entity/item/EnderPearlEntity.java
@@ -55,6 +55,8 @@
if (entity instanceof ServerPlayerEntity) {
ServerPlayerEntity serverplayerentity = (ServerPlayerEntity)entity;
if (serverplayerentity.field_71135_a.func_147298_b().func_150724_d() && serverplayerentity.field_70170_p == this.field_70170_p && !serverplayerentity.func_70608_bn()) {
+ net.minecraftforge.event.entity.living.EnderTeleportEvent event = new net.minecraftforge.event.entity.living.EnderTeleportEvent(serverplayerentity, this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_(), 5.0F);
+ if (!net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) { // Don't indent to lower patch size
if (this.field_70146_Z.nextFloat() < 0.05F && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223601_d)) {
EndermiteEntity endermiteentity = EntityType.field_200804_r.func_200721_a(this.field_70170_p);
endermiteentity.func_175496_a(true);
@@ -66,9 +68,10 @@
entity.func_184210_p();
}
- entity.func_70634_a(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_());
+ entity.func_70634_a(event.getTargetX(), event.getTargetY(), event.getTargetZ());
entity.field_70143_R = 0.0F;
- entity.func_70097_a(DamageSource.field_76379_h, 5.0F);
+ entity.func_70097_a(DamageSource.field_76379_h, event.getAttackDamage());
+ } //Forge: End
}
} else if (entity != null) {
entity.func_70634_a(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_());
@@ -91,12 +94,12 @@
}
@Nullable
- public Entity func_241206_a_(ServerWorld p_241206_1_) {
+ public Entity changeDimension(ServerWorld p_241206_1_, net.minecraftforge.common.util.ITeleporter teleporter) {
Entity entity = this.func_234616_v_();
if (entity != null && entity.field_70170_p.func_234923_W_() != p_241206_1_.func_234923_W_()) {
this.func_212361_a((Entity)null);
}
- return super.func_241206_a_(p_241206_1_);
+ return super.changeDimension(p_241206_1_, teleporter);
}
}