Restore a constructor that was removed in EntityFallingBlock

This commit is contained in:
Zach Brown
2015-12-06 17:14:41 -06:00
parent 60136e77fe
commit a7600285a6
3 changed files with 21 additions and 47 deletions

View File

@@ -1,6 +1,6 @@
From a3fff475189a1edc286a2305139ff98d8e73eb0a Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Fri, 17 Apr 2015 02:26:14 -0700
From c5e8524e67e8def786c77dc219c459d0ef932b4a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 6 Dec 2015 17:12:38 -0600
Subject: [PATCH] Add FallingBlock source location API
@@ -37,10 +37,10 @@ index 29f8554..1d952b8 100644
this.a(entityfallingblock);
world.addEntity(entityfallingblock);
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 86556cd..aeade54 100644
index 86556cd..b34e93c 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -16,13 +16,22 @@ public class EntityFallingBlock extends Entity {
@@ -16,13 +16,26 @@ public class EntityFallingBlock extends Entity {
private int fallHurtMax = 40;
private float fallHurtAmount = 2.0F;
public NBTTagCompound tileEntityData;
@@ -56,7 +56,10 @@ index 86556cd..aeade54 100644
+ sourceLoc = loc;
}
- public EntityFallingBlock(World world, double d0, double d1, double d2, IBlockData iblockdata) {
public EntityFallingBlock(World world, double d0, double d1, double d2, IBlockData iblockdata) {
+ this(null, world, d0, d1, d2, iblockdata);
+ }
+
+ public EntityFallingBlock(org.bukkit.Location loc, World world, double d0, double d1, double d2, IBlockData iblockdata) {
super(world);
+ sourceLoc = loc;
@@ -64,7 +67,7 @@ index 86556cd..aeade54 100644
this.block = iblockdata;
this.k = true;
this.setSize(0.98F, 0.98F);
@@ -197,7 +206,13 @@ public class EntityFallingBlock extends Entity {
@@ -197,7 +210,13 @@ public class EntityFallingBlock extends Entity {
if (this.tileEntityData != null) {
nbttagcompound.set("TileEntityData", this.tileEntityData);
}
@@ -79,7 +82,7 @@ index 86556cd..aeade54 100644
}
protected void a(NBTTagCompound nbttagcompound) {
@@ -233,7 +248,14 @@ public class EntityFallingBlock extends Entity {
@@ -233,7 +252,14 @@ public class EntityFallingBlock extends Entity {
if (block == null || block.getMaterial() == Material.AIR) {
this.block = Blocks.SAND.getBlockData();
}
@@ -95,35 +98,6 @@ index 86556cd..aeade54 100644
}
public void a(boolean flag) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 05b88fd..4402d57 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -886,7 +886,10 @@ public class CraftWorld implements World {
double y = location.getBlockY() + 0.5;
double z = location.getBlockZ() + 0.5;
- EntityFallingBlock entity = new EntityFallingBlock(world, x, y, z, net.minecraft.server.Block.getById(material.getId()).fromLegacyData(data));
+ // PaperSpigot start - Add FallingBlock source location API
+ location = location.clone();
+ EntityFallingBlock entity = new EntityFallingBlock(location, world, x, y, z, net.minecraft.server.Block.getById(material.getId()).fromLegacyData(data));
+ // PaperSpigot end
entity.ticksLived = 1;
world.addEntity(entity, SpawnReason.CUSTOM);
@@ -921,8 +924,10 @@ public class CraftWorld implements World {
IBlockData blockData = world.getType(new BlockPosition(x, y, z));
int type = CraftMagicNumbers.getId(blockData.getBlock());
int data = blockData.getBlock().toLegacyData(blockData);
-
- entity = new EntityFallingBlock(world, x + 0.5, y + 0.5, z + 0.5, net.minecraft.server.Block.getById(type).fromLegacyData(data));
+ // PaperSpigot start - Add FallingBlock source location API
+ location = location.clone();
+ entity = new EntityFallingBlock(location, world, x + 0.5, y + 0.5, z + 0.5, net.minecraft.server.Block.getById(type).fromLegacyData(data));
+ // PaperSpigot end
} else if (Projectile.class.isAssignableFrom(clazz)) {
if (Snowball.class.isAssignableFrom(clazz)) {
entity = new EntitySnowball(world, x, y, z);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java
index 75eed48..eedb66f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java
@@ -141,5 +115,5 @@ index 75eed48..eedb66f 100644
+ // PaperSpigot end
}
--
2.5.2
2.6.3