Commits

Thinkofname authored 643486f4694
SPIGOT-694: Fix a mis-placed diff causing the event to fire too early
No tags

nms-patches/EntityBoat.patch

Modified
1 ---- /home/matt/mc-dev-private//net/minecraft/server/EntityBoat.java 2015-02-26 22:40:22.483608141 +0000
2 -+++ src/main/java/net/minecraft/server/EntityBoat.java 2015-02-26 22:40:22.487608140 +0000
1 +--- /home/matt/mc-dev-private//net/minecraft/server/EntityBoat.java 2015-04-13 11:54:43.111977020 +0100
2 ++++ src/main/java/net/minecraft/server/EntityBoat.java 2015-04-13 11:54:43.111977020 +0100
3 3 @@ -2,6 +2,16 @@
4 4
5 5 import java.util.List;
6 6
7 7 +// CraftBukkit start
8 8 +import org.bukkit.Location;
9 9 +import org.bukkit.craftbukkit.event.CraftEventFactory;
10 10 +import org.bukkit.entity.Vehicle;
11 11 +import org.bukkit.event.vehicle.VehicleDamageEvent;
12 12 +import org.bukkit.event.vehicle.VehicleDestroyEvent;
13 13 +import org.bukkit.event.vehicle.VehicleEntityCollisionEvent;
14 14 +import org.bukkit.event.vehicle.VehicleMoveEvent;
15 15 +// CraftBukkit end
16 16 +
17 17 public class EntityBoat extends Entity {
18 18
19 19 private boolean a;
20 -@@ -13,12 +23,35 @@
20 +@@ -13,6 +23,27 @@
21 21 private double g;
22 22 private double h;
23 23
24 24 + // CraftBukkit start
25 25 + public double maxSpeed = 0.4D;
26 26 + public double occupiedDeceleration = 0.2D;
27 27 + public double unoccupiedDeceleration = -1;
28 28 + public boolean landBoats = false;
29 29 +
30 30 + @Override
38 38 + return;
39 39 + }
40 40 +
41 41 + super.collide(entity);
42 42 + }
43 43 + // CraftBukkit end
44 44 +
45 45 public EntityBoat(World world) {
46 46 super(world);
47 47 this.a = true;
48 - this.b = 0.07D;
49 - this.k = true;
50 - this.setSize(1.5F, 0.6F);
51 -+
48 +@@ -52,6 +83,8 @@
49 + this.lastX = d0;
50 + this.lastY = d1;
51 + this.lastZ = d2;
52 ++
52 53 + this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
53 54 }
54 55
55 - protected boolean s_() {
56 + public double an() {
56 57 @@ -65,6 +98,19 @@
57 58 if (this.passenger != null && this.passenger == damagesource.getEntity() && damagesource instanceof EntityDamageSourceIndirect) {
58 59 return false;
59 60 } else {
60 61 + // CraftBukkit start
61 62 + Vehicle vehicle = (Vehicle) this.getBukkitEntity();
62 63 + org.bukkit.entity.Entity attacker = (damagesource.getEntity() == null) ? null : damagesource.getEntity().getBukkitEntity();
63 64 +
64 65 + VehicleDamageEvent event = new VehicleDamageEvent(vehicle, attacker, (double) f);
65 66 + this.world.getServer().getPluginManager().callEvent(event);

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut