Skip to content

Commit 469aa33

Browse files
committed
Merge remote-tracking branch 'origin/1.21.1' into 1.21.1
2 parents 28440c8 + 8fefda8 commit 469aa33

15 files changed

Lines changed: 239 additions & 257 deletions

nms-patches/net/minecraft/world/entity/vehicle/EntityMinecartTNT.patch

Lines changed: 0 additions & 33 deletions
This file was deleted.

nms-patches/net/minecraft/world/entity/vehicle/VehicleEntity.patch

Lines changed: 0 additions & 64 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/BlockWaterLily.patch

Lines changed: 0 additions & 25 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/BlockWitherRose.patch

Lines changed: 0 additions & 11 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/BlockWitherSkull.patch

Lines changed: 0 additions & 50 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/BuddingAmethystBlock.patch

Lines changed: 0 additions & 11 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/CaveVines.patch

Lines changed: 0 additions & 42 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/CeilingHangingSignBlock.patch

Lines changed: 0 additions & 10 deletions
This file was deleted.

nms-patches/net/minecraft/world/level/block/ChangeOverTimeBlock.patch

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package org.teneted.neotenet.mixin.world.entity.vehicle;
2+
3+
import com.llamalad7.mixinextras.sugar.Cancellable;
4+
import com.llamalad7.mixinextras.sugar.Local;
5+
import net.minecraft.world.damagesource.DamageSource;
6+
import net.minecraft.world.entity.EntityType;
7+
import net.minecraft.world.entity.vehicle.AbstractMinecart;
8+
import net.minecraft.world.entity.vehicle.MinecartTNT;
9+
import net.minecraft.world.level.Level;
10+
import org.bukkit.event.entity.EntityRemoveEvent;
11+
import org.bukkit.event.entity.ExplosionPrimeEvent;
12+
import org.spongepowered.asm.mixin.Mixin;
13+
import org.spongepowered.asm.mixin.Shadow;
14+
import org.spongepowered.asm.mixin.injection.At;
15+
import org.spongepowered.asm.mixin.injection.Inject;
16+
import org.spongepowered.asm.mixin.injection.ModifyArgs;
17+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
18+
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
19+
20+
@Mixin(MinecartTNT.class)
21+
public abstract class MixinMinecartTNT extends AbstractMinecart {
22+
23+
@Shadow
24+
private int fuse;
25+
26+
protected MixinMinecartTNT(EntityType<?> p_38087_, Level p_38088_) {
27+
super(p_38087_, p_38088_);
28+
}
29+
30+
@ModifyArgs(method = "explode(Lnet/minecraft/world/damagesource/DamageSource;D)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;explode(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/damagesource/DamageSource;Lnet/minecraft/world/level/ExplosionDamageCalculator;DDDFZLnet/minecraft/world/level/Level$ExplosionInteraction;)Lnet/minecraft/world/level/Explosion;"))
31+
private void neotenet$callExplosionPrimeEvent(Args args, @Cancellable CallbackInfo ci, @Local(ordinal = 1) double d0) {
32+
// CraftBukkit start
33+
ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), (float) (4.0D + this.random.nextDouble() * 1.5D * d0), false);
34+
this.level().getCraftServer().getPluginManager().callEvent(event);
35+
if (event.isCancelled()) {
36+
fuse = -1;
37+
ci.cancel();
38+
return;
39+
}
40+
args.set(6, event.getRadius());
41+
args.set(7, event.getFire());
42+
}
43+
44+
@Inject(method = "explode(Lnet/minecraft/world/damagesource/DamageSource;D)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/vehicle/MinecartTNT;discard()V"))
45+
private void neotenet$removeCause(DamageSource p_259539_, double p_260287_, CallbackInfo ci) {
46+
this.pushRemoveCause(EntityRemoveEvent.Cause.EXPLODE);
47+
}
48+
}

0 commit comments

Comments
 (0)