3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-20 21:40:06 +01:00

Update CraftBukkit to Minecraft 1.7.5

Dieser Commit ist enthalten in:
Nate Mortensen 2014-03-20 22:26:30 -06:00 committet von EvilSeph
Ursprung afb3511a4a
Commit 385ace970e
206 geänderte Dateien mit 2670 neuen und 2679 gelöschten Zeilen

Datei anzeigen

@ -4,7 +4,7 @@
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId> <artifactId>craftbukkit</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.7.2-R0.4-SNAPSHOT</version> <version>1.7.5-R0.1-SNAPSHOT</version>
<name>CraftBukkit</name> <name>CraftBukkit</name>
<url>http://www.bukkit.org</url> <url>http://www.bukkit.org</url>
@ -12,8 +12,8 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<api.version>unknown</api.version> <api.version>unknown</api.version>
<junit.version>4.11</junit.version> <junit.version>4.11</junit.version>
<minecraft.version>1.7.2</minecraft.version> <minecraft.version>1.7.5</minecraft.version>
<minecraft_version>1_7_R1</minecraft_version> <minecraft_version>1_7_R2</minecraft_version>
<buildtag.prefix>git-Bukkit-</buildtag.prefix> <buildtag.prefix>git-Bukkit-</buildtag.prefix>
<buildtag.suffix></buildtag.suffix> <buildtag.suffix></buildtag.suffix>
</properties> </properties>

Datei anzeigen

@ -1,68 +0,0 @@
package net.minecraft.server;
import java.util.ArrayList;
import java.util.List;
public class AABBPool {
private final int a;
private final int b;
private final List pool = new ArrayList();
private int d;
private int largestSize;
private int resizeTime;
public AABBPool(int i, int j) {
this.a = i;
this.b = j;
}
public AxisAlignedBB a(double d0, double d1, double d2, double d3, double d4, double d5) {
// CraftBukkit - don't pool objects indefinitely if thread doesn't adhere to contract
if (this.resizeTime == 0) return new AxisAlignedBB(d0, d1, d2, d3, d4, d5);
AxisAlignedBB axisalignedbb;
if (this.d >= this.pool.size()) {
axisalignedbb = new AxisAlignedBB(d0, d1, d2, d3, d4, d5);
this.pool.add(axisalignedbb);
} else {
axisalignedbb = (AxisAlignedBB) this.pool.get(this.d);
axisalignedbb.b(d0, d1, d2, d3, d4, d5);
}
++this.d;
return axisalignedbb;
}
public void a() {
if (this.d > this.largestSize) {
this.largestSize = this.d;
}
// CraftBukkit start - Intelligent cache
if ((this.resizeTime++ & 0xff) == 0) {
int newSize = this.pool.size() - (this.pool.size() >> 3);
// newSize will be 87.5%, but if we were not in that range, we clear some of the cache
if (newSize > this.largestSize) {
// Work down from size() to prevent insane array copies
for (int i = this.pool.size() - 1; i > newSize; i--) {
this.pool.remove(i);
}
}
this.largestSize = 0;
// this.resizeTime = 0; // We do not reset to zero; it doubles for a flag
}
// CraftBukkit end
this.d = 0;
}
public int c() {
return this.pool.size();
}
public int d() {
return this.d;
}
}

Datei anzeigen

@ -408,7 +408,7 @@ public class Block {
} }
public AxisAlignedBB a(World world, int i, int j, int k) { public AxisAlignedBB a(World world, int i, int j, int k) {
return AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ); return AxisAlignedBB.a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ);
} }
public boolean c() { public boolean c() {
@ -599,15 +599,15 @@ public class Block {
} }
private boolean a(Vec3D vec3d) { private boolean a(Vec3D vec3d) {
return vec3d == null ? false : vec3d.d >= this.minY && vec3d.d <= this.maxY && vec3d.e >= this.minZ && vec3d.e <= this.maxZ; return vec3d == null ? false : vec3d.b >= this.minY && vec3d.b <= this.maxY && vec3d.c >= this.minZ && vec3d.c <= this.maxZ;
} }
private boolean b(Vec3D vec3d) { private boolean b(Vec3D vec3d) {
return vec3d == null ? false : vec3d.c >= this.minX && vec3d.c <= this.maxX && vec3d.e >= this.minZ && vec3d.e <= this.maxZ; return vec3d == null ? false : vec3d.a >= this.minX && vec3d.a <= this.maxX && vec3d.c >= this.minZ && vec3d.c <= this.maxZ;
} }
private boolean c(Vec3D vec3d) { private boolean c(Vec3D vec3d) {
return vec3d == null ? false : vec3d.c >= this.minX && vec3d.c <= this.maxX && vec3d.d >= this.minY && vec3d.d <= this.maxY; return vec3d == null ? false : vec3d.a >= this.minX && vec3d.a <= this.maxX && vec3d.b >= this.minY && vec3d.b <= this.maxY;
} }
public void wasExploded(World world, int i, int j, int k, Explosion explosion) {} public void wasExploded(World world, int i, int j, int k, Explosion explosion) {}
@ -681,7 +681,7 @@ public class Block {
public void g() {} public void g() {}
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
entityhuman.a(StatisticList.C[b(this)], 1); entityhuman.a(StatisticList.MINE_BLOCK_COUNT[b(this)], 1);
entityhuman.a(0.025F); entityhuman.a(0.025F);
if (this.E() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) { if (this.E() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) {
ItemStack itemstack = this.j(l); ItemStack itemstack = this.j(l);

Datei anzeigen

@ -250,7 +250,7 @@ public abstract class BlockButtonAbstract extends Block {
boolean flag = (l & 8) != 0; boolean flag = (l & 8) != 0;
this.b(l); this.b(l);
List list = world.a(EntityArrow.class, AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ)); List list = world.a(EntityArrow.class, AxisAlignedBB.a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ));
boolean flag1 = !list.isEmpty(); boolean flag1 = !list.isEmpty();
// CraftBukkit start - Call interact event when arrows turn on wooden buttons // CraftBukkit start - Call interact event when arrows turn on wooden buttons

Datei anzeigen

@ -37,7 +37,7 @@ public class BlockCactus extends Block {
public AxisAlignedBB a(World world, int i, int j, int k) { public AxisAlignedBB a(World world, int i, int j, int k) {
float f = 0.0625F; float f = 0.0625F;
return AxisAlignedBB.a().a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f)); return AxisAlignedBB.a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f));
} }
public boolean d() { public boolean d() {

Datei anzeigen

@ -31,7 +31,7 @@ public class BlockCake extends Block {
float f1 = (float) (1 + l * 2) / 16.0F; float f1 = (float) (1 + l * 2) / 16.0F;
float f2 = 0.5F; float f2 = 0.5F;
return AxisAlignedBB.a().a((double) ((float) i + f1), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) j + f2 - f), (double) ((float) (k + 1) - f)); return AxisAlignedBB.a((double) ((float) i + f1), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) j + f2 - f), (double) ((float) (k + 1) - f));
} }
public boolean d() { public boolean d() {

Datei anzeigen

@ -97,7 +97,7 @@ public abstract class BlockDiodeAbstract extends BlockDirectional {
protected void b(World world, int i, int j, int k, Block block) { protected void b(World world, int i, int j, int k, Block block) {
int l = world.getData(i, j, k); int l = world.getData(i, j, k);
if (!this.g((IBlockAccess) world, i, j, k, l)) { if (!this.g((IBlockAccess) world, i, j, k, l)) { // CraftBukkit - Cast world to IBlockAccess to call the right method.
boolean flag = this.a(world, i, j, k, l); boolean flag = this.a(world, i, j, k, l);
if ((this.a && !flag || !this.a && flag) && !world.a(i, j, k, (Block) this)) { if ((this.a && !flag || !this.a && flag) && !world.a(i, j, k, (Block) this)) {

Datei anzeigen

@ -89,7 +89,7 @@ public class BlockDispenser extends BlockContainer {
} }
protected IDispenseBehavior a(ItemStack itemstack) { protected IDispenseBehavior a(ItemStack itemstack) {
return (IDispenseBehavior) a.a(itemstack.getItem()); return (IDispenseBehavior) a.get(itemstack.getItem());
} }
public void doPhysics(World world, int i, int j, int k, Block block) { public void doPhysics(World world, int i, int j, int k, Block block) {
@ -168,9 +168,9 @@ public class BlockDispenser extends BlockContainer {
public static IPosition a(ISourceBlock isourceblock) { public static IPosition a(ISourceBlock isourceblock) {
EnumFacing enumfacing = b(isourceblock.h()); EnumFacing enumfacing = b(isourceblock.h());
double d0 = isourceblock.getX() + 0.7D * (double) enumfacing.c(); double d0 = isourceblock.getX() + 0.7D * (double) enumfacing.getAdjacentX();
double d1 = isourceblock.getY() + 0.7D * (double) enumfacing.d(); double d1 = isourceblock.getY() + 0.7D * (double) enumfacing.getAdjacentY();
double d2 = isourceblock.getZ() + 0.7D * (double) enumfacing.e(); double d2 = isourceblock.getZ() + 0.7D * (double) enumfacing.getAdjacentZ();
return new Position(d0, d1, d2); return new Position(d0, d1, d2);
} }

Datei anzeigen

@ -85,7 +85,7 @@ public class BlockFire extends Block {
fireExtinguished(world, i, j, k); // CraftBukkit - invalid place location fireExtinguished(world, i, j, k); // CraftBukkit - invalid place location
} }
if (!flag && world.P() && (world.isRainingAt(i, j, k) || world.isRainingAt(i - 1, j, k) || world.isRainingAt(i + 1, j, k) || world.isRainingAt(i, j, k - 1) || world.isRainingAt(i, j, k + 1))) { if (!flag && world.Q() && (world.isRainingAt(i, j, k) || world.isRainingAt(i - 1, j, k) || world.isRainingAt(i + 1, j, k) || world.isRainingAt(i, j, k - 1) || world.isRainingAt(i, j, k + 1))) {
fireExtinguished(world, i, j, k); // CraftBukkit - extinguished by rain fireExtinguished(world, i, j, k); // CraftBukkit - extinguished by rain
} else { } else {
int l = world.getData(i, j, k); int l = world.getData(i, j, k);
@ -135,7 +135,7 @@ public class BlockFire extends Block {
j2 /= 2; j2 /= 2;
} }
if (j2 > 0 && random.nextInt(l1) <= j2 && (!world.P() || !world.isRainingAt(i1, k1, j1)) && !world.isRainingAt(i1 - 1, k1, k) && !world.isRainingAt(i1 + 1, k1, j1) && !world.isRainingAt(i1, k1, j1 - 1) && !world.isRainingAt(i1, k1, j1 + 1)) { if (j2 > 0 && random.nextInt(l1) <= j2 && (!world.Q() || !world.isRainingAt(i1, k1, j1)) && !world.isRainingAt(i1 - 1, k1, k) && !world.isRainingAt(i1 + 1, k1, j1) && !world.isRainingAt(i1, k1, j1 - 1) && !world.isRainingAt(i1, k1, j1 + 1)) {
int k2 = l + random.nextInt(5) / 4; int k2 = l + random.nextInt(5) / 4;
if (k2 > 15) { if (k2 > 15) {

Datei anzeigen

@ -7,6 +7,7 @@ import org.apache.logging.log4j.Logger;
// CraftBukkit start // CraftBukkit start
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.event.block.BlockSpreadEvent; import org.bukkit.event.block.BlockSpreadEvent;
import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFadeEvent;
// CraftBukkit end // CraftBukkit end
@ -27,7 +28,7 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
// CraftBukkit start // CraftBukkit start
org.bukkit.World bworld = world.getWorld(); org.bukkit.World bworld = world.getWorld();
BlockState blockState = bworld.getBlockAt(i, j, k).getState(); BlockState blockState = bworld.getBlockAt(i, j, k).getState();
blockState.setTypeId(Block.b(Blocks.DIRT)); blockState.setType(CraftMagicNumbers.getMaterial(Blocks.DIRT));
BlockFadeEvent event = new BlockFadeEvent(blockState.getBlock(), blockState); BlockFadeEvent event = new BlockFadeEvent(blockState.getBlock(), blockState);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
@ -47,7 +48,7 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
// CraftBukkit start // CraftBukkit start
org.bukkit.World bworld = world.getWorld(); org.bukkit.World bworld = world.getWorld();
BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState(); BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
blockState.setTypeId(Block.b(Blocks.GRASS)); blockState.setType(CraftMagicNumbers.getMaterial(Blocks.GRASS));
BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState); BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);

Datei anzeigen

@ -12,7 +12,7 @@ public class BlockIce extends BlockHalfTransparent {
} }
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
entityhuman.a(StatisticList.C[Block.b((Block) this)], 1); entityhuman.a(StatisticList.MINE_BLOCK_COUNT[Block.b((Block) this)], 1);
entityhuman.a(0.025F); entityhuman.a(0.025F);
if (this.E() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) { if (this.E() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) {
ItemStack itemstack = this.j(l); ItemStack itemstack = this.j(l);

Datei anzeigen

@ -179,8 +179,8 @@ public abstract class BlockLeaves extends BlockTransparent {
} }
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
if (!world.isStatic && entityhuman.bD() != null && entityhuman.bD().getItem() == Items.SHEARS) { if (!world.isStatic && entityhuman.bE() != null && entityhuman.bE().getItem() == Items.SHEARS) {
entityhuman.a(StatisticList.C[Block.b((Block) this)], 1); entityhuman.a(StatisticList.MINE_BLOCK_COUNT[Block.b((Block) this)], 1);
this.a(world, i, j, k, new ItemStack(Item.getItemOf(this), 1, l & 3)); this.a(world, i, j, k, new ItemStack(Item.getItemOf(this), 1, l & 3));
} else { } else {
super.a(world, entityhuman, i, j, k, l); super.a(world, entityhuman, i, j, k, l);

Datei anzeigen

@ -52,7 +52,7 @@ public class BlockMinecartDetector extends BlockMinecartTrackAbstract {
boolean flag = (l & 8) != 0; boolean flag = (l & 8) != 0;
boolean flag1 = false; boolean flag1 = false;
float f = 0.125F; float f = 0.125F;
List list = world.a(EntityMinecartAbstract.class, AxisAlignedBB.a().a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f))); List list = world.a(EntityMinecartAbstract.class, AxisAlignedBB.a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f)));
if (!list.isEmpty()) { if (!list.isEmpty()) {
flag1 = true; flag1 = true;
@ -102,13 +102,13 @@ public class BlockMinecartDetector extends BlockMinecartTrackAbstract {
public int g(World world, int i, int j, int k, int l) { public int g(World world, int i, int j, int k, int l) {
if ((world.getData(i, j, k) & 8) > 0) { if ((world.getData(i, j, k) & 8) > 0) {
float f = 0.125F; float f = 0.125F;
List list = world.a(EntityMinecartCommandBlock.class, AxisAlignedBB.a().a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f))); List list = world.a(EntityMinecartCommandBlock.class, AxisAlignedBB.a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f)));
if (list.size() > 0) { if (list.size() > 0) {
return ((EntityMinecartCommandBlock) list.get(0)).e().g(); return ((EntityMinecartCommandBlock) list.get(0)).e().g();
} }
List list1 = world.a(EntityMinecartAbstract.class, AxisAlignedBB.a().a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f)), IEntitySelector.b); List list1 = world.a(EntityMinecartAbstract.class, AxisAlignedBB.a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) (j + 1) - f), (double) ((float) (k + 1) - f)), IEntitySelector.c);
if (list1.size() > 0) { if (list1.size() > 0) {
return Container.b((IInventory) list1.get(0)); return Container.b((IInventory) list1.get(0));

Datei anzeigen

@ -64,7 +64,7 @@ public class BlockMushroom extends BlockPlant implements IBlockFragilePlantEleme
// CraftBukkit start // CraftBukkit start
org.bukkit.World bworld = world.getWorld(); org.bukkit.World bworld = world.getWorld();
BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState(); BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
blockState.setTypeId(Block.b(this)); // nms: this.id, 0, 2 blockState.setType(org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(this)); // nms: this.id, 0, 2
BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(sourceX, sourceY, sourceZ), blockState); BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(sourceX, sourceY, sourceZ), blockState);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);

Datei anzeigen

@ -4,6 +4,7 @@ import java.util.Random;
// CraftBukkit start // CraftBukkit start
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.event.block.BlockSpreadEvent; import org.bukkit.event.block.BlockSpreadEvent;
// CraftBukkit end // CraftBukkit end
@ -22,7 +23,7 @@ public class BlockMycel extends Block {
// CraftBukkit start // CraftBukkit start
org.bukkit.World bworld = world.getWorld(); org.bukkit.World bworld = world.getWorld();
BlockState blockState = bworld.getBlockAt(i, j, k).getState(); BlockState blockState = bworld.getBlockAt(i, j, k).getState();
blockState.setTypeId(Block.b(Blocks.DIRT)); blockState.setType(CraftMagicNumbers.getMaterial(Blocks.DIRT));
BlockFadeEvent event = new BlockFadeEvent(blockState.getBlock(), blockState); BlockFadeEvent event = new BlockFadeEvent(blockState.getBlock(), blockState);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
@ -42,7 +43,7 @@ public class BlockMycel extends Block {
// CraftBukkit start // CraftBukkit start
org.bukkit.World bworld = world.getWorld(); org.bukkit.World bworld = world.getWorld();
BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState(); BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
blockState.setTypeId(Block.b(this)); blockState.setType(CraftMagicNumbers.getMaterial(this));
BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState); BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);

Datei anzeigen

@ -27,7 +27,7 @@ public class BlockPortal extends BlockHalfTransparent {
Entity entity = ItemMonsterEgg.spawnCreature(world, 57, (double) i + 0.5D, (double) l + 1.1D, (double) k + 0.5D, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NETHER_PORTAL); Entity entity = ItemMonsterEgg.spawnCreature(world, 57, (double) i + 0.5D, (double) l + 1.1D, (double) k + 0.5D, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NETHER_PORTAL);
if (entity != null) { if (entity != null) {
entity.portalCooldown = entity.ai(); entity.portalCooldown = entity.ah();
} }
} }
} }
@ -112,7 +112,7 @@ public class BlockPortal extends BlockHalfTransparent {
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
// CraftBukkit end // CraftBukkit end
entity.ah(); entity.ag();
} }
} }

Datei anzeigen

@ -126,7 +126,7 @@ public abstract class BlockPressurePlateAbstract extends Block {
protected AxisAlignedBB a(int i, int j, int k) { protected AxisAlignedBB a(int i, int j, int k) {
float f = 0.125F; float f = 0.125F;
return AxisAlignedBB.a().a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) j + 0.25D, (double) ((float) (k + 1) - f)); return AxisAlignedBB.a((double) ((float) i + f), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) j + 0.25D, (double) ((float) (k + 1) - f));
} }
public void remove(World world, int i, int j, int k, Block block, int l) { public void remove(World world, int i, int j, int k, Block block, int l) {

Datei anzeigen

@ -63,7 +63,7 @@ public class BlockPressurePlateBinary extends BlockPressurePlateAbstract {
} }
// CraftBukkit end // CraftBukkit end
if (!entity.az()) { if (!entity.ay()) {
return 15; return 15;
} }
} }

Datei anzeigen

@ -1,7 +1,5 @@
package net.minecraft.server; package net.minecraft.server;
import java.util.List;
import org.bukkit.event.entity.EntityInteractEvent; // CraftBukkit import org.bukkit.event.entity.EntityInteractEvent; // CraftBukkit
public class BlockPressurePlateWeighted extends BlockPressurePlateAbstract { public class BlockPressurePlateWeighted extends BlockPressurePlateAbstract {

Datei anzeigen

@ -33,6 +33,7 @@ public class BlockPumpkin extends BlockDirectional {
if (world.addEntity(entitysnowman, SpawnReason.BUILD_SNOWMAN)) { if (world.addEntity(entitysnowman, SpawnReason.BUILD_SNOWMAN)) {
blockList.updateList(); blockList.updateList();
} }
// CraftBukkit end
} }
for (int l = 0; l < 120; ++l) { for (int l = 0; l < 120; ++l) {

Datei anzeigen

@ -156,8 +156,8 @@ public class BlockSkull extends BlockContainer {
if (!world.isStatic) { if (!world.isStatic) {
entitywither = new EntityWither(world); entitywither = new EntityWither(world);
entitywither.setPositionRotation((double) i + 0.5D, (double) j - 1.45D, (double) (k + l) + 1.5D, 90.0F, 0.0F); entitywither.setPositionRotation((double) i + 0.5D, (double) j - 1.45D, (double) (k + l) + 1.5D, 90.0F, 0.0F);
entitywither.aN = 90.0F; entitywither.aM = 90.0F;
entitywither.bX(); entitywither.bZ();
if (world.addEntity(entitywither, SpawnReason.BUILD_WITHER)) { if (world.addEntity(entitywither, SpawnReason.BUILD_WITHER)) {
if (!world.isStatic) { if (!world.isStatic) {
@ -200,7 +200,7 @@ public class BlockSkull extends BlockContainer {
if (!world.isStatic) { if (!world.isStatic) {
entitywither = new EntityWither(world); entitywither = new EntityWither(world);
entitywither.setPositionRotation((double) (i + l) + 1.5D, (double) j - 1.45D, (double) k + 0.5D, 0.0F, 0.0F); entitywither.setPositionRotation((double) (i + l) + 1.5D, (double) j - 1.45D, (double) k + 0.5D, 0.0F, 0.0F);
entitywither.bX(); entitywither.bZ();
if (world.addEntity(entitywither, SpawnReason.BUILD_WITHER)) { if (world.addEntity(entitywither, SpawnReason.BUILD_WITHER)) {
if (!world.isStatic) { if (!world.isStatic) {

Datei anzeigen

@ -16,7 +16,7 @@ public class BlockSnow extends Block {
int l = world.getData(i, j, k) & 7; int l = world.getData(i, j, k) & 7;
float f = 0.125F; float f = 0.125F;
return AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) ((float) j + (float) l * f), (double) k + this.maxZ); return AxisAlignedBB.a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) ((float) j + (float) l * f), (double) k + this.maxZ);
} }
public boolean c() { public boolean c() {
@ -67,7 +67,7 @@ public class BlockSnow extends Block {
this.a(world, i, j, k, new ItemStack(Items.SNOW_BALL, i1 + 1, 0)); this.a(world, i, j, k, new ItemStack(Items.SNOW_BALL, i1 + 1, 0));
world.setAir(i, j, k); world.setAir(i, j, k);
entityhuman.a(StatisticList.C[Block.b((Block) this)], 1); entityhuman.a(StatisticList.MINE_BLOCK_COUNT[Block.b((Block) this)], 1);
} }
public Item getDropType(int i, Random random, int j) { public Item getDropType(int i, Random random, int j) {

Datei anzeigen

@ -17,7 +17,7 @@ public class BlockSoil extends Block {
} }
public AxisAlignedBB a(World world, int i, int j, int k) { public AxisAlignedBB a(World world, int i, int j, int k) {
return AxisAlignedBB.a().a((double) (i + 0), (double) (j + 0), (double) (k + 0), (double) (i + 1), (double) (j + 1), (double) (k + 1)); return AxisAlignedBB.a((double) (i + 0), (double) (j + 0), (double) (k + 0), (double) (i + 1), (double) (j + 1), (double) (k + 1));
} }
public boolean c() { public boolean c() {

Datei anzeigen

@ -76,7 +76,7 @@ public class BlockTripwire extends Block {
public void a(World world, int i, int j, int k, int l, EntityHuman entityhuman) { public void a(World world, int i, int j, int k, int l, EntityHuman entityhuman) {
if (!world.isStatic) { if (!world.isStatic) {
if (entityhuman.bD() != null && entityhuman.bD().getItem() == Items.SHEARS) { if (entityhuman.bE() != null && entityhuman.bE().getItem() == Items.SHEARS) {
world.setData(i, j, k, l | 8, 4); world.setData(i, j, k, l | 8, 4);
} }
} }
@ -132,7 +132,7 @@ public class BlockTripwire extends Block {
int l = world.getData(i, j, k); int l = world.getData(i, j, k);
boolean flag = (l & 1) == 1; boolean flag = (l & 1) == 1;
boolean flag1 = false; boolean flag1 = false;
List list = world.getEntities((Entity) null, AxisAlignedBB.a().a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ)); List list = world.getEntities((Entity) null, AxisAlignedBB.a((double) i + this.minX, (double) j + this.minY, (double) k + this.minZ, (double) i + this.maxX, (double) j + this.maxY, (double) k + this.maxZ));
if (!list.isEmpty()) { if (!list.isEmpty()) {
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
@ -140,7 +140,7 @@ public class BlockTripwire extends Block {
while (iterator.hasNext()) { while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next(); Entity entity = (Entity) iterator.next();
if (!entity.az()) { if (!entity.ay()) {
flag1 = true; flag1 = true;
break; break;
} }

Datei anzeigen

@ -294,8 +294,8 @@ public class BlockVine extends Block {
} }
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
if (!world.isStatic && entityhuman.bD() != null && entityhuman.bD().getItem() == Items.SHEARS) { if (!world.isStatic && entityhuman.bE() != null && entityhuman.bE().getItem() == Items.SHEARS) {
entityhuman.a(StatisticList.C[Block.b((Block) this)], 1); entityhuman.a(StatisticList.MINE_BLOCK_COUNT[Block.b((Block) this)], 1);
this.a(world, i, j, k, new ItemStack(Blocks.VINE, 1, 0)); this.a(world, i, j, k, new ItemStack(Blocks.VINE, 1, 0));
} else { } else {
super.a(world, entityhuman, i, j, k, l); super.a(world, entityhuman, i, j, k, l);

Datei anzeigen

@ -591,7 +591,7 @@ public class Chunk {
if (i != this.locX || j != this.locZ) { if (i != this.locX || j != this.locZ) {
// CraftBukkit start // CraftBukkit start
Bukkit.getLogger().warning("Wrong location for " + entity + " in world '" + world.getWorld().getName() + "'!"); Bukkit.getLogger().warning("Wrong location for " + entity + " in world '" + world.getWorld().getName() + "'!");
// t.error("Wrong location! " + entity); // t.warn("Wrong location! " + entity + " (at " + i + ", " + j + " instead of " + this.locX + ", " + this.locZ + ")");
// Thread.dumpStack(); // Thread.dumpStack();
Bukkit.getLogger().warning("Entity is at " + entity.locX + "," + entity.locZ + " (chunk " + i + "," + j + ") but was stored in chunk " + this.locX + "," + this.locZ); Bukkit.getLogger().warning("Entity is at " + entity.locX + "," + entity.locZ + " (chunk " + i + "," + j + ") but was stored in chunk " + this.locX + "," + this.locZ);
// CraftBukkit end // CraftBukkit end
@ -607,15 +607,15 @@ public class Chunk {
k = this.entitySlices.length - 1; k = this.entitySlices.length - 1;
} }
entity.ah = true; entity.ag = true;
entity.ai = this.locX; entity.ah = this.locX;
entity.aj = k; entity.ai = k;
entity.ak = this.locZ; entity.aj = this.locZ;
this.entitySlices[k].add(entity); this.entitySlices[k].add(entity);
} }
public void b(Entity entity) { public void b(Entity entity) {
this.a(entity, entity.aj); this.a(entity, entity.ai);
} }
public void a(Entity entity, int i) { public void a(Entity entity, int i) {
@ -685,7 +685,7 @@ public class Chunk {
// CraftBukkit start // CraftBukkit start
} else { } else {
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.x + "," + tileentity.y + "," + tileentity.z System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.x + "," + tileentity.y + "," + tileentity.z
+ " (" + org.bukkit.Material.getMaterial(Block.b(getType(i, j, k))) + ") where there was no entity tile!"); + " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getType(i, j, k)) + ") where there was no entity tile!");
System.out.println("Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16)); System.out.println("Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16));
new Exception().printStackTrace(); new Exception().printStackTrace();
// CraftBukkit end // CraftBukkit end
@ -714,7 +714,7 @@ public class Chunk {
while (iterator.hasNext()) { while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next(); Entity entity = (Entity) iterator.next();
entity.X(); entity.W();
} }
this.world.a(this.entitySlices[i]); this.world.a(this.entitySlices[i]);
@ -768,7 +768,7 @@ public class Chunk {
if (entity1 != entity && entity1.boundingBox.b(axisalignedbb) && (ientityselector == null || ientityselector.a(entity1))) { if (entity1 != entity && entity1.boundingBox.b(axisalignedbb) && (ientityselector == null || ientityselector.a(entity1))) {
list.add(entity1); list.add(entity1);
Entity[] aentity = entity1.at(); Entity[] aentity = entity1.as();
if (aentity != null) { if (aentity != null) {
for (int i1 = 0; i1 < aentity.length; ++i1) { for (int i1 = 0; i1 < aentity.length; ++i1) {

Datei anzeigen

@ -2,10 +2,11 @@ package net.minecraft.server;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -45,6 +46,13 @@ public class ChunkProviderServer implements IChunkProvider {
return this.chunks.containsKey(LongHash.toLong(i, j)); // CraftBukkit return this.chunks.containsKey(LongHash.toLong(i, j)); // CraftBukkit
} }
// CraftBukkit start - Change return type to Collection and return the values of our chunk map
public java.util.Collection a() {
// return this.chunkList;
return this.chunks.values();
// CraftBukkit end
}
public void queueUnload(int i, int j) { public void queueUnload(int i, int j) {
if (this.world.worldProvider.e()) { if (this.world.worldProvider.e()) {
ChunkCoordinates chunkcoordinates = this.world.getSpawn(); ChunkCoordinates chunkcoordinates = this.world.getSpawn();
@ -74,7 +82,7 @@ public class ChunkProviderServer implements IChunkProvider {
} }
} }
public void a() { public void b() {
Iterator iterator = this.chunks.values().iterator(); // CraftBukkit Iterator iterator = this.chunks.values().iterator(); // CraftBukkit
while (iterator.hasNext()) { while (iterator.hasNext()) {
@ -291,7 +299,7 @@ public class ChunkProviderServer implements IChunkProvider {
return true; return true;
} }
public void b() { public void c() {
if (this.f != null) { if (this.f != null) {
this.f.b(); this.f.b();
} }

Datei anzeigen

@ -129,7 +129,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
public void a(World world, Chunk chunk) { public void a(World world, Chunk chunk) {
// CraftBukkit start - "handle" exception // CraftBukkit start - "handle" exception
try { try {
world.F(); world.G();
} catch (ExceptionWorldConflict ex) { } catch (ExceptionWorldConflict ex) {
ex.printStackTrace(); ex.printStackTrace();
} }

Datei anzeigen

@ -167,12 +167,12 @@ public abstract class CommandBlockListenerAbstract implements ICommandListener {
} catch (Throwable exception) { } catch (Throwable exception) {
if(this instanceof TileEntityCommandListener) { if(this instanceof TileEntityCommandListener) {
TileEntityCommandListener listener = (TileEntityCommandListener) this; TileEntityCommandListener listener = (TileEntityCommandListener) this;
MinecraftServer.av().log(Level.WARN, String.format("CommandBlock at (%d,%d,%d) failed to handle command", listener.getChunkCoordinates().x, listener.getChunkCoordinates().y, listener.getChunkCoordinates().z), exception); MinecraftServer.getLogger().log(Level.WARN, String.format("CommandBlock at (%d,%d,%d) failed to handle command", listener.getChunkCoordinates().x, listener.getChunkCoordinates().y, listener.getChunkCoordinates().z), exception);
} else if (this instanceof EntityMinecartCommandBlockListener) { } else if (this instanceof EntityMinecartCommandBlockListener) {
EntityMinecartCommandBlockListener listener = (EntityMinecartCommandBlockListener) this; EntityMinecartCommandBlockListener listener = (EntityMinecartCommandBlockListener) this;
MinecraftServer.av().log(Level.WARN, String.format("MinecartCommandBlock at (%d,%d,%d) failed to handle command", listener.getChunkCoordinates().x, listener.getChunkCoordinates().y, listener.getChunkCoordinates().z), exception); MinecraftServer.getLogger().log(Level.WARN, String.format("MinecartCommandBlock at (%d,%d,%d) failed to handle command", listener.getChunkCoordinates().x, listener.getChunkCoordinates().y, listener.getChunkCoordinates().z), exception);
} else { } else {
MinecraftServer.av().log(Level.WARN, String.format("Unknown CommandBlock failed to handle command"), exception); MinecraftServer.getLogger().log(Level.WARN, String.format("Unknown CommandBlock failed to handle command"), exception);
} }
} }
} }

Datei anzeigen

@ -21,7 +21,7 @@ public abstract class Container {
public List b = new ArrayList(); public List b = new ArrayList();
public List c = new ArrayList(); public List c = new ArrayList();
public int windowId; public int windowId;
private int f = -1; private int dragType = -1;
public int g; // CraftBukkit - private -> public public int g; // CraftBukkit - private -> public
private final Set h = new HashSet(); private final Set h = new HashSet();
protected List listeners = new ArrayList(); protected List listeners = new ArrayList();
@ -125,8 +125,8 @@ public abstract class Container {
} else if (playerinventory.getCarried() == null) { } else if (playerinventory.getCarried() == null) {
this.d(); this.d();
} else if (this.g == 0) { } else if (this.g == 0) {
this.f = b(j); this.dragType = b(j);
if (d(this.f)) { if (d(this.dragType)) {
this.g = 1; this.g = 1;
this.h.clear(); this.h.clear();
} else { } else {
@ -150,15 +150,15 @@ public abstract class Container {
if (slot1 != null && a(slot1, playerinventory.getCarried(), true) && slot1.isAllowed(playerinventory.getCarried()) && playerinventory.getCarried().count >= this.h.size() && this.b(slot1)) { if (slot1 != null && a(slot1, playerinventory.getCarried(), true) && slot1.isAllowed(playerinventory.getCarried()) && playerinventory.getCarried().count >= this.h.size() && this.b(slot1)) {
ItemStack itemstack2 = itemstack1.cloneItemStack(); ItemStack itemstack2 = itemstack1.cloneItemStack();
int j1 = slot1.e() ? slot1.getItem().count : 0; int j1 = slot1.hasItem() ? slot1.getItem().count : 0;
a(this.h, this.f, itemstack2, j1); a(this.h, this.dragType, itemstack2, j1);
if (itemstack2.count > itemstack2.getMaxStackSize()) { if (itemstack2.count > itemstack2.getMaxStackSize()) {
itemstack2.count = itemstack2.getMaxStackSize(); itemstack2.count = itemstack2.getMaxStackSize();
} }
if (itemstack2.count > slot1.a()) { if (itemstack2.count > slot1.getMaxStackSize()) {
itemstack2.count = slot1.a(); itemstack2.count = slot1.getMaxStackSize();
} }
l -= itemstack2.count - j1; l -= itemstack2.count - j1;
@ -179,7 +179,7 @@ public abstract class Container {
ItemStack oldCursor = playerinventory.getCarried(); ItemStack oldCursor = playerinventory.getCarried();
playerinventory.setCarried(CraftItemStack.asNMSCopy(newcursor)); playerinventory.setCarried(CraftItemStack.asNMSCopy(newcursor));
InventoryDragEvent event = new InventoryDragEvent(view, (newcursor.getType() != org.bukkit.Material.AIR ? newcursor : null), CraftItemStack.asBukkitCopy(oldCursor), this.f == 1, eventmap); // Should be dragButton InventoryDragEvent event = new InventoryDragEvent(view, (newcursor.getType() != org.bukkit.Material.AIR ? newcursor : null), CraftItemStack.asBukkitCopy(oldCursor), this.dragType == 1, eventmap);
entityhuman.world.getServer().getPluginManager().callEvent(event); entityhuman.world.getServer().getPluginManager().callEvent(event);
// Whether or not a change was made to the inventory that requires an update. // Whether or not a change was made to the inventory that requires an update.
@ -244,7 +244,7 @@ public abstract class Container {
} }
slot2 = (Slot) this.c.get(i); slot2 = (Slot) this.c.get(i);
if (slot2 != null && slot2.a(entityhuman)) { if (slot2 != null && slot2.isAllowed(entityhuman)) {
itemstack1 = this.b(entityhuman, i); itemstack1 = this.b(entityhuman, i);
if (itemstack1 != null) { if (itemstack1 != null) {
Item item = itemstack1.getItem(); Item item = itemstack1.getItem();
@ -272,8 +272,8 @@ public abstract class Container {
if (itemstack1 == null) { if (itemstack1 == null) {
if (itemstack4 != null && slot2.isAllowed(itemstack4)) { if (itemstack4 != null && slot2.isAllowed(itemstack4)) {
k1 = j == 0 ? itemstack4.count : 1; k1 = j == 0 ? itemstack4.count : 1;
if (k1 > slot2.a()) { if (k1 > slot2.getMaxStackSize()) {
k1 = slot2.a(); k1 = slot2.getMaxStackSize();
} }
if (itemstack4.count >= k1) { if (itemstack4.count >= k1) {
@ -284,7 +284,7 @@ public abstract class Container {
playerinventory.setCarried((ItemStack) null); playerinventory.setCarried((ItemStack) null);
} }
} }
} else if (slot2.a(entityhuman)) { } else if (slot2.isAllowed(entityhuman)) {
if (itemstack4 == null) { if (itemstack4 == null) {
k1 = j == 0 ? itemstack1.count : (itemstack1.count + 1) / 2; k1 = j == 0 ? itemstack1.count : (itemstack1.count + 1) / 2;
itemstack3 = slot2.a(k1); itemstack3 = slot2.a(k1);
@ -297,8 +297,8 @@ public abstract class Container {
} else if (slot2.isAllowed(itemstack4)) { } else if (slot2.isAllowed(itemstack4)) {
if (itemstack1.getItem() == itemstack4.getItem() && itemstack1.getData() == itemstack4.getData() && ItemStack.equals(itemstack1, itemstack4)) { if (itemstack1.getItem() == itemstack4.getItem() && itemstack1.getData() == itemstack4.getData() && ItemStack.equals(itemstack1, itemstack4)) {
k1 = j == 0 ? itemstack4.count : 1; k1 = j == 0 ? itemstack4.count : 1;
if (k1 > slot2.a() - itemstack1.count) { if (k1 > slot2.getMaxStackSize() - itemstack1.count) {
k1 = slot2.a() - itemstack1.count; k1 = slot2.getMaxStackSize() - itemstack1.count;
} }
if (k1 > itemstack4.getMaxStackSize() - itemstack1.count) { if (k1 > itemstack4.getMaxStackSize() - itemstack1.count) {
@ -311,7 +311,7 @@ public abstract class Container {
} }
itemstack1.count += k1; itemstack1.count += k1;
} else if (itemstack4.count <= slot2.a()) { } else if (itemstack4.count <= slot2.getMaxStackSize()) {
slot2.set(itemstack4); slot2.set(itemstack4);
playerinventory.setCarried(itemstack1); playerinventory.setCarried(itemstack1);
} }
@ -334,17 +334,17 @@ public abstract class Container {
} }
} else if (k == 2 && j >= 0 && j < 9) { } else if (k == 2 && j >= 0 && j < 9) {
slot2 = (Slot) this.c.get(i); slot2 = (Slot) this.c.get(i);
if (slot2.a(entityhuman)) { if (slot2.isAllowed(entityhuman)) {
itemstack1 = playerinventory.getItem(j); itemstack1 = playerinventory.getItem(j);
boolean flag = itemstack1 == null || slot2.inventory == playerinventory && slot2.isAllowed(itemstack1); boolean flag = itemstack1 == null || slot2.inventory == playerinventory && slot2.isAllowed(itemstack1);
k1 = -1; k1 = -1;
if (!flag) { if (!flag) {
k1 = playerinventory.j(); k1 = playerinventory.getFirstEmptySlotIndex();
flag |= k1 > -1; flag |= k1 > -1;
} }
if (slot2.e() && flag) { if (slot2.hasItem() && flag) {
itemstack3 = slot2.getItem(); itemstack3 = slot2.getItem();
playerinventory.setItem(j, itemstack3.cloneItemStack()); playerinventory.setItem(j, itemstack3.cloneItemStack());
if ((slot2.inventory != playerinventory || !slot2.isAllowed(itemstack1)) && itemstack1 != null) { if ((slot2.inventory != playerinventory || !slot2.isAllowed(itemstack1)) && itemstack1 != null) {
@ -359,21 +359,21 @@ public abstract class Container {
slot2.set(itemstack1); slot2.set(itemstack1);
slot2.a(entityhuman, itemstack3); slot2.a(entityhuman, itemstack3);
} }
} else if (!slot2.e() && itemstack1 != null && slot2.isAllowed(itemstack1)) { } else if (!slot2.hasItem() && itemstack1 != null && slot2.isAllowed(itemstack1)) {
playerinventory.setItem(j, (ItemStack) null); playerinventory.setItem(j, (ItemStack) null);
slot2.set(itemstack1); slot2.set(itemstack1);
} }
} }
} else if (k == 3 && entityhuman.abilities.canInstantlyBuild && playerinventory.getCarried() == null && i >= 0) { } else if (k == 3 && entityhuman.abilities.canInstantlyBuild && playerinventory.getCarried() == null && i >= 0) {
slot2 = (Slot) this.c.get(i); slot2 = (Slot) this.c.get(i);
if (slot2 != null && slot2.e()) { if (slot2 != null && slot2.hasItem()) {
itemstack1 = slot2.getItem().cloneItemStack(); itemstack1 = slot2.getItem().cloneItemStack();
itemstack1.count = itemstack1.getMaxStackSize(); itemstack1.count = itemstack1.getMaxStackSize();
playerinventory.setCarried(itemstack1); playerinventory.setCarried(itemstack1);
} }
} else if (k == 4 && playerinventory.getCarried() == null && i >= 0) { } else if (k == 4 && playerinventory.getCarried() == null && i >= 0) {
slot2 = (Slot) this.c.get(i); slot2 = (Slot) this.c.get(i);
if (slot2 != null && slot2.e() && slot2.a(entityhuman)) { if (slot2 != null && slot2.hasItem() && slot2.isAllowed(entityhuman)) {
itemstack1 = slot2.a(j == 0 ? 1 : slot2.getItem().count); itemstack1 = slot2.a(j == 0 ? 1 : slot2.getItem().count);
slot2.a(entityhuman, itemstack1); slot2.a(entityhuman, itemstack1);
entityhuman.drop(itemstack1, true); entityhuman.drop(itemstack1, true);
@ -381,7 +381,7 @@ public abstract class Container {
} else if (k == 6 && i >= 0) { } else if (k == 6 && i >= 0) {
slot2 = (Slot) this.c.get(i); slot2 = (Slot) this.c.get(i);
itemstack1 = playerinventory.getCarried(); itemstack1 = playerinventory.getCarried();
if (itemstack1 != null && (slot2 == null || !slot2.e() || !slot2.a(entityhuman))) { if (itemstack1 != null && (slot2 == null || !slot2.hasItem() || !slot2.isAllowed(entityhuman))) {
l = j == 0 ? 0 : this.c.size() - 1; l = j == 0 ? 0 : this.c.size() - 1;
k1 = j == 0 ? 1 : -1; k1 = j == 0 ? 1 : -1;
@ -389,7 +389,7 @@ public abstract class Container {
for (int i2 = l; i2 >= 0 && i2 < this.c.size() && itemstack1.count < itemstack1.getMaxStackSize(); i2 += k1) { for (int i2 = l; i2 >= 0 && i2 < this.c.size() && itemstack1.count < itemstack1.getMaxStackSize(); i2 += k1) {
Slot slot3 = (Slot) this.c.get(i2); Slot slot3 = (Slot) this.c.get(i2);
if (slot3.e() && a(slot3, itemstack1, true) && slot3.a(entityhuman) && this.a(itemstack1, slot3) && (l1 != 0 || slot3.getItem().count != slot3.getItem().getMaxStackSize())) { if (slot3.hasItem() && a(slot3, itemstack1, true) && slot3.isAllowed(entityhuman) && this.a(itemstack1, slot3) && (l1 != 0 || slot3.getItem().count != slot3.getItem().getMaxStackSize())) {
int j2 = Math.min(itemstack1.getMaxStackSize() - itemstack1.count, slot3.getItem().count); int j2 = Math.min(itemstack1.getMaxStackSize() - itemstack1.count, slot3.getItem().count);
ItemStack itemstack5 = slot3.a(j2); ItemStack itemstack5 = slot3.a(j2);
@ -536,9 +536,9 @@ public abstract class Container {
} }
public static boolean a(Slot slot, ItemStack itemstack, boolean flag) { public static boolean a(Slot slot, ItemStack itemstack, boolean flag) {
boolean flag1 = slot == null || !slot.e(); boolean flag1 = slot == null || !slot.hasItem();
if (slot != null && slot.e() && itemstack != null && itemstack.doMaterialsMatch(slot.getItem()) && ItemStack.equals(slot.getItem(), itemstack)) { if (slot != null && slot.hasItem() && itemstack != null && itemstack.doMaterialsMatch(slot.getItem()) && ItemStack.equals(slot.getItem(), itemstack)) {
int i = flag ? 0 : itemstack.count; int i = flag ? 0 : itemstack.count;
flag1 |= slot.getItem().count + i <= itemstack.getMaxStackSize(); flag1 |= slot.getItem().count + i <= itemstack.getMaxStackSize();

Datei anzeigen

@ -329,7 +329,7 @@ public class ContainerAnvil extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
@ -365,7 +365,7 @@ public class ContainerAnvil extends Container {
public void a(String s) { public void a(String s) {
this.n = s; this.n = s;
if (this.getSlot(2).e()) { if (this.getSlot(2).hasItem()) {
ItemStack itemstack = this.getSlot(2).getItem(); ItemStack itemstack = this.getSlot(2).getItem();
if (StringUtils.isBlank(s)) { if (StringUtils.isBlank(s)) {

Datei anzeigen

@ -58,7 +58,7 @@ public class ContainerBeacon extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
@ -68,7 +68,7 @@ public class ContainerBeacon extends Container {
} }
slot.a(itemstack1, itemstack); slot.a(itemstack1, itemstack);
} else if (!this.f.e() && this.f.isAllowed(itemstack1) && itemstack1.count == 1) { } else if (!this.f.hasItem() && this.f.isAllowed(itemstack1) && itemstack1.count == 1) {
if (!this.a(itemstack1, 0, 1, false)) { if (!this.a(itemstack1, 0, 1, false)) {
return null; return null;
} }

Datei anzeigen

@ -64,12 +64,12 @@ public class ContainerBrewingStand extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
if ((i < 0 || i > 2) && i != 3) { if ((i < 0 || i > 2) && i != 3) {
if (!this.f.e() && this.f.isAllowed(itemstack1)) { if (!this.f.hasItem() && this.f.isAllowed(itemstack1)) {
if (!this.a(itemstack1, 3, 4, false)) { if (!this.a(itemstack1, 3, 4, false)) {
return null; return null;
} }

Datei anzeigen

@ -71,7 +71,7 @@ public class ContainerChest extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -49,7 +49,7 @@ public class ContainerDispenser extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -226,7 +226,7 @@ public class ContainerEnchantTable extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
@ -235,7 +235,7 @@ public class ContainerEnchantTable extends Container {
return null; return null;
} }
} else { } else {
if (((Slot) this.c.get(0)).e() || !((Slot) this.c.get(0)).isAllowed(itemstack1)) { if (((Slot) this.c.get(0)).hasItem() || !((Slot) this.c.get(0)).isAllowed(itemstack1)) {
return null; return null;
} }

Datei anzeigen

@ -87,7 +87,7 @@ public class ContainerFurnace extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -56,7 +56,7 @@ public class ContainerHopper extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -60,14 +60,14 @@ public class ContainerHorse extends Container {
} }
public boolean a(EntityHuman entityhuman) { public boolean a(EntityHuman entityhuman) {
return this.a.a(entityhuman) && this.f.isAlive() && this.f.d(entityhuman) < 8.0F; return this.a.a(entityhuman) && this.f.isAlive() && this.f.e(entityhuman) < 8.0F;
} }
public ItemStack b(EntityHuman entityhuman, int i) { public ItemStack b(EntityHuman entityhuman, int i) {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
@ -75,7 +75,7 @@ public class ContainerHorse extends Container {
if (!this.a(itemstack1, this.a.getSize(), this.c.size(), true)) { if (!this.a(itemstack1, this.a.getSize(), this.c.size(), true)) {
return null; return null;
} }
} else if (this.getSlot(1).isAllowed(itemstack1) && !this.getSlot(1).e()) { } else if (this.getSlot(1).isAllowed(itemstack1) && !this.getSlot(1).hasItem()) {
if (!this.a(itemstack1, 1, 2, false)) { if (!this.a(itemstack1, 1, 2, false)) {
return null; return null;
} }

Datei anzeigen

@ -73,7 +73,7 @@ public class ContainerMerchant extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -87,7 +87,7 @@ public class ContainerPlayer extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();
@ -105,7 +105,7 @@ public class ContainerPlayer extends Container {
if (!this.a(itemstack1, 9, 45, false)) { if (!this.a(itemstack1, 9, 45, false)) {
return null; return null;
} }
} else if (itemstack.getItem() instanceof ItemArmor && !((Slot) this.c.get(5 + ((ItemArmor) itemstack.getItem()).b)).e()) { } else if (itemstack.getItem() instanceof ItemArmor && !((Slot) this.c.get(5 + ((ItemArmor) itemstack.getItem()).b)).hasItem()) {
int j = 5 + ((ItemArmor) itemstack.getItem()).b; int j = 5 + ((ItemArmor) itemstack.getItem()).b;
if (!this.a(itemstack1, j, j + 1, false)) { if (!this.a(itemstack1, j, j + 1, false)) {

Datei anzeigen

@ -89,7 +89,7 @@ public class ContainerWorkbench extends Container {
ItemStack itemstack = null; ItemStack itemstack = null;
Slot slot = (Slot) this.c.get(i); Slot slot = (Slot) this.c.get(i);
if (slot != null && slot.e()) { if (slot != null && slot.hasItem()) {
ItemStack itemstack1 = slot.getItem(); ItemStack itemstack1 = slot.getItem();
itemstack = itemstack1.cloneItemStack(); itemstack = itemstack1.cloneItemStack();

Datei anzeigen

@ -53,20 +53,20 @@ public class ControllerLook {
// CraftBukkit end // CraftBukkit end
this.a.pitch = this.a(this.a.pitch, f1, this.c); this.a.pitch = this.a(this.a.pitch, f1, this.c);
this.a.aP = this.a(this.a.aP, f, this.b); this.a.aO = this.a(this.a.aO, f, this.b);
} else { } else {
this.a.aP = this.a(this.a.aP, this.a.aN, 10.0F); this.a.aO = this.a(this.a.aO, this.a.aM, 10.0F);
} }
float f2 = MathHelper.g(this.a.aP - this.a.aN); float f2 = MathHelper.g(this.a.aO - this.a.aM);
if (!this.a.getNavigation().g()) { if (!this.a.getNavigation().g()) {
if (f2 < -75.0F) { if (f2 < -75.0F) {
this.a.aP = this.a.aN - 75.0F; this.a.aO = this.a.aM - 75.0F;
} }
if (f2 > 75.0F) { if (f2 > 75.0F) {
this.a.aP = this.a.aN + 75.0F; this.a.aO = this.a.aM + 75.0F;
} }
} }
} }

Datei anzeigen

@ -181,9 +181,14 @@ public class CrashReport {
StackTraceElement[] astacktraceelement = this.c.getStackTrace(); StackTraceElement[] astacktraceelement = this.c.getStackTrace();
StackTraceElement stacktraceelement = null; StackTraceElement stacktraceelement = null;
StackTraceElement stacktraceelement1 = null; StackTraceElement stacktraceelement1 = null;
int k = astacktraceelement.length - j;
if (astacktraceelement != null && astacktraceelement.length - j < astacktraceelement.length) { if (k < 0) {
stacktraceelement = astacktraceelement[astacktraceelement.length - j]; System.out.println("Negative index in crash report handler (" + astacktraceelement.length + "/" + j + ")");
}
if (astacktraceelement != null && 0 <= k && k < astacktraceelement.length) {
stacktraceelement = astacktraceelement[k];
if (astacktraceelement.length + 1 - j < astacktraceelement.length) { if (astacktraceelement.length + 1 - j < astacktraceelement.length) {
stacktraceelement1 = astacktraceelement[astacktraceelement.length + 1 - j]; stacktraceelement1 = astacktraceelement[astacktraceelement.length + 1 - j];
} }
@ -194,7 +199,7 @@ public class CrashReport {
CrashReportSystemDetails crashreportsystemdetails1 = (CrashReportSystemDetails) this.e.get(this.e.size() - 1); CrashReportSystemDetails crashreportsystemdetails1 = (CrashReportSystemDetails) this.e.get(this.e.size() - 1);
crashreportsystemdetails1.b(j); crashreportsystemdetails1.b(j);
} else if (astacktraceelement != null && astacktraceelement.length >= j) { } else if (astacktraceelement != null && astacktraceelement.length >= j && 0 <= k && k < astacktraceelement.length) {
this.h = new StackTraceElement[astacktraceelement.length - j]; this.h = new StackTraceElement[astacktraceelement.length - j];
System.arraycopy(astacktraceelement, 0, this.h, 0, this.h.length); System.arraycopy(astacktraceelement, 0, this.h, 0, this.h.length);
} else { } else {
@ -207,7 +212,7 @@ public class CrashReport {
} }
private static String i() { private static String i() {
String[] astring = new String[] { "Who set us up the TNT?", "Everything\'s going to plan. No, really, that was supposed to happen.", "Uh... Did I do that?", "Oops.", "Why did you do that?", "I feel sad now :(", "My bad.", "I\'m sorry, Dave.", "I let you down. Sorry :(", "On the bright side, I bought you a teddy bear!", "Daisy, daisy...", "Oh - I know what I did wrong!", "Hey, that tickles! Hehehe!", "I blame Dinnerbone.", "You should try our sister game, Minceraft!", "Don\'t be sad. I\'ll do better next time, I promise!", "Don\'t be sad, have a hug! <3", "I just don\'t know what went wrong :(", "Shall we play a game?", "Quite honestly, I wouldn\'t worry myself about that.", "I bet Cylons wouldn\'t have this problem.", "Sorry :(", "Surprise! Haha. Well, this is awkward.", "Would you like a cupcake?", "Hi. I\'m Minecraft, and I\'m a crashaholic.", "Ooh. Shiny.", "This doesn\'t make any sense!", "Why is it breaking :(", "Don\'t do that.", "Ouch. That hurt :(", "You\'re mean.", "This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~]", "There are four lights!"}; String[] astring = new String[] { "Who set us up the TNT?", "Everything\'s going to plan. No, really, that was supposed to happen.", "Uh... Did I do that?", "Oops.", "Why did you do that?", "I feel sad now :(", "My bad.", "I\'m sorry, Dave.", "I let you down. Sorry :(", "On the bright side, I bought you a teddy bear!", "Daisy, daisy...", "Oh - I know what I did wrong!", "Hey, that tickles! Hehehe!", "I blame Dinnerbone.", "You should try our sister game, Minceraft!", "Don\'t be sad. I\'ll do better next time, I promise!", "Don\'t be sad, have a hug! <3", "I just don\'t know what went wrong :(", "Shall we play a game?", "Quite honestly, I wouldn\'t worry myself about that.", "I bet Cylons wouldn\'t have this problem.", "Sorry :(", "Surprise! Haha. Well, this is awkward.", "Would you like a cupcake?", "Hi. I\'m Minecraft, and I\'m a crashaholic.", "Ooh. Shiny.", "This doesn\'t make any sense!", "Why is it breaking :(", "Don\'t do that.", "Ouch. That hurt :(", "You\'re mean.", "This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~]", "There are four lights!", "But it works on my machine."};
try { try {
return astring[(int) (System.nanoTime() % (long) astring.length)]; return astring[(int) (System.nanoTime() % (long) astring.length)];

Datei anzeigen

@ -67,14 +67,14 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
// CraftBukkit end // CraftBukkit end
h.info("Starting minecraft server version 1.7.2"); h.info("Starting minecraft server version 1.7.5");
if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) { if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) {
h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"");
} }
h.info("Loading properties"); h.info("Loading properties");
this.propertyManager = new PropertyManager(this.options); // CraftBukkit - CLI argument support this.propertyManager = new PropertyManager(this.options); // CraftBukkit - CLI argument support
if (this.L()) { if (this.M()) {
this.c("127.0.0.1"); this.c("127.0.0.1");
} else { } else {
this.setOnlineMode(this.propertyManager.getBoolean("online-mode", true)); this.setOnlineMode(this.propertyManager.getBoolean("online-mode", true));
@ -88,7 +88,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.setTexturePack(this.propertyManager.getString("resource-pack", "")); this.setTexturePack(this.propertyManager.getString("resource-pack", ""));
this.setMotd(this.propertyManager.getString("motd", "A Minecraft Server")); this.setMotd(this.propertyManager.getString("motd", "A Minecraft Server"));
this.setForceGamemode(this.propertyManager.getBoolean("force-gamemode", false)); this.setForceGamemode(this.propertyManager.getBoolean("force-gamemode", false));
this.d(this.propertyManager.getInt("player-idle-timeout", 0)); this.setIdleTimeout(this.propertyManager.getInt("player-idle-timeout", 0));
if (this.propertyManager.getInt("difficulty", 1) < 0) { if (this.propertyManager.getInt("difficulty", 1) < 0) {
this.propertyManager.a("difficulty", Integer.valueOf(0)); this.propertyManager.a("difficulty", Integer.valueOf(0));
} else if (this.propertyManager.getInt("difficulty", 1) > 3) { } else if (this.propertyManager.getInt("difficulty", 1) > 3) {
@ -106,16 +106,16 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
inetaddress = InetAddress.getByName(this.getServerIp()); inetaddress = InetAddress.getByName(this.getServerIp());
} }
if (this.J() < 0) { if (this.K() < 0) {
this.setPort(this.propertyManager.getInt("server-port", 25565)); this.setPort(this.propertyManager.getInt("server-port", 25565));
} }
h.info("Generating keypair"); h.info("Generating keypair");
this.a(MinecraftEncryption.b()); this.a(MinecraftEncryption.b());
h.info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.J()); h.info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.K());
try { try {
this.ag().a(inetaddress, this.J()); this.ah().a(inetaddress, this.K());
} catch (Throwable ioexception) { // CraftBukkit - IOException -> Throwable } catch (Throwable ioexception) { // CraftBukkit - IOException -> Throwable
h.warn("**** FAILED TO BIND TO PORT!"); h.warn("**** FAILED TO BIND TO PORT!");
h.warn("The exception was: {}", new Object[] { ioexception.toString()}); h.warn("The exception was: {}", new Object[] { ioexception.toString()});
@ -136,7 +136,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.convertable = new WorldLoaderServer(server.getWorldContainer()); // CraftBukkit - moved from MinecraftServer constructor this.convertable = new WorldLoaderServer(server.getWorldContainer()); // CraftBukkit - moved from MinecraftServer constructor
long j = System.nanoTime(); long j = System.nanoTime();
if (this.M() == null) { if (this.N() == null) {
this.k(this.propertyManager.getString("level-name", "world")); this.k(this.propertyManager.getString("level-name", "world"));
} }
@ -163,7 +163,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
worldtype = WorldType.NORMAL; worldtype = WorldType.NORMAL;
} }
this.ar(); this.as();
this.getEnableCommandBlock(); this.getEnableCommandBlock();
this.l(); this.l();
this.getSnooperEnabled(); this.getSnooperEnabled();
@ -172,7 +172,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.c(MathHelper.a(this.getMaxBuildHeight(), 64, 256)); this.c(MathHelper.a(this.getMaxBuildHeight(), 64, 256));
this.propertyManager.a("max-build-height", Integer.valueOf(this.getMaxBuildHeight())); this.propertyManager.a("max-build-height", Integer.valueOf(this.getMaxBuildHeight()));
h.info("Preparing level \"" + this.M() + "\""); h.info("Preparing level \"" + this.M() + "\"");
this.a(this.M(), this.M(), k, worldtype, s2); this.a(this.N(), this.N(), k, worldtype, s2);
long i1 = System.nanoTime() - j; long i1 = System.nanoTime() - j;
String s3 = String.format("%.3fs", new Object[] { Double.valueOf((double) i1 / 1.0E9D)}); String s3 = String.format("%.3fs", new Object[] { Double.valueOf((double) i1 / 1.0E9D)});
@ -225,7 +225,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
protected void a(CrashReport crashreport) { protected void a(CrashReport crashreport) {
while (this.isRunning()) { while (this.isRunning()) {
this.aw(); this.ax();
try { try {
Thread.sleep(10L); Thread.sleep(10L);
@ -242,13 +242,13 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
return crashreport; return crashreport;
} }
protected void s() { protected void t() {
System.exit(0); System.exit(0);
} }
public void u() { // CraftBukkit - protected -> public public void v() { // CraftBukkit - protected -> public
super.u(); super.v();
this.aw(); this.ax();
} }
public boolean getAllowNether() { public boolean getAllowNether() {
@ -260,8 +260,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
} }
public void a(MojangStatisticsGenerator mojangstatisticsgenerator) { public void a(MojangStatisticsGenerator mojangstatisticsgenerator) {
mojangstatisticsgenerator.a("whitelist_enabled", Boolean.valueOf(this.ax().getHasWhitelist())); mojangstatisticsgenerator.a("whitelist_enabled", Boolean.valueOf(this.ay().getHasWhitelist()));
mojangstatisticsgenerator.a("whitelist_count", Integer.valueOf(this.ax().getWhitelisted().size())); mojangstatisticsgenerator.a("whitelist_count", Integer.valueOf(this.ay().getWhitelisted().size()));
super.a(mojangstatisticsgenerator); super.a(mojangstatisticsgenerator);
} }
@ -273,7 +273,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.i.add(new ServerCommand(s, icommandlistener)); this.i.add(new ServerCommand(s, icommandlistener));
} }
public void aw() { public void ax() {
while (!this.i.isEmpty()) { while (!this.i.isEmpty()) {
ServerCommand servercommand = (ServerCommand) this.i.remove(0); ServerCommand servercommand = (ServerCommand) this.i.remove(0);
@ -288,11 +288,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
} }
} }
public boolean V() { public boolean W() {
return true; return true;
} }
public DedicatedPlayerList ax() { public DedicatedPlayerList ay() {
return (DedicatedPlayerList) super.getPlayerList(); return (DedicatedPlayerList) super.getPlayerList();
} }
@ -322,12 +322,12 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
return file1 != null ? file1.getAbsolutePath() : "No settings file"; return file1 != null ? file1.getAbsolutePath() : "No settings file";
} }
public void ay() { public void az() {
ServerGUI.a(this); ServerGUI.a(this);
this.o = true; this.o = true;
} }
public boolean ai() { public boolean aj() {
return this.o; return this.o;
} }
@ -346,9 +346,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
public boolean a(World world, int i, int j, int k, EntityHuman entityhuman) { public boolean a(World world, int i, int j, int k, EntityHuman entityhuman) {
if (world.worldProvider.dimension != 0) { if (world.worldProvider.dimension != 0) {
return false; return false;
} else if (this.ax().getOPs().isEmpty()) { } else if (this.ay().getOPs().isEmpty()) {
return false; return false;
} else if (this.ax().isOp(entityhuman.getName())) { } else if (this.ay().isOp(entityhuman.getName())) {
return false; return false;
} else if (this.getSpawnProtection() <= 0) { } else if (this.getSpawnProtection() <= 0) {
return false; return false;
@ -366,21 +366,24 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
return this.propertyManager.getInt("op-permission-level", 4); return this.propertyManager.getInt("op-permission-level", 4);
} }
public void d(int i) { public void setIdleTimeout(int i) {
super.d(i); super.setIdleTimeout(i);
this.propertyManager.a("player-idle-timeout", Integer.valueOf(i)); this.propertyManager.a("player-idle-timeout", Integer.valueOf(i));
this.a(); this.a();
} }
public boolean ar() { public boolean m() {
return this.propertyManager.getBoolean("broadcast-rcon-to-ops", true);
}
public boolean as() {
return this.propertyManager.getBoolean("announce-player-achievements", true); return this.propertyManager.getBoolean("announce-player-achievements", true);
} }
public PlayerList getPlayerList() { public PlayerList getPlayerList() {
return this.ax(); return this.ay();
} }
static Logger az() { static Logger aA() {
return h; return h;
} }
} }

Datei anzeigen

@ -13,10 +13,10 @@ final class DispenseBehaviorArmor extends DispenseBehaviorItem {
protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
AxisAlignedBB axisalignedbb = AxisAlignedBB.a().a((double) i, (double) j, (double) k, (double) (i + 1), (double) (j + 1), (double) (k + 1)); AxisAlignedBB axisalignedbb = AxisAlignedBB.a((double) i, (double) j, (double) k, (double) (i + 1), (double) (j + 1), (double) (k + 1));
List list = isourceblock.k().a(EntityLiving.class, axisalignedbb, (IEntitySelector) (new EntitySelectorEquipable(itemstack))); List list = isourceblock.k().a(EntityLiving.class, axisalignedbb, (IEntitySelector) (new EntitySelectorEquipable(itemstack)));
if (list.size() > 0) { if (list.size() > 0) {
@ -44,7 +44,7 @@ final class DispenseBehaviorArmor extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -14,12 +14,12 @@ final class DispenseBehaviorBoat extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
double d0 = isourceblock.getX() + (double) ((float) enumfacing.c() * 1.125F); double d0 = isourceblock.getX() + (double) ((float) enumfacing.getAdjacentX() * 1.125F);
double d1 = isourceblock.getY() + (double) ((float) enumfacing.d() * 1.125F); double d1 = isourceblock.getY() + (double) ((float) enumfacing.getAdjacentY() * 1.125F);
double d2 = isourceblock.getZ() + (double) ((float) enumfacing.e() * 1.125F); double d2 = isourceblock.getZ() + (double) ((float) enumfacing.getAdjacentZ() * 1.125F);
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
Material material = world.getType(i, j, k).getMaterial(); Material material = world.getType(i, j, k).getMaterial();
double d3; double d3;
@ -52,7 +52,7 @@ final class DispenseBehaviorBoat extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -15,9 +15,9 @@ final class DispenseBehaviorBonemeal extends DispenseBehaviorItem {
if (itemstack.getData() == 15) { if (itemstack.getData() == 15) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ());
@ -35,7 +35,7 @@ final class DispenseBehaviorBonemeal extends DispenseBehaviorItem {
if (!event.getItem().equals(craftItem)) { if (!event.getItem().equals(craftItem)) {
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -14,9 +14,9 @@ final class DispenseBehaviorEmptyBucket extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
Material material = world.getType(i, j, k).getMaterial(); Material material = world.getType(i, j, k).getMaterial();
int l = world.getData(i, j, k); int l = world.getData(i, j, k);
Item item; Item item;
@ -47,7 +47,7 @@ final class DispenseBehaviorEmptyBucket extends DispenseBehaviorItem {
if (!event.getItem().equals(craftItem)) { if (!event.getItem().equals(craftItem)) {
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -20,9 +20,9 @@ final class DispenseBehaviorFilledBucket extends DispenseBehaviorItem {
// CraftBukkit start // CraftBukkit start
World world = isourceblock.k(); World world = isourceblock.k();
int x = i + enumfacing.c(); int x = i + enumfacing.getAdjacentX();
int y = j + enumfacing.d(); int y = j + enumfacing.getAdjacentY();
int z = k + enumfacing.e(); int z = k + enumfacing.getAdjacentZ();
if (world.isEmpty(x, y, z) || !world.getType(x, y, z).getMaterial().isBuildable()) { if (world.isEmpty(x, y, z) || !world.getType(x, y, z).getMaterial().isBuildable()) {
org.bukkit.block.Block block = world.getWorld().getBlockAt(i, j, k); org.bukkit.block.Block block = world.getWorld().getBlockAt(i, j, k);
CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack);
@ -39,7 +39,7 @@ final class DispenseBehaviorFilledBucket extends DispenseBehaviorItem {
if (!event.getItem().equals(craftItem)) { if (!event.getItem().equals(craftItem)) {
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;
@ -50,7 +50,7 @@ final class DispenseBehaviorFilledBucket extends DispenseBehaviorItem {
} }
// CraftBukkit end // CraftBukkit end
if (itembucket.a(isourceblock.k(), i + enumfacing.c(), j + enumfacing.d(), k + enumfacing.e())) { if (itembucket.a(isourceblock.k(), i + enumfacing.getAdjacentX(), j + enumfacing.getAdjacentY(), k + enumfacing.getAdjacentZ())) {
// CraftBukkit start - Handle stacked buckets // CraftBukkit start - Handle stacked buckets
Item item = Items.BUCKET; Item item = Items.BUCKET;
if (--itemstack.count == 0) { if (--itemstack.count == 0) {

Datei anzeigen

@ -14,14 +14,14 @@ final class DispenseBehaviorFireball extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
IPosition iposition = BlockDispenser.a(isourceblock); IPosition iposition = BlockDispenser.a(isourceblock);
double d0 = iposition.getX() + (double) ((float) enumfacing.c() * 0.3F); double d0 = iposition.getX() + (double) ((float) enumfacing.getAdjacentX() * 0.3F);
double d1 = iposition.getY() + (double) ((float) enumfacing.c() * 0.3F); double d1 = iposition.getY() + (double) ((float) enumfacing.getAdjacentY() * 0.3F);
double d2 = iposition.getZ() + (double) ((float) enumfacing.e() * 0.3F); double d2 = iposition.getZ() + (double) ((float) enumfacing.getAdjacentZ() * 0.3F);
World world = isourceblock.k(); World world = isourceblock.k();
Random random = world.random; Random random = world.random;
double d3 = random.nextGaussian() * 0.05D + (double) enumfacing.c(); double d3 = random.nextGaussian() * 0.05D + (double) enumfacing.getAdjacentX();
double d4 = random.nextGaussian() * 0.05D + (double) enumfacing.d(); double d4 = random.nextGaussian() * 0.05D + (double) enumfacing.getAdjacentY();
double d5 = random.nextGaussian() * 0.05D + (double) enumfacing.e(); double d5 = random.nextGaussian() * 0.05D + (double) enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
ItemStack itemstack1 = itemstack.a(1); ItemStack itemstack1 = itemstack.a(1);
@ -42,7 +42,7 @@ final class DispenseBehaviorFireball extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -11,9 +11,9 @@ final class DispenseBehaviorFireworks extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
double d0 = isourceblock.getX() + (double) enumfacing.c(); double d0 = isourceblock.getX() + (double) enumfacing.getAdjacentX();
double d1 = (double) ((float) isourceblock.getBlockY() + 0.2F); double d1 = (double) ((float) isourceblock.getBlockY() + 0.2F);
double d2 = isourceblock.getZ() + (double) enumfacing.e(); double d2 = isourceblock.getZ() + (double) enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
World world = isourceblock.k(); World world = isourceblock.k();
@ -35,7 +35,7 @@ final class DispenseBehaviorFireworks extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -14,9 +14,9 @@ final class DispenseBehaviorFlintAndSteel extends DispenseBehaviorItem {
protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ());
@ -34,7 +34,7 @@ final class DispenseBehaviorFlintAndSteel extends DispenseBehaviorItem {
if (!event.getItem().equals(craftItem)) { if (!event.getItem().equals(craftItem)) {
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -41,9 +41,9 @@ public class DispenseBehaviorItem implements IDispenseBehavior {
EntityItem entityitem = new EntityItem(world, d0, d1 - 0.3D, d2, itemstack); EntityItem entityitem = new EntityItem(world, d0, d1 - 0.3D, d2, itemstack);
double d3 = world.random.nextDouble() * 0.1D + 0.2D; double d3 = world.random.nextDouble() * 0.1D + 0.2D;
entityitem.motX = (double) enumfacing.c() * d3; entityitem.motX = (double) enumfacing.getAdjacentX() * d3;
entityitem.motY = 0.20000000298023224D; entityitem.motY = 0.20000000298023224D;
entityitem.motZ = (double) enumfacing.e() * d3; entityitem.motZ = (double) enumfacing.getAdjacentZ() * d3;
entityitem.motX += world.random.nextGaussian() * 0.007499999832361937D * (double) i; entityitem.motX += world.random.nextGaussian() * 0.007499999832361937D * (double) i;
entityitem.motY += world.random.nextGaussian() * 0.007499999832361937D * (double) i; entityitem.motY += world.random.nextGaussian() * 0.007499999832361937D * (double) i;
entityitem.motZ += world.random.nextGaussian() * 0.007499999832361937D * (double) i; entityitem.motZ += world.random.nextGaussian() * 0.007499999832361937D * (double) i;
@ -69,7 +69,7 @@ public class DispenseBehaviorItem implements IDispenseBehavior {
if (!event.getItem().equals(craftItem)) { if (!event.getItem().equals(craftItem)) {
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior.getClass() != DispenseBehaviorItem.class) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior.getClass() != DispenseBehaviorItem.class) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
} else { } else {
@ -93,6 +93,6 @@ public class DispenseBehaviorItem implements IDispenseBehavior {
} }
private int a(EnumFacing enumfacing) { private int a(EnumFacing enumfacing) {
return enumfacing.c() + 1 + (enumfacing.e() + 1) * 3; return enumfacing.getAdjacentX() + 1 + (enumfacing.getAdjacentZ() + 1) * 3;
} }
} }

Datei anzeigen

@ -14,12 +14,12 @@ final class DispenseBehaviorMinecart extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
double d0 = isourceblock.getX() + (double) ((float) enumfacing.c() * 1.125F); double d0 = isourceblock.getX() + (double) ((float) enumfacing.getAdjacentX() * 1.125F);
double d1 = isourceblock.getY() + (double) ((float) enumfacing.d() * 1.125F); double d1 = isourceblock.getY() + (double) ((float) enumfacing.getAdjacentY() * 1.125F);
double d2 = isourceblock.getZ() + (double) ((float) enumfacing.e() * 1.125F); double d2 = isourceblock.getZ() + (double) ((float) enumfacing.getAdjacentZ() * 1.125F);
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
Block block = world.getType(i, j, k); Block block = world.getType(i, j, k);
double d3; double d3;
@ -52,7 +52,7 @@ final class DispenseBehaviorMinecart extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -11,9 +11,9 @@ final class DispenseBehaviorMonsterEgg extends DispenseBehaviorItem {
public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { public ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
double d0 = isourceblock.getX() + (double) enumfacing.c(); double d0 = isourceblock.getX() + (double) enumfacing.getAdjacentX();
double d1 = (double) ((float) isourceblock.getBlockY() + 0.2F); double d1 = (double) ((float) isourceblock.getBlockY() + 0.2F);
double d2 = isourceblock.getZ() + (double) enumfacing.e(); double d2 = isourceblock.getZ() + (double) enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
World world = isourceblock.k(); World world = isourceblock.k();
@ -35,7 +35,7 @@ final class DispenseBehaviorMonsterEgg extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -20,7 +20,7 @@ public abstract class DispenseBehaviorProjectile extends DispenseBehaviorItem {
org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ());
CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1);
BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector((double) enumfacing.c(), (double) ((float) enumfacing.d() + 0.1F), (double) enumfacing.e())); BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector((double) enumfacing.getAdjacentX(), (double) ((float) enumfacing.getAdjacentY() + 0.1F), (double) enumfacing.getAdjacentZ()));
if (!BlockDispenser.eventFired) { if (!BlockDispenser.eventFired) {
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
} }
@ -34,7 +34,7 @@ public abstract class DispenseBehaviorProjectile extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -12,9 +12,9 @@ final class DispenseBehaviorTNT extends DispenseBehaviorItem {
protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) {
EnumFacing enumfacing = BlockDispenser.b(isourceblock.h()); EnumFacing enumfacing = BlockDispenser.b(isourceblock.h());
World world = isourceblock.k(); World world = isourceblock.k();
int i = isourceblock.getBlockX() + enumfacing.c(); int i = isourceblock.getBlockX() + enumfacing.getAdjacentX();
int j = isourceblock.getBlockY() + enumfacing.d(); int j = isourceblock.getBlockY() + enumfacing.getAdjacentY();
int k = isourceblock.getBlockZ() + enumfacing.e(); int k = isourceblock.getBlockZ() + enumfacing.getAdjacentZ();
// CraftBukkit start // CraftBukkit start
ItemStack itemstack1 = itemstack.a(1); ItemStack itemstack1 = itemstack.a(1);
@ -35,7 +35,7 @@ final class DispenseBehaviorTNT extends DispenseBehaviorItem {
itemstack.count++; itemstack.count++;
// Chain to handler for new item // Chain to handler for new item
ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.get(eventStack.getItem());
if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) {
idispensebehavior.a(isourceblock, eventStack); idispensebehavior.a(isourceblock, eventStack);
return itemstack; return itemstack;

Datei anzeigen

@ -73,7 +73,7 @@ public abstract class Enchantment {
return 0; return 0;
} }
public float a(int i, EntityLiving entityliving) { public float a(int i, EnumMonsterType enummonstertype) {
return 0.0F; return 0.0F;
} }

Datei anzeigen

@ -40,11 +40,11 @@ public abstract class Entity {
private static int entityCount; private static int entityCount;
private int id; private int id;
public double k; public double j;
public boolean l; public boolean k;
public Entity passenger; public Entity passenger;
public Entity vehicle; public Entity vehicle;
public boolean o; public boolean n;
public World world; public World world;
public double lastX; public double lastX;
public double lastY; public double lastY;
@ -62,26 +62,27 @@ public abstract class Entity {
public final AxisAlignedBB boundingBox; public final AxisAlignedBB boundingBox;
public boolean onGround; public boolean onGround;
public boolean positionChanged; public boolean positionChanged;
public boolean F;
public boolean G; public boolean G;
public boolean H;
public boolean velocityChanged; public boolean velocityChanged;
protected boolean J; protected boolean I;
public boolean K; public boolean J;
public boolean dead; public boolean dead;
public float height; public float height;
public float width; public float width;
public float length; public float length;
public float O;
public float P; public float P;
public float Q; public float Q;
public float R;
public float fallDistance; public float fallDistance;
private int d; private int d;
public double S;
public double T; public double T;
public double U; public double U;
public double V; public float V;
public float W; public float W;
public float X; public boolean X;
public boolean Y; public float Y;
public float Z; public float Z;
protected Random random; protected Random random;
public int ticksLived; public int ticksLived;
@ -94,20 +95,20 @@ public abstract class Entity {
protected DataWatcher datawatcher; protected DataWatcher datawatcher;
private double g; private double g;
private double h; private double h;
public boolean ah; public boolean ag;
public int ah;
public int ai; public int ai;
public int aj; public int aj;
public int ak; public boolean ak;
public boolean al; public boolean al;
public boolean am;
public int portalCooldown; public int portalCooldown;
protected boolean ao; protected boolean an;
protected int ap; protected int ao;
public int dimension; public int dimension;
protected int ar; protected int aq;
private boolean invulnerable; private boolean invulnerable;
public UUID uniqueID; // CraftBukkit - protected -> public public UUID uniqueID; // CraftBukkit - protected -> public
public EnumEntitySize at; public EnumEntitySize as;
public boolean valid; // CraftBukkit public boolean valid; // CraftBukkit
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
@ -121,9 +122,9 @@ public abstract class Entity {
public Entity(World world) { public Entity(World world) {
this.id = entityCount++; this.id = entityCount++;
this.k = 1.0D; this.j = 1.0D;
this.boundingBox = AxisAlignedBB.a(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D); this.boundingBox = AxisAlignedBB.a(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
this.K = true; this.J = true;
this.width = 0.6F; this.width = 0.6F;
this.length = 1.8F; this.length = 1.8F;
this.d = 1; this.d = 1;
@ -131,7 +132,7 @@ public abstract class Entity {
this.maxFireTicks = 1; this.maxFireTicks = 1;
this.justCreated = true; this.justCreated = true;
this.uniqueID = UUID.randomUUID(); this.uniqueID = UUID.randomUUID();
this.at = EnumEntitySize.SIZE_2; this.as = EnumEntitySize.SIZE_2;
this.world = world; this.world = world;
this.setPosition(0.0D, 0.0D, 0.0D); this.setPosition(0.0D, 0.0D, 0.0D);
if (world != null) { if (world != null) {
@ -179,17 +180,17 @@ public abstract class Entity {
f2 = f % 2.0F; f2 = f % 2.0F;
if ((double) f2 < 0.375D) { if ((double) f2 < 0.375D) {
this.at = EnumEntitySize.SIZE_1; this.as = EnumEntitySize.SIZE_1;
} else if ((double) f2 < 0.75D) { } else if ((double) f2 < 0.75D) {
this.at = EnumEntitySize.SIZE_2; this.as = EnumEntitySize.SIZE_2;
} else if ((double) f2 < 1.0D) { } else if ((double) f2 < 1.0D) {
this.at = EnumEntitySize.SIZE_3; this.as = EnumEntitySize.SIZE_3;
} else if ((double) f2 < 1.375D) { } else if ((double) f2 < 1.375D) {
this.at = EnumEntitySize.SIZE_4; this.as = EnumEntitySize.SIZE_4;
} else if ((double) f2 < 1.75D) { } else if ((double) f2 < 1.75D) {
this.at = EnumEntitySize.SIZE_5; this.as = EnumEntitySize.SIZE_5;
} else { } else {
this.at = EnumEntitySize.SIZE_6; this.as = EnumEntitySize.SIZE_6;
} }
} }
@ -232,20 +233,20 @@ public abstract class Entity {
float f = this.width / 2.0F; float f = this.width / 2.0F;
float f1 = this.length; float f1 = this.length;
this.boundingBox.b(d0 - (double) f, d1 - (double) this.height + (double) this.W, d2 - (double) f, d0 + (double) f, d1 - (double) this.height + (double) this.W + (double) f1, d2 + (double) f); this.boundingBox.b(d0 - (double) f, d1 - (double) this.height + (double) this.V, d2 - (double) f, d0 + (double) f, d1 - (double) this.height + (double) this.V + (double) f1, d2 + (double) f);
} }
public void h() { public void h() {
this.C(); this.B();
} }
public void C() { public void B() {
this.world.methodProfiler.a("entityBaseTick"); this.world.methodProfiler.a("entityBaseTick");
if (this.vehicle != null && this.vehicle.dead) { if (this.vehicle != null && this.vehicle.dead) {
this.vehicle = null; this.vehicle = null;
} }
this.P = this.Q; this.O = this.P;
this.lastX = this.locX; this.lastX = this.locX;
this.lastY = this.locY; this.lastY = this.locY;
this.lastZ = this.locZ; this.lastZ = this.locZ;
@ -257,12 +258,12 @@ public abstract class Entity {
this.world.methodProfiler.a("portal"); this.world.methodProfiler.a("portal");
MinecraftServer minecraftserver = ((WorldServer) this.world).getMinecraftServer(); MinecraftServer minecraftserver = ((WorldServer) this.world).getMinecraftServer();
i = this.D(); i = this.C();
if (this.ao) { if (this.an) {
if (true || minecraftserver.getAllowNether()) { // CraftBukkit if (true || minecraftserver.getAllowNether()) { // CraftBukkit
if (this.vehicle == null && this.ap++ >= i) { if (this.vehicle == null && this.ao++ >= i) {
this.ap = i; this.ao = i;
this.portalCooldown = this.ai(); this.portalCooldown = this.ah();
byte b0; byte b0;
if (this.world.worldProvider.dimension == -1) { if (this.world.worldProvider.dimension == -1) {
@ -274,15 +275,15 @@ public abstract class Entity {
this.b(b0); this.b(b0);
} }
this.ao = false; this.an = false;
} }
} else { } else {
if (this.ap > 0) { if (this.ao > 0) {
this.ap -= 4; this.ao -= 4;
} }
if (this.ap < 0) { if (this.ao < 0) {
this.ap = 0; this.ao = 0;
} }
} }
@ -293,7 +294,7 @@ public abstract class Entity {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
if (this.isSprinting() && !this.M()) { if (this.isSprinting() && !this.L()) {
int j = MathHelper.floor(this.locX); int j = MathHelper.floor(this.locX);
i = MathHelper.floor(this.locY - 0.20000000298023224D - (double) this.height); i = MathHelper.floor(this.locY - 0.20000000298023224D - (double) this.height);
@ -305,7 +306,7 @@ public abstract class Entity {
} }
} }
this.N(); this.M();
if (this.world.isStatic) { if (this.world.isStatic) {
this.fireTicks = 0; this.fireTicks = 0;
} else if (this.fireTicks > 0) { } else if (this.fireTicks > 0) {
@ -323,13 +324,13 @@ public abstract class Entity {
} }
} }
if (this.P()) { if (this.O()) {
this.E(); this.D();
this.fallDistance *= 0.5F; this.fallDistance *= 0.5F;
} }
if (this.locY < -64.0D) { if (this.locY < -64.0D) {
this.G(); this.F();
} }
if (!this.world.isStatic) { if (!this.world.isStatic) {
@ -340,11 +341,11 @@ public abstract class Entity {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
public int D() { public int C() {
return 0; return 0;
} }
protected void E() { protected void D() {
if (!this.fireProof) { if (!this.fireProof) {
// CraftBukkit start - Fallen in lava TODO: this event spams! // CraftBukkit start - Fallen in lava TODO: this event spams!
if (this instanceof EntityLiving) { if (this instanceof EntityLiving) {
@ -396,7 +397,7 @@ public abstract class Entity {
this.fireTicks = 0; this.fireTicks = 0;
} }
protected void G() { protected void F() {
this.die(); this.die();
} }
@ -411,7 +412,7 @@ public abstract class Entity {
// CraftBukkit start - Don't do anything if we aren't moving // CraftBukkit start - Don't do anything if we aren't moving
// We need to do this regardless of whether or not we are moving thanks to portals // We need to do this regardless of whether or not we are moving thanks to portals
try { try {
this.I(); this.H();
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Checking entity block collision"); CrashReport crashreport = CrashReport.a(throwable, "Checking entity block collision");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being checked for collision"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being checked for collision");
@ -424,20 +425,20 @@ public abstract class Entity {
return; return;
} }
// CraftBukkit end // CraftBukkit end
if (this.Y) { if (this.X) {
this.boundingBox.d(d0, d1, d2); this.boundingBox.d(d0, d1, d2);
this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D; this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D;
this.locY = this.boundingBox.b + (double) this.height - (double) this.W; this.locY = this.boundingBox.b + (double) this.height - (double) this.V;
this.locZ = (this.boundingBox.c + this.boundingBox.f) / 2.0D; this.locZ = (this.boundingBox.c + this.boundingBox.f) / 2.0D;
} else { } else {
this.world.methodProfiler.a("move"); this.world.methodProfiler.a("move");
this.W *= 0.4F; this.V *= 0.4F;
double d3 = this.locX; double d3 = this.locX;
double d4 = this.locY; double d4 = this.locY;
double d5 = this.locZ; double d5 = this.locZ;
if (this.J) { if (this.I) {
this.J = false; this.I = false;
d0 *= 0.25D; d0 *= 0.25D;
d1 *= 0.05000000074505806D; d1 *= 0.05000000074505806D;
d2 *= 0.25D; d2 *= 0.25D;
@ -504,7 +505,7 @@ public abstract class Entity {
} }
this.boundingBox.d(0.0D, d1, 0.0D); this.boundingBox.d(0.0D, d1, 0.0D);
if (!this.K && d7 != d1) { if (!this.J && d7 != d1) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
@ -519,7 +520,7 @@ public abstract class Entity {
} }
this.boundingBox.d(d0, 0.0D, 0.0D); this.boundingBox.d(d0, 0.0D, 0.0D);
if (!this.K && d6 != d0) { if (!this.J && d6 != d0) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
@ -530,7 +531,7 @@ public abstract class Entity {
} }
this.boundingBox.d(0.0D, 0.0D, d2); this.boundingBox.d(0.0D, 0.0D, d2);
if (!this.K && d8 != d2) { if (!this.J && d8 != d2) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
@ -541,12 +542,12 @@ public abstract class Entity {
double d12; double d12;
int k; int k;
if (this.X > 0.0F && flag1 && (flag || this.W < 0.05F) && (d6 != d0 || d8 != d2)) { if (this.W > 0.0F && flag1 && (flag || this.V < 0.05F) && (d6 != d0 || d8 != d2)) {
d10 = d0; d10 = d0;
d11 = d1; d11 = d1;
d12 = d2; d12 = d2;
d0 = d6; d0 = d6;
d1 = (double) this.X; d1 = (double) this.W;
d2 = d8; d2 = d8;
AxisAlignedBB axisalignedbb1 = this.boundingBox.clone(); AxisAlignedBB axisalignedbb1 = this.boundingBox.clone();
@ -558,7 +559,7 @@ public abstract class Entity {
} }
this.boundingBox.d(0.0D, d1, 0.0D); this.boundingBox.d(0.0D, d1, 0.0D);
if (!this.K && d7 != d1) { if (!this.J && d7 != d1) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
@ -569,7 +570,7 @@ public abstract class Entity {
} }
this.boundingBox.d(d0, 0.0D, 0.0D); this.boundingBox.d(d0, 0.0D, 0.0D);
if (!this.K && d6 != d0) { if (!this.J && d6 != d0) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
@ -580,18 +581,18 @@ public abstract class Entity {
} }
this.boundingBox.d(0.0D, 0.0D, d2); this.boundingBox.d(0.0D, 0.0D, d2);
if (!this.K && d8 != d2) { if (!this.J && d8 != d2) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
} }
if (!this.K && d7 != d1) { if (!this.J && d7 != d1) {
d2 = 0.0D; d2 = 0.0D;
d1 = 0.0D; d1 = 0.0D;
d0 = 0.0D; d0 = 0.0D;
} else { } else {
d1 = (double) (-this.X); d1 = (double) (-this.W);
for (k = 0; k < list.size(); ++k) { for (k = 0; k < list.size(); ++k) {
d1 = ((AxisAlignedBB) list.get(k)).b(this.boundingBox, d1); d1 = ((AxisAlignedBB) list.get(k)).b(this.boundingBox, d1);
@ -611,12 +612,12 @@ public abstract class Entity {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
this.world.methodProfiler.a("rest"); this.world.methodProfiler.a("rest");
this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D; this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D;
this.locY = this.boundingBox.b + (double) this.height - (double) this.W; this.locY = this.boundingBox.b + (double) this.height - (double) this.V;
this.locZ = (this.boundingBox.c + this.boundingBox.f) / 2.0D; this.locZ = (this.boundingBox.c + this.boundingBox.f) / 2.0D;
this.positionChanged = d6 != d0 || d8 != d2; this.positionChanged = d6 != d0 || d8 != d2;
this.G = d7 != d1; this.F = d7 != d1;
this.onGround = d7 != d1 && d7 < 0.0D; this.onGround = d7 != d1 && d7 < 0.0D;
this.H = this.positionChanged || this.G; this.G = this.positionChanged || this.F;
this.a(d1, this.onGround); this.a(d1, this.onGround);
if (d6 != d0) { if (d6 != d0) {
this.motX = 0.0D; this.motX = 0.0D;
@ -670,18 +671,18 @@ public abstract class Entity {
d11 = 0.0D; d11 = 0.0D;
} }
this.Q = (float) ((double) this.Q + (double) MathHelper.sqrt(d10 * d10 + d12 * d12) * 0.6D); this.P = (float) ((double) this.P + (double) MathHelper.sqrt(d10 * d10 + d12 * d12) * 0.6D);
this.R = (float) ((double) this.R + (double) MathHelper.sqrt(d10 * d10 + d11 * d11 + d12 * d12) * 0.6D); this.Q = (float) ((double) this.Q + (double) MathHelper.sqrt(d10 * d10 + d11 * d11 + d12 * d12) * 0.6D);
if (this.R > (float) this.d && block.getMaterial() != Material.AIR) { if (this.Q > (float) this.d && block.getMaterial() != Material.AIR) {
this.d = (int) this.R + 1; this.d = (int) this.Q + 1;
if (this.M()) { if (this.L()) {
float f = MathHelper.sqrt(this.motX * this.motX * 0.20000000298023224D + this.motY * this.motY + this.motZ * this.motZ * 0.20000000298023224D) * 0.35F; float f = MathHelper.sqrt(this.motX * this.motX * 0.20000000298023224D + this.motY * this.motY + this.motZ * this.motZ * 0.20000000298023224D) * 0.35F;
if (f > 1.0F) { if (f > 1.0F) {
f = 1.0F; f = 1.0F;
} }
this.makeSound(this.H(), f, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F); this.makeSound(this.G(), f, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F);
} }
this.a(l, k, i1, block); this.a(l, k, i1, block);
@ -692,7 +693,7 @@ public abstract class Entity {
// CraftBukkit start - Move to the top of the method // CraftBukkit start - Move to the top of the method
/* /*
try { try {
this.I(); this.H();
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Checking entity block collision"); CrashReport crashreport = CrashReport.a(throwable, "Checking entity block collision");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being checked for collision"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being checked for collision");
@ -702,7 +703,7 @@ public abstract class Entity {
} }
*/ */
// CraftBukkit end // CraftBukkit end
boolean flag2 = this.L(); boolean flag2 = this.K();
if (this.world.e(this.boundingBox.shrink(0.001D, 0.001D, 0.001D))) { if (this.world.e(this.boundingBox.shrink(0.001D, 0.001D, 0.001D))) {
this.burn(1); this.burn(1);
@ -734,11 +735,11 @@ public abstract class Entity {
} }
} }
protected String H() { protected String G() {
return "game.neutral.swim"; return "game.neutral.swim";
} }
protected void I() { protected void H() {
int i = MathHelper.floor(this.boundingBox.a + 0.001D); int i = MathHelper.floor(this.boundingBox.a + 0.001D);
int j = MathHelper.floor(this.boundingBox.b + 0.001D); int j = MathHelper.floor(this.boundingBox.b + 0.001D);
int k = MathHelper.floor(this.boundingBox.c + 0.001D); int k = MathHelper.floor(this.boundingBox.c + 0.001D);
@ -797,7 +798,7 @@ public abstract class Entity {
} }
} }
public AxisAlignedBB J() { public AxisAlignedBB I() {
return null; return null;
} }
@ -817,15 +818,15 @@ public abstract class Entity {
} }
} }
public boolean L() { public boolean K() {
return this.inWater || this.world.isRainingAt(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)) || this.world.isRainingAt(MathHelper.floor(this.locX), MathHelper.floor(this.locY + (double) this.length), MathHelper.floor(this.locZ)); return this.inWater || this.world.isRainingAt(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)) || this.world.isRainingAt(MathHelper.floor(this.locX), MathHelper.floor(this.locY + (double) this.length), MathHelper.floor(this.locZ));
} }
public boolean M() { public boolean L() {
return this.inWater; return this.inWater;
} }
public boolean N() { public boolean M() {
if (this.world.a(this.boundingBox.grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D, 0.001D, 0.001D), Material.WATER, this)) { if (this.world.a(this.boundingBox.grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D, 0.001D, 0.001D), Material.WATER, this)) {
if (!this.inWater && !this.justCreated) { if (!this.inWater && !this.justCreated) {
float f = MathHelper.sqrt(this.motX * this.motX * 0.20000000298023224D + this.motY * this.motY + this.motZ * this.motZ * 0.20000000298023224D) * 0.2F; float f = MathHelper.sqrt(this.motX * this.motX * 0.20000000298023224D + this.motY * this.motY + this.motZ * this.motZ * 0.20000000298023224D) * 0.2F;
@ -834,7 +835,7 @@ public abstract class Entity {
f = 1.0F; f = 1.0F;
} }
this.makeSound(this.O(), f, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F); this.makeSound(this.N(), f, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F);
float f1 = (float) MathHelper.floor(this.boundingBox.b); float f1 = (float) MathHelper.floor(this.boundingBox.b);
int i; int i;
@ -864,7 +865,7 @@ public abstract class Entity {
return this.inWater; return this.inWater;
} }
protected String O() { protected String N() {
return "game.neutral.swim.splash"; return "game.neutral.swim.splash";
} }
@ -889,7 +890,7 @@ public abstract class Entity {
return 0.0F; return 0.0F;
} }
public boolean P() { public boolean O() {
return this.world.a(this.boundingBox.grow(-0.10000000149011612D, -0.4000000059604645D, -0.10000000149011612D), Material.LAVA); return this.world.a(this.boundingBox.grow(-0.10000000149011612D, -0.4000000059604645D, -0.10000000149011612D), Material.LAVA);
} }
@ -945,7 +946,7 @@ public abstract class Entity {
this.lastZ = this.locZ = d2; this.lastZ = this.locZ = d2;
this.lastYaw = this.yaw = f; this.lastYaw = this.yaw = f;
this.lastPitch = this.pitch = f1; this.lastPitch = this.pitch = f1;
this.W = 0.0F; this.V = 0.0F;
double d3 = (double) (this.lastYaw - f); double d3 = (double) (this.lastYaw - f);
if (d3 < -180.0D) { if (d3 < -180.0D) {
@ -961,15 +962,15 @@ public abstract class Entity {
} }
public void setPositionRotation(double d0, double d1, double d2, float f, float f1) { public void setPositionRotation(double d0, double d1, double d2, float f, float f1) {
this.T = this.lastX = this.locX = d0; this.S = this.lastX = this.locX = d0;
this.U = this.lastY = this.locY = d1 + (double) this.height; this.T = this.lastY = this.locY = d1 + (double) this.height;
this.V = this.lastZ = this.locZ = d2; this.U = this.lastZ = this.locZ = d2;
this.yaw = f; this.yaw = f;
this.pitch = f1; this.pitch = f1;
this.setPosition(this.locX, this.locY, this.locZ); this.setPosition(this.locX, this.locY, this.locZ);
} }
public float d(Entity entity) { public float e(Entity entity) {
float f = (float) (this.locX - entity.locX); float f = (float) (this.locX - entity.locX);
float f1 = (float) (this.locY - entity.locY); float f1 = (float) (this.locY - entity.locY);
float f2 = (float) (this.locZ - entity.locZ); float f2 = (float) (this.locZ - entity.locZ);
@ -993,7 +994,7 @@ public abstract class Entity {
return (double) MathHelper.sqrt(d3 * d3 + d4 * d4 + d5 * d5); return (double) MathHelper.sqrt(d3 * d3 + d4 * d4 + d5 * d5);
} }
public double e(Entity entity) { public double f(Entity entity) {
double d0 = this.locX - entity.locX; double d0 = this.locX - entity.locX;
double d1 = this.locY - entity.locY; double d1 = this.locY - entity.locY;
double d2 = this.locZ - entity.locZ; double d2 = this.locZ - entity.locZ;
@ -1023,8 +1024,8 @@ public abstract class Entity {
d1 *= d3; d1 *= d3;
d0 *= 0.05000000074505806D; d0 *= 0.05000000074505806D;
d1 *= 0.05000000074505806D; d1 *= 0.05000000074505806D;
d0 *= (double) (1.0F - this.Z); d0 *= (double) (1.0F - this.Y);
d1 *= (double) (1.0F - this.Z); d1 *= (double) (1.0F - this.Y);
this.g(-d0, 0.0D, -d1); this.g(-d0, 0.0D, -d1);
entity.g(d0, 0.0D, d1); entity.g(d0, 0.0D, d1);
} }
@ -1035,10 +1036,10 @@ public abstract class Entity {
this.motX += d0; this.motX += d0;
this.motY += d1; this.motY += d1;
this.motZ += d2; this.motZ += d2;
this.am = true; this.al = true;
} }
protected void Q() { protected void P() {
this.velocityChanged = true; this.velocityChanged = true;
} }
@ -1046,23 +1047,23 @@ public abstract class Entity {
if (this.isInvulnerable()) { if (this.isInvulnerable()) {
return false; return false;
} else { } else {
this.Q(); this.P();
return false; return false;
} }
} }
public boolean Q() {
return false;
}
public boolean R() { public boolean R() {
return false; return false;
} }
public boolean S() {
return false;
}
public void b(Entity entity, int i) {} public void b(Entity entity, int i) {}
public boolean c(NBTTagCompound nbttagcompound) { public boolean c(NBTTagCompound nbttagcompound) {
String s = this.W(); String s = this.V();
if (!this.dead && s != null) { if (!this.dead && s != null) {
nbttagcompound.setString("id", s); nbttagcompound.setString("id", s);
@ -1074,7 +1075,7 @@ public abstract class Entity {
} }
public boolean d(NBTTagCompound nbttagcompound) { public boolean d(NBTTagCompound nbttagcompound) {
String s = this.W(); String s = this.V();
if (!this.dead && s != null && this.passenger == null) { if (!this.dead && s != null && this.passenger == null) {
nbttagcompound.setString("id", s); nbttagcompound.setString("id", s);
@ -1087,7 +1088,7 @@ public abstract class Entity {
public void e(NBTTagCompound nbttagcompound) { public void e(NBTTagCompound nbttagcompound) {
try { try {
nbttagcompound.set("Pos", this.a(new double[] { this.locX, this.locY + (double) this.W, this.locZ})); nbttagcompound.set("Pos", this.a(new double[] { this.locX, this.locY + (double) this.V, this.locZ}));
nbttagcompound.set("Motion", this.a(new double[] { this.motX, this.motY, this.motZ})); nbttagcompound.set("Motion", this.a(new double[] { this.motX, this.motY, this.motZ}));
// CraftBukkit start - Checking for NaN pitch/yaw and resetting to zero // CraftBukkit start - Checking for NaN pitch/yaw and resetting to zero
@ -1156,9 +1157,9 @@ public abstract class Entity {
} }
// CraftBukkit end */ // CraftBukkit end */
this.lastX = this.T = this.locX = nbttaglist.d(0); this.lastX = this.S = this.locX = nbttaglist.d(0);
this.lastY = this.U = this.locY = nbttaglist.d(1); this.lastY = this.T = this.locY = nbttaglist.d(1);
this.lastZ = this.V = this.locZ = nbttaglist.d(2); this.lastZ = this.U = this.locZ = nbttaglist.d(2);
this.lastYaw = this.yaw = nbttaglist2.e(0); this.lastYaw = this.yaw = nbttaglist2.e(0);
this.lastPitch = this.pitch = nbttaglist2.e(1); this.lastPitch = this.pitch = nbttaglist2.e(1);
this.fallDistance = nbttagcompound.getFloat("FallDistance"); this.fallDistance = nbttagcompound.getFloat("FallDistance");
@ -1175,7 +1176,7 @@ public abstract class Entity {
this.setPosition(this.locX, this.locY, this.locZ); this.setPosition(this.locX, this.locY, this.locZ);
this.b(this.yaw, this.pitch); this.b(this.yaw, this.pitch);
this.a(nbttagcompound); this.a(nbttagcompound);
if (this.V()) { if (this.U()) {
this.setPosition(this.locX, this.locY, this.locZ); this.setPosition(this.locX, this.locY, this.locZ);
} }
@ -1239,11 +1240,11 @@ public abstract class Entity {
} }
} }
protected boolean V() { protected boolean U() {
return true; return true;
} }
protected final String W() { protected final String V() {
return EntityTypes.b(this); return EntityTypes.b(this);
} }
@ -1251,7 +1252,7 @@ public abstract class Entity {
protected abstract void b(NBTTagCompound nbttagcompound); protected abstract void b(NBTTagCompound nbttagcompound);
public void X() {} public void W() {}
protected NBTTagList a(double... adouble) { protected NBTTagList a(double... adouble) {
NBTTagList nbttaglist = new NBTTagList(); NBTTagList nbttaglist = new NBTTagList();
@ -1326,11 +1327,11 @@ public abstract class Entity {
return false; return false;
} }
public AxisAlignedBB g(Entity entity) { public AxisAlignedBB h(Entity entity) {
return null; return null;
} }
public void ab() { public void aa() {
if (this.vehicle.dead) { if (this.vehicle.dead) {
this.vehicle = null; this.vehicle = null;
} else { } else {
@ -1339,7 +1340,7 @@ public abstract class Entity {
this.motZ = 0.0D; this.motZ = 0.0D;
this.h(); this.h();
if (this.vehicle != null) { if (this.vehicle != null) {
this.vehicle.ac(); this.vehicle.ab();
this.h += (double) (this.vehicle.yaw - this.vehicle.lastYaw); this.h += (double) (this.vehicle.yaw - this.vehicle.lastYaw);
for (this.g += (double) (this.vehicle.pitch - this.vehicle.lastPitch); this.h >= 180.0D; this.h -= 360.0D) { for (this.g += (double) (this.vehicle.pitch - this.vehicle.lastPitch); this.h >= 180.0D; this.h -= 360.0D) {
@ -1384,17 +1385,17 @@ public abstract class Entity {
} }
} }
public void ac() { public void ab() {
if (this.passenger != null) { if (this.passenger != null) {
this.passenger.setPosition(this.locX, this.locY + this.ae() + this.passenger.ad(), this.locZ); this.passenger.setPosition(this.locX, this.locY + this.ad() + this.passenger.ac(), this.locZ);
} }
} }
public double ad() { public double ac() {
return (double) this.height; return (double) this.height;
} }
public double ae() { public double ad() {
return (double) this.length * 0.75D; return (double) this.length * 0.75D;
} }
@ -1475,35 +1476,43 @@ public abstract class Entity {
this.vehicle.passenger = null; this.vehicle.passenger = null;
} }
if (entity != null) {
for (Entity entity1 = entity.vehicle; entity1 != null; entity1 = entity1.vehicle) {
if (entity1 == this) {
return;
}
}
}
this.vehicle = entity; this.vehicle = entity;
entity.passenger = this; entity.passenger = this;
} }
} }
public float af() { public float ae() {
return 0.1F; return 0.1F;
} }
public Vec3D ag() { public Vec3D af() {
return null; return null;
} }
public void ah() { public void ag() {
if (this.portalCooldown > 0) { if (this.portalCooldown > 0) {
this.portalCooldown = this.ai(); this.portalCooldown = this.ah();
} else { } else {
double d0 = this.lastX - this.locX; double d0 = this.lastX - this.locX;
double d1 = this.lastZ - this.locZ; double d1 = this.lastZ - this.locZ;
if (!this.world.isStatic && !this.ao) { if (!this.world.isStatic && !this.an) {
this.ar = Direction.a(d0, d1); this.aq = Direction.a(d0, d1);
} }
this.ao = true; this.an = true;
} }
} }
public int ai() { public int ah() {
return 300; return 300;
} }
@ -1519,7 +1528,7 @@ public abstract class Entity {
return !this.fireProof && (this.fireTicks > 0 || flag && this.g(0)); return !this.fireProof && (this.fireTicks > 0 || flag && this.g(0));
} }
public boolean am() { public boolean al() {
return this.vehicle != null; return this.vehicle != null;
} }
@ -1686,8 +1695,8 @@ public abstract class Entity {
} }
} }
public void as() { public void ar() {
this.J = true; this.I = true;
this.fallDistance = 0.0F; this.fallDistance = 0.0F;
} }
@ -1701,11 +1710,11 @@ public abstract class Entity {
return LocaleI18n.get("entity." + s + ".name"); return LocaleI18n.get("entity." + s + ".name");
} }
public Entity[] at() { public Entity[] as() {
return null; return null;
} }
public boolean h(Entity entity) { public boolean i(Entity entity) {
return this == entity; return this == entity;
} }
@ -1713,11 +1722,11 @@ public abstract class Entity {
return 0.0F; return 0.0F;
} }
public boolean av() { public boolean au() {
return true; return true;
} }
public boolean i(Entity entity) { public boolean j(Entity entity) {
return false; return false;
} }
@ -1729,7 +1738,7 @@ public abstract class Entity {
return this.invulnerable; return this.invulnerable;
} }
public void j(Entity entity) { public void k(Entity entity) {
this.setPositionRotation(entity.locX, entity.locY, entity.locZ, entity.yaw, entity.pitch); this.setPositionRotation(entity.locX, entity.locY, entity.locZ, entity.yaw, entity.pitch);
} }
@ -1739,7 +1748,7 @@ public abstract class Entity {
entity.e(nbttagcompound); entity.e(nbttagcompound);
this.f(nbttagcompound); this.f(nbttagcompound);
this.portalCooldown = entity.portalCooldown; this.portalCooldown = entity.portalCooldown;
this.ar = entity.ar; this.aq = entity.aq;
} }
public void b(int i) { public void b(int i) {
@ -1762,7 +1771,7 @@ public abstract class Entity {
Location exit = exitWorld != null ? minecraftserver.getPlayerList().calculateTarget(enter, minecraftserver.getWorldServer(i)) : null; Location exit = exitWorld != null ? minecraftserver.getPlayerList().calculateTarget(enter, minecraftserver.getWorldServer(i)) : null;
boolean useTravelAgent = exitWorld != null && !(this.dimension == 1 && exitWorld.dimension == 1); // don't use agent for custom worlds or return from THE_END boolean useTravelAgent = exitWorld != null && !(this.dimension == 1 && exitWorld.dimension == 1); // don't use agent for custom worlds or return from THE_END
TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().t() : org.bukkit.craftbukkit.CraftTravelAgent.DEFAULT; // return arbitrary TA to compensate for implementation dependent plugins TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().getTravelAgent() : org.bukkit.craftbukkit.CraftTravelAgent.DEFAULT; // return arbitrary TA to compensate for implementation dependent plugins
EntityPortalEvent event = new EntityPortalEvent(this.getBukkitEntity(), enter, exit, agent); EntityPortalEvent event = new EntityPortalEvent(this.getBukkitEntity(), enter, exit, agent);
event.useTravelAgent(useTravelAgent); event.useTravelAgent(useTravelAgent);
event.getEntity().getServer().getPluginManager().callEvent(event); event.getEntity().getServer().getPluginManager().callEvent(event);
@ -1835,15 +1844,15 @@ public abstract class Entity {
return true; return true;
} }
public int ax() { public int aw() {
return 3; return 3;
} }
public int ay() { public int ax() {
return this.ar; return this.aq;
} }
public boolean az() { public boolean ay() {
return false; return false;
} }
@ -1860,7 +1869,7 @@ public abstract class Entity {
return this.uniqueID; return this.uniqueID;
} }
public boolean aC() { public boolean aB() {
return true; return true;
} }

Datei anzeigen

@ -19,20 +19,20 @@ public class EntityArrow extends Entity implements IProjectile {
public int fromPlayer; public int fromPlayer;
public int shake; public int shake;
public Entity shooter; public Entity shooter;
private int j; private int at;
private int au; private int au;
private double damage = 2.0D; private double damage = 2.0D;
public int aw; // CraftBukkit - private -> public public int knockbackStrength; // CraftBukkit - private -> public
public EntityArrow(World world) { public EntityArrow(World world) {
super(world); super(world);
this.k = 10.0D; this.j = 10.0D;
this.a(0.5F, 0.5F); this.a(0.5F, 0.5F);
} }
public EntityArrow(World world, double d0, double d1, double d2) { public EntityArrow(World world, double d0, double d1, double d2) {
super(world); super(world);
this.k = 10.0D; this.j = 10.0D;
this.a(0.5F, 0.5F); this.a(0.5F, 0.5F);
this.setPosition(d0, d1, d2); this.setPosition(d0, d1, d2);
this.height = 0.0F; this.height = 0.0F;
@ -40,7 +40,7 @@ public class EntityArrow extends Entity implements IProjectile {
public EntityArrow(World world, EntityLiving entityliving, EntityLiving entityliving1, float f, float f1) { public EntityArrow(World world, EntityLiving entityliving, EntityLiving entityliving1, float f, float f1) {
super(world); super(world);
this.k = 10.0D; this.j = 10.0D;
this.shooter = entityliving; this.shooter = entityliving;
this.projectileSource = (LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit this.projectileSource = (LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit
if (entityliving instanceof EntityHuman) { if (entityliving instanceof EntityHuman) {
@ -69,7 +69,7 @@ public class EntityArrow extends Entity implements IProjectile {
public EntityArrow(World world, EntityLiving entityliving, float f) { public EntityArrow(World world, EntityLiving entityliving, float f) {
super(world); super(world);
this.k = 10.0D; this.j = 10.0D;
this.shooter = entityliving; this.shooter = entityliving;
this.projectileSource = (LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit this.projectileSource = (LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit
if (entityliving instanceof EntityHuman) { if (entityliving instanceof EntityHuman) {
@ -112,7 +112,7 @@ public class EntityArrow extends Entity implements IProjectile {
this.lastYaw = this.yaw = (float) (Math.atan2(d0, d2) * 180.0D / 3.1415927410125732D); this.lastYaw = this.yaw = (float) (Math.atan2(d0, d2) * 180.0D / 3.1415927410125732D);
this.lastPitch = this.pitch = (float) (Math.atan2(d1, (double) f3) * 180.0D / 3.1415927410125732D); this.lastPitch = this.pitch = (float) (Math.atan2(d1, (double) f3) * 180.0D / 3.1415927410125732D);
this.j = 0; this.at = 0;
} }
public void h() { public void h() {
@ -130,7 +130,7 @@ public class EntityArrow extends Entity implements IProjectile {
block.updateShape(this.world, this.d, this.e, this.f); block.updateShape(this.world, this.d, this.e, this.f);
AxisAlignedBB axisalignedbb = block.a(this.world, this.d, this.e, this.f); AxisAlignedBB axisalignedbb = block.a(this.world, this.d, this.e, this.f);
if (axisalignedbb != null && axisalignedbb.a(this.world.getVec3DPool().create(this.locX, this.locY, this.locZ))) { if (axisalignedbb != null && axisalignedbb.a(Vec3D.a(this.locX, this.locY, this.locZ))) {
this.inGround = true; this.inGround = true;
} }
} }
@ -143,8 +143,8 @@ public class EntityArrow extends Entity implements IProjectile {
int i = this.world.getData(this.d, this.e, this.f); int i = this.world.getData(this.d, this.e, this.f);
if (block == this.g && i == this.h) { if (block == this.g && i == this.h) {
++this.j; ++this.at;
if (this.j == 1200) { if (this.at == 1200) {
this.die(); this.die();
} }
} else { } else {
@ -152,19 +152,19 @@ public class EntityArrow extends Entity implements IProjectile {
this.motX *= (double) (this.random.nextFloat() * 0.2F); this.motX *= (double) (this.random.nextFloat() * 0.2F);
this.motY *= (double) (this.random.nextFloat() * 0.2F); this.motY *= (double) (this.random.nextFloat() * 0.2F);
this.motZ *= (double) (this.random.nextFloat() * 0.2F); this.motZ *= (double) (this.random.nextFloat() * 0.2F);
this.j = 0; this.at = 0;
this.au = 0; this.au = 0;
} }
} else { } else {
++this.au; ++this.au;
Vec3D vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); Vec3D vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
Vec3D vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); Vec3D vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
MovingObjectPosition movingobjectposition = this.world.rayTrace(vec3d, vec3d1, false, true, false); MovingObjectPosition movingobjectposition = this.world.rayTrace(vec3d, vec3d1, false, true, false);
vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
if (movingobjectposition != null) { if (movingobjectposition != null) {
vec3d1 = this.world.getVec3DPool().create(movingobjectposition.pos.c, movingobjectposition.pos.d, movingobjectposition.pos.e); vec3d1 = Vec3D.a(movingobjectposition.pos.a, movingobjectposition.pos.b, movingobjectposition.pos.c);
} }
Entity entity = null; Entity entity = null;
@ -177,7 +177,7 @@ public class EntityArrow extends Entity implements IProjectile {
for (j = 0; j < list.size(); ++j) { for (j = 0; j < list.size(); ++j) {
Entity entity1 = (Entity) list.get(j); Entity entity1 = (Entity) list.get(j);
if (entity1.R() && (entity1 != this.shooter || this.au >= 5)) { if (entity1.Q() && (entity1 != this.shooter || this.au >= 5)) {
f1 = 0.3F; f1 = 0.3F;
AxisAlignedBB axisalignedbb1 = entity1.boundingBox.grow((double) f1, (double) f1, (double) f1); AxisAlignedBB axisalignedbb1 = entity1.boundingBox.grow((double) f1, (double) f1, (double) f1);
MovingObjectPosition movingobjectposition1 = axisalignedbb1.a(vec3d, vec3d1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.a(vec3d, vec3d1);
@ -215,7 +215,7 @@ public class EntityArrow extends Entity implements IProjectile {
f2 = MathHelper.sqrt(this.motX * this.motX + this.motY * this.motY + this.motZ * this.motZ); f2 = MathHelper.sqrt(this.motX * this.motX + this.motY * this.motY + this.motZ * this.motZ);
int k = MathHelper.f((double) f2 * this.damage); int k = MathHelper.f((double) f2 * this.damage);
if (this.f()) { if (this.isCritical()) {
k += this.random.nextInt(k / 2 + 2); k += this.random.nextInt(k / 2 + 2);
} }
@ -244,13 +244,13 @@ public class EntityArrow extends Entity implements IProjectile {
EntityLiving entityliving = (EntityLiving) movingobjectposition.entity; EntityLiving entityliving = (EntityLiving) movingobjectposition.entity;
if (!this.world.isStatic) { if (!this.world.isStatic) {
entityliving.p(entityliving.aZ() + 1); entityliving.p(entityliving.aY() + 1);
} }
if (this.aw > 0) { if (this.knockbackStrength > 0) {
f3 = MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ); f3 = MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ);
if (f3 > 0.0F) { if (f3 > 0.0F) {
movingobjectposition.entity.g(this.motX * (double) this.aw * 0.6000000238418579D / (double) f3, 0.1D, this.motZ * (double) this.aw * 0.6000000238418579D / (double) f3); movingobjectposition.entity.g(this.motX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3);
} }
} }
@ -282,9 +282,9 @@ public class EntityArrow extends Entity implements IProjectile {
this.f = movingobjectposition.d; this.f = movingobjectposition.d;
this.g = this.world.getType(d, e, f); // CraftBukkit - Get correct block for storage this.g = this.world.getType(d, e, f); // CraftBukkit - Get correct block for storage
this.h = this.world.getData(this.d, this.e, this.f); this.h = this.world.getData(this.d, this.e, this.f);
this.motX = (double) ((float) (movingobjectposition.pos.c - this.locX)); this.motX = (double) ((float) (movingobjectposition.pos.a - this.locX));
this.motY = (double) ((float) (movingobjectposition.pos.d - this.locY)); this.motY = (double) ((float) (movingobjectposition.pos.b - this.locY));
this.motZ = (double) ((float) (movingobjectposition.pos.e - this.locZ)); this.motZ = (double) ((float) (movingobjectposition.pos.c - this.locZ));
f2 = MathHelper.sqrt(this.motX * this.motX + this.motY * this.motY + this.motZ * this.motZ); f2 = MathHelper.sqrt(this.motX * this.motX + this.motY * this.motY + this.motZ * this.motZ);
this.locX -= this.motX / (double) f2 * 0.05000000074505806D; this.locX -= this.motX / (double) f2 * 0.05000000074505806D;
this.locY -= this.motY / (double) f2 * 0.05000000074505806D; this.locY -= this.motY / (double) f2 * 0.05000000074505806D;
@ -292,14 +292,14 @@ public class EntityArrow extends Entity implements IProjectile {
this.makeSound("random.bowhit", 1.0F, 1.2F / (this.random.nextFloat() * 0.2F + 0.9F)); this.makeSound("random.bowhit", 1.0F, 1.2F / (this.random.nextFloat() * 0.2F + 0.9F));
this.inGround = true; this.inGround = true;
this.shake = 7; this.shake = 7;
this.a(false); this.setCritical(false);
if (this.g.getMaterial() != Material.AIR) { if (this.g.getMaterial() != Material.AIR) {
this.g.a(this.world, this.d, this.e, this.f, (Entity) this); this.g.a(this.world, this.d, this.e, this.f, (Entity) this);
} }
} }
} }
if (this.f()) { if (this.isCritical()) {
for (j = 0; j < 4; ++j) { for (j = 0; j < 4; ++j) {
this.world.addParticle("crit", this.locX + this.motX * (double) j / 4.0D, this.locY + this.motY * (double) j / 4.0D, this.locZ + this.motZ * (double) j / 4.0D, -this.motX, -this.motY + 0.2D, -this.motZ); this.world.addParticle("crit", this.locX + this.motX * (double) j / 4.0D, this.locY + this.motY * (double) j / 4.0D, this.locZ + this.motZ * (double) j / 4.0D, -this.motX, -this.motY + 0.2D, -this.motZ);
} }
@ -332,7 +332,7 @@ public class EntityArrow extends Entity implements IProjectile {
float f4 = 0.99F; float f4 = 0.99F;
f1 = 0.05F; f1 = 0.05F;
if (this.M()) { if (this.L()) {
for (int l = 0; l < 4; ++l) { for (int l = 0; l < 4; ++l) {
f3 = 0.25F; f3 = 0.25F;
this.world.addParticle("bubble", this.locX - this.motX * (double) f3, this.locY - this.motY * (double) f3, this.locZ - this.motZ * (double) f3, this.motX, this.motY, this.motZ); this.world.addParticle("bubble", this.locX - this.motX * (double) f3, this.locY - this.motY * (double) f3, this.locZ - this.motZ * (double) f3, this.motX, this.motY, this.motZ);
@ -341,7 +341,7 @@ public class EntityArrow extends Entity implements IProjectile {
f4 = 0.8F; f4 = 0.8F;
} }
if (this.L()) { if (this.K()) {
this.extinguish(); this.extinguish();
} }
@ -350,7 +350,7 @@ public class EntityArrow extends Entity implements IProjectile {
this.motZ *= (double) f4; this.motZ *= (double) f4;
this.motY -= (double) f1; this.motY -= (double) f1;
this.setPosition(this.locX, this.locY, this.locZ); this.setPosition(this.locX, this.locY, this.locZ);
this.I(); this.H();
} }
} }
@ -358,7 +358,7 @@ public class EntityArrow extends Entity implements IProjectile {
nbttagcompound.setShort("xTile", (short) this.d); nbttagcompound.setShort("xTile", (short) this.d);
nbttagcompound.setShort("yTile", (short) this.e); nbttagcompound.setShort("yTile", (short) this.e);
nbttagcompound.setShort("zTile", (short) this.f); nbttagcompound.setShort("zTile", (short) this.f);
nbttagcompound.setShort("life", (short) this.j); nbttagcompound.setShort("life", (short) this.at);
nbttagcompound.setByte("inTile", (byte) Block.b(this.g)); nbttagcompound.setByte("inTile", (byte) Block.b(this.g));
nbttagcompound.setByte("inData", (byte) this.h); nbttagcompound.setByte("inData", (byte) this.h);
nbttagcompound.setByte("shake", (byte) this.shake); nbttagcompound.setByte("shake", (byte) this.shake);
@ -371,7 +371,7 @@ public class EntityArrow extends Entity implements IProjectile {
this.d = nbttagcompound.getShort("xTile"); this.d = nbttagcompound.getShort("xTile");
this.e = nbttagcompound.getShort("yTile"); this.e = nbttagcompound.getShort("yTile");
this.f = nbttagcompound.getShort("zTile"); this.f = nbttagcompound.getShort("zTile");
this.j = nbttagcompound.getShort("life"); this.at = nbttagcompound.getShort("life");
this.g = Block.e(nbttagcompound.getByte("inTile") & 255); this.g = Block.e(nbttagcompound.getByte("inTile") & 255);
this.h = nbttagcompound.getByte("inData") & 255; this.h = nbttagcompound.getByte("inData") & 255;
this.shake = nbttagcompound.getByte("shake") & 255; this.shake = nbttagcompound.getByte("shake") & 255;
@ -430,15 +430,15 @@ public class EntityArrow extends Entity implements IProjectile {
return this.damage; return this.damage;
} }
public void a(int i) { public void setKnockbackStrength(int i) {
this.aw = i; this.knockbackStrength = i;
} }
public boolean av() { public boolean au() {
return false; return false;
} }
public void a(boolean flag) { public void setCritical(boolean flag) {
byte b0 = this.datawatcher.getByte(16); byte b0 = this.datawatcher.getByte(16);
if (flag) { if (flag) {
@ -448,7 +448,7 @@ public class EntityArrow extends Entity implements IProjectile {
} }
} }
public boolean f() { public boolean isCritical() {
byte b0 = this.datawatcher.getByte(16); byte b0 = this.datawatcher.getByte(16);
return (b0 & 1) != 0; return (b0 & 1) != 0;

Datei anzeigen

@ -12,8 +12,8 @@ public class EntityBlaze extends EntityMonster {
this.b = 10; this.b = 10;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.e).setValue(6.0D); this.getAttributeInstance(GenericAttributes.e).setValue(6.0D);
} }
@ -26,11 +26,11 @@ public class EntityBlaze extends EntityMonster {
return "mob.blaze.breathe"; return "mob.blaze.breathe";
} }
protected String aT() { protected String aS() {
return "mob.blaze.hit"; return "mob.blaze.hit";
} }
protected String aU() { protected String aT() {
return "mob.blaze.death"; return "mob.blaze.death";
} }
@ -40,7 +40,7 @@ public class EntityBlaze extends EntityMonster {
public void e() { public void e() {
if (!this.world.isStatic) { if (!this.world.isStatic) {
if (this.L()) { if (this.K()) {
this.damageEntity(DamageSource.DROWN, 1.0F); this.damageEntity(DamageSource.DROWN, 1.0F);
} }
@ -50,7 +50,7 @@ public class EntityBlaze extends EntityMonster {
this.bp = 0.5F + (float) this.random.nextGaussian() * 3.0F; this.bp = 0.5F + (float) this.random.nextGaussian() * 3.0F;
} }
if (this.bR() != null && this.bR().locY + (double) this.bR().getHeadHeight() > this.locY + (double) this.getHeadHeight() + (double) this.bp) { if (this.bT() != null && this.bT().locY + (double) this.bT().getHeadHeight() > this.locY + (double) this.getHeadHeight() + (double) this.bp) {
this.motY += (0.30000001192092896D - this.motY) * 0.30000001192092896D; this.motY += (0.30000001192092896D - this.motY) * 0.30000001192092896D;
} }
} }
@ -73,7 +73,7 @@ public class EntityBlaze extends EntityMonster {
protected void a(Entity entity, float f) { protected void a(Entity entity, float f) {
if (this.attackTicks <= 0 && f < 2.0F && entity.boundingBox.e > this.boundingBox.b && entity.boundingBox.b < this.boundingBox.e) { if (this.attackTicks <= 0 && f < 2.0F && entity.boundingBox.e > this.boundingBox.b && entity.boundingBox.b < this.boundingBox.e) {
this.attackTicks = 20; this.attackTicks = 20;
this.m(entity); this.n(entity);
} else if (f < 30.0F) { } else if (f < 30.0F) {
double d0 = entity.locX - this.locX; double d0 = entity.locX - this.locX;
double d1 = entity.boundingBox.b + (double) (entity.length / 2.0F) - (this.locY + (double) (this.length / 2.0F)); double d1 = entity.boundingBox.b + (double) (entity.length / 2.0F) - (this.locY + (double) (this.length / 2.0F));
@ -118,7 +118,7 @@ public class EntityBlaze extends EntityMonster {
} }
public boolean isBurning() { public boolean isBurning() {
return this.bX(); return this.bZ();
} }
protected void dropDeathLoot(boolean flag, int i) { protected void dropDeathLoot(boolean flag, int i) {
@ -137,7 +137,7 @@ public class EntityBlaze extends EntityMonster {
// CraftBukkit end // CraftBukkit end
} }
public boolean bX() { public boolean bZ() {
return (this.datawatcher.getByte(16) & 1) != 0; return (this.datawatcher.getByte(16) & 1) != 0;
} }

Datei anzeigen

@ -48,7 +48,7 @@ public class EntityBoat extends Entity {
super(world); super(world);
this.a = true; this.a = true;
this.b = 0.07D; this.b = 0.07D;
this.l = true; this.k = true;
this.a(1.5F, 0.6F); this.a(1.5F, 0.6F);
this.height = this.length / 2.0F; this.height = this.length / 2.0F;
} }
@ -63,15 +63,15 @@ public class EntityBoat extends Entity {
this.datawatcher.a(19, new Float(0.0F)); this.datawatcher.a(19, new Float(0.0F));
} }
public AxisAlignedBB g(Entity entity) { public AxisAlignedBB h(Entity entity) {
return entity.boundingBox; return entity.boundingBox;
} }
public AxisAlignedBB J() { public AxisAlignedBB I() {
return this.boundingBox; return this.boundingBox;
} }
public boolean S() { public boolean R() {
return true; return true;
} }
@ -88,7 +88,7 @@ public class EntityBoat extends Entity {
this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
} }
public double ae() { public double ad() {
return (double) this.length * 0.0D - 0.30000001192092896D; return (double) this.length * 0.0D - 0.30000001192092896D;
} }
@ -112,7 +112,7 @@ public class EntityBoat extends Entity {
this.c(-this.i()); this.c(-this.i());
this.a(10); this.a(10);
this.setDamage(this.getDamage() + f * 10.0F); this.setDamage(this.getDamage() + f * 10.0F);
this.Q(); this.P();
boolean flag = damagesource.getEntity() instanceof EntityHuman && ((EntityHuman) damagesource.getEntity()).abilities.canInstantlyBuild; boolean flag = damagesource.getEntity() instanceof EntityHuman && ((EntityHuman) damagesource.getEntity()).abilities.canInstantlyBuild;
if (flag || this.getDamage() > 40.0F) { if (flag || this.getDamage() > 40.0F) {
@ -143,7 +143,7 @@ public class EntityBoat extends Entity {
} }
} }
public boolean R() { public boolean Q() {
return !this.dead; return !this.dead;
} }
@ -174,7 +174,7 @@ public class EntityBoat extends Entity {
for (int i = 0; i < b0; ++i) { for (int i = 0; i < b0; ++i) {
double d1 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (i + 0) / (double) b0 - 0.125D; double d1 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (i + 0) / (double) b0 - 0.125D;
double d2 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (i + 1) / (double) b0 - 0.125D; double d2 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (i + 1) / (double) b0 - 0.125D;
AxisAlignedBB axisalignedbb = AxisAlignedBB.a().a(this.boundingBox.a, d1, this.boundingBox.c, this.boundingBox.d, d2, this.boundingBox.f); AxisAlignedBB axisalignedbb = AxisAlignedBB.a(this.boundingBox.a, d1, this.boundingBox.c, this.boundingBox.d, d2, this.boundingBox.f);
if (this.world.b(axisalignedbb, Material.WATER)) { if (this.world.b(axisalignedbb, Material.WATER)) {
d0 += 1.0D / (double) b0; d0 += 1.0D / (double) b0;
@ -251,10 +251,10 @@ public class EntityBoat extends Entity {
if (this.passenger != null && this.passenger instanceof EntityLiving) { if (this.passenger != null && this.passenger instanceof EntityLiving) {
EntityLiving entityliving = (EntityLiving) this.passenger; EntityLiving entityliving = (EntityLiving) this.passenger;
float f = this.passenger.yaw + -entityliving.be * 90.0F; float f = this.passenger.yaw + -entityliving.bd * 90.0F;
this.motX += -Math.sin((double) (f * 3.1415927F / 180.0F)) * this.b * (double) entityliving.bf * 0.05000000074505806D; this.motX += -Math.sin((double) (f * 3.1415927F / 180.0F)) * this.b * (double) entityliving.be * 0.05000000074505806D;
this.motZ += Math.cos((double) (f * 3.1415927F / 180.0F)) * this.b * (double) entityliving.bf * 0.05000000074505806D; this.motZ += Math.cos((double) (f * 3.1415927F / 180.0F)) * this.b * (double) entityliving.be * 0.05000000074505806D;
} }
// CraftBukkit start - Support unoccupied deceleration // CraftBukkit start - Support unoccupied deceleration
else if (unoccupiedDeceleration >= 0) { else if (unoccupiedDeceleration >= 0) {
@ -397,7 +397,7 @@ public class EntityBoat extends Entity {
for (int k1 = 0; k1 < list.size(); ++k1) { for (int k1 = 0; k1 < list.size(); ++k1) {
Entity entity = (Entity) list.get(k1); Entity entity = (Entity) list.get(k1);
if (entity != this.passenger && entity.S() && entity instanceof EntityBoat) { if (entity != this.passenger && entity.R() && entity instanceof EntityBoat) {
entity.collide(this); entity.collide(this);
} }
} }
@ -411,12 +411,12 @@ public class EntityBoat extends Entity {
} }
} }
public void ac() { public void ab() {
if (this.passenger != null) { if (this.passenger != null) {
double d0 = Math.cos((double) this.yaw * 3.141592653589793D / 180.0D) * 0.4D; double d0 = Math.cos((double) this.yaw * 3.141592653589793D / 180.0D) * 0.4D;
double d1 = Math.sin((double) this.yaw * 3.141592653589793D / 180.0D) * 0.4D; double d1 = Math.sin((double) this.yaw * 3.141592653589793D / 180.0D) * 0.4D;
this.passenger.setPosition(this.locX + d0, this.locY + this.ae() + this.passenger.ad(), this.locZ + d1); this.passenger.setPosition(this.locX + d0, this.locY + this.ad() + this.passenger.ac(), this.locZ + d1);
} }
} }

Datei anzeigen

@ -10,6 +10,7 @@ public class EntityChicken extends EntityAnimal {
public float bs; public float bs;
public float bt = 1.0F; public float bt = 1.0F;
public int bu; public int bu;
public boolean bv;
public EntityChicken(World world) { public EntityChicken(World world) {
super(world); super(world);
@ -25,12 +26,12 @@ public class EntityChicken extends EntityAnimal {
this.goalSelector.a(7, new PathfinderGoalRandomLookaround(this)); this.goalSelector.a(7, new PathfinderGoalRandomLookaround(this));
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(4.0D); this.getAttributeInstance(GenericAttributes.a).setValue(4.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.25D); this.getAttributeInstance(GenericAttributes.d).setValue(0.25D);
} }
@ -71,11 +72,11 @@ public class EntityChicken extends EntityAnimal {
return "mob.chicken.say"; return "mob.chicken.say";
} }
protected String aT() { protected String aS() {
return "mob.chicken.hurt"; return "mob.chicken.hurt";
} }
protected String aU() { protected String aT() {
return "mob.chicken.hurt"; return "mob.chicken.hurt";
} }
@ -114,6 +115,45 @@ public class EntityChicken extends EntityAnimal {
return itemstack != null && itemstack.getItem() instanceof ItemSeeds; return itemstack != null && itemstack.getItem() instanceof ItemSeeds;
} }
public void a(NBTTagCompound nbttagcompound) {
super.a(nbttagcompound);
this.bv = nbttagcompound.getBoolean("IsChickenJockey");
}
protected int getExpValue(EntityHuman entityhuman) {
return this.bZ() ? 10 : super.getExpValue(entityhuman);
}
public void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound);
nbttagcompound.setBoolean("IsChickenJockey", this.bv);
}
protected boolean isTypeNotPersistent() {
return this.bZ() && this.passenger == null;
}
public void ab() {
super.ab();
float f = MathHelper.sin(this.aM * 3.1415927F / 180.0F);
float f1 = MathHelper.cos(this.aM * 3.1415927F / 180.0F);
float f2 = 0.1F;
float f3 = 0.0F;
this.passenger.setPosition(this.locX + (double) (f2 * f), this.locY + (double) (this.length * 0.5F) + this.passenger.ac() + (double) f3, this.locZ - (double) (f2 * f1));
if (this.passenger instanceof EntityLiving) {
((EntityLiving) this.passenger).aM = this.aM;
}
}
public boolean bZ() {
return this.bv;
}
public void i(boolean flag) {
this.bv = flag;
}
public EntityAgeable createChild(EntityAgeable entityageable) { public EntityAgeable createChild(EntityAgeable entityageable) {
return this.b(entityageable); return this.b(entityageable);
} }

Datei anzeigen

@ -22,12 +22,12 @@ public class EntityCow extends EntityAnimal {
this.goalSelector.a(7, new PathfinderGoalRandomLookaround(this)); this.goalSelector.a(7, new PathfinderGoalRandomLookaround(this));
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(10.0D); this.getAttributeInstance(GenericAttributes.a).setValue(10.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.20000000298023224D); this.getAttributeInstance(GenericAttributes.d).setValue(0.20000000298023224D);
} }
@ -36,11 +36,11 @@ public class EntityCow extends EntityAnimal {
return "mob.cow.say"; return "mob.cow.say";
} }
protected String aT() { protected String aS() {
return "mob.cow.hurt"; return "mob.cow.hurt";
} }
protected String aU() { protected String aT() {
return "mob.cow.hurt"; return "mob.cow.hurt";
} }
@ -48,7 +48,7 @@ public class EntityCow extends EntityAnimal {
this.makeSound("mob.cow.step", 0.15F, 1.0F); this.makeSound("mob.cow.step", 0.15F, 1.0F);
} }
protected float bf() { protected float be() {
return 0.4F; return 0.4F;
} }

Datei anzeigen

@ -25,11 +25,11 @@ public abstract class EntityCreature extends EntityInsentient {
super(world); super(world);
} }
protected boolean bN() { protected boolean bP() {
return false; return false;
} }
protected void bq() { protected void bp() {
this.world.methodProfiler.a("ai"); this.world.methodProfiler.a("ai");
if (this.bo > 0 && --this.bo == 0) { if (this.bo > 0 && --this.bo == 0) {
AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.d); AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.d);
@ -37,7 +37,7 @@ public abstract class EntityCreature extends EntityInsentient {
attributeinstance.b(i); attributeinstance.b(i);
} }
this.bn = this.bN(); this.bn = this.bP();
float f11 = 16.0F; float f11 = 16.0F;
if (this.target == null) { if (this.target == null) {
@ -61,9 +61,9 @@ public abstract class EntityCreature extends EntityInsentient {
this.pathEntity = this.world.findPath(this, this.target, f11, true, false, false, true); this.pathEntity = this.world.findPath(this, this.target, f11, true, false, false, true);
} }
} else if (this.target.isAlive()) { } else if (this.target.isAlive()) {
float f1 = this.target.d((Entity) this); float f1 = this.target.e((Entity) this);
if (this.o(this.target)) { if (this.p(this.target)) {
this.a(this.target, f1); this.a(this.target, f1);
} }
} else { } else {
@ -88,13 +88,13 @@ public abstract class EntityCreature extends EntityInsentient {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
if (!this.bn && this.target != null && (this.pathEntity == null || this.random.nextInt(20) == 0)) { if (!this.bn && this.target != null && (this.pathEntity == null || this.random.nextInt(20) == 0)) {
this.pathEntity = this.world.findPath(this, this.target, f11, true, false, false, true); this.pathEntity = this.world.findPath(this, this.target, f11, true, false, false, true);
} else if (!this.bn && (this.pathEntity == null && this.random.nextInt(180) == 0 || this.random.nextInt(120) == 0 || this.bo > 0) && this.aV < 100) { } else if (!this.bn && (this.pathEntity == null && this.random.nextInt(180) == 0 || this.random.nextInt(120) == 0 || this.bo > 0) && this.aU < 100) {
this.bO(); this.bQ();
} }
int i = MathHelper.floor(this.boundingBox.b + 0.5D); int i = MathHelper.floor(this.boundingBox.b + 0.5D);
boolean flag = this.M(); boolean flag = this.L();
boolean flag1 = this.P(); boolean flag1 = this.O();
this.pitch = 0.0F; this.pitch = 0.0F;
if (this.pathEntity != null && this.random.nextInt(100) != 0) { if (this.pathEntity != null && this.random.nextInt(100) != 0) {
@ -102,7 +102,7 @@ public abstract class EntityCreature extends EntityInsentient {
Vec3D vec3d = this.pathEntity.a((Entity) this); Vec3D vec3d = this.pathEntity.a((Entity) this);
double d0 = (double) (this.width * 2.0F); double d0 = (double) (this.width * 2.0F);
while (vec3d != null && vec3d.d(this.locX, vec3d.d, this.locZ) < d0 * d0) { while (vec3d != null && vec3d.d(this.locX, vec3d.b, this.locZ) < d0 * d0) {
this.pathEntity.a(); this.pathEntity.a();
if (this.pathEntity.b()) { if (this.pathEntity.b()) {
vec3d = null; vec3d = null;
@ -112,16 +112,16 @@ public abstract class EntityCreature extends EntityInsentient {
} }
} }
this.bd = false; this.bc = false;
if (vec3d != null) { if (vec3d != null) {
double d1 = vec3d.c - this.locX; double d1 = vec3d.a - this.locX;
double d2 = vec3d.e - this.locZ; double d2 = vec3d.c - this.locZ;
double d3 = vec3d.d - (double) i; double d3 = vec3d.b - (double) i;
// CraftBukkit - Math -> TrigMath // CraftBukkit - Math -> TrigMath
float f2 = (float) (org.bukkit.craftbukkit.TrigMath.atan2(d2, d1) * 180.0D / 3.1415927410125732D) - 90.0F; float f2 = (float) (org.bukkit.craftbukkit.TrigMath.atan2(d2, d1) * 180.0D / 3.1415927410125732D) - 90.0F;
float f3 = MathHelper.g(f2 - this.yaw); float f3 = MathHelper.g(f2 - this.yaw);
this.bf = (float) this.getAttributeInstance(GenericAttributes.d).getValue(); this.be = (float) this.getAttributeInstance(GenericAttributes.d).getValue();
if (f3 > 30.0F) { if (f3 > 30.0F) {
f3 = 30.0F; f3 = 30.0F;
} }
@ -138,12 +138,12 @@ public abstract class EntityCreature extends EntityInsentient {
this.yaw = (float) (Math.atan2(d5, d4) * 180.0D / 3.1415927410125732D) - 90.0F; this.yaw = (float) (Math.atan2(d5, d4) * 180.0D / 3.1415927410125732D) - 90.0F;
f3 = (f4 - this.yaw + 90.0F) * 3.1415927F / 180.0F; f3 = (f4 - this.yaw + 90.0F) * 3.1415927F / 180.0F;
this.be = -MathHelper.sin(f3) * this.bf * 1.0F; this.bd = -MathHelper.sin(f3) * this.be * 1.0F;
this.bf = MathHelper.cos(f3) * this.bf * 1.0F; this.be = MathHelper.cos(f3) * this.be * 1.0F;
} }
if (d3 > 0.0D) { if (d3 > 0.0D) {
this.bd = true; this.bc = true;
} }
} }
@ -151,22 +151,22 @@ public abstract class EntityCreature extends EntityInsentient {
this.a(this.target, 30.0F, 30.0F); this.a(this.target, 30.0F, 30.0F);
} }
if (this.positionChanged && !this.bQ()) { if (this.positionChanged && !this.bS()) {
this.bd = true; this.bc = true;
} }
if (this.random.nextFloat() < 0.8F && (flag || flag1)) { if (this.random.nextFloat() < 0.8F && (flag || flag1)) {
this.bd = true; this.bc = true;
} }
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} else { } else {
super.bq(); super.bp();
this.pathEntity = null; this.pathEntity = null;
} }
} }
protected void bO() { protected void bQ() {
this.world.methodProfiler.a("stroll"); this.world.methodProfiler.a("stroll");
boolean flag = false; boolean flag = false;
int i = -1; int i = -1;
@ -214,7 +214,7 @@ public abstract class EntityCreature extends EntityInsentient {
return super.canSpawn() && this.a(i, j, k) >= 0.0F; return super.canSpawn() && this.a(i, j, k) >= 0.0F;
} }
public boolean bQ() { public boolean bS() {
return this.pathEntity != null; return this.pathEntity != null;
} }
@ -222,7 +222,7 @@ public abstract class EntityCreature extends EntityInsentient {
this.pathEntity = pathentity; this.pathEntity = pathentity;
} }
public Entity bR() { public Entity bT() {
return this.target; return this.target;
} }
@ -230,7 +230,7 @@ public abstract class EntityCreature extends EntityInsentient {
this.target = entity; this.target = entity;
} }
public boolean bS() { public boolean bU() {
return this.b(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)); return this.b(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ));
} }
@ -243,29 +243,29 @@ public abstract class EntityCreature extends EntityInsentient {
this.br = (float) l; this.br = (float) l;
} }
public ChunkCoordinates bT() { public ChunkCoordinates bV() {
return this.bq; return this.bq;
} }
public float bU() { public float bW() {
return this.br; return this.br;
} }
public void bV() { public void bX() {
this.br = -1.0F; this.br = -1.0F;
} }
public boolean bW() { public boolean bY() {
return this.br != -1.0F; return this.br != -1.0F;
} }
protected void bJ() { protected void bL() {
super.bJ(); super.bL();
if (this.bL() && this.getLeashHolder() != null && this.getLeashHolder().world == this.world) { if (this.bN() && this.getLeashHolder() != null && this.getLeashHolder().world == this.world) {
Entity entity = this.getLeashHolder(); Entity entity = this.getLeashHolder();
this.a((int) entity.locX, (int) entity.locY, (int) entity.locZ, 5); this.a((int) entity.locX, (int) entity.locY, (int) entity.locZ, 5);
float f = this.d(entity); float f = this.e(entity);
if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) { if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) {
if (f > 10.0F) { if (f > 10.0F) {
@ -301,11 +301,11 @@ public abstract class EntityCreature extends EntityInsentient {
this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit
this.unleash(true, true); this.unleash(true, true);
} }
} else if (!this.bL() && this.bt) { } else if (!this.bN() && this.bt) {
this.bt = false; this.bt = false;
this.goalSelector.a(this.bs); this.goalSelector.a(this.bs);
this.getNavigation().a(true); this.getNavigation().a(true);
this.bV(); this.bX();
} }
} }

Datei anzeigen

@ -26,16 +26,16 @@ public class EntityCreeper extends EntityMonster {
this.targetSelector.a(2, new PathfinderGoalHurtByTarget(this, false)); this.targetSelector.a(2, new PathfinderGoalHurtByTarget(this, false));
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.d).setValue(0.25D); this.getAttributeInstance(GenericAttributes.d).setValue(0.25D);
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
public int ax() { public int aw() {
return this.getGoalTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F); return this.getGoalTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F);
} }
@ -62,7 +62,7 @@ public class EntityCreeper extends EntityMonster {
nbttagcompound.setShort("Fuse", (short) this.maxFuseTicks); nbttagcompound.setShort("Fuse", (short) this.maxFuseTicks);
nbttagcompound.setByte("ExplosionRadius", (byte) this.explosionRadius); nbttagcompound.setByte("ExplosionRadius", (byte) this.explosionRadius);
nbttagcompound.setBoolean("ignited", this.ca()); nbttagcompound.setBoolean("ignited", this.cc());
} }
public void a(NBTTagCompound nbttagcompound) { public void a(NBTTagCompound nbttagcompound) {
@ -77,18 +77,18 @@ public class EntityCreeper extends EntityMonster {
} }
if (nbttagcompound.getBoolean("ignited")) { if (nbttagcompound.getBoolean("ignited")) {
this.cb(); this.cd();
} }
} }
public void h() { public void h() {
if (this.isAlive()) { if (this.isAlive()) {
this.bp = this.fuseTicks; this.bp = this.fuseTicks;
if (this.ca()) { if (this.cc()) {
this.a(1); this.a(1);
} }
int i = this.bZ(); int i = this.cb();
if (i > 0 && this.fuseTicks == 0) { if (i > 0 && this.fuseTicks == 0) {
this.makeSound("creeper.primed", 1.0F, 0.5F); this.makeSound("creeper.primed", 1.0F, 0.5F);
@ -101,18 +101,18 @@ public class EntityCreeper extends EntityMonster {
if (this.fuseTicks >= this.maxFuseTicks) { if (this.fuseTicks >= this.maxFuseTicks) {
this.fuseTicks = this.maxFuseTicks; this.fuseTicks = this.maxFuseTicks;
this.cc(); this.ce();
} }
} }
super.h(); super.h();
} }
protected String aT() { protected String aS() {
return "mob.creeper.say"; return "mob.creeper.say";
} }
protected String aU() { protected String aT() {
return "mob.creeper.death"; return "mob.creeper.death";
} }
@ -159,7 +159,7 @@ public class EntityCreeper extends EntityMonster {
} }
// CraftBukkit end // CraftBukkit end
public boolean m(Entity entity) { public boolean n(Entity entity) {
return true; return true;
} }
@ -171,7 +171,7 @@ public class EntityCreeper extends EntityMonster {
return Items.SULPHUR; return Items.SULPHUR;
} }
public int bZ() { public int cb() {
return this.datawatcher.getByte(16); return this.datawatcher.getByte(16);
} }
@ -203,9 +203,9 @@ public class EntityCreeper extends EntityMonster {
if (itemstack != null && itemstack.getItem() == Items.FLINT_AND_STEEL) { if (itemstack != null && itemstack.getItem() == Items.FLINT_AND_STEEL) {
this.world.makeSound(this.locX + 0.5D, this.locY + 0.5D, this.locZ + 0.5D, "fire.ignite", 1.0F, this.random.nextFloat() * 0.4F + 0.8F); this.world.makeSound(this.locX + 0.5D, this.locY + 0.5D, this.locZ + 0.5D, "fire.ignite", 1.0F, this.random.nextFloat() * 0.4F + 0.8F);
entityhuman.ba(); entityhuman.aZ();
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.cb(); this.cd();
itemstack.damage(1, entityhuman); itemstack.damage(1, entityhuman);
return true; return true;
} }
@ -214,7 +214,7 @@ public class EntityCreeper extends EntityMonster {
return super.a(entityhuman); return super.a(entityhuman);
} }
private void cc() { private void ce() {
if (!this.world.isStatic) { if (!this.world.isStatic) {
boolean flag = this.world.getGameRules().getBoolean("mobGriefing"); boolean flag = this.world.getGameRules().getBoolean("mobGriefing");
@ -233,11 +233,11 @@ public class EntityCreeper extends EntityMonster {
} }
} }
public boolean ca() { public boolean cc() {
return this.datawatcher.getByte(18) != 0; return this.datawatcher.getByte(18) != 0;
} }
public void cb() { public void cd() {
this.datawatcher.watch(18, Byte.valueOf((byte) 1)); this.datawatcher.watch(18, Byte.valueOf((byte) 1));
} }
} }

Datei anzeigen

@ -19,7 +19,7 @@ public class EntityDamageSourceIndirect extends EntityDamageSource {
public IChatBaseComponent getLocalizedDeathMessage(EntityLiving entityliving) { public IChatBaseComponent getLocalizedDeathMessage(EntityLiving entityliving) {
IChatBaseComponent ichatbasecomponent = this.owner == null ? this.p.getScoreboardDisplayName() : this.owner.getScoreboardDisplayName(); IChatBaseComponent ichatbasecomponent = this.owner == null ? this.p.getScoreboardDisplayName() : this.owner.getScoreboardDisplayName();
ItemStack itemstack = this.owner instanceof EntityLiving ? ((EntityLiving) this.owner).be() : null; ItemStack itemstack = this.owner instanceof EntityLiving ? ((EntityLiving) this.owner).bd() : null;
String s = "death.attack." + this.translationIndex; String s = "death.attack." + this.translationIndex;
String s1 = s + ".item"; String s1 = s + ".item";

Datei anzeigen

@ -26,7 +26,7 @@ public class EntityEgg extends EntityProjectile {
movingobjectposition.entity.damageEntity(DamageSource.projectile(this, this.getShooter()), 0.0F); movingobjectposition.entity.damageEntity(DamageSource.projectile(this, this.getShooter()), 0.0F);
} }
// CraftBukkit start // CraftBukkit start - Fire PlayerEggThrowEvent
boolean hatching = !this.world.isStatic && this.random.nextInt(8) == 0; boolean hatching = !this.world.isStatic && this.random.nextInt(8) == 0;
int numHatching = (this.random.nextInt(32) == 0) ? 4 : 1; int numHatching = (this.random.nextInt(32) == 0) ? 4 : 1;
if (!hatching) { if (!hatching) {

Datei anzeigen

@ -9,7 +9,7 @@ public class EntityEnderCrystal extends Entity {
public EntityEnderCrystal(World world) { public EntityEnderCrystal(World world) {
super(world); super(world);
this.l = true; this.k = true;
this.a(2.0F, 2.0F); this.a(2.0F, 2.0F);
this.height = this.length / 2.0F; this.height = this.length / 2.0F;
this.b = 5; this.b = 5;
@ -47,7 +47,7 @@ public class EntityEnderCrystal extends Entity {
protected void a(NBTTagCompound nbttagcompound) {} protected void a(NBTTagCompound nbttagcompound) {}
public boolean R() { public boolean Q() {
return true; return true;
} }

Datei anzeigen

@ -18,7 +18,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
public double h; public double h;
public double i; public double i;
public double j; public double bm;
public double[][] bn = new double[64][3]; public double[][] bn = new double[64][3];
public int bo = -1; public int bo = -1;
public EntityComplexPart[] children; public EntityComplexPart[] children;
@ -43,14 +43,14 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
this.children = new EntityComplexPart[] { this.bq = new EntityComplexPart(this, "head", 6.0F, 6.0F), this.br = new EntityComplexPart(this, "body", 8.0F, 8.0F), this.bs = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bt = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bu = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bv = new EntityComplexPart(this, "wing", 4.0F, 4.0F), this.bw = new EntityComplexPart(this, "wing", 4.0F, 4.0F)}; this.children = new EntityComplexPart[] { this.bq = new EntityComplexPart(this, "head", 6.0F, 6.0F), this.br = new EntityComplexPart(this, "body", 8.0F, 8.0F), this.bs = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bt = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bu = new EntityComplexPart(this, "tail", 4.0F, 4.0F), this.bv = new EntityComplexPart(this, "wing", 4.0F, 4.0F), this.bw = new EntityComplexPart(this, "wing", 4.0F, 4.0F)};
this.setHealth(this.getMaxHealth()); this.setHealth(this.getMaxHealth());
this.a(16.0F, 8.0F); this.a(16.0F, 8.0F);
this.Y = true; this.X = true;
this.fireProof = true; this.fireProof = true;
this.i = 100.0D; this.i = 100.0D;
this.al = true; this.ak = true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(200.0D); this.getAttributeInstance(GenericAttributes.a).setValue(200.0D);
} }
@ -99,7 +99,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
f2 = (this.random.nextFloat() - 0.5F) * 8.0F; f2 = (this.random.nextFloat() - 0.5F) * 8.0F;
this.world.addParticle("largeexplode", this.locX + (double) f, this.locY + 2.0D + (double) f1, this.locZ + (double) f2, 0.0D, 0.0D, 0.0D); this.world.addParticle("largeexplode", this.locX + (double) f, this.locY + 2.0D + (double) f1, this.locZ + (double) f2, 0.0D, 0.0D, 0.0D);
} else { } else {
this.bN(); this.bP();
f = 0.2F / (MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 10.0F + 1.0F); f = 0.2F / (MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 10.0F + 1.0F);
f *= (float) Math.pow(2.0D, this.motY); f *= (float) Math.pow(2.0D, this.motY);
if (this.bA) { if (this.bA) {
@ -129,27 +129,27 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
float f3; float f3;
if (this.world.isStatic) { if (this.world.isStatic) {
if (this.bh > 0) { if (this.bg > 0) {
d0 = this.locX + (this.bi - this.locX) / (double) this.bh; d0 = this.locX + (this.bh - this.locX) / (double) this.bg;
d1 = this.locY + (this.bj - this.locY) / (double) this.bh; d1 = this.locY + (this.bi - this.locY) / (double) this.bg;
d2 = this.locZ + (this.bk - this.locZ) / (double) this.bh; d2 = this.locZ + (this.bj - this.locZ) / (double) this.bg;
d3 = MathHelper.g(this.bl - (double) this.yaw); d3 = MathHelper.g(this.bk - (double) this.yaw);
this.yaw = (float) ((double) this.yaw + d3 / (double) this.bh); this.yaw = (float) ((double) this.yaw + d3 / (double) this.bg);
this.pitch = (float) ((double) this.pitch + (this.bm - (double) this.pitch) / (double) this.bh); this.pitch = (float) ((double) this.pitch + (this.bm - (double) this.pitch) / (double) this.bg);
--this.bh; --this.bg;
this.setPosition(d0, d1, d2); this.setPosition(d0, d1, d2);
this.b(this.yaw, this.pitch); this.b(this.yaw, this.pitch);
} }
} else { } else {
d0 = this.h - this.locX; d0 = this.h - this.locX;
d1 = this.i - this.locY; d1 = this.i - this.locY;
d2 = this.j - this.locZ; d2 = this.bm - this.locZ;
d3 = d0 * d0 + d1 * d1 + d2 * d2; d3 = d0 * d0 + d1 * d1 + d2 * d2;
if (this.bD != null) { if (this.bD != null) {
this.h = this.bD.locX; this.h = this.bD.locX;
this.j = this.bD.locZ; this.bm = this.bD.locZ;
double d4 = this.h - this.locX; double d4 = this.h - this.locX;
double d5 = this.j - this.locZ; double d5 = this.bm - this.locZ;
double d6 = Math.sqrt(d4 * d4 + d5 * d5); double d6 = Math.sqrt(d4 * d4 + d5 * d5);
double d7 = 0.4000000059604645D + d6 / 80.0D - 1.0D; double d7 = 0.4000000059604645D + d6 / 80.0D - 1.0D;
@ -160,11 +160,11 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
this.i = this.bD.boundingBox.b + d7; this.i = this.bD.boundingBox.b + d7;
} else { } else {
this.h += this.random.nextGaussian() * 2.0D; this.h += this.random.nextGaussian() * 2.0D;
this.j += this.random.nextGaussian() * 2.0D; this.bm += this.random.nextGaussian() * 2.0D;
} }
if (this.bz || d3 < 100.0D || d3 > 22500.0D || this.positionChanged || this.G) { if (this.bz || d3 < 100.0D || d3 > 22500.0D || this.positionChanged || this.F) {
this.bO(); this.bQ();
} }
d1 /= (double) MathHelper.sqrt(d0 * d0 + d2 * d2); d1 /= (double) MathHelper.sqrt(d0 * d0 + d2 * d2);
@ -190,15 +190,15 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
d9 = -50.0D; d9 = -50.0D;
} }
Vec3D vec3d = this.world.getVec3DPool().create(this.h - this.locX, this.i - this.locY, this.j - this.locZ).a(); Vec3D vec3d = Vec3D.a(this.h - this.locX, this.i - this.locY, this.bm - this.locZ).a();
Vec3D vec3d1 = this.world.getVec3DPool().create((double) MathHelper.sin(this.yaw * 3.1415927F / 180.0F), this.motY, (double) (-MathHelper.cos(this.yaw * 3.1415927F / 180.0F))).a(); Vec3D vec3d1 = Vec3D.a((double) MathHelper.sin(this.yaw * 3.1415927F / 180.0F), this.motY, (double) (-MathHelper.cos(this.yaw * 3.1415927F / 180.0F))).a();
float f4 = (float) (vec3d1.b(vec3d) + 0.5D) / 1.5F; float f4 = (float) (vec3d1.b(vec3d) + 0.5D) / 1.5F;
if (f4 < 0.0F) { if (f4 < 0.0F) {
f4 = 0.0F; f4 = 0.0F;
} }
this.bg *= 0.8F; this.bf *= 0.8F;
float f5 = MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 1.0F + 1.0F; float f5 = MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 1.0F + 1.0F;
double d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 1.0D + 1.0D; double d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ) * 1.0D + 1.0D;
@ -206,8 +206,8 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
d10 = 40.0D; d10 = 40.0D;
} }
this.bg = (float) ((double) this.bg + d9 * (0.699999988079071D / d10 / (double) f5)); this.bf = (float) ((double) this.bf + d9 * (0.699999988079071D / d10 / (double) f5));
this.yaw += this.bg * 0.1F; this.yaw += this.bf * 0.1F;
float f6 = (float) (2.0D / (d10 + 1.0D)); float f6 = (float) (2.0D / (d10 + 1.0D));
float f7 = 0.06F; float f7 = 0.06F;
@ -218,7 +218,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
this.move(this.motX, this.motY, this.motZ); this.move(this.motX, this.motY, this.motZ);
} }
Vec3D vec3d2 = this.world.getVec3DPool().create(this.motX, this.motY, this.motZ).a(); Vec3D vec3d2 = Vec3D.a(this.motX, this.motY, this.motZ).a();
float f8 = (float) (vec3d2.b(vec3d1) + 1.0D) / 2.0F; float f8 = (float) (vec3d2.b(vec3d1) + 1.0D) / 2.0F;
f8 = 0.8F + 0.15F * f8; f8 = 0.8F + 0.15F * f8;
@ -227,7 +227,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
this.motY *= 0.9100000262260437D; this.motY *= 0.9100000262260437D;
} }
this.aN = this.yaw; this.aM = this.yaw;
this.bq.width = this.bq.length = 3.0F; this.bq.width = this.bq.length = 3.0F;
this.bs.width = this.bs.length = 2.0F; this.bs.width = this.bs.length = 2.0F;
this.bt.width = this.bt.length = 2.0F; this.bt.width = this.bt.length = 2.0F;
@ -260,8 +260,8 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
double[] adouble = this.b(5, 1.0F); double[] adouble = this.b(5, 1.0F);
double[] adouble1 = this.b(0, 1.0F); double[] adouble1 = this.b(0, 1.0F);
f3 = MathHelper.sin(this.yaw * 3.1415927F / 180.0F - this.bg * 0.01F); f3 = MathHelper.sin(this.yaw * 3.1415927F / 180.0F - this.bf * 0.01F);
float f13 = MathHelper.cos(this.yaw * 3.1415927F / 180.0F - this.bg * 0.01F); float f13 = MathHelper.cos(this.yaw * 3.1415927F / 180.0F - this.bf * 0.01F);
this.bq.h(); this.bq.h();
this.bq.setPositionRotation(this.locX + (double) (f3 * 5.5F * f2), this.locY + (adouble1[1] - adouble[1]) * 1.0D + (double) (f9 * 5.5F), this.locZ - (double) (f13 * 5.5F * f2), 0.0F, 0.0F); this.bq.setPositionRotation(this.locX + (double) (f3 * 5.5F * f2), this.locY + (adouble1[1] - adouble[1]) * 1.0D + (double) (f9 * 5.5F), this.locZ - (double) (f13 * 5.5F * f2), 0.0F, 0.0F);
@ -298,7 +298,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
} }
} }
private void bN() { private void bP() {
if (this.bC != null) { if (this.bC != null) {
if (this.bC.dead) { if (this.bC.dead) {
if (!this.world.isStatic) { if (!this.world.isStatic) {
@ -335,7 +335,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
while (iterator.hasNext()) { while (iterator.hasNext()) {
EntityEnderCrystal entityendercrystal1 = (EntityEnderCrystal) iterator.next(); EntityEnderCrystal entityendercrystal1 = (EntityEnderCrystal) iterator.next();
double d1 = entityendercrystal1.e(this); double d1 = entityendercrystal1.f(this);
if (d1 < d0) { if (d1 < d0) {
d0 = d1; d0 = d1;
@ -375,7 +375,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
} }
} }
private void bO() { private void bQ() {
this.bz = false; this.bz = false;
if (this.random.nextInt(2) == 0 && !this.world.players.isEmpty()) { if (this.random.nextInt(2) == 0 && !this.world.players.isEmpty()) {
// CraftBukkit start // CraftBukkit start
@ -397,12 +397,12 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
do { do {
this.h = 0.0D; this.h = 0.0D;
this.i = (double) (70.0F + this.random.nextFloat() * 50.0F); this.i = (double) (70.0F + this.random.nextFloat() * 50.0F);
this.j = 0.0D; this.bm = 0.0D;
this.h += (double) (this.random.nextFloat() * 120.0F - 60.0F); this.h += (double) (this.random.nextFloat() * 120.0F - 60.0F);
this.j += (double) (this.random.nextFloat() * 120.0F - 60.0F); this.bm += (double) (this.random.nextFloat() * 120.0F - 60.0F);
double d0 = this.locX - this.h; double d0 = this.locX - this.h;
double d1 = this.locY - this.i; double d1 = this.locY - this.i;
double d2 = this.locZ - this.j; double d2 = this.locZ - this.bm;
flag = d0 * d0 + d1 * d1 + d2 * d2 > 100.0D; flag = d0 * d0 + d1 * d1 + d2 * d2 > 100.0D;
} while (!flag); } while (!flag);
@ -507,9 +507,9 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
this.h = this.locX + (double) (f2 * 5.0F) + (double) ((this.random.nextFloat() - 0.5F) * 2.0F); this.h = this.locX + (double) (f2 * 5.0F) + (double) ((this.random.nextFloat() - 0.5F) * 2.0F);
this.i = this.locY + (double) (this.random.nextFloat() * 3.0F) + 1.0D; this.i = this.locY + (double) (this.random.nextFloat() * 3.0F) + 1.0D;
this.j = this.locZ - (double) (f3 * 5.0F) + (double) ((this.random.nextFloat() - 0.5F) * 2.0F); this.bm = this.locZ - (double) (f3 * 5.0F) + (double) ((this.random.nextFloat() - 0.5F) * 2.0F);
this.bD = null; this.bD = null;
if (damagesource.getEntity() instanceof EntityHuman || damagesource.c()) { if (damagesource.getEntity() instanceof EntityHuman || damagesource.isExplosion()) {
this.dealDamage(damagesource, f); this.dealDamage(damagesource, f);
} }
@ -524,7 +524,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
return super.damageEntity(damagesource, f); return super.damageEntity(damagesource, f);
} }
protected void aF() { protected void aE() {
if (this.dead) return; // CraftBukkit - can't kill what's already dead if (this.dead) return; // CraftBukkit - can't kill what's already dead
++this.bB; ++this.bB;
if (this.bB >= 180 && this.bB <= 200) { if (this.bB >= 180 && this.bB <= 200) {
@ -555,7 +555,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
} }
this.move(0.0D, 0.10000000149011612D, 0.0D); this.move(0.0D, 0.10000000149011612D, 0.0D);
this.aN = this.yaw += 20.0F; this.aM = this.yaw += 20.0F;
if (this.bB == 200 && !this.world.isStatic) { if (this.bB == 200 && !this.world.isStatic) {
i = this.expToDrop - (10 * this.expToDrop / 12); // CraftBukkit - drop the remaining experience i = this.expToDrop - (10 * this.expToDrop / 12); // CraftBukkit - drop the remaining experience
@ -638,11 +638,11 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
protected void w() {} protected void w() {}
public Entity[] at() { public Entity[] as() {
return this.children; return this.children;
} }
public boolean R() { public boolean Q() {
return false; return false;
} }
@ -654,11 +654,11 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
return "mob.enderdragon.growl"; return "mob.enderdragon.growl";
} }
protected String aT() { protected String aS() {
return "mob.enderdragon.hit"; return "mob.enderdragon.hit";
} }
protected float bf() { protected float be() {
return 5.0F; return 5.0F;
} }

Datei anzeigen

@ -29,8 +29,8 @@ public class EntityEnderPearl extends EntityProjectile {
if (this.getShooter() != null && this.getShooter() instanceof EntityPlayer) { if (this.getShooter() != null && this.getShooter() instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) this.getShooter(); EntityPlayer entityplayer = (EntityPlayer) this.getShooter();
if (entityplayer.playerConnection.b().d() && entityplayer.world == this.world) { if (entityplayer.playerConnection.b().isConnected() && entityplayer.world == this.world) {
// CraftBukkit start // CraftBukkit start - Fire PlayerTeleportEvent
org.bukkit.craftbukkit.entity.CraftPlayer player = entityplayer.getBukkitEntity(); org.bukkit.craftbukkit.entity.CraftPlayer player = entityplayer.getBukkitEntity();
org.bukkit.Location location = getBukkitEntity().getLocation(); org.bukkit.Location location = getBukkitEntity().getLocation();
location.setPitch(player.getLocation().getPitch()); location.setPitch(player.getLocation().getPitch());

Datei anzeigen

@ -21,11 +21,11 @@ public class EntityEnderman extends EntityMonster {
public EntityEnderman(World world) { public EntityEnderman(World world) {
super(world); super(world);
this.a(0.6F, 2.9F); this.a(0.6F, 2.9F);
this.X = 1.0F; this.W = 1.0F;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(40.0D); this.getAttributeInstance(GenericAttributes.a).setValue(40.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.30000001192092896D); this.getAttributeInstance(GenericAttributes.d).setValue(0.30000001192092896D);
this.getAttributeInstance(GenericAttributes.e).setValue(7.0D); this.getAttributeInstance(GenericAttributes.e).setValue(7.0D);
@ -80,18 +80,18 @@ public class EntityEnderman extends EntityMonster {
return false; return false;
} else { } else {
Vec3D vec3d = entityhuman.j(1.0F).a(); Vec3D vec3d = entityhuman.j(1.0F).a();
Vec3D vec3d1 = this.world.getVec3DPool().create(this.locX - entityhuman.locX, this.boundingBox.b + (double) (this.length / 2.0F) - (entityhuman.locY + (double) entityhuman.getHeadHeight()), this.locZ - entityhuman.locZ); Vec3D vec3d1 = Vec3D.a(this.locX - entityhuman.locX, this.boundingBox.b + (double) (this.length / 2.0F) - (entityhuman.locY + (double) entityhuman.getHeadHeight()), this.locZ - entityhuman.locZ);
double d0 = vec3d1.b(); double d0 = vec3d1.b();
vec3d1 = vec3d1.a(); vec3d1 = vec3d1.a();
double d1 = vec3d.b(vec3d1); double d1 = vec3d.b(vec3d1);
return d1 > 1.0D - 0.025D / d0 ? entityhuman.o(this) : false; return d1 > 1.0D - 0.025D / d0 && entityhuman.p(this);
} }
} }
public void e() { public void e() {
if (this.L()) { if (this.K()) {
this.damageEntity(DamageSource.DROWN, 1.0F); this.damageEntity(DamageSource.DROWN, 1.0F);
} }
@ -150,29 +150,29 @@ public class EntityEnderman extends EntityMonster {
this.world.addParticle("portal", this.locX + (this.random.nextDouble() - 0.5D) * (double) this.width, this.locY + this.random.nextDouble() * (double) this.length - 0.25D, this.locZ + (this.random.nextDouble() - 0.5D) * (double) this.width, (this.random.nextDouble() - 0.5D) * 2.0D, -this.random.nextDouble(), (this.random.nextDouble() - 0.5D) * 2.0D); this.world.addParticle("portal", this.locX + (this.random.nextDouble() - 0.5D) * (double) this.width, this.locY + this.random.nextDouble() * (double) this.length - 0.25D, this.locZ + (this.random.nextDouble() - 0.5D) * (double) this.width, (this.random.nextDouble() - 0.5D) * 2.0D, -this.random.nextDouble(), (this.random.nextDouble() - 0.5D) * 2.0D);
} }
if (this.world.v() && !this.world.isStatic) { if (this.world.w() && !this.world.isStatic) {
float f = this.d(1.0F); float f = this.d(1.0F);
if (f > 0.5F && this.world.i(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) { if (f > 0.5F && this.world.i(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) {
this.target = null; this.target = null;
this.a(false); this.a(false);
this.bv = false; this.bv = false;
this.bX(); this.bZ();
} }
} }
if (this.L() || this.isBurning()) { if (this.K() || this.isBurning()) {
this.target = null; this.target = null;
this.a(false); this.a(false);
this.bv = false; this.bv = false;
this.bX(); this.bZ();
} }
if (this.cb() && !this.bv && this.random.nextInt(100) == 0) { if (this.cd() && !this.bv && this.random.nextInt(100) == 0) {
this.a(false); this.a(false);
} }
this.bd = false; this.bc = false;
if (this.target != null) { if (this.target != null) {
this.a(this.target, 100.0F, 100.0F); this.a(this.target, 100.0F, 100.0F);
} }
@ -180,12 +180,12 @@ public class EntityEnderman extends EntityMonster {
if (!this.world.isStatic && this.isAlive()) { if (!this.world.isStatic && this.isAlive()) {
if (this.target != null) { if (this.target != null) {
if (this.target instanceof EntityHuman && this.f((EntityHuman) this.target)) { if (this.target instanceof EntityHuman && this.f((EntityHuman) this.target)) {
if (this.target.e((Entity) this) < 16.0D) { if (this.target.f((Entity) this) < 16.0D) {
this.bX(); this.bZ();
} }
this.bs = 0; this.bs = 0;
} else if (this.target.e((Entity) this) > 256.0D && this.bs++ >= 30 && this.c(this.target)) { } else if (this.target.f((Entity) this) > 256.0D && this.bs++ >= 30 && this.c(this.target)) {
this.bs = 0; this.bs = 0;
} }
} else { } else {
@ -197,7 +197,7 @@ public class EntityEnderman extends EntityMonster {
super.e(); super.e();
} }
protected boolean bX() { protected boolean bZ() {
double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D; double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D;
double d1 = this.locY + (double) (this.random.nextInt(64) - 32); double d1 = this.locY + (double) (this.random.nextInt(64) - 32);
double d2 = this.locZ + (this.random.nextDouble() - 0.5D) * 64.0D; double d2 = this.locZ + (this.random.nextDouble() - 0.5D) * 64.0D;
@ -206,13 +206,13 @@ public class EntityEnderman extends EntityMonster {
} }
protected boolean c(Entity entity) { protected boolean c(Entity entity) {
Vec3D vec3d = this.world.getVec3DPool().create(this.locX - entity.locX, this.boundingBox.b + (double) (this.length / 2.0F) - entity.locY + (double) entity.getHeadHeight(), this.locZ - entity.locZ); Vec3D vec3d = Vec3D.a(this.locX - entity.locX, this.boundingBox.b + (double) (this.length / 2.0F) - entity.locY + (double) entity.getHeadHeight(), this.locZ - entity.locZ);
vec3d = vec3d.a(); vec3d = vec3d.a();
double d0 = 16.0D; double d0 = 16.0D;
double d1 = this.locX + (this.random.nextDouble() - 0.5D) * 8.0D - vec3d.c * d0; double d1 = this.locX + (this.random.nextDouble() - 0.5D) * 8.0D - vec3d.a * d0;
double d2 = this.locY + (double) (this.random.nextInt(16) - 8) - vec3d.d * d0; double d2 = this.locY + (double) (this.random.nextInt(16) - 8) - vec3d.b * d0;
double d3 = this.locZ + (this.random.nextDouble() - 0.5D) * 8.0D - vec3d.e * d0; double d3 = this.locZ + (this.random.nextDouble() - 0.5D) * 8.0D - vec3d.c * d0;
return this.k(d1, d2, d3); return this.k(d1, d2, d3);
} }
@ -287,14 +287,14 @@ public class EntityEnderman extends EntityMonster {
} }
protected String t() { protected String t() {
return this.cb() ? "mob.endermen.scream" : "mob.endermen.idle"; return this.cd() ? "mob.endermen.scream" : "mob.endermen.idle";
} }
protected String aT() { protected String aS() {
return "mob.endermen.hit"; return "mob.endermen.hit";
} }
protected String aU() { protected String aT() {
return "mob.endermen.death"; return "mob.endermen.death";
} }
@ -348,7 +348,7 @@ public class EntityEnderman extends EntityMonster {
this.bv = false; this.bv = false;
for (int i = 0; i < 64; ++i) { for (int i = 0; i < 64; ++i) {
if (this.bX()) { if (this.bZ()) {
return true; return true;
} }
} }
@ -360,7 +360,7 @@ public class EntityEnderman extends EntityMonster {
} }
} }
public boolean cb() { public boolean cd() {
return this.datawatcher.getByte(18) > 0; return this.datawatcher.getByte(18) > 0;
} }
@ -371,7 +371,7 @@ public class EntityEnderman extends EntityMonster {
static { static {
br[Block.b((Block) Blocks.GRASS)] = true; br[Block.b((Block) Blocks.GRASS)] = true;
br[Block.b(Blocks.DIRT)] = true; br[Block.b(Blocks.DIRT)] = true;
br[Block.b(Blocks.SAND)] = true; br[Block.b((Block) Blocks.SAND)] = true;
br[Block.b(Blocks.GRAVEL)] = true; br[Block.b(Blocks.GRAVEL)] = true;
br[Block.b((Block) Blocks.YELLOW_FLOWER)] = true; br[Block.b((Block) Blocks.YELLOW_FLOWER)] = true;
br[Block.b((Block) Blocks.RED_ROSE)] = true; br[Block.b((Block) Blocks.RED_ROSE)] = true;

Datei anzeigen

@ -60,7 +60,7 @@ public class EntityExperienceOrb extends Entity {
double d0 = 8.0D; double d0 = 8.0D;
if (this.targetTime < this.a - 20 + this.getId() % 100) { if (this.targetTime < this.a - 20 + this.getId() % 100) {
if (this.targetPlayer == null || this.targetPlayer.e(this) > d0 * d0) { if (this.targetPlayer == null || this.targetPlayer.f(this) > d0 * d0) {
this.targetPlayer = this.world.findNearbyPlayer(this, d0); this.targetPlayer = this.world.findNearbyPlayer(this, d0);
} }
@ -109,7 +109,7 @@ public class EntityExperienceOrb extends Entity {
} }
} }
public boolean N() { public boolean M() {
return this.world.a(this.boundingBox, Material.WATER, (Entity) this); return this.world.a(this.boundingBox, Material.WATER, (Entity) this);
} }
@ -121,7 +121,7 @@ public class EntityExperienceOrb extends Entity {
if (this.isInvulnerable()) { if (this.isInvulnerable()) {
return false; return false;
} else { } else {
this.Q(); this.P();
this.d = (int) ((float) this.d - f); this.d = (int) ((float) this.d - f);
if (this.d <= 0) { if (this.d <= 0) {
this.die(); this.die();
@ -145,11 +145,11 @@ public class EntityExperienceOrb extends Entity {
public void b_(EntityHuman entityhuman) { public void b_(EntityHuman entityhuman) {
if (!this.world.isStatic) { if (!this.world.isStatic) {
if (this.c == 0 && entityhuman.bu == 0) { if (this.c == 0 && entityhuman.bt == 0) {
entityhuman.bu = 2; entityhuman.bt = 2;
this.world.makeSound(entityhuman, "random.orb", 0.1F, 0.5F * ((this.random.nextFloat() - this.random.nextFloat()) * 0.7F + 1.8F)); this.world.makeSound(entityhuman, "random.orb", 0.1F, 0.5F * ((this.random.nextFloat() - this.random.nextFloat()) * 0.7F + 1.8F));
entityhuman.receive(this, 1); entityhuman.receive(this, 1);
entityhuman.giveExp(CraftEventFactory.callPlayerExpChangeEvent(entityhuman, this.value).getAmount()); // CraftBukkit - this.value to event.getAmount() entityhuman.giveExp(CraftEventFactory.callPlayerExpChangeEvent(entityhuman, this.value).getAmount()); // CraftBukkit - this.value -> event.getAmount()
this.die(); this.die();
} }
} }
@ -182,7 +182,7 @@ public class EntityExperienceOrb extends Entity {
return i >= 2477 ? 2477 : (i >= 1237 ? 1237 : (i >= 617 ? 617 : (i >= 307 ? 307 : (i >= 149 ? 149 : (i >= 73 ? 73 : (i >= 37 ? 37 : (i >= 17 ? 17 : (i >= 7 ? 7 : (i >= 3 ? 3 : 1))))))))); return i >= 2477 ? 2477 : (i >= 1237 ? 1237 : (i >= 617 ? 617 : (i >= 307 ? 307 : (i >= 149 ? 149 : (i >= 73 ? 73 : (i >= 37 ? 37 : (i >= 17 ? 17 : (i >= 7 ? 7 : (i >= 3 ? 3 : 1)))))))));
} }
public boolean av() { public boolean au() {
return false; return false;
} }
} }

Datei anzeigen

@ -38,7 +38,7 @@ public class EntityFallingBlock extends Entity {
this.fallHurtAmount = 2.0F; this.fallHurtAmount = 2.0F;
this.id = block; this.id = block;
this.data = i; this.data = i;
this.l = true; this.k = true;
this.a(0.98F, 0.98F); this.a(0.98F, 0.98F);
this.height = this.length / 2.0F; this.height = this.length / 2.0F;
this.setPosition(d0, d1, d2); this.setPosition(d0, d1, d2);
@ -56,7 +56,7 @@ public class EntityFallingBlock extends Entity {
protected void c() {} protected void c() {}
public boolean R() { public boolean Q() {
return !this.dead; return !this.dead;
} }
@ -94,7 +94,7 @@ public class EntityFallingBlock extends Entity {
this.motY *= -0.5D; this.motY *= -0.5D;
if (this.world.getType(i, j, k) != Blocks.PISTON_MOVING) { if (this.world.getType(i, j, k) != Blocks.PISTON_MOVING) {
this.die(); this.die();
// CraftBukkit start // CraftBukkit start - fire EntityChangeBlockEvent
if (!this.f && this.world.mayPlace(this.id, i, j, k, true, 1, (Entity) null, (ItemStack) null) && !BlockFalling.canFall(this.world, i, j - 1, k) /* mimic the false conditions of setTypeIdAndData */ && i >= -30000000 && k >= -30000000 && i < 30000000 && k < 30000000 && j > 0 && j < 256 && !(this.world.getType(i, j, k) == this.id && this.world.getData(i, j, k) == this.data)) { if (!this.f && this.world.mayPlace(this.id, i, j, k, true, 1, (Entity) null, (ItemStack) null) && !BlockFalling.canFall(this.world, i, j - 1, k) /* mimic the false conditions of setTypeIdAndData */ && i >= -30000000 && k >= -30000000 && i < 30000000 && k < 30000000 && j > 0 && j < 256 && !(this.world.getType(i, j, k) == this.id && this.world.getData(i, j, k) == this.data)) {
if (CraftEventFactory.callEntityChangeBlockEvent(this, i, j, k, this.id, this.data).isCancelled()) { if (CraftEventFactory.callEntityChangeBlockEvent(this, i, j, k, this.id, this.data).isCancelled()) {
return; return;

Datei anzeigen

@ -12,7 +12,7 @@ public abstract class EntityFireball extends Entity {
private Block h; private Block h;
private boolean i; private boolean i;
public EntityLiving shooter; public EntityLiving shooter;
private int j; private int at;
private int au; private int au;
public double dirX; public double dirX;
public double dirY; public double dirY;
@ -72,8 +72,8 @@ public abstract class EntityFireball extends Entity {
this.setOnFire(1); this.setOnFire(1);
if (this.i) { if (this.i) {
if (this.world.getType(this.e, this.f, this.g) == this.h) { if (this.world.getType(this.e, this.f, this.g) == this.h) {
++this.j; ++this.at;
if (this.j == 600) { if (this.at == 600) {
this.die(); this.die();
} }
@ -84,20 +84,20 @@ public abstract class EntityFireball extends Entity {
this.motX *= (double) (this.random.nextFloat() * 0.2F); this.motX *= (double) (this.random.nextFloat() * 0.2F);
this.motY *= (double) (this.random.nextFloat() * 0.2F); this.motY *= (double) (this.random.nextFloat() * 0.2F);
this.motZ *= (double) (this.random.nextFloat() * 0.2F); this.motZ *= (double) (this.random.nextFloat() * 0.2F);
this.j = 0; this.at = 0;
this.au = 0; this.au = 0;
} else { } else {
++this.au; ++this.au;
} }
Vec3D vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); Vec3D vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
Vec3D vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); Vec3D vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
MovingObjectPosition movingobjectposition = this.world.a(vec3d, vec3d1); MovingObjectPosition movingobjectposition = this.world.a(vec3d, vec3d1);
vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
if (movingobjectposition != null) { if (movingobjectposition != null) {
vec3d1 = this.world.getVec3DPool().create(movingobjectposition.pos.c, movingobjectposition.pos.d, movingobjectposition.pos.e); vec3d1 = Vec3D.a(movingobjectposition.pos.a, movingobjectposition.pos.b, movingobjectposition.pos.c);
} }
Entity entity = null; Entity entity = null;
@ -107,7 +107,7 @@ public abstract class EntityFireball extends Entity {
for (int i = 0; i < list.size(); ++i) { for (int i = 0; i < list.size(); ++i) {
Entity entity1 = (Entity) list.get(i); Entity entity1 = (Entity) list.get(i);
if (entity1.R() && (!entity1.h(this.shooter) || this.au >= 25)) { if (entity1.Q() && (!entity1.i(this.shooter) || this.au >= 25)) {
float f = 0.3F; float f = 0.3F;
AxisAlignedBB axisalignedbb = entity1.boundingBox.grow((double) f, (double) f, (double) f); AxisAlignedBB axisalignedbb = entity1.boundingBox.grow((double) f, (double) f, (double) f);
MovingObjectPosition movingobjectposition1 = axisalignedbb.a(vec3d, vec3d1); MovingObjectPosition movingobjectposition1 = axisalignedbb.a(vec3d, vec3d1);
@ -130,7 +130,7 @@ public abstract class EntityFireball extends Entity {
if (movingobjectposition != null) { if (movingobjectposition != null) {
this.a(movingobjectposition); this.a(movingobjectposition);
// CraftBukkit start // CraftBukkit start - Fire ProjectileHitEvent
if (this.dead) { if (this.dead) {
org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this); org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this);
} }
@ -164,7 +164,7 @@ public abstract class EntityFireball extends Entity {
this.yaw = this.lastYaw + (this.yaw - this.lastYaw) * 0.2F; this.yaw = this.lastYaw + (this.yaw - this.lastYaw) * 0.2F;
float f2 = this.e(); float f2 = this.e();
if (this.M()) { if (this.L()) {
for (int j = 0; j < 4; ++j) { for (int j = 0; j < 4; ++j) {
float f3 = 0.25F; float f3 = 0.25F;
@ -220,11 +220,11 @@ public abstract class EntityFireball extends Entity {
} }
} }
public boolean R() { public boolean Q() {
return true; return true;
} }
public float af() { public float ae() {
return 1.0F; return 1.0F;
} }
@ -232,7 +232,7 @@ public abstract class EntityFireball extends Entity {
if (this.isInvulnerable()) { if (this.isInvulnerable()) {
return false; return false;
} else { } else {
this.Q(); this.P();
if (damagesource.getEntity() != null) { if (damagesource.getEntity() != null) {
// CraftBukkit start // CraftBukkit start
EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(damagesource.getEntity().getBukkitEntity(), this.getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, f); EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(damagesource.getEntity().getBukkitEntity(), this.getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, f);
@ -244,12 +244,12 @@ public abstract class EntityFireball extends Entity {
} }
// CraftBukkit end // CraftBukkit end
Vec3D vec3d = damagesource.getEntity().ag(); Vec3D vec3d = damagesource.getEntity().af();
if (vec3d != null) { if (vec3d != null) {
this.motX = vec3d.c; this.motX = vec3d.a;
this.motY = vec3d.d; this.motY = vec3d.b;
this.motZ = vec3d.e; this.motZ = vec3d.c;
this.dirX = this.motX * 0.1D; this.dirX = this.motX * 0.1D;
this.dirY = this.motY * 0.1D; this.dirY = this.motY * 0.1D;
this.dirZ = this.motZ * 0.1D; this.dirZ = this.motZ * 0.1D;

Datei anzeigen

@ -39,9 +39,9 @@ public class EntityFireworks extends Entity {
} }
public void h() { public void h() {
this.T = this.locX; this.S = this.locX;
this.U = this.locY; this.T = this.locY;
this.V = this.locZ; this.U = this.locZ;
super.h(); super.h();
this.motX *= 1.15D; this.motX *= 1.15D;
this.motZ *= 1.15D; this.motZ *= 1.15D;
@ -115,7 +115,7 @@ public class EntityFireworks extends Entity {
return super.d(f); return super.d(f);
} }
public boolean av() { public boolean au() {
return false; return false;
} }
} }

Datei anzeigen

@ -18,7 +18,7 @@ public class EntityFishingHook extends Entity {
private int g = -1; private int g = -1;
private int h = -1; private int h = -1;
private int i = -1; private int i = -1;
private Block j; private Block at;
private boolean au; private boolean au;
public int a; public int a;
public EntityHuman owner; public EntityHuman owner;
@ -39,12 +39,12 @@ public class EntityFishingHook extends Entity {
public EntityFishingHook(World world) { public EntityFishingHook(World world) {
super(world); super(world);
this.a(0.25F, 0.25F); this.a(0.25F, 0.25F);
this.al = true; this.ak = true;
} }
public EntityFishingHook(World world, EntityHuman entityhuman) { public EntityFishingHook(World world, EntityHuman entityhuman) {
super(world); super(world);
this.al = true; this.ak = true;
this.owner = entityhuman; this.owner = entityhuman;
this.owner.hookedFish = this; this.owner.hookedFish = this;
this.a(0.25F, 0.25F); this.a(0.25F, 0.25F);
@ -101,9 +101,9 @@ public class EntityFishingHook extends Entity {
this.b(this.yaw, this.pitch); this.b(this.yaw, this.pitch);
} else { } else {
if (!this.world.isStatic) { if (!this.world.isStatic) {
ItemStack itemstack = this.owner.bD(); ItemStack itemstack = this.owner.bE();
if (this.owner.dead || !this.owner.isAlive() || itemstack == null || itemstack.getItem() != Items.FISHING_ROD || this.e(this.owner) > 1024.0D) { if (this.owner.dead || !this.owner.isAlive() || itemstack == null || itemstack.getItem() != Items.FISHING_ROD || this.f(this.owner) > 1024.0D) {
this.die(); this.die();
this.owner.hookedFish = null; this.owner.hookedFish = null;
return; return;
@ -126,7 +126,7 @@ public class EntityFishingHook extends Entity {
} }
if (this.au) { if (this.au) {
if (this.world.getType(this.g, this.h, this.i) == this.j) { if (this.world.getType(this.g, this.h, this.i) == this.at) {
++this.av; ++this.av;
if (this.av == 1200) { if (this.av == 1200) {
this.die(); this.die();
@ -145,14 +145,14 @@ public class EntityFishingHook extends Entity {
++this.aw; ++this.aw;
} }
Vec3D vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); Vec3D vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
Vec3D vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); Vec3D vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
MovingObjectPosition movingobjectposition = this.world.a(vec3d, vec3d1); MovingObjectPosition movingobjectposition = this.world.a(vec3d, vec3d1);
vec3d = this.world.getVec3DPool().create(this.locX, this.locY, this.locZ); vec3d = Vec3D.a(this.locX, this.locY, this.locZ);
vec3d1 = this.world.getVec3DPool().create(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ); vec3d1 = Vec3D.a(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
if (movingobjectposition != null) { if (movingobjectposition != null) {
vec3d1 = this.world.getVec3DPool().create(movingobjectposition.pos.c, movingobjectposition.pos.d, movingobjectposition.pos.e); vec3d1 = Vec3D.a(movingobjectposition.pos.a, movingobjectposition.pos.b, movingobjectposition.pos.c);
} }
Entity entity = null; Entity entity = null;
@ -164,7 +164,7 @@ public class EntityFishingHook extends Entity {
for (int i = 0; i < list.size(); ++i) { for (int i = 0; i < list.size(); ++i) {
Entity entity1 = (Entity) list.get(i); Entity entity1 = (Entity) list.get(i);
if (entity1.R() && (entity1 != this.owner || this.aw >= 5)) { if (entity1.Q() && (entity1 != this.owner || this.aw >= 5)) {
float f = 0.3F; float f = 0.3F;
AxisAlignedBB axisalignedbb = entity1.boundingBox.grow((double) f, (double) f, (double) f); AxisAlignedBB axisalignedbb = entity1.boundingBox.grow((double) f, (double) f, (double) f);
MovingObjectPosition movingobjectposition1 = axisalignedbb.a(vec3d, vec3d1); MovingObjectPosition movingobjectposition1 = axisalignedbb.a(vec3d, vec3d1);
@ -230,7 +230,7 @@ public class EntityFishingHook extends Entity {
for (int j = 0; j < b0; ++j) { for (int j = 0; j < b0; ++j) {
double d7 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (j + 0) / (double) b0 - 0.125D + 0.125D; double d7 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (j + 0) / (double) b0 - 0.125D + 0.125D;
double d8 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (j + 1) / (double) b0 - 0.125D + 0.125D; double d8 = this.boundingBox.b + (this.boundingBox.e - this.boundingBox.b) * (double) (j + 1) / (double) b0 - 0.125D + 0.125D;
AxisAlignedBB axisalignedbb1 = AxisAlignedBB.a().a(this.boundingBox.a, d7, this.boundingBox.c, this.boundingBox.d, d8, this.boundingBox.f); AxisAlignedBB axisalignedbb1 = AxisAlignedBB.a(this.boundingBox.a, d7, this.boundingBox.c, this.boundingBox.d, d8, this.boundingBox.f);
if (this.world.b(axisalignedbb1, Material.WATER)) { if (this.world.b(axisalignedbb1, Material.WATER)) {
d6 += 1.0D / (double) b0; d6 += 1.0D / (double) b0;
@ -344,7 +344,7 @@ public class EntityFishingHook extends Entity {
nbttagcompound.setShort("xTile", (short) this.g); nbttagcompound.setShort("xTile", (short) this.g);
nbttagcompound.setShort("yTile", (short) this.h); nbttagcompound.setShort("yTile", (short) this.h);
nbttagcompound.setShort("zTile", (short) this.i); nbttagcompound.setShort("zTile", (short) this.i);
nbttagcompound.setByte("inTile", (byte) Block.b(this.j)); nbttagcompound.setByte("inTile", (byte) Block.b(this.at));
nbttagcompound.setByte("shake", (byte) this.a); nbttagcompound.setByte("shake", (byte) this.a);
nbttagcompound.setByte("inGround", (byte) (this.au ? 1 : 0)); nbttagcompound.setByte("inGround", (byte) (this.au ? 1 : 0));
} }
@ -353,7 +353,7 @@ public class EntityFishingHook extends Entity {
this.g = nbttagcompound.getShort("xTile"); this.g = nbttagcompound.getShort("xTile");
this.h = nbttagcompound.getShort("yTile"); this.h = nbttagcompound.getShort("yTile");
this.i = nbttagcompound.getShort("zTile"); this.i = nbttagcompound.getShort("zTile");
this.j = Block.e(nbttagcompound.getByte("inTile") & 255); this.at = Block.e(nbttagcompound.getByte("inTile") & 255);
this.a = nbttagcompound.getByte("shake") & 255; this.a = nbttagcompound.getByte("shake") & 255;
this.au = nbttagcompound.getByte("inGround") == 1; this.au = nbttagcompound.getByte("inGround") == 1;
} }

Datei anzeigen

@ -10,7 +10,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
public int h; public int h;
public double i; public double i;
public double j; public double bm;
public double bn; public double bn;
private Entity target; private Entity target;
private int br; private int br;
@ -42,12 +42,12 @@ public class EntityGhast extends EntityFlying implements IMonster {
this.datawatcher.a(16, Byte.valueOf((byte) 0)); this.datawatcher.a(16, Byte.valueOf((byte) 0));
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(10.0D); this.getAttributeInstance(GenericAttributes.a).setValue(10.0D);
} }
protected void bq() { protected void bp() {
if (!this.world.isStatic && this.world.difficulty == EnumDifficulty.PEACEFUL) { if (!this.world.isStatic && this.world.difficulty == EnumDifficulty.PEACEFUL) {
this.die(); this.die();
} }
@ -55,32 +55,32 @@ public class EntityGhast extends EntityFlying implements IMonster {
this.w(); this.w();
this.bo = this.bp; this.bo = this.bp;
double d0 = this.i - this.locX; double d0 = this.i - this.locX;
double d1 = this.j - this.locY; double d1 = this.bm - this.locY;
double d2 = this.bn - this.locZ; double d2 = this.bn - this.locZ;
double d3 = d0 * d0 + d1 * d1 + d2 * d2; double d3 = d0 * d0 + d1 * d1 + d2 * d2;
if (d3 < 1.0D || d3 > 3600.0D) { if (d3 < 1.0D || d3 > 3600.0D) {
this.i = this.locX + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F); this.i = this.locX + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.j = this.locY + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F); this.bm = this.locY + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.bn = this.locZ + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F); this.bn = this.locZ + (double) ((this.random.nextFloat() * 2.0F - 1.0F) * 16.0F);
} }
if (this.h-- <= 0) { if (this.h-- <= 0) {
this.h += this.random.nextInt(5) + 2; this.h += this.random.nextInt(5) + 2;
d3 = (double) MathHelper.sqrt(d3); d3 = (double) MathHelper.sqrt(d3);
if (this.a(this.i, this.j, this.bn, d3)) { if (this.a(this.i, this.bm, this.bn, d3)) {
this.motX += d0 / d3 * 0.1D; this.motX += d0 / d3 * 0.1D;
this.motY += d1 / d3 * 0.1D; this.motY += d1 / d3 * 0.1D;
this.motZ += d2 / d3 * 0.1D; this.motZ += d2 / d3 * 0.1D;
} else { } else {
this.i = this.locX; this.i = this.locX;
this.j = this.locY; this.bm = this.locY;
this.bn = this.locZ; this.bn = this.locZ;
} }
} }
if (this.target != null && this.target.dead) { if (this.target != null && this.target.dead) {
// CraftBukkit start // CraftBukkit start - fire EntityTargetEvent
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, EntityTargetEvent.TargetReason.TARGET_DIED); EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, EntityTargetEvent.TargetReason.TARGET_DIED);
this.world.getServer().getPluginManager().callEvent(event); this.world.getServer().getPluginManager().callEvent(event);
@ -95,7 +95,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
} }
if (this.target == null || this.br-- <= 0) { if (this.target == null || this.br-- <= 0) {
// CraftBukkit start // CraftBukkit start - fire EntityTargetEvent
Entity target = this.world.findNearbyVulnerablePlayer(this, 100.0D); Entity target = this.world.findNearbyVulnerablePlayer(this, 100.0D);
if (target != null) { if (target != null) {
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), target.getBukkitEntity(), EntityTargetEvent.TargetReason.CLOSEST_PLAYER); EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), target.getBukkitEntity(), EntityTargetEvent.TargetReason.CLOSEST_PLAYER);
@ -118,13 +118,13 @@ public class EntityGhast extends EntityFlying implements IMonster {
double d4 = 64.0D; double d4 = 64.0D;
if (this.target != null && this.target.e((Entity) this) < d4 * d4) { if (this.target != null && this.target.f((Entity) this) < d4 * d4) {
double d5 = this.target.locX - this.locX; double d5 = this.target.locX - this.locX;
double d6 = this.target.boundingBox.b + (double) (this.target.length / 2.0F) - (this.locY + (double) (this.length / 2.0F)); double d6 = this.target.boundingBox.b + (double) (this.target.length / 2.0F) - (this.locY + (double) (this.length / 2.0F));
double d7 = this.target.locZ - this.locZ; double d7 = this.target.locZ - this.locZ;
this.aN = this.yaw = -((float) Math.atan2(d5, d7)) * 180.0F / 3.1415927F; this.aM = this.yaw = -((float) Math.atan2(d5, d7)) * 180.0F / 3.1415927F;
if (this.o(this.target)) { if (this.p(this.target)) {
if (this.bp == 10) { if (this.bp == 10) {
this.world.a((EntityHuman) null, 1007, (int) this.locX, (int) this.locY, (int) this.locZ, 0); this.world.a((EntityHuman) null, 1007, (int) this.locX, (int) this.locY, (int) this.locZ, 0);
} }
@ -139,9 +139,9 @@ public class EntityGhast extends EntityFlying implements IMonster {
double d8 = 4.0D; double d8 = 4.0D;
Vec3D vec3d = this.j(1.0F); Vec3D vec3d = this.j(1.0F);
entitylargefireball.locX = this.locX + vec3d.c * d8; entitylargefireball.locX = this.locX + vec3d.a * d8;
entitylargefireball.locY = this.locY + (double) (this.length / 2.0F) + 0.5D; entitylargefireball.locY = this.locY + (double) (this.length / 2.0F) + 0.5D;
entitylargefireball.locZ = this.locZ + vec3d.e * d8; entitylargefireball.locZ = this.locZ + vec3d.c * d8;
this.world.addEntity(entitylargefireball); this.world.addEntity(entitylargefireball);
this.bp = -40; this.bp = -40;
} }
@ -149,7 +149,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
--this.bp; --this.bp;
} }
} else { } else {
this.aN = this.yaw = -((float) Math.atan2(this.motX, this.motZ)) * 180.0F / 3.1415927F; this.aM = this.yaw = -((float) Math.atan2(this.motX, this.motZ)) * 180.0F / 3.1415927F;
if (this.bp > 0) { if (this.bp > 0) {
--this.bp; --this.bp;
} }
@ -167,7 +167,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
private boolean a(double d0, double d1, double d2, double d3) { private boolean a(double d0, double d1, double d2, double d3) {
double d4 = (this.i - this.locX) / d3; double d4 = (this.i - this.locX) / d3;
double d5 = (this.j - this.locY) / d3; double d5 = (this.bm - this.locY) / d3;
double d6 = (this.bn - this.locZ) / d3; double d6 = (this.bn - this.locZ) / d3;
AxisAlignedBB axisalignedbb = this.boundingBox.clone(); AxisAlignedBB axisalignedbb = this.boundingBox.clone();
@ -185,11 +185,11 @@ public class EntityGhast extends EntityFlying implements IMonster {
return "mob.ghast.moan"; return "mob.ghast.moan";
} }
protected String aT() { protected String aS() {
return "mob.ghast.scream"; return "mob.ghast.scream";
} }
protected String aU() { protected String aT() {
return "mob.ghast.death"; return "mob.ghast.death";
} }
@ -218,7 +218,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
// CraftBukkit end // CraftBukkit end
} }
protected float bf() { protected float be() {
return 10.0F; return 10.0F;
} }
@ -226,7 +226,7 @@ public class EntityGhast extends EntityFlying implements IMonster {
return this.random.nextInt(20) == 0 && super.canSpawn() && this.world.difficulty != EnumDifficulty.PEACEFUL; return this.random.nextInt(20) == 0 && super.canSpawn() && this.world.difficulty != EnumDifficulty.PEACEFUL;
} }
public int bz() { public int bB() {
return 1; return 1;
} }

Datei anzeigen

@ -105,7 +105,7 @@ public abstract class EntityHanging extends Entity {
if (this.e++ == 100 && !this.world.isStatic) { if (this.e++ == 100 && !this.world.isStatic) {
this.e = 0; this.e = 0;
if (!this.dead && !this.survives()) { if (!this.dead && !this.survives()) {
// CraftBukkit start // CraftBukkit start - fire break events
Material material = this.world.getType((int) this.locX, (int) this.locY, (int) this.locZ).getMaterial(); Material material = this.world.getType((int) this.locX, (int) this.locY, (int) this.locZ).getMaterial();
HangingBreakEvent.RemoveCause cause; HangingBreakEvent.RemoveCause cause;
@ -199,11 +199,11 @@ public abstract class EntityHanging extends Entity {
} }
} }
public boolean R() { public boolean Q() {
return true; return true;
} }
public boolean i(Entity entity) { public boolean j(Entity entity) {
return entity instanceof EntityHuman ? this.damageEntity(DamageSource.playerAttack((EntityHuman) entity), 0.0F) : false; return entity instanceof EntityHuman ? this.damageEntity(DamageSource.playerAttack((EntityHuman) entity), 0.0F) : false;
} }
@ -216,7 +216,7 @@ public abstract class EntityHanging extends Entity {
return false; return false;
} else { } else {
if (!this.dead && !this.world.isStatic) { if (!this.dead && !this.world.isStatic) {
// CraftBukkit start // CraftBukkit start - fire break events
HangingBreakEvent event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.DEFAULT); HangingBreakEvent event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.DEFAULT);
PaintingBreakEvent paintingEvent = null; PaintingBreakEvent paintingEvent = null;
if (damagesource.getEntity() != null) { if (damagesource.getEntity() != null) {
@ -226,7 +226,7 @@ public abstract class EntityHanging extends Entity {
// Fire old painting event until it can be removed // Fire old painting event until it can be removed
paintingEvent = new org.bukkit.event.painting.PaintingBreakByEntityEvent((Painting) this.getBukkitEntity(), damagesource.getEntity() == null ? null : damagesource.getEntity().getBukkitEntity()); paintingEvent = new org.bukkit.event.painting.PaintingBreakByEntityEvent((Painting) this.getBukkitEntity(), damagesource.getEntity() == null ? null : damagesource.getEntity().getBukkitEntity());
} }
} else if (damagesource.c()) { } else if (damagesource.isExplosion()) {
event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.EXPLOSION); event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.EXPLOSION);
} }
@ -243,7 +243,7 @@ public abstract class EntityHanging extends Entity {
// CraftBukkit end // CraftBukkit end
this.die(); this.die();
this.Q(); this.P();
this.b(damagesource.getEntity()); this.b(damagesource.getEntity());
} }
@ -255,7 +255,7 @@ public abstract class EntityHanging extends Entity {
if (!this.world.isStatic && !this.dead && d0 * d0 + d1 * d1 + d2 * d2 > 0.0D) { if (!this.world.isStatic && !this.dead && d0 * d0 + d1 * d1 + d2 * d2 > 0.0D) {
if (this.dead) return; // CraftBukkit if (this.dead) return; // CraftBukkit
// CraftBukkit start // CraftBukkit start - fire break events
// TODO - Does this need its own cause? Seems to only be triggered by pistons // TODO - Does this need its own cause? Seems to only be triggered by pistons
HangingBreakEvent event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.PHYSICS); HangingBreakEvent event = new HangingBreakEvent((Hanging) this.getBukkitEntity(), HangingBreakEvent.RemoveCause.PHYSICS);
this.world.getServer().getPluginManager().callEvent(event); this.world.getServer().getPluginManager().callEvent(event);
@ -334,7 +334,7 @@ public abstract class EntityHanging extends Entity {
public abstract void b(Entity entity); public abstract void b(Entity entity);
protected boolean V() { protected boolean U() {
return false; return false;
} }
} }

Datei anzeigen

@ -69,7 +69,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
public void setType(int i) { public void setType(int i) {
this.datawatcher.watch(19, Byte.valueOf((byte) i)); this.datawatcher.watch(19, Byte.valueOf((byte) i));
this.cN(); this.cP();
} }
public int getType() { public int getType() {
@ -78,7 +78,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
public void setVariant(int i) { public void setVariant(int i) {
this.datawatcher.watch(20, Integer.valueOf(i)); this.datawatcher.watch(20, Integer.valueOf(i));
this.cN(); this.cP();
} }
public int getVariant() { public int getVariant() {
@ -125,7 +125,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
public boolean bZ() { public boolean cb() {
return !this.isBaby(); return !this.isBaby();
} }
@ -133,8 +133,8 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return this.x(2); return this.x(2);
} }
public boolean ce() { public boolean cg() {
return this.bZ(); return this.cb();
} }
public String getOwnerName() { public String getOwnerName() {
@ -145,7 +145,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.datawatcher.watch(21, s); this.datawatcher.watch(21, s);
} }
public float cg() { public float ci() {
int i = this.getAge(); int i = this.getAge();
return i >= 0 ? 1.0F : 0.5F + (float) (-24000 - i) / -24000.0F * 0.5F; return i >= 0 ? 1.0F : 0.5F + (float) (-24000 - i) / -24000.0F * 0.5F;
@ -153,13 +153,13 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
public void a(boolean flag) { public void a(boolean flag) {
if (flag) { if (flag) {
this.a(this.cg()); this.a(this.ci());
} else { } else {
this.a(1.0F); this.a(1.0F);
} }
} }
public boolean ch() { public boolean cj() {
return this.br; return this.br;
} }
@ -171,12 +171,12 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.br = flag; this.br = flag;
} }
public boolean bK() { public boolean bM() {
return !this.cC() && super.bK(); return !this.cE() && super.bM();
} }
protected void o(float f) { protected void o(float f) {
if (f > 6.0F && this.ck()) { if (f > 6.0F && this.cm()) {
this.o(false); this.o(false);
} }
} }
@ -185,7 +185,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return this.x(8); return this.x(8);
} }
public int cj() { public int cl() {
return this.datawatcher.getInt(22); return this.datawatcher.getInt(22);
} }
@ -199,25 +199,25 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
public boolean ck() { public boolean cm() {
return this.x(32); return this.x(32);
} }
public boolean cl() { public boolean cn() {
return this.x(64); return this.x(64);
} }
public boolean cm() { public boolean co() {
return this.x(16); return this.x(16);
} }
public boolean cn() { public boolean cp() {
return this.bH; return this.bH;
} }
public void d(ItemStack itemstack) { public void d(ItemStack itemstack) {
this.datawatcher.watch(22, Integer.valueOf(this.e(itemstack))); this.datawatcher.watch(22, Integer.valueOf(this.e(itemstack)));
this.cN(); this.cP();
} }
public void k(boolean flag) { public void k(boolean flag) {
@ -257,15 +257,15 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return this.passenger != null && this.passenger.equals(entity) ? false : super.damageEntity(damagesource, f); return this.passenger != null && this.passenger.equals(entity) ? false : super.damageEntity(damagesource, f);
} }
public int aV() { public int aU() {
return by[this.cj()]; return by[this.cl()];
} }
public boolean S() { public boolean R() {
return this.passenger == null; return this.passenger == null;
} }
public boolean cp() { public boolean cr() {
int i = MathHelper.floor(this.locX); int i = MathHelper.floor(this.locX);
int j = MathHelper.floor(this.locZ); int j = MathHelper.floor(this.locZ);
@ -273,15 +273,15 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return true; return true;
} }
public void cq() { public void cs() {
if (!this.world.isStatic && this.hasChest()) { if (!this.world.isStatic && this.hasChest()) {
this.a(Item.getItemOf(Blocks.CHEST), 1); this.a(Item.getItemOf(Blocks.CHEST), 1);
this.setHasChest(false); this.setHasChest(false);
} }
} }
private void cJ() { private void cL() {
this.cQ(); this.cS();
this.world.makeSound(this, "eating", 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F); this.world.makeSound(this, "eating", 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F);
} }
@ -293,7 +293,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
int i = MathHelper.f(f * 0.5F - 3.0F); int i = MathHelper.f(f * 0.5F - 3.0F);
if (i > 0) { if (i > 0) {
// CraftBukkit start // CraftBukkit start - fire EntityDamageEvent
EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, this, EntityDamageEvent.DamageCause.FALL, i); EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, this, EntityDamageEvent.DamageCause.FALL, i);
if (!event.isCancelled()) { if (!event.isCancelled()) {
float damage = (float) event.getDamage(); float damage = (float) event.getDamage();
@ -325,7 +325,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
private int cK() { private int cM() {
int i = this.getType(); int i = this.getType();
return this.hasChest() /* && (i == 1 || i == 2) */ ? 17 : 2; // CraftBukkit - Remove type check return this.hasChest() /* && (i == 1 || i == 2) */ ? 17 : 2; // CraftBukkit - Remove type check
@ -334,7 +334,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
public void loadChest() { // CraftBukkit - private -> public public void loadChest() { // CraftBukkit - private -> public
InventoryHorseChest inventoryhorsechest = this.inventoryChest; InventoryHorseChest inventoryhorsechest = this.inventoryChest;
this.inventoryChest = new InventoryHorseChest("HorseChest", this.cK(), this); // CraftBukkit - add this horse this.inventoryChest = new InventoryHorseChest("HorseChest", this.cM(), this); // CraftBukkit - add this horse
this.inventoryChest.a(this.getName()); this.inventoryChest.a(this.getName());
if (inventoryhorsechest != null) { if (inventoryhorsechest != null) {
inventoryhorsechest.b(this); inventoryhorsechest.b(this);
@ -352,38 +352,38 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
this.inventoryChest.a(this); this.inventoryChest.a(this);
this.cM(); this.cO();
} }
private void cM() { private void cO() {
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.n(this.inventoryChest.getItem(0) != null); this.n(this.inventoryChest.getItem(0) != null);
if (this.cz()) { if (this.cB()) {
this.d(this.inventoryChest.getItem(1)); this.d(this.inventoryChest.getItem(1));
} }
} }
} }
public void a(InventorySubcontainer inventorysubcontainer) { public void a(InventorySubcontainer inventorysubcontainer) {
int i = this.cj(); int i = this.cl();
boolean flag = this.cs(); boolean flag = this.cu();
this.cM(); this.cM();
if (this.ticksLived > 20) { if (this.ticksLived > 20) {
if (i == 0 && i != this.cj()) { if (i == 0 && i != this.cl()) {
this.makeSound("mob.horse.armor", 0.5F, 1.0F); this.makeSound("mob.horse.armor", 0.5F, 1.0F);
} else if (i != this.cj()) { } else if (i != this.cl()) {
this.makeSound("mob.horse.armor", 0.5F, 1.0F); this.makeSound("mob.horse.armor", 0.5F, 1.0F);
} }
if (!flag && this.cs()) { if (!flag && this.cu()) {
this.makeSound("mob.horse.leather", 0.5F, 1.0F); this.makeSound("mob.horse.leather", 0.5F, 1.0F);
} }
} }
} }
public boolean canSpawn() { public boolean canSpawn() {
this.cp(); this.cr();
return super.canSpawn(); return super.canSpawn();
} }
@ -410,8 +410,8 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return this.getAttributeInstance(attributeJumpStrength).getValue(); return this.getAttributeInstance(attributeJumpStrength).getValue();
} }
protected String aU() { protected String aT() {
this.cQ(); this.cS();
int i = this.getType(); int i = this.getType();
return i == 3 ? "mob.horse.zombie.death" : (i == 4 ? "mob.horse.skeleton.death" : (i != 1 && i != 2 ? "mob.horse.death" : "mob.horse.donkey.death")); return i == 3 ? "mob.horse.zombie.death" : (i == 4 ? "mob.horse.skeleton.death" : (i != 1 && i != 2 ? "mob.horse.death" : "mob.horse.donkey.death"));
@ -424,10 +424,10 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return i == 4 ? Items.BONE : (i == 3 ? (flag ? Item.d(0) : Items.ROTTEN_FLESH) : Items.LEATHER); return i == 4 ? Items.BONE : (i == 3 ? (flag ? Item.d(0) : Items.ROTTEN_FLESH) : Items.LEATHER);
} }
protected String aT() { protected String aS() {
this.cQ(); this.cS();
if (this.random.nextInt(3) == 0) { if (this.random.nextInt(3) == 0) {
this.cS(); this.cU();
} }
int i = this.getType(); int i = this.getType();
@ -435,14 +435,14 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return i == 3 ? "mob.horse.zombie.hit" : (i == 4 ? "mob.horse.skeleton.hit" : (i != 1 && i != 2 ? "mob.horse.hit" : "mob.horse.donkey.hit")); return i == 3 ? "mob.horse.zombie.hit" : (i == 4 ? "mob.horse.skeleton.hit" : (i != 1 && i != 2 ? "mob.horse.hit" : "mob.horse.donkey.hit"));
} }
public boolean cs() { public boolean cu() {
return this.x(4); return this.x(4);
} }
protected String t() { protected String t() {
this.cQ(); this.cS();
if (this.random.nextInt(10) == 0 && !this.bh()) { if (this.random.nextInt(10) == 0 && !this.bg()) {
this.cS(); this.cU();
} }
int i = this.getType(); int i = this.getType();
@ -450,9 +450,9 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return i == 3 ? "mob.horse.zombie.idle" : (i == 4 ? "mob.horse.skeleton.idle" : (i != 1 && i != 2 ? "mob.horse.idle" : "mob.horse.donkey.idle")); return i == 3 ? "mob.horse.zombie.idle" : (i == 4 ? "mob.horse.skeleton.idle" : (i != 1 && i != 2 ? "mob.horse.idle" : "mob.horse.donkey.idle"));
} }
protected String ct() { protected String cv() {
this.cQ();
this.cS(); this.cS();
this.cU();
int i = this.getType(); int i = this.getType();
return i != 3 && i != 4 ? (i != 1 && i != 2 ? "mob.horse.angry" : "mob.horse.donkey.angry") : null; return i != 3 && i != 4 ? (i != 1 && i != 2 ? "mob.horse.angry" : "mob.horse.donkey.angry") : null;
@ -486,14 +486,14 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.bc().b(attributeJumpStrength); this.bb().b(attributeJumpStrength);
this.getAttributeInstance(GenericAttributes.a).setValue(53.0D); this.getAttributeInstance(GenericAttributes.a).setValue(53.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.22499999403953552D); this.getAttributeInstance(GenericAttributes.d).setValue(0.22499999403953552D);
} }
public int bz() { public int bB() {
return 6; return 6;
} }
@ -501,7 +501,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return this.maxDomestication; // CraftBukkit - return stored max domestication instead of 100 return this.maxDomestication; // CraftBukkit - return stored max domestication instead of 100
} }
protected float bf() { protected float be() {
return 0.8F; return 0.8F;
} }
@ -509,7 +509,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return 400; return 400;
} }
private void cN() { private void cP() {
this.bQ = null; this.bQ = null;
} }
@ -525,18 +525,18 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
if (itemstack != null && itemstack.getItem() == Items.MONSTER_EGG) { if (itemstack != null && itemstack.getItem() == Items.MONSTER_EGG) {
return super.a(entityhuman); return super.a(entityhuman);
} else if (!this.isTame() && this.cC()) { } else if (!this.isTame() && this.cE()) {
return false; return false;
} else if (this.isTame() && this.bZ() && entityhuman.isSneaking()) { } else if (this.isTame() && this.cb() && entityhuman.isSneaking()) {
this.g(entityhuman); this.g(entityhuman);
return true; return true;
} else if (this.ce() && this.passenger != null) { } else if (this.cg() && this.passenger != null) {
return super.a(entityhuman); return super.a(entityhuman);
} else { } else {
if (itemstack != null) { if (itemstack != null) {
boolean flag = false; boolean flag = false;
if (this.cz()) { if (this.cB()) {
byte b0 = -1; byte b0 = -1;
if (itemstack.getItem() == Items.HORSE_ARMOR_IRON) { if (itemstack.getItem() == Items.HORSE_ARMOR_IRON) {
@ -549,7 +549,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
if (b0 >= 0) { if (b0 >= 0) {
if (!this.isTame()) { if (!this.isTame()) {
this.cH(); this.cJ();
return true; return true;
} }
@ -558,7 +558,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
if (!flag && !this.cC()) { if (!flag && !this.cE()) {
float f = 0.0F; float f = 0.0F;
short short1 = 0; short short1 = 0;
byte b1 = 0; byte b1 = 0;
@ -605,7 +605,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
flag = true; flag = true;
} }
if (!this.bZ() && short1 > 0) { if (!this.cb() && short1 > 0) {
this.a(short1); this.a(short1);
flag = true; flag = true;
} }
@ -616,7 +616,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
if (flag) { if (flag) {
this.cJ(); this.cL();
} }
} }
@ -625,18 +625,18 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return true; return true;
} }
this.cH(); this.cJ();
return true; return true;
} }
if (!flag && this.cA() && !this.hasChest() && itemstack.getItem() == Item.getItemOf(Blocks.CHEST)) { if (!flag && this.cC() && !this.hasChest() && itemstack.getItem() == Item.getItemOf(Blocks.CHEST)) {
this.setHasChest(true); this.setHasChest(true);
this.makeSound("mob.chickenplop", 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F); this.makeSound("mob.chickenplop", 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F);
flag = true; flag = true;
this.loadChest(); this.loadChest();
} }
if (!flag && this.ce() && !this.cs() && itemstack.getItem() == Items.SADDLE) { if (!flag && this.cg() && !this.cu() && itemstack.getItem() == Items.SADDLE) {
this.g(entityhuman); this.g(entityhuman);
return true; return true;
} }
@ -650,7 +650,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
if (this.ce() && this.passenger == null) { if (this.cg() && this.passenger == null) {
if (itemstack != null && itemstack.a(entityhuman, (EntityLiving) this)) { if (itemstack != null && itemstack.a(entityhuman, (EntityLiving) this)) {
return true; return true;
} else { } else {
@ -673,48 +673,48 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
public boolean cz() { public boolean cB() {
return this.getType() == 0; return this.getType() == 0;
} }
public boolean cA() {
int i = this.getType();
return i == 2 || i == 1;
}
protected boolean bh() {
return this.passenger != null && this.cs() ? true : this.ck() || this.cl();
}
public boolean cC() { public boolean cC() {
int i = this.getType(); int i = this.getType();
return i == 2 || i == 1;
}
protected boolean bg() {
return this.passenger != null && this.cu() ? true : this.cm() || this.cn();
}
public boolean cE() {
int i = this.getType();
return i == 3 || i == 4; return i == 3 || i == 4;
} }
public boolean cD() { public boolean cF() {
return this.cC() || this.getType() == 2; return this.cE() || this.getType() == 2;
} }
public boolean c(ItemStack itemstack) { public boolean c(ItemStack itemstack) {
return false; return false;
} }
private void cP() { private void cR() {
this.bp = 1; this.bp = 1;
} }
public void die(DamageSource damagesource) { public void die(DamageSource damagesource) {
super.die(damagesource); super.die(damagesource);
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.cI(); this.cK();
} }
} }
public void e() { public void e() {
if (this.random.nextInt(200) == 0) { if (this.random.nextInt(200) == 0) {
this.cP(); this.cR();
} }
super.e(); super.e();
@ -723,19 +723,19 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.heal(1.0F); this.heal(1.0F);
} }
if (!this.ck() && this.passenger == null && this.random.nextInt(300) == 0 && this.world.getType(MathHelper.floor(this.locX), MathHelper.floor(this.locY) - 1, MathHelper.floor(this.locZ)) == Blocks.GRASS) { if (!this.cm() && this.passenger == null && this.random.nextInt(300) == 0 && this.world.getType(MathHelper.floor(this.locX), MathHelper.floor(this.locY) - 1, MathHelper.floor(this.locZ)) == Blocks.GRASS) {
this.o(true); this.o(true);
} }
if (this.ck() && ++this.bD > 50) { if (this.cm() && ++this.bD > 50) {
this.bD = 0; this.bD = 0;
this.o(false); this.o(false);
} }
if (this.cm() && !this.bZ() && !this.ck()) { if (this.co() && !this.cb() && !this.cm()) {
EntityHorse entityhorse = this.a(this, 16.0D); EntityHorse entityhorse = this.a(this, 16.0D);
if (entityhorse != null && this.e(entityhorse) > 4.0D) { if (entityhorse != null && this.f(entityhorse) > 4.0D) {
PathEntity pathentity = this.world.findPath(this, entityhorse, 16.0F, true, false, false, true); PathEntity pathentity = this.world.findPath(this, entityhorse, 16.0F, true, false, false, true);
this.setPathEntity(pathentity); this.setPathEntity(pathentity);
@ -748,7 +748,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
super.h(); super.h();
if (this.world.isStatic && this.datawatcher.a()) { if (this.world.isStatic && this.datawatcher.a()) {
this.datawatcher.e(); this.datawatcher.e();
this.cN(); this.cP();
} }
if (this.bE > 0 && ++this.bE > 30) { if (this.bE > 0 && ++this.bE > 30) {
@ -773,7 +773,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
this.bK = this.bJ; this.bK = this.bJ;
if (this.ck()) { if (this.cm()) {
this.bJ += (1.0F - this.bJ) * 0.4F + 0.05F; this.bJ += (1.0F - this.bJ) * 0.4F + 0.05F;
if (this.bJ > 1.0F) { if (this.bJ > 1.0F) {
this.bJ = 1.0F; this.bJ = 1.0F;
@ -786,7 +786,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
this.bM = this.bL; this.bM = this.bL;
if (this.cl()) { if (this.cn()) {
this.bK = this.bJ = 0.0F; this.bK = this.bJ = 0.0F;
this.bL += (1.0F - this.bL) * 0.4F + 0.05F; this.bL += (1.0F - this.bL) * 0.4F + 0.05F;
if (this.bL > 1.0F) { if (this.bL > 1.0F) {
@ -814,15 +814,15 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
} }
private void cQ() { private void cS() {
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.bE = 1; this.bE = 1;
this.b(128, true); this.b(128, true);
} }
} }
private boolean cR() { private boolean cT() {
return this.passenger == null && this.vehicle == null && this.isTame() && this.bZ() && !this.cD() && this.getHealth() >= this.getMaxHealth(); return this.passenger == null && this.vehicle == null && this.isTame() && this.cb() && !this.cF() && this.getHealth() >= this.getMaxHealth();
} }
public void e(boolean flag) { public void e(boolean flag) {
@ -841,25 +841,25 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.b(64, flag); this.b(64, flag);
} }
private void cS() { private void cU() {
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.bF = 1; this.bF = 1;
this.p(true); this.p(true);
} }
} }
public void cH() { public void cJ() {
this.cS(); this.cU();
String s = this.ct(); String s = this.cv();
if (s != null) { if (s != null) {
this.makeSound(s, this.bf(), this.bg()); this.makeSound(s, this.be(), this.bf());
} }
} }
public void cI() { public void cK() {
this.a(this, this.inventoryChest); this.a(this, this.inventoryChest);
this.cq(); this.cs();
} }
private void a(Entity entity, InventoryHorseChest inventoryhorsechest) { private void a(Entity entity, InventoryHorseChest inventoryhorsechest) {
@ -881,31 +881,31 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
public void e(float f, float f1) { public void e(float f, float f1) {
if (this.passenger != null && this.passenger instanceof EntityLiving && this.cs()) { // CraftBukkit - Check type of passenger if (this.passenger != null && this.passenger instanceof EntityLiving && this.cu()) {
this.lastYaw = this.yaw = this.passenger.yaw; this.lastYaw = this.yaw = this.passenger.yaw;
this.pitch = this.passenger.pitch * 0.5F; this.pitch = this.passenger.pitch * 0.5F;
this.b(this.yaw, this.pitch); this.b(this.yaw, this.pitch);
this.aP = this.aN = this.yaw; this.aO = this.aM = this.yaw;
f = ((EntityLiving) this.passenger).be * 0.5F; f = ((EntityLiving) this.passenger).bd * 0.5F;
f1 = ((EntityLiving) this.passenger).bf; f1 = ((EntityLiving) this.passenger).be;
if (f1 <= 0.0F) { if (f1 <= 0.0F) {
f1 *= 0.25F; f1 *= 0.25F;
this.bP = 0; this.bP = 0;
} }
if (this.onGround && this.bt == 0.0F && this.cl() && !this.bI) { if (this.onGround && this.bt == 0.0F && this.cn() && !this.bI) {
f = 0.0F; f = 0.0F;
f1 = 0.0F; f1 = 0.0F;
} }
if (this.bt > 0.0F && !this.ch() && this.onGround) { if (this.bt > 0.0F && !this.cj() && this.onGround) {
this.motY = this.getJumpStrength() * (double) this.bt; this.motY = this.getJumpStrength() * (double) this.bt;
if (this.hasEffect(MobEffectList.JUMP)) { if (this.hasEffect(MobEffectList.JUMP)) {
this.motY += (double) ((float) (this.getEffect(MobEffectList.JUMP).getAmplifier() + 1) * 0.1F); this.motY += (double) ((float) (this.getEffect(MobEffectList.JUMP).getAmplifier() + 1) * 0.1F);
} }
this.j(true); this.j(true);
this.am = true; this.al = true;
if (f1 > 0.0F) { if (f1 > 0.0F) {
float f2 = MathHelper.sin(this.yaw * 3.1415927F / 180.0F); float f2 = MathHelper.sin(this.yaw * 3.1415927F / 180.0F);
float f3 = MathHelper.cos(this.yaw * 3.1415927F / 180.0F); float f3 = MathHelper.cos(this.yaw * 3.1415927F / 180.0F);
@ -918,8 +918,8 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.bt = 0.0F; this.bt = 0.0F;
} }
this.X = 1.0F; this.W = 1.0F;
this.aR = this.bl() * 0.1F; this.aQ = this.bk() * 0.1F;
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.i((float) this.getAttributeInstance(GenericAttributes.d).getValue()); this.i((float) this.getAttributeInstance(GenericAttributes.d).getValue());
super.e(f, f1); super.e(f, f1);
@ -930,7 +930,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.j(false); this.j(false);
} }
this.aF = this.aG; this.aE = this.aF;
double d0 = this.locX - this.lastX; double d0 = this.locX - this.lastX;
double d1 = this.locZ - this.lastZ; double d1 = this.locZ - this.lastZ;
float f4 = MathHelper.sqrt(d0 * d0 + d1 * d1) * 4.0F; float f4 = MathHelper.sqrt(d0 * d0 + d1 * d1) * 4.0F;
@ -939,21 +939,21 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
f4 = 1.0F; f4 = 1.0F;
} }
this.aG += (f4 - this.aG) * 0.4F; this.aF += (f4 - this.aF) * 0.4F;
this.aH += this.aG; this.aG += this.aF;
} else { } else {
this.X = 0.5F; this.W = 0.5F;
this.aR = 0.02F; this.aQ = 0.02F;
super.e(f, f1); super.e(f, f1);
} }
} }
public void b(NBTTagCompound nbttagcompound) { public void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound); super.b(nbttagcompound);
nbttagcompound.setBoolean("EatingHaystack", this.ck()); nbttagcompound.setBoolean("EatingHaystack", this.cm());
nbttagcompound.setBoolean("ChestedHorse", this.hasChest()); nbttagcompound.setBoolean("ChestedHorse", this.hasChest());
nbttagcompound.setBoolean("HasReproduced", this.cn()); nbttagcompound.setBoolean("HasReproduced", this.cp());
nbttagcompound.setBoolean("Bred", this.cm()); nbttagcompound.setBoolean("Bred", this.co());
nbttagcompound.setInt("Type", this.getType()); nbttagcompound.setInt("Type", this.getType());
nbttagcompound.setInt("Variant", this.getVariant()); nbttagcompound.setInt("Variant", this.getVariant());
nbttagcompound.setInt("Temper", this.getTemper()); nbttagcompound.setInt("Temper", this.getTemper());
@ -1005,7 +1005,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.maxDomestication = nbttagcompound.getInt("Bukkit.MaxDomestication"); this.maxDomestication = nbttagcompound.getInt("Bukkit.MaxDomestication");
} }
// CraftBukkit end // CraftBukkit end
AttributeInstance attributeinstance = this.bc().a("Speed"); AttributeInstance attributeinstance = this.bb().a("Speed");
if (attributeinstance != null) { if (attributeinstance != null) {
this.getAttributeInstance(GenericAttributes.d).setValue(attributeinstance.b() * 0.25D); this.getAttributeInstance(GenericAttributes.d).setValue(attributeinstance.b() * 0.25D);
@ -1044,7 +1044,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
this.inventoryChest.setItem(0, new ItemStack(Items.SADDLE)); this.inventoryChest.setItem(0, new ItemStack(Items.SADDLE));
} }
this.cM(); this.cO();
} }
public boolean mate(EntityAnimal entityanimal) { public boolean mate(EntityAnimal entityanimal) {
@ -1055,7 +1055,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} else { } else {
EntityHorse entityhorse = (EntityHorse) entityanimal; EntityHorse entityhorse = (EntityHorse) entityanimal;
if (this.cR() && entityhorse.cR()) { if (this.cT() && entityhorse.cT()) {
int i = this.getType(); int i = this.getType();
int j = entityhorse.getType(); int j = entityhorse.getType();
@ -1105,13 +1105,13 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
entityhorse1.setType(k); entityhorse1.setType(k);
double d0 = this.getAttributeInstance(GenericAttributes.a).b() + entityageable.getAttributeInstance(GenericAttributes.a).b() + (double) this.cT(); double d0 = this.getAttributeInstance(GenericAttributes.a).b() + entityageable.getAttributeInstance(GenericAttributes.a).b() + (double) this.cV();
entityhorse1.getAttributeInstance(GenericAttributes.a).setValue(d0 / 3.0D); entityhorse1.getAttributeInstance(GenericAttributes.a).setValue(d0 / 3.0D);
double d1 = this.getAttributeInstance(attributeJumpStrength).b() + entityageable.getAttributeInstance(attributeJumpStrength).b() + this.cU(); double d1 = this.getAttributeInstance(attributeJumpStrength).b() + entityageable.getAttributeInstance(attributeJumpStrength).b() + this.cW();
entityhorse1.getAttributeInstance(attributeJumpStrength).setValue(d1 / 3.0D); entityhorse1.getAttributeInstance(attributeJumpStrength).setValue(d1 / 3.0D);
double d2 = this.getAttributeInstance(GenericAttributes.d).b() + entityageable.getAttributeInstance(GenericAttributes.d).b() + this.cV(); double d2 = this.getAttributeInstance(GenericAttributes.d).b() + entityageable.getAttributeInstance(GenericAttributes.d).b() + this.cX();
entityhorse1.getAttributeInstance(GenericAttributes.d).setValue(d2 / 3.0D); entityhorse1.getAttributeInstance(GenericAttributes.d).setValue(d2 / 3.0D);
return entityhorse1; return entityhorse1;
@ -1147,9 +1147,9 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
if (j != 4 && j != 3) { if (j != 4 && j != 3) {
this.getAttributeInstance(GenericAttributes.a).setValue((double) this.cT()); this.getAttributeInstance(GenericAttributes.a).setValue((double) this.cV());
if (j == 0) { if (j == 0) {
this.getAttributeInstance(GenericAttributes.d).setValue(this.cV()); this.getAttributeInstance(GenericAttributes.d).setValue(this.cX());
} else { } else {
this.getAttributeInstance(GenericAttributes.d).setValue(0.17499999701976776D); this.getAttributeInstance(GenericAttributes.d).setValue(0.17499999701976776D);
} }
@ -1159,7 +1159,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
} }
if (j != 2 && j != 1) { if (j != 2 && j != 1) {
this.getAttributeInstance(attributeJumpStrength).setValue(this.cU()); this.getAttributeInstance(attributeJumpStrength).setValue(this.cW());
} else { } else {
this.getAttributeInstance(attributeJumpStrength).setValue(0.5D); this.getAttributeInstance(attributeJumpStrength).setValue(0.5D);
} }
@ -1168,12 +1168,12 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
return (GroupDataEntity) object; return (GroupDataEntity) object;
} }
protected boolean bk() { protected boolean bj() {
return true; return true;
} }
public void w(int i) { public void w(int i) {
if (this.cs()) { if (this.cu()) {
// CraftBukkit start - fire HorseJumpEvent, use event power // CraftBukkit start - fire HorseJumpEvent, use event power
if (i < 0) { if (i < 0) {
i = 0; i = 0;
@ -1189,37 +1189,37 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
org.bukkit.event.entity.HorseJumpEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callHorseJumpEvent(this, power); org.bukkit.event.entity.HorseJumpEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callHorseJumpEvent(this, power);
if (!event.isCancelled()) { if (!event.isCancelled()) {
this.bI = true; this.bI = true;
this.cS(); this.cU();
this.bt = event.getPower(); this.bt = event.getPower();
} }
// CraftBukkit end // CraftBukkit end
} }
} }
public void ac() { public void ab() {
super.ac(); super.ab();
if (this.bM > 0.0F) { if (this.bM > 0.0F) {
float f = MathHelper.sin(this.aN * 3.1415927F / 180.0F); float f = MathHelper.sin(this.aM * 3.1415927F / 180.0F);
float f1 = MathHelper.cos(this.aN * 3.1415927F / 180.0F); float f1 = MathHelper.cos(this.aM * 3.1415927F / 180.0F);
float f2 = 0.7F * this.bM; float f2 = 0.7F * this.bM;
float f3 = 0.15F * this.bM; float f3 = 0.15F * this.bM;
this.passenger.setPosition(this.locX + (double) (f2 * f), this.locY + this.ae() + this.passenger.ad() + (double) f3, this.locZ - (double) (f2 * f1)); this.passenger.setPosition(this.locX + (double) (f2 * f), this.locY + this.ad() + this.passenger.ac() + (double) f3, this.locZ - (double) (f2 * f1));
if (this.passenger instanceof EntityLiving) { if (this.passenger instanceof EntityLiving) {
((EntityLiving) this.passenger).aN = this.aN; ((EntityLiving) this.passenger).aM = this.aM;
} }
} }
} }
private float cT() { private float cV() {
return 15.0F + (float) this.random.nextInt(8) + (float) this.random.nextInt(9); return 15.0F + (float) this.random.nextInt(8) + (float) this.random.nextInt(9);
} }
private double cU() { private double cW() {
return 0.4000000059604645D + this.random.nextDouble() * 0.2D + this.random.nextDouble() * 0.2D + this.random.nextDouble() * 0.2D; return 0.4000000059604645D + this.random.nextDouble() * 0.2D + this.random.nextDouble() * 0.2D + this.random.nextDouble() * 0.2D;
} }
private double cV() { private double cX() {
return (0.44999998807907104D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D) * 0.25D; return (0.44999998807907104D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D + this.random.nextDouble() * 0.3D) * 0.25D;
} }

Datei anzeigen

@ -27,16 +27,16 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
public Container defaultContainer; public Container defaultContainer;
public Container activeContainer; public Container activeContainer;
protected FoodMetaData foodData = new FoodMetaData(this); // CraftBukkit - add "this" to constructor protected FoodMetaData foodData = new FoodMetaData(this); // CraftBukkit - add "this" to constructor
protected int br; protected int bq;
public float br;
public float bs; public float bs;
public float bt; public int bt;
public int bu; public double bu;
public double bv; public double bv;
public double bw; public double bw;
public double bx; public double bx;
public double by; public double by;
public double bz; public double bz;
public double bA;
// CraftBukkit start // CraftBukkit start
public boolean sleeping; // protected -> public public boolean sleeping; // protected -> public
public boolean fauxSleeping; public boolean fauxSleeping;
@ -48,22 +48,22 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
// CraftBukkit end // CraftBukkit end
public ChunkCoordinates bC; public ChunkCoordinates bB;
public int sleepTicks; // CraftBukkit - private -> public public int sleepTicks; // CraftBukkit - private -> public
public float bC;
public float bD; public float bD;
public float bE;
private ChunkCoordinates c; private ChunkCoordinates c;
private boolean d; private boolean d;
private ChunkCoordinates e; private ChunkCoordinates e;
public PlayerAbilities abilities = new PlayerAbilities(); public PlayerAbilities abilities = new PlayerAbilities();
public int oldLevel = -1; // CraftBukkit public int oldLevel = -1; // CraftBukkit - add field
public int expLevel; public int expLevel;
public int expTotal; public int expTotal;
public float exp; public float exp;
private ItemStack f; private ItemStack f;
private int g; private int g;
protected float bJ = 0.1F; protected float bI = 0.1F;
protected float bK = 0.02F; protected float bJ = 0.02F;
private int h; private int h;
private final GameProfile i; private final GameProfile i;
public EntityFishingHook hookedFish; public EntityFishingHook hookedFish;
@ -78,13 +78,13 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
ChunkCoordinates chunkcoordinates = world.getSpawn(); ChunkCoordinates chunkcoordinates = world.getSpawn();
this.setPositionRotation((double) chunkcoordinates.x + 0.5D, (double) (chunkcoordinates.y + 1), (double) chunkcoordinates.z + 0.5D, 0.0F, 0.0F); this.setPositionRotation((double) chunkcoordinates.x + 0.5D, (double) (chunkcoordinates.y + 1), (double) chunkcoordinates.z + 0.5D, 0.0F, 0.0F);
this.ba = 180.0F; this.az = 180.0F;
this.maxFireTicks = 20; this.maxFireTicks = 20;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.bc().b(GenericAttributes.e).setValue(1.0D); this.bb().b(GenericAttributes.e).setValue(1.0D);
} }
protected void c() { protected void c() {
@ -94,19 +94,19 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.datawatcher.a(18, Integer.valueOf(0)); this.datawatcher.a(18, Integer.valueOf(0));
} }
public boolean bw() { public boolean bx() {
return this.f != null; return this.f != null;
} }
public void by() { public void bz() {
if (this.f != null) { if (this.f != null) {
this.f.b(this.world, this, this.g); this.f.b(this.world, this, this.g);
} }
this.bz(); this.bA();
} }
public void bz() { public void bA() {
this.f = null; this.f = null;
this.g = 0; this.g = 0;
if (!this.world.isStatic) { if (!this.world.isStatic) {
@ -115,7 +115,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
public boolean isBlocking() { public boolean isBlocking() {
return this.bw() && this.f.getItem().d(this.f) == EnumAnimation.BLOCK; return this.bx() && this.f.getItem().d(this.f) == EnumAnimation.BLOCK;
} }
public void h() { public void h() {
@ -131,12 +131,12 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.p(); this.p();
} }
} else { } else {
this.bz(); this.bA();
} }
} }
if (this.bu > 0) { if (this.bt > 0) {
--this.bu; --this.bt;
} }
if (this.isSleeping()) { if (this.isSleeping()) {
@ -148,7 +148,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
if (!this.world.isStatic) { if (!this.world.isStatic) {
if (!this.j()) { if (!this.j()) {
this.a(true, true, false); this.a(true, true, false);
} else if (this.world.v()) { } else if (this.world.w()) {
this.a(false, true, true); this.a(false, true, true);
} }
} }
@ -169,41 +169,41 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.extinguish(); this.extinguish();
} }
this.bu = this.bx;
this.bv = this.by; this.bv = this.by;
this.bw = this.bz; this.bw = this.bz;
this.bx = this.bA; double d0 = this.locX - this.bx;
double d0 = this.locX - this.by; double d1 = this.locY - this.by;
double d1 = this.locY - this.bz; double d2 = this.locZ - this.bz;
double d2 = this.locZ - this.bA;
double d3 = 10.0D; double d3 = 10.0D;
if (d0 > d3) { if (d0 > d3) {
this.bv = this.by = this.locX; this.bu = this.bx = this.locX;
} }
if (d2 > d3) { if (d2 > d3) {
this.bx = this.bA = this.locZ; this.bw = this.bz = this.locZ;
} }
if (d1 > d3) { if (d1 > d3) {
this.bw = this.bz = this.locY; this.bv = this.by = this.locY;
} }
if (d0 < -d3) { if (d0 < -d3) {
this.bv = this.by = this.locX; this.bu = this.by = this.locX;
} }
if (d2 < -d3) { if (d2 < -d3) {
this.bx = this.bA = this.locZ; this.bw = this.bz = this.locZ;
} }
if (d1 < -d3) { if (d1 < -d3) {
this.bw = this.bz = this.locY; this.bv = this.bz = this.locY;
} }
this.by += d0 * 0.25D; this.bx += d0 * 0.25D;
this.bA += d2 * 0.25D; this.bz += d2 * 0.25D;
this.bz += d1 * 0.25D; this.by += d1 * 0.25D;
if (this.vehicle == null) { if (this.vehicle == null) {
this.e = null; this.e = null;
} }
@ -214,19 +214,19 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
} }
public int D() { public int C() {
return this.abilities.isInvulnerable ? 0 : 80; return this.abilities.isInvulnerable ? 0 : 80;
} }
protected String H() { protected String G() {
return "game.player.swim"; return "game.player.swim";
} }
protected String O() { protected String N() {
return "game.player.swim.splash"; return "game.player.swim.splash";
} }
public int ai() { public int ah() {
return 10; return 10;
} }
@ -241,11 +241,11 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
if (itemstack.o() == EnumAnimation.EAT) { if (itemstack.o() == EnumAnimation.EAT) {
for (int j = 0; j < i; ++j) { for (int j = 0; j < i; ++j) {
Vec3D vec3d = this.world.getVec3DPool().create(((double) this.random.nextFloat() - 0.5D) * 0.1D, Math.random() * 0.1D + 0.1D, 0.0D); Vec3D vec3d = Vec3D.a(((double) this.random.nextFloat() - 0.5D) * 0.1D, Math.random() * 0.1D + 0.1D, 0.0D);
vec3d.a(-this.pitch * 3.1415927F / 180.0F); vec3d.a(-this.pitch * 3.1415927F / 180.0F);
vec3d.b(-this.yaw * 3.1415927F / 180.0F); vec3d.b(-this.yaw * 3.1415927F / 180.0F);
Vec3D vec3d1 = this.world.getVec3DPool().create(((double) this.random.nextFloat() - 0.5D) * 0.3D, (double) (-this.random.nextFloat()) * 0.6D - 0.3D, 0.6D); Vec3D vec3d1 = Vec3D.a(((double) this.random.nextFloat() - 0.5D) * 0.3D, (double) (-this.random.nextFloat()) * 0.6D - 0.3D, 0.6D);
vec3d1.a(-this.pitch * 3.1415927F / 180.0F); vec3d1.a(-this.pitch * 3.1415927F / 180.0F);
vec3d1.b(-this.yaw * 3.1415927F / 180.0F); vec3d1.b(-this.yaw * 3.1415927F / 180.0F);
@ -256,7 +256,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
s = s + "_" + itemstack.getData(); s = s + "_" + itemstack.getData();
} }
this.world.addParticle(s, vec3d1.c, vec3d1.d, vec3d1.e, vec3d.c, vec3d.d + 0.05D, vec3d.e); this.world.addParticle(s, vec3d1.a, vec3d1.b, vec3d1.c, vec3d.a, vec3d.b + 0.05D, vec3d.c);
} }
this.makeSound("random.eat", 0.5F + 0.5F * (float) this.random.nextInt(2), (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F); this.makeSound("random.eat", 0.5F + 0.5F * (float) this.random.nextInt(2), (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F);
@ -268,7 +268,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.c(this.f, 16); this.c(this.f, 16);
int i = this.f.count; int i = this.f.count;
// CraftBukkit start // CraftBukkit start - fire PlayerItemConsumeEvent
org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.f); org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.f);
PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem); PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem);
world.getServer().getPluginManager().callEvent(event); world.getServer().getPluginManager().callEvent(event);
@ -302,11 +302,11 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
} }
this.bz(); this.bA();
} }
} }
protected boolean bh() { protected boolean bg() {
return this.getHealth() <= 0.0F || this.isSleeping(); return this.getHealth() <= 0.0F || this.isSleeping();
} }
@ -339,7 +339,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
*/ */
super.setPassengerOf(entity); super.setPassengerOf(entity);
if (!this.world.isStatic && this.vehicle == null) { if (!this.world.isStatic && this.vehicle == null) {
this.l(originalVehicle); this.m(originalVehicle);
} }
// CraftBukkit end // CraftBukkit end
} else { } else {
@ -347,7 +347,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
} }
public void ab() { public void aa() {
if (!this.world.isStatic && this.isSneaking()) { if (!this.world.isStatic && this.isSneaking()) {
this.mount((Entity) null); this.mount((Entity) null);
this.setSneaking(false); this.setSneaking(false);
@ -358,26 +358,26 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
float f = this.yaw; float f = this.yaw;
float f1 = this.pitch; float f1 = this.pitch;
super.ab(); super.aa();
this.bs = this.bt; this.br = this.bs;
this.bt = 0.0F; this.bs = 0.0F;
this.l(this.locX - d0, this.locY - d1, this.locZ - d2); this.l(this.locX - d0, this.locY - d1, this.locZ - d2);
if (this.vehicle instanceof EntityPig) { if (this.vehicle instanceof EntityPig) {
this.pitch = f1; this.pitch = f1;
this.yaw = f; this.yaw = f;
this.aN = ((EntityPig) this.vehicle).aN; this.aM = ((EntityPig) this.vehicle).aM;
} }
} }
} }
protected void bq() { protected void bp() {
super.bq(); super.bp();
this.bb(); this.ba();
} }
public void e() { public void e() {
if (this.br > 0) { if (this.bq > 0) {
--this.br; --this.bq;
} }
if (this.world.difficulty == EnumDifficulty.PEACEFUL && this.getHealth() < this.getMaxHealth() && this.world.getGameRules().getBoolean("naturalRegeneration") && this.ticksLived % 20 * 12 == 0) { if (this.world.difficulty == EnumDifficulty.PEACEFUL && this.getHealth() < this.getMaxHealth() && this.world.getGameRules().getBoolean("naturalRegeneration") && this.ticksLived % 20 * 12 == 0) {
@ -386,7 +386,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
this.inventory.k(); this.inventory.k();
this.bs = this.bt; this.br = this.bs;
super.e(); super.e();
AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.d); AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.d);
@ -394,9 +394,9 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
attributeinstance.setValue((double) this.abilities.b()); attributeinstance.setValue((double) this.abilities.b());
} }
this.aR = this.bK; this.aQ = this.bJ;
if (this.isSprinting()) { if (this.isSprinting()) {
this.aR = (float) ((double) this.aR + (double) this.bK * 0.3D); this.aQ = (float) ((double) this.aQ + (double) this.bJ * 0.3D);
} }
this.i((float) attributeinstance.getValue()); this.i((float) attributeinstance.getValue());
@ -416,8 +416,8 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
f1 = 0.0F; f1 = 0.0F;
} }
this.bt += (f - this.bt) * 0.4F; this.bs += (f - this.bs) * 0.4F;
this.aK += (f1 - this.aK) * 0.8F; this.aJ += (f1 - this.aJ) * 0.8F;
if (this.getHealth() > 0.0F) { if (this.getHealth() > 0.0F) {
AxisAlignedBB axisalignedbb = null; AxisAlignedBB axisalignedbb = null;
@ -434,14 +434,14 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
Entity entity = (Entity) list.get(i); Entity entity = (Entity) list.get(i);
if (!entity.dead) { if (!entity.dead) {
this.r(entity); this.d(entity);
} }
} }
} }
} }
} }
private void r(Entity entity) { private void d(Entity entity) {
entity.b_(this); entity.b_(this);
} }
@ -473,8 +473,8 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
if (damagesource != null) { if (damagesource != null) {
this.motX = (double) (-MathHelper.cos((this.aA + this.yaw) * 3.1415927F / 180.0F) * 0.1F); this.motX = (double) (-MathHelper.cos((this.az + this.yaw) * 3.1415927F / 180.0F) * 0.1F);
this.motZ = (double) (-MathHelper.sin((this.aA + this.yaw) * 3.1415927F / 180.0F) * 0.1F); this.motZ = (double) (-MathHelper.sin((this.az + this.yaw) * 3.1415927F / 180.0F) * 0.1F);
} else { } else {
this.motX = this.motZ = 0.0D; this.motX = this.motZ = 0.0D;
} }
@ -483,11 +483,11 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.a(StatisticList.v, 1); this.a(StatisticList.v, 1);
} }
protected String aT() { protected String aS() {
return "game.player.hurt"; return "game.player.hurt";
} }
protected String aU() { protected String aT() {
return "game.player.die"; return "game.player.die";
} }
@ -557,7 +557,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
entityitem.motZ += Math.sin((double) f1) * (double) f; entityitem.motZ += Math.sin((double) f1) * (double) f;
} }
// CraftBukkit start // CraftBukkit start - fire PlayerDropItemEvent
Player player = (Player) this.getBukkitEntity(); Player player = (Player) this.getBukkitEntity();
CraftItem drop = new CraftItem(this.world.getServer(), entityitem); CraftItem drop = new CraftItem(this.world.getServer(), entityitem);
@ -635,7 +635,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.expTotal = nbttagcompound.getInt("XpTotal"); this.expTotal = nbttagcompound.getInt("XpTotal");
this.setScore(nbttagcompound.getInt("Score")); this.setScore(nbttagcompound.getInt("Score"));
if (this.sleeping) { if (this.sleeping) {
this.bC = new ChunkCoordinates(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ)); this.bB = new ChunkCoordinates(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ));
this.a(true, true, false); this.a(true, true, false);
} }
@ -711,7 +711,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} else if (this.abilities.isInvulnerable && !damagesource.ignoresInvulnerability()) { } else if (this.abilities.isInvulnerable && !damagesource.ignoresInvulnerability()) {
return false; return false;
} else { } else {
this.aV = 0; this.aU = 0;
if (this.getHealth() <= 0.0F) { if (this.getHealth() <= 0.0F) {
return false; return false;
} else { } else {
@ -779,11 +779,11 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.inventory.a(f); this.inventory.a(f);
} }
public int aV() { public int aU() {
return this.inventory.l(); return this.inventory.l();
} }
public float bC() { public float bD() {
int i = 0; int i = 0;
ItemStack[] aitemstack = this.inventory.armor; ItemStack[] aitemstack = this.inventory.armor;
int j = aitemstack.length; int j = aitemstack.length;
@ -809,14 +809,14 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
f = this.c(damagesource, f); f = this.c(damagesource, f);
float f1 = f; float f1 = f;
f = Math.max(f - this.bs(), 0.0F); f = Math.max(f - this.br(), 0.0F);
this.m(this.bs() - (f1 - f)); this.m(this.br() - (f1 - f));
if (f != 0.0F) { if (f != 0.0F) {
this.a(damagesource.f()); this.a(damagesource.f());
float f2 = this.getHealth(); float f2 = this.getHealth();
this.setHealth(this.getHealth() - f); this.setHealth(this.getHealth() - f);
this.aW().a(damagesource, f2, f); this.aV().a(damagesource, f2, f);
} }
} }
} }
@ -837,8 +837,8 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
public void b(ItemStack itemstack) {} public void b(ItemStack itemstack) {}
public boolean p(Entity entity) { public boolean q(Entity entity) {
ItemStack itemstack = this.bD(); ItemStack itemstack = this.bE();
ItemStack itemstack1 = itemstack != null ? itemstack.cloneItemStack() : null; ItemStack itemstack1 = itemstack != null ? itemstack.cloneItemStack() : null;
if (!entity.c(this)) { if (!entity.c(this)) {
@ -850,7 +850,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
if (itemstack.a(this, (EntityLiving) entity)) { if (itemstack.a(this, (EntityLiving) entity)) {
// CraftBukkit - bypass infinite items; <= 0 -> == 0 // CraftBukkit - bypass infinite items; <= 0 -> == 0
if (itemstack.count == 0 && !this.abilities.canInstantlyBuild) { if (itemstack.count == 0 && !this.abilities.canInstantlyBuild) {
this.bE(); this.bF();
} }
return true; return true;
@ -859,9 +859,9 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return false; return false;
} else { } else {
if (itemstack != null && itemstack == this.bD()) { if (itemstack != null && itemstack == this.bE()) {
if (itemstack.count <= 0 && !this.abilities.canInstantlyBuild) { if (itemstack.count <= 0 && !this.abilities.canInstantlyBuild) {
this.bE(); this.bF();
} else if (itemstack.count < itemstack1.count && this.abilities.canInstantlyBuild) { } else if (itemstack.count < itemstack1.count && this.abilities.canInstantlyBuild) {
itemstack.count = itemstack1.count; itemstack.count = itemstack1.count;
} }
@ -871,21 +871,21 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
} }
public ItemStack bD() { public ItemStack bE() {
return this.inventory.getItemInHand(); return this.inventory.getItemInHand();
} }
public void bE() { public void bF() {
this.inventory.setItem(this.inventory.itemInHandIndex, (ItemStack) null); this.inventory.setItem(this.inventory.itemInHandIndex, (ItemStack) null);
} }
public double ad() { public double ac() {
return (double) (this.height - 0.5F); return (double) (this.height - 0.5F);
} }
public void attack(Entity entity) { public void attack(Entity entity) {
if (entity.av()) { if (entity.au()) {
if (!entity.i(this)) { if (!entity.j(this)) {
float f = (float) this.getAttributeInstance(GenericAttributes.e).getValue(); float f = (float) this.getAttributeInstance(GenericAttributes.e).getValue();
int i = 0; int i = 0;
float f1 = 0.0F; float f1 = 0.0F;
@ -900,7 +900,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
if (f > 0.0F || f1 > 0.0F) { if (f > 0.0F || f1 > 0.0F) {
boolean flag = this.fallDistance > 0.0F && !this.onGround && !this.h_() && !this.M() && !this.hasEffect(MobEffectList.BLINDNESS) && this.vehicle == null && entity instanceof EntityLiving; boolean flag = this.fallDistance > 0.0F && !this.onGround && !this.h_() && !this.L() && !this.hasEffect(MobEffectList.BLINDNESS) && this.vehicle == null && entity instanceof EntityLiving;
if (flag && f > 0.0F) { if (flag && f > 0.0F) {
f *= 1.5F; f *= 1.5F;
@ -937,13 +937,13 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.a((Statistic) AchievementList.F); this.a((Statistic) AchievementList.F);
} }
this.k(entity); this.l(entity);
if (entity instanceof EntityLiving) { if (entity instanceof EntityLiving) {
EnchantmentManager.a((EntityLiving) entity, (Entity) this); EnchantmentManager.a((EntityLiving) entity, (Entity) this);
} }
EnchantmentManager.b(this, entity); EnchantmentManager.b(this, entity);
ItemStack itemstack = this.bD(); ItemStack itemstack = this.bE();
Object object = entity; Object object = entity;
if (entity instanceof EntityComplexPart) { if (entity instanceof EntityComplexPart) {
@ -958,7 +958,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
itemstack.a((EntityLiving) object, this); itemstack.a((EntityLiving) object, this);
// CraftBukkit - bypass infinite items; <= 0 -> == 0 // CraftBukkit - bypass infinite items; <= 0 -> == 0
if (itemstack.count == 0) { if (itemstack.count == 0) {
this.bE(); this.bF();
} }
} }
@ -1015,7 +1015,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return EnumBedResult.NOT_POSSIBLE_HERE; return EnumBedResult.NOT_POSSIBLE_HERE;
} }
if (this.world.v()) { if (this.world.w()) {
return EnumBedResult.NOT_POSSIBLE_NOW; return EnumBedResult.NOT_POSSIBLE_NOW;
} }
@ -1025,18 +1025,18 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
double d0 = 8.0D; double d0 = 8.0D;
double d1 = 5.0D; double d1 = 5.0D;
List list = this.world.a(EntityMonster.class, AxisAlignedBB.a().a((double) i - d0, (double) j - d1, (double) k - d0, (double) i + d0, (double) j + d1, (double) k + d0)); List list = this.world.a(EntityMonster.class, AxisAlignedBB.a((double) i - d0, (double) j - d1, (double) k - d0, (double) i + d0, (double) j + d1, (double) k + d0));
if (!list.isEmpty()) { if (!list.isEmpty()) {
return EnumBedResult.NOT_SAFE; return EnumBedResult.NOT_SAFE;
} }
} }
if (this.am()) { if (this.al()) {
this.mount((Entity) null); this.mount((Entity) null);
} }
// CraftBukkit start // CraftBukkit start - fire PlayerBedEnterEvent
if (this.getBukkitEntity() instanceof Player) { if (this.getBukkitEntity() instanceof Player) {
Player player = (Player) this.getBukkitEntity(); Player player = (Player) this.getBukkitEntity();
org.bukkit.block.Block bed = this.world.getWorld().getBlockAt(i, j, k); org.bukkit.block.Block bed = this.world.getWorld().getBlockAt(i, j, k);
@ -1083,7 +1083,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.sleeping = true; this.sleeping = true;
this.sleepTicks = 0; this.sleepTicks = 0;
this.bC = new ChunkCoordinates(i, j, k); this.bB = new ChunkCoordinates(i, j, k);
this.motX = this.motZ = this.motY = 0.0D; this.motX = this.motZ = this.motY = 0.0D;
if (!this.world.isStatic) { if (!this.world.isStatic) {
this.world.everyoneSleeping(); this.world.everyoneSleeping();
@ -1093,31 +1093,31 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
private void w(int i) { private void w(int i) {
this.bC = 0.0F;
this.bD = 0.0F; this.bD = 0.0F;
this.bE = 0.0F;
switch (i) { switch (i) {
case 0: case 0:
this.bE = -1.8F; this.bD = -1.8F;
break; break;
case 1: case 1:
this.bD = 1.8F; this.bC = 1.8F;
break; break;
case 2: case 2:
this.bE = 1.8F; this.bD = 1.8F;
break; break;
case 3: case 3:
this.bD = -1.8F; this.bC = -1.8F;
} }
} }
public void a(boolean flag, boolean flag1, boolean flag2) { public void a(boolean flag, boolean flag1, boolean flag2) {
this.a(0.6F, 1.8F); this.a(0.6F, 1.8F);
this.e_(); this.e_();
ChunkCoordinates chunkcoordinates = this.bC; ChunkCoordinates chunkcoordinates = this.bB;
ChunkCoordinates chunkcoordinates1 = this.bC; ChunkCoordinates chunkcoordinates1 = this.bB;
if (chunkcoordinates != null && this.world.getType(chunkcoordinates.x, chunkcoordinates.y, chunkcoordinates.z) == Blocks.BED) { if (chunkcoordinates != null && this.world.getType(chunkcoordinates.x, chunkcoordinates.y, chunkcoordinates.z) == Blocks.BED) {
BlockBed.a(this.world, chunkcoordinates.x, chunkcoordinates.y, chunkcoordinates.z, false); BlockBed.a(this.world, chunkcoordinates.x, chunkcoordinates.y, chunkcoordinates.z, false);
@ -1134,7 +1134,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.world.everyoneSleeping(); this.world.everyoneSleeping();
} }
// CraftBukkit start // CraftBukkit start - fire PlayerBedLeaveEvent
if (this.getBukkitEntity() instanceof Player) { if (this.getBukkitEntity() instanceof Player) {
Player player = (Player) this.getBukkitEntity(); Player player = (Player) this.getBukkitEntity();
@ -1157,16 +1157,16 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
if (flag2) { if (flag2) {
this.setRespawnPosition(this.bC, false); this.setRespawnPosition(this.bB, false);
} }
} }
private boolean j() { private boolean j() {
return this.world.getType(this.bC.x, this.bC.y, this.bC.z) == Blocks.BED; return this.world.getType(this.bB.x, this.bB.y, this.bB.z) == Blocks.BED;
} }
public static ChunkCoordinates getBed(World world, ChunkCoordinates chunkcoordinates, boolean flag) { public static ChunkCoordinates getBed(World world, ChunkCoordinates chunkcoordinates, boolean flag) {
IChunkProvider ichunkprovider = world.K(); IChunkProvider ichunkprovider = world.L();
ichunkprovider.getChunkAt(chunkcoordinates.x - 3 >> 4, chunkcoordinates.z - 3 >> 4); ichunkprovider.getChunkAt(chunkcoordinates.x - 3 >> 4, chunkcoordinates.z - 3 >> 4);
ichunkprovider.getChunkAt(chunkcoordinates.x + 3 >> 4, chunkcoordinates.z - 3 >> 4); ichunkprovider.getChunkAt(chunkcoordinates.x + 3 >> 4, chunkcoordinates.z - 3 >> 4);
@ -1232,8 +1232,8 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
public void a(Statistic statistic, int i) {} public void a(Statistic statistic, int i) {}
public void bj() { public void bi() {
super.bj(); super.bi();
this.a(StatisticList.r, 1); this.a(StatisticList.r, 1);
if (this.isSprinting()) { if (this.isSprinting()) {
this.a(0.8F); this.a(0.8F);
@ -1249,12 +1249,12 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
if (this.abilities.isFlying && this.vehicle == null) { if (this.abilities.isFlying && this.vehicle == null) {
double d3 = this.motY; double d3 = this.motY;
float f2 = this.aR; float f2 = this.aQ;
this.aR = this.abilities.a(); this.aQ = this.abilities.a();
super.e(f, f1); super.e(f, f1);
this.motY = d3 * 0.6D; this.motY = d3 * 0.6D;
this.aR = f2; this.aQ = f2;
} else { } else {
super.e(f, f1); super.e(f, f1);
} }
@ -1262,7 +1262,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.checkMovement(this.locX - d0, this.locY - d1, this.locZ - d2); this.checkMovement(this.locX - d0, this.locY - d1, this.locZ - d2);
} }
public float bl() { public float bk() {
return (float) this.getAttributeInstance(GenericAttributes.d).getValue(); return (float) this.getAttributeInstance(GenericAttributes.d).getValue();
} }
@ -1276,7 +1276,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.a(StatisticList.m, i); this.a(StatisticList.m, i);
this.a(0.015F * (float) i * 0.01F); this.a(0.015F * (float) i * 0.01F);
} }
} else if (this.M()) { } else if (this.L()) {
i = Math.round(MathHelper.sqrt(d0 * d0 + d2 * d2) * 100.0F); i = Math.round(MathHelper.sqrt(d0 * d0 + d2 * d2) * 100.0F);
if (i > 0) { if (i > 0) {
this.a(StatisticList.i, i); this.a(StatisticList.i, i);
@ -1348,16 +1348,16 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
int i = EntityTypes.a(entityliving); int i = EntityTypes.a(entityliving);
MonsterEggInfo monsteregginfo = (MonsterEggInfo) EntityTypes.a.get(Integer.valueOf(i)); MonsterEggInfo monsteregginfo = (MonsterEggInfo) EntityTypes.eggInfo.get(Integer.valueOf(i));
if (monsteregginfo != null) { if (monsteregginfo != null) {
this.a(monsteregginfo.d, 1); this.a(monsteregginfo.killEntityStatistic, 1);
} }
} }
public void as() { public void ar() {
if (!this.abilities.isFlying) { if (!this.abilities.isFlying) {
super.as(); super.ar();
} }
} }
@ -1417,7 +1417,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return (flag || this.foodData.c()) && !this.abilities.isInvulnerable; return (flag || this.foodData.c()) && !this.abilities.isInvulnerable;
} }
public boolean bP() { public boolean bQ() {
return this.getHealth() > 0.0F && this.getHealth() < this.getMaxHealth(); return this.getHealth() > 0.0F && this.getHealth() < this.getMaxHealth();
} }
@ -1442,8 +1442,8 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return true; return true;
} }
if (this.bD() != null) { if (this.bE() != null) {
ItemStack itemstack = this.bD(); ItemStack itemstack = this.bE();
if (itemstack.b(block) || itemstack.a(block) > 1.0F) { if (itemstack.b(block) || itemstack.a(block) > 1.0F) {
return true; return true;
@ -1482,7 +1482,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.expTotal = entityhuman.expTotal; this.expTotal = entityhuman.expTotal;
this.exp = entityhuman.exp; this.exp = entityhuman.exp;
this.setScore(entityhuman.getScore()); this.setScore(entityhuman.getScore());
this.ar = entityhuman.ar; this.aq = entityhuman.aq;
} else if (this.world.getGameRules().getBoolean("keepInventory")) { } else if (this.world.getGameRules().getBoolean("keepInventory")) {
this.inventory.b(entityhuman.inventory); this.inventory.b(entityhuman.inventory);
this.expLevel = entityhuman.expLevel; this.expLevel = entityhuman.expLevel;
@ -1518,7 +1518,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return i == 0 ? this.inventory.getItemInHand() : this.inventory.armor[i - 1]; return i == 0 ? this.inventory.getItemInHand() : this.inventory.armor[i - 1];
} }
public ItemStack be() { public ItemStack bd() {
return this.inventory.getItemInHand(); return this.inventory.getItemInHand();
} }
@ -1530,7 +1530,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
return this.inventory.armor; return this.inventory.armor;
} }
public boolean aC() { public boolean aB() {
return !this.abilities.isFlying; return !this.abilities.isFlying;
} }
@ -1543,10 +1543,10 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
} }
public IChatBaseComponent getScoreboardDisplayName() { public IChatBaseComponent getScoreboardDisplayName() {
// CraftBukkit todo: fun // CraftBukkit - todo: fun
ChatComponentText chatcomponenttext = new ChatComponentText(ScoreboardTeam.getPlayerDisplayName(this.getScoreboardTeam(), this.getName())); ChatComponentText chatcomponenttext = new ChatComponentText(ScoreboardTeam.getPlayerDisplayName(this.getScoreboardTeam(), this.getName()));
chatcomponenttext.b().a(new ChatClickable(EnumClickAction.SUGGEST_COMMAND, "/msg " + this.getName() + " ")); chatcomponenttext.getChatModifier().setChatClickable(new ChatClickable(EnumClickAction.SUGGEST_COMMAND, "/msg " + this.getName() + " "));
return chatcomponenttext; return chatcomponenttext;
} }
@ -1558,7 +1558,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
this.getDataWatcher().watch(17, Float.valueOf(f)); this.getDataWatcher().watch(17, Float.valueOf(f));
} }
public float bs() { public float br() {
return this.getDataWatcher().getFloat(17); return this.getDataWatcher().getFloat(17);
} }

Datei anzeigen

@ -14,9 +14,9 @@ public abstract class EntityInsentient extends EntityLiving {
public int a_; public int a_;
protected int b; protected int b;
private ControllerLook h; private ControllerLook lookController;
private ControllerMove moveController; private ControllerMove moveController;
private ControllerJump lookController; private ControllerJump bm;
private EntityAIBodyControl bn; private EntityAIBodyControl bn;
private Navigation navigation; private Navigation navigation;
protected final PathfinderGoalSelector goalSelector; protected final PathfinderGoalSelector goalSelector;
@ -38,9 +38,9 @@ public abstract class EntityInsentient extends EntityLiving {
super(world); super(world);
this.goalSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null); this.goalSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
this.targetSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null); this.targetSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
this.h = new ControllerLook(this); this.lookController = new ControllerLook(this);
this.moveController = new ControllerMove(this); this.moveController = new ControllerMove(this);
this.lookController = new ControllerJump(this); this.bm = new ControllerJump(this);
this.bn = new EntityAIBodyControl(this); this.bn = new EntityAIBodyControl(this);
this.navigation = new Navigation(this, world); this.navigation = new Navigation(this, world);
this.bq = new EntitySenses(this); this.bq = new EntitySenses(this);
@ -50,13 +50,13 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.bc().b(GenericAttributes.b).setValue(16.0D); this.bb().b(GenericAttributes.b).setValue(16.0D);
} }
public ControllerLook getControllerLook() { public ControllerLook getControllerLook() {
return this.h; return this.lookController;
} }
public ControllerMove getControllerMove() { public ControllerMove getControllerMove() {
@ -64,7 +64,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
public ControllerJump getControllerJump() { public ControllerJump getControllerJump() {
return this.lookController; return this.bm;
} }
public Navigation getNavigation() { public Navigation getNavigation() {
@ -103,12 +103,12 @@ public abstract class EntityInsentient extends EntityLiving {
String s = this.t(); String s = this.t();
if (s != null) { if (s != null) {
this.makeSound(s, this.bf(), this.bg()); this.makeSound(s, this.be(), this.bf());
} }
} }
public void C() { public void B() {
super.C(); super.B();
this.world.methodProfiler.a("mobBaseTick"); this.world.methodProfiler.a("mobBaseTick");
if (this.isAlive() && this.random.nextInt(1000) < this.a_++) { if (this.isAlive() && this.random.nextInt(1000) < this.a_++) {
this.a_ = -this.q(); this.a_ = -this.q();
@ -154,7 +154,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
protected float f(float f, float f1) { protected float f(float f, float f1) {
if (this.bk()) { if (this.bj()) {
this.bn.a(); this.bn.a();
return f1; return f1;
} else { } else {
@ -205,7 +205,7 @@ public abstract class EntityInsentient extends EntityLiving {
public void b(NBTTagCompound nbttagcompound) { public void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound); super.b(nbttagcompound);
nbttagcompound.setBoolean("CanPickUpLoot", this.bH()); nbttagcompound.setBoolean("CanPickUpLoot", this.bJ());
nbttagcompound.setBoolean("PersistenceRequired", this.persistent); nbttagcompound.setBoolean("PersistenceRequired", this.persistent);
NBTTagList nbttaglist = new NBTTagList(); NBTTagList nbttaglist = new NBTTagList();
@ -294,7 +294,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
public void n(float f) { public void n(float f) {
this.bf = f; this.be = f;
} }
public void i(float f) { public void i(float f) {
@ -305,7 +305,7 @@ public abstract class EntityInsentient extends EntityLiving {
public void e() { public void e() {
super.e(); super.e();
this.world.methodProfiler.a("looting"); this.world.methodProfiler.a("looting");
if (!this.world.isStatic && this.bH() && !this.aU && this.world.getGameRules().getBoolean("mobGriefing")) { if (!this.world.isStatic && this.bJ() && !this.aT && this.world.getGameRules().getBoolean("mobGriefing")) {
List list = this.world.a(EntityItem.class, this.boundingBox.grow(1.0D, 0.0D, 1.0D)); List list = this.world.a(EntityItem.class, this.boundingBox.grow(1.0D, 0.0D, 1.0D));
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
@ -379,7 +379,7 @@ public abstract class EntityInsentient extends EntityLiving {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
protected boolean bk() { protected boolean bj() {
return false; return false;
} }
@ -389,7 +389,7 @@ public abstract class EntityInsentient extends EntityLiving {
protected void w() { protected void w() {
if (this.persistent) { if (this.persistent) {
this.aV = 0; this.aU = 0;
} else { } else {
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D); EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
@ -403,17 +403,17 @@ public abstract class EntityInsentient extends EntityLiving {
this.die(); this.die();
} }
if (this.aV > 600 && this.random.nextInt(800) == 0 && d3 > 1024.0D) { // CraftBukkit - remove isTypeNotPersistent() check if (this.aU > 600 && this.random.nextInt(800) == 0 && d3 > 1024.0D) { // CraftBukkit - remove isTypeNotPersistent() check
this.die(); this.die();
} else if (d3 < 1024.0D) { } else if (d3 < 1024.0D) {
this.aV = 0; this.aU = 0;
} }
} }
} }
} }
protected void bn() { protected void bm() {
++this.aV; ++this.aU;
this.world.methodProfiler.a("checkDespawn"); this.world.methodProfiler.a("checkDespawn");
this.w(); this.w();
this.world.methodProfiler.b(); this.world.methodProfiler.b();
@ -430,23 +430,23 @@ public abstract class EntityInsentient extends EntityLiving {
this.navigation.f(); this.navigation.f();
this.world.methodProfiler.b(); this.world.methodProfiler.b();
this.world.methodProfiler.a("mob tick"); this.world.methodProfiler.a("mob tick");
this.bp(); this.bo();
this.world.methodProfiler.b(); this.world.methodProfiler.b();
this.world.methodProfiler.a("controls"); this.world.methodProfiler.a("controls");
this.world.methodProfiler.a("move"); this.world.methodProfiler.a("move");
this.moveController.c(); this.moveController.c();
this.world.methodProfiler.c("look"); this.world.methodProfiler.c("look");
this.h.a(); this.lookController.a();
this.world.methodProfiler.c("jump"); this.world.methodProfiler.c("jump");
this.lookController.b(); this.bm.b();
this.world.methodProfiler.b(); this.world.methodProfiler.b();
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
protected void bq() { protected void bp() {
super.bq(); super.bp();
this.bd = 0.0F;
this.be = 0.0F; this.be = 0.0F;
this.bf = 0.0F;
this.w(); this.w();
float f = 8.0F; float f = 8.0F;
@ -457,33 +457,33 @@ public abstract class EntityInsentient extends EntityLiving {
this.bu = entityhuman; this.bu = entityhuman;
this.g = 10 + this.random.nextInt(20); this.g = 10 + this.random.nextInt(20);
} else { } else {
this.bg = (this.random.nextFloat() - 0.5F) * 20.0F; this.bf = (this.random.nextFloat() - 0.5F) * 20.0F;
} }
} }
if (this.bu != null) { if (this.bu != null) {
this.a(this.bu, 10.0F, (float) this.x()); this.a(this.bu, 10.0F, (float) this.bv());
if (this.g-- <= 0 || this.bu.dead || this.bu.e((Entity) this) > (double) (f * f)) { if (this.g-- <= 0 || this.bu.dead || this.bu.f((Entity) this) > (double) (f * f)) {
this.bu = null; this.bu = null;
} }
} else { } else {
if (this.random.nextFloat() < 0.05F) { if (this.random.nextFloat() < 0.05F) {
this.bg = (this.random.nextFloat() - 0.5F) * 20.0F; this.bf = (this.random.nextFloat() - 0.5F) * 20.0F;
} }
this.yaw += this.bg; this.yaw += this.bf;
this.pitch = this.f; this.pitch = this.f;
} }
boolean flag = this.M(); boolean flag = this.L();
boolean flag1 = this.P(); boolean flag1 = this.O();
if (flag || flag1) { if (flag || flag1) {
this.bd = this.random.nextFloat() < 0.8F; this.bc = this.random.nextFloat() < 0.8F;
} }
} }
public int x() { public int bv() {
return 40; return 40;
} }
@ -526,11 +526,11 @@ public abstract class EntityInsentient extends EntityLiving {
return this.world.b(this.boundingBox) && this.world.getCubes(this, this.boundingBox).isEmpty() && !this.world.containsLiquid(this.boundingBox); return this.world.b(this.boundingBox) && this.world.getCubes(this, this.boundingBox).isEmpty() && !this.world.containsLiquid(this.boundingBox);
} }
public int bz() { public int bB() {
return 4; return 4;
} }
public int ax() { public int aw() {
if (this.getGoalTarget() == null) { if (this.getGoalTarget() == null) {
return 3; return 3;
} else { } else {
@ -545,7 +545,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
public ItemStack be() { public ItemStack bd() {
return this.equipment[0]; return this.equipment[0];
} }
@ -591,7 +591,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
protected void bA() { protected void bC() {
if (this.random.nextFloat() < 0.15F * this.world.b(this.locX, this.locY, this.locZ)) { if (this.random.nextFloat() < 0.15F * this.world.b(this.locX, this.locY, this.locZ)) {
int i = this.random.nextInt(2); int i = this.random.nextInt(2);
float f = this.world.difficulty == EnumDifficulty.HARD ? 0.1F : 0.25F; float f = this.world.difficulty == EnumDifficulty.HARD ? 0.1F : 0.25F;
@ -709,11 +709,11 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
protected void bB() { protected void bD() {
float f = this.world.b(this.locX, this.locY, this.locZ); float f = this.world.b(this.locX, this.locY, this.locZ);
if (this.be() != null && this.random.nextFloat() < 0.25F * f) { if (this.bd() != null && this.random.nextFloat() < 0.25F * f) {
EnchantmentManager.a(this.random, this.be(), (int) (5.0F + f * (float) this.random.nextInt(18))); EnchantmentManager.a(this.random, this.bd(), (int) (5.0F + f * (float) this.random.nextInt(18)));
} }
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
@ -730,7 +730,7 @@ public abstract class EntityInsentient extends EntityLiving {
return groupdataentity; return groupdataentity;
} }
public boolean bC() { public boolean bE() {
return false; return false;
} }
@ -738,7 +738,7 @@ public abstract class EntityInsentient extends EntityLiving {
return this.hasCustomName() ? this.getCustomName() : super.getName(); return this.hasCustomName() ? this.getCustomName() : super.getName();
} }
public void bD() { public void bF() {
this.persistent = true; this.persistent = true;
} }
@ -766,7 +766,7 @@ public abstract class EntityInsentient extends EntityLiving {
this.dropChances[i] = f; this.dropChances[i] = f;
} }
public boolean bH() { public boolean bJ() {
return this.canPickUpLoot; return this.canPickUpLoot;
} }
@ -779,8 +779,8 @@ public abstract class EntityInsentient extends EntityLiving {
} }
public final boolean c(EntityHuman entityhuman) { public final boolean c(EntityHuman entityhuman) {
if (this.bL() && this.getLeashHolder() == entityhuman) { if (this.bN() && this.getLeashHolder() == entityhuman) {
// CraftBukkit start // CraftBukkit start - fire PlayerUnleashEntityEvent
if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) { if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder())); ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder()));
return false; return false;
@ -791,9 +791,9 @@ public abstract class EntityInsentient extends EntityLiving {
} else { } else {
ItemStack itemstack = entityhuman.inventory.getItemInHand(); ItemStack itemstack = entityhuman.inventory.getItemInHand();
if (itemstack != null && itemstack.getItem() == Items.LEASH && this.bK()) { if (itemstack != null && itemstack.getItem() == Items.LEASH && this.bM()) {
if (!(this instanceof EntityTameableAnimal) || !((EntityTameableAnimal) this).isTamed()) { if (!(this instanceof EntityTameableAnimal) || !((EntityTameableAnimal) this).isTamed()) {
// CraftBukkit start // CraftBukkit start - fire PlayerLeashEntityEvent
if (CraftEventFactory.callPlayerLeashEntityEvent(this, entityhuman, entityhuman).isCancelled()) { if (CraftEventFactory.callPlayerLeashEntityEvent(this, entityhuman, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder())); ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder()));
return false; return false;
@ -805,7 +805,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
if (entityhuman.getName().equalsIgnoreCase(((EntityTameableAnimal) this).getOwnerName())) { if (entityhuman.getName().equalsIgnoreCase(((EntityTameableAnimal) this).getOwnerName())) {
// CraftBukkit start // CraftBukkit start - fire PlayerLeashEntityEvent
if (CraftEventFactory.callPlayerLeashEntityEvent(this, entityhuman, entityhuman).isCancelled()) { if (CraftEventFactory.callPlayerLeashEntityEvent(this, entityhuman, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder())); ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, this, this.getLeashHolder()));
return false; return false;
@ -825,9 +825,9 @@ public abstract class EntityInsentient extends EntityLiving {
return false; return false;
} }
protected void bJ() { protected void bL() {
if (this.bx != null) { if (this.bx != null) {
this.bN(); this.bP();
} }
if (this.bv) { if (this.bv) {
@ -852,11 +852,11 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
public boolean bK() { public boolean bM() {
return !this.bL() && !(this instanceof IMonster); return !this.bN() && !(this instanceof IMonster);
} }
public boolean bL() { public boolean bN() {
return this.bv; return this.bv;
} }
@ -872,7 +872,7 @@ public abstract class EntityInsentient extends EntityLiving {
} }
} }
private void bN() { private void bP() {
if (this.bv && this.bx != null) { if (this.bv && this.bx != null) {
if (this.bx.hasKeyOfType("UUIDMost", 4) && this.bx.hasKeyOfType("UUIDLeast", 4)) { if (this.bx.hasKeyOfType("UUIDMost", 4) && this.bx.hasKeyOfType("UUIDLeast", 4)) {
UUID uuid = new UUID(this.bx.getLong("UUIDMost"), this.bx.getLong("UUIDLeast")); UUID uuid = new UUID(this.bx.getLong("UUIDMost"), this.bx.getLong("UUIDLeast"));

Datei anzeigen

@ -31,16 +31,16 @@ public class EntityIronGolem extends EntityGolem {
this.datawatcher.a(16, Byte.valueOf((byte) 0)); this.datawatcher.a(16, Byte.valueOf((byte) 0));
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
protected void bp() { protected void bo() {
if (--this.bq <= 0) { if (--this.bq <= 0) {
this.bq = 70 + this.random.nextInt(50); this.bq = 70 + this.random.nextInt(50);
this.bp = this.world.villages.getClosestVillage(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ), 32); this.bp = this.world.villages.getClosestVillage(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ), 32);
if (this.bp == null) { if (this.bp == null) {
this.bV(); this.bX();
} else { } else {
ChunkCoordinates chunkcoordinates = this.bp.getCenter(); ChunkCoordinates chunkcoordinates = this.bp.getCenter();
@ -48,11 +48,11 @@ public class EntityIronGolem extends EntityGolem {
} }
} }
super.bp(); super.bo();
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(100.0D); this.getAttributeInstance(GenericAttributes.a).setValue(100.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.25D); this.getAttributeInstance(GenericAttributes.d).setValue(0.25D);
} }
@ -61,12 +61,12 @@ public class EntityIronGolem extends EntityGolem {
return i; return i;
} }
protected void n(Entity entity) { protected void o(Entity entity) {
if (entity instanceof IMonster && this.aI().nextInt(20) == 0) { if (entity instanceof IMonster && this.aH().nextInt(20) == 0) {
this.setGoalTarget((EntityLiving) entity); this.setGoalTarget((EntityLiving) entity);
} }
super.n(entity); super.o(entity);
} }
public void e() { public void e() {
@ -105,7 +105,7 @@ public class EntityIronGolem extends EntityGolem {
this.setPlayerCreated(nbttagcompound.getBoolean("PlayerCreated")); this.setPlayerCreated(nbttagcompound.getBoolean("PlayerCreated"));
} }
public boolean m(Entity entity) { public boolean n(Entity entity) {
this.br = 10; this.br = 10;
this.world.broadcastEntityEffect(this, (byte) 4); this.world.broadcastEntityEffect(this, (byte) 4);
boolean flag = entity.damageEntity(DamageSource.mobAttack(this), (float) (7 + this.random.nextInt(15))); boolean flag = entity.damageEntity(DamageSource.mobAttack(this), (float) (7 + this.random.nextInt(15)));
@ -118,7 +118,7 @@ public class EntityIronGolem extends EntityGolem {
return flag; return flag;
} }
public Village bX() { public Village bZ() {
return this.bp; return this.bp;
} }
@ -127,11 +127,11 @@ public class EntityIronGolem extends EntityGolem {
this.world.broadcastEntityEffect(this, (byte) 11); this.world.broadcastEntityEffect(this, (byte) 11);
} }
protected String aT() { protected String aS() {
return "mob.irongolem.hit"; return "mob.irongolem.hit";
} }
protected String aU() { protected String aT() {
return "mob.irongolem.death"; return "mob.irongolem.death";
} }
@ -160,7 +160,7 @@ public class EntityIronGolem extends EntityGolem {
// CraftBukkit end // CraftBukkit end
} }
public int bZ() { public int cb() {
return this.bs; return this.bs;
} }

Datei anzeigen

@ -73,7 +73,7 @@ public class EntityItem extends Entity {
this.lastY = this.locY; this.lastY = this.locY;
this.lastZ = this.locZ; this.lastZ = this.locZ;
this.motY -= 0.03999999910593033D; this.motY -= 0.03999999910593033D;
this.Y = this.j(this.locX, (this.boundingBox.b + this.boundingBox.e) / 2.0D, this.locZ); this.X = this.j(this.locX, (this.boundingBox.b + this.boundingBox.e) / 2.0D, this.locZ);
this.move(this.motX, this.motY, this.motZ); this.move(this.motX, this.motY, this.motZ);
boolean flag = (int) this.lastX != (int) this.locX || (int) this.lastY != (int) this.locY || (int) this.lastZ != (int) this.locZ; boolean flag = (int) this.lastX != (int) this.locX || (int) this.lastY != (int) this.locY || (int) this.lastZ != (int) this.locZ;
@ -105,7 +105,7 @@ public class EntityItem extends Entity {
// ++this.age; // CraftBukkit - Moved up // ++this.age; // CraftBukkit - Moved up
if (!this.world.isStatic && this.age >= 6000) { if (!this.world.isStatic && this.age >= 6000) {
// CraftBukkit start // CraftBukkit start - fire ItemDespawnEvent
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) { if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
this.age = 0; this.age = 0;
return; return;
@ -164,7 +164,7 @@ public class EntityItem extends Entity {
this.age = 4800; this.age = 4800;
} }
public boolean N() { public boolean M() {
return this.world.a(this.boundingBox, Material.WATER, (Entity) this); return this.world.a(this.boundingBox, Material.WATER, (Entity) this);
} }
@ -175,10 +175,10 @@ public class EntityItem extends Entity {
public boolean damageEntity(DamageSource damagesource, float f) { public boolean damageEntity(DamageSource damagesource, float f) {
if (this.isInvulnerable()) { if (this.isInvulnerable()) {
return false; return false;
} else if (this.getItemStack() != null && this.getItemStack().getItem() == Items.NETHER_STAR && damagesource.c()) { } else if (this.getItemStack() != null && this.getItemStack().getItem() == Items.NETHER_STAR && damagesource.isExplosion()) {
return false; return false;
} else { } else {
this.Q(); this.P();
this.e = (int) ((float) this.e - f); this.e = (int) ((float) this.e - f);
if (this.e <= 0) { if (this.e <= 0) {
this.die(); this.die();
@ -217,7 +217,7 @@ public class EntityItem extends Entity {
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Item"); NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Item");
// CraftBukkit start // CraftBukkit start - Handle missing "Item" compounds
if (nbttagcompound1 != null) { if (nbttagcompound1 != null) {
ItemStack itemstack = ItemStack.createStack(nbttagcompound1); ItemStack itemstack = ItemStack.createStack(nbttagcompound1);
if (itemstack != null) { if (itemstack != null) {
@ -239,7 +239,7 @@ public class EntityItem extends Entity {
ItemStack itemstack = this.getItemStack(); ItemStack itemstack = this.getItemStack();
int i = itemstack.count; int i = itemstack.count;
// CraftBukkit start // CraftBukkit start - fire PlayerPickupItemEvent
int canHold = entityhuman.inventory.canHold(itemstack); int canHold = entityhuman.inventory.canHold(itemstack);
int remaining = itemstack.count - canHold; int remaining = itemstack.count - canHold;
@ -301,7 +301,7 @@ public class EntityItem extends Entity {
return LocaleI18n.get("item." + this.getItemStack().a()); return LocaleI18n.get("item." + this.getItemStack().a());
} }
public boolean av() { public boolean au() {
return false; return false;
} }
@ -315,15 +315,7 @@ public class EntityItem extends Entity {
public ItemStack getItemStack() { public ItemStack getItemStack() {
ItemStack itemstack = this.getDataWatcher().getItemStack(10); ItemStack itemstack = this.getDataWatcher().getItemStack(10);
if (itemstack == null) { return itemstack == null ? new ItemStack(Blocks.STONE) : itemstack;
if (this.world != null) {
d.error("Item entity " + this.getId() + " has no item?!");
}
return new ItemStack(Blocks.STONE);
} else {
return itemstack;
}
} }
public void setItemStack(ItemStack itemstack) { public void setItemStack(ItemStack itemstack) {

Datei anzeigen

@ -23,7 +23,7 @@ public class EntityItemFrame extends EntityHanging {
return false; return false;
} else if (this.getItem() != null) { } else if (this.getItem() != null) {
if (!this.world.isStatic) { if (!this.world.isStatic) {
// CraftBukkit start // CraftBukkit start - fire EntityDamageEvent
org.bukkit.event.entity.EntityDamageEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(this, damagesource, f); org.bukkit.event.entity.EntityDamageEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(this, damagesource, f);
if ((event != null && event.isCancelled()) || this.dead) { if ((event != null && event.isCancelled()) || this.dead) {
return true; return true;
@ -136,7 +136,7 @@ public class EntityItemFrame extends EntityHanging {
public boolean c(EntityHuman entityhuman) { public boolean c(EntityHuman entityhuman) {
if (this.getItem() == null) { if (this.getItem() == null) {
ItemStack itemstack = entityhuman.be(); ItemStack itemstack = entityhuman.bd();
if (itemstack != null && !this.world.isStatic) { if (itemstack != null && !this.world.isStatic) {
this.setItem(itemstack); this.setItem(itemstack);

Datei anzeigen

@ -20,7 +20,7 @@ public class EntityLargeFireball extends EntityFireball {
movingobjectposition.entity.damageEntity(DamageSource.fireball(this, this.shooter), 6.0F); movingobjectposition.entity.damageEntity(DamageSource.fireball(this, this.shooter), 6.0F);
} }
// CraftBukkit start // CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) org.bukkit.craftbukkit.entity.CraftEntity.getEntity(this.world.getServer(), this)); ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) org.bukkit.craftbukkit.entity.CraftEntity.getEntity(this.world.getServer(), this));
this.world.getServer().getPluginManager().callEvent(event); this.world.getServer().getPluginManager().callEvent(event);

Datei anzeigen

@ -41,7 +41,7 @@ public class EntityLeash extends EntityHanging {
public void a(NBTTagCompound nbttagcompound) {} public void a(NBTTagCompound nbttagcompound) {}
public boolean c(EntityHuman entityhuman) { public boolean c(EntityHuman entityhuman) {
ItemStack itemstack = entityhuman.be(); ItemStack itemstack = entityhuman.bd();
boolean flag = false; boolean flag = false;
double d0; double d0;
List list; List list;
@ -50,13 +50,13 @@ public class EntityLeash extends EntityHanging {
if (itemstack != null && itemstack.getItem() == Items.LEASH && !this.world.isStatic) { if (itemstack != null && itemstack.getItem() == Items.LEASH && !this.world.isStatic) {
d0 = 7.0D; d0 = 7.0D;
list = this.world.a(EntityInsentient.class, AxisAlignedBB.a().a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + d0, this.locZ + d0)); list = this.world.a(EntityInsentient.class, AxisAlignedBB.a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + d0, this.locZ + d0));
if (list != null) { if (list != null) {
iterator = list.iterator(); iterator = list.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
entityinsentient = (EntityInsentient) iterator.next(); entityinsentient = (EntityInsentient) iterator.next();
if (entityinsentient.bL() && entityinsentient.getLeashHolder() == entityhuman) { if (entityinsentient.bN() && entityinsentient.getLeashHolder() == entityhuman) {
// CraftBukkit start // CraftBukkit start
if (CraftEventFactory.callPlayerLeashEntityEvent(entityinsentient, this, entityhuman).isCancelled()) { if (CraftEventFactory.callPlayerLeashEntityEvent(entityinsentient, this, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, entityinsentient, entityinsentient.getLeashHolder())); ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(1, entityinsentient, entityinsentient.getLeashHolder()));
@ -77,13 +77,13 @@ public class EntityLeash extends EntityHanging {
// CraftBukkit end // CraftBukkit end
if (true || entityhuman.abilities.canInstantlyBuild) { // CraftBukkit - Process for non-creative as well if (true || entityhuman.abilities.canInstantlyBuild) { // CraftBukkit - Process for non-creative as well
d0 = 7.0D; d0 = 7.0D;
list = this.world.a(EntityInsentient.class, AxisAlignedBB.a().a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + d0, this.locZ + d0)); list = this.world.a(EntityInsentient.class, AxisAlignedBB.a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + d0, this.locZ + d0));
if (list != null) { if (list != null) {
iterator = list.iterator(); iterator = list.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
entityinsentient = (EntityInsentient) iterator.next(); entityinsentient = (EntityInsentient) iterator.next();
if (entityinsentient.bL() && entityinsentient.getLeashHolder() == this) { if (entityinsentient.bN() && entityinsentient.getLeashHolder() == this) {
// CraftBukkit start // CraftBukkit start
if (CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient, entityhuman).isCancelled()) { if (CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient, entityhuman).isCancelled()) {
die = false; die = false;
@ -112,13 +112,13 @@ public class EntityLeash extends EntityHanging {
public static EntityLeash a(World world, int i, int j, int k) { public static EntityLeash a(World world, int i, int j, int k) {
EntityLeash entityleash = new EntityLeash(world, i, j, k); EntityLeash entityleash = new EntityLeash(world, i, j, k);
entityleash.o = true; entityleash.n = true;
world.addEntity(entityleash); world.addEntity(entityleash);
return entityleash; return entityleash;
} }
public static EntityLeash b(World world, int i, int j, int k) { public static EntityLeash b(World world, int i, int j, int k) {
List list = world.a(EntityLeash.class, AxisAlignedBB.a().a((double) i - 1.0D, (double) j - 1.0D, (double) k - 1.0D, (double) i + 1.0D, (double) j + 1.0D, (double) k + 1.0D)); List list = world.a(EntityLeash.class, AxisAlignedBB.a((double) i - 1.0D, (double) j - 1.0D, (double) k - 1.0D, (double) i + 1.0D, (double) j + 1.0D, (double) k + 1.0D));
if (list != null) { if (list != null) {
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();

Datei anzeigen

@ -22,16 +22,15 @@ public class EntityLightning extends EntityWeather {
super(world); super(world);
// CraftBukkit start // CraftBukkit - Set isEffect
this.isEffect = isEffect; this.isEffect = isEffect;
// CraftBukkit end
this.setPositionRotation(d0, d1, d2, 0.0F, 0.0F); this.setPositionRotation(d0, d1, d2, 0.0F, 0.0F);
this.lifeTicks = 2; this.lifeTicks = 2;
this.a = this.random.nextLong(); this.a = this.random.nextLong();
this.c = this.random.nextInt(3) + 1; this.c = this.random.nextInt(3) + 1;
// CraftBukkit // CraftBukkit - add "!isEffect"
if (!isEffect && !world.isStatic && world.getGameRules().getBoolean("doFireTick") && (world.difficulty == EnumDifficulty.NORMAL || world.difficulty == EnumDifficulty.HARD) && world.areChunksLoaded(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2), 10)) { if (!isEffect && !world.isStatic && world.getGameRules().getBoolean("doFireTick") && (world.difficulty == EnumDifficulty.NORMAL || world.difficulty == EnumDifficulty.HARD) && world.areChunksLoaded(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2), 10)) {
int i = MathHelper.floor(d0); int i = MathHelper.floor(d0);
int j = MathHelper.floor(d1); int j = MathHelper.floor(d1);
@ -76,7 +75,7 @@ public class EntityLightning extends EntityWeather {
--this.c; --this.c;
this.lifeTicks = 1; this.lifeTicks = 1;
this.a = this.random.nextLong(); this.a = this.random.nextLong();
// CraftBukkit // CraftBukkit - add "!isEffect"
if (!isEffect && !this.world.isStatic && this.world.getGameRules().getBoolean("doFireTick") && this.world.areChunksLoaded(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ), 10)) { if (!isEffect && !this.world.isStatic && this.world.getGameRules().getBoolean("doFireTick") && this.world.areChunksLoaded(MathHelper.floor(this.locX), MathHelper.floor(this.locY), MathHelper.floor(this.locZ), 10)) {
int i = MathHelper.floor(this.locX); int i = MathHelper.floor(this.locX);
int j = MathHelper.floor(this.locY); int j = MathHelper.floor(this.locY);
@ -98,7 +97,7 @@ public class EntityLightning extends EntityWeather {
this.world.q = 2; this.world.q = 2;
} else { } else {
double d0 = 3.0D; double d0 = 3.0D;
List list = this.world.getEntities(this, AxisAlignedBB.a().a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + 6.0D + d0, this.locZ + d0)); List list = this.world.getEntities(this, AxisAlignedBB.a(this.locX - d0, this.locY - d0, this.locZ - d0, this.locX + d0, this.locY + 6.0D + d0, this.locZ + d0));
for (int l = 0; l < list.size(); ++l) { for (int l = 0; l < list.size(); ++l) {
Entity entity = (Entity) list.get(l); Entity entity = (Entity) list.get(l);

Datei-Diff unterdrückt, da er zu groß ist Diff laden

Datei anzeigen

@ -7,8 +7,8 @@ public class EntityMagmaCube extends EntitySlime {
this.fireProof = true; this.fireProof = true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.d).setValue(0.20000000298023224D); this.getAttributeInstance(GenericAttributes.d).setValue(0.20000000298023224D);
} }
@ -16,7 +16,7 @@ public class EntityMagmaCube extends EntitySlime {
return this.world.difficulty != EnumDifficulty.PEACEFUL && this.world.b(this.boundingBox) && this.world.getCubes(this, this.boundingBox).isEmpty() && !this.world.containsLiquid(this.boundingBox); return this.world.difficulty != EnumDifficulty.PEACEFUL && this.world.b(this.boundingBox) && this.world.getCubes(this, this.boundingBox).isEmpty() && !this.world.containsLiquid(this.boundingBox);
} }
public int aV() { public int aU() {
return this.getSize() * 3; return this.getSize() * 3;
} }
@ -24,11 +24,11 @@ public class EntityMagmaCube extends EntitySlime {
return 1.0F; return 1.0F;
} }
protected String bN() { protected String bP() {
return "flame"; return "flame";
} }
protected EntitySlime bO() { protected EntitySlime bQ() {
return new EntityMagmaCube(this.world); return new EntityMagmaCube(this.world);
} }
@ -61,38 +61,38 @@ public class EntityMagmaCube extends EntitySlime {
return false; return false;
} }
protected int bP() { protected int bR() {
return super.bP() * 4; return super.bR() * 4;
} }
protected void bQ() { protected void bS() {
this.h *= 0.9F; this.h *= 0.9F;
} }
protected void bj() { protected void bi() {
this.motY = (double) (0.42F + (float) this.getSize() * 0.1F); this.motY = (double) (0.42F + (float) this.getSize() * 0.1F);
this.am = true; this.al = true;
} }
protected void b(float f) {} protected void b(float f) {}
protected boolean bR() { protected boolean bT() {
return true; return true;
} }
protected int bS() { protected int bU() {
return super.bS() + 2; return super.bU() + 2;
} }
protected String bT() { protected String bV() {
return this.getSize() > 1 ? "mob.magmacube.big" : "mob.magmacube.small"; return this.getSize() > 1 ? "mob.magmacube.big" : "mob.magmacube.small";
} }
public boolean P() { public boolean O() {
return false; return false;
} }
protected boolean bU() { protected boolean bW() {
return true; return true;
} }
} }

Datei anzeigen

@ -36,7 +36,7 @@ public abstract class EntityMinecartAbstract extends Entity {
public EntityMinecartAbstract(World world) { public EntityMinecartAbstract(World world) {
super(world); super(world);
this.l = true; this.k = true;
this.a(0.98F, 0.7F); this.a(0.98F, 0.7F);
this.height = this.length / 2.0F; this.height = this.length / 2.0F;
} }
@ -79,15 +79,15 @@ public abstract class EntityMinecartAbstract extends Entity {
this.datawatcher.a(22, Byte.valueOf((byte) 0)); this.datawatcher.a(22, Byte.valueOf((byte) 0));
} }
public AxisAlignedBB g(Entity entity) { public AxisAlignedBB h(Entity entity) {
return entity.S() ? entity.boundingBox : null; return entity.R() ? entity.boundingBox : null;
} }
public AxisAlignedBB J() { public AxisAlignedBB I() {
return null; return null;
} }
public boolean S() { public boolean R() {
return true; return true;
} }
@ -104,7 +104,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
} }
public double ae() { public double ad() {
return (double) this.length * 0.0D - 0.30000001192092896D; return (double) this.length * 0.0D - 0.30000001192092896D;
} }
@ -113,7 +113,7 @@ public abstract class EntityMinecartAbstract extends Entity {
if (this.isInvulnerable()) { if (this.isInvulnerable()) {
return false; return false;
} else { } else {
// CraftBukkit start // CraftBukkit start - fire VehicleDamageEvent
Vehicle vehicle = (Vehicle) this.getBukkitEntity(); Vehicle vehicle = (Vehicle) this.getBukkitEntity();
org.bukkit.entity.Entity passenger = (damagesource.getEntity() == null) ? null : damagesource.getEntity().getBukkitEntity(); org.bukkit.entity.Entity passenger = (damagesource.getEntity() == null) ? null : damagesource.getEntity().getBukkitEntity();
@ -129,7 +129,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.j(-this.l()); this.j(-this.l());
this.c(10); this.c(10);
this.Q(); this.P();
this.setDamage(this.getDamage() + f * 10.0F); this.setDamage(this.getDamage() + f * 10.0F);
boolean flag = damagesource.getEntity() instanceof EntityHuman && ((EntityHuman) damagesource.getEntity()).abilities.canInstantlyBuild; boolean flag = damagesource.getEntity() instanceof EntityHuman && ((EntityHuman) damagesource.getEntity()).abilities.canInstantlyBuild;
@ -173,7 +173,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.a(itemstack, 0.0F); this.a(itemstack, 0.0F);
} }
public boolean R() { public boolean Q() {
return !this.dead; return !this.dead;
} }
@ -208,12 +208,12 @@ public abstract class EntityMinecartAbstract extends Entity {
this.world.methodProfiler.a("portal"); this.world.methodProfiler.a("portal");
MinecraftServer minecraftserver = ((WorldServer) this.world).getMinecraftServer(); MinecraftServer minecraftserver = ((WorldServer) this.world).getMinecraftServer();
i = this.D(); i = this.C();
if (this.ao) { if (this.an) {
if (true || minecraftserver.getAllowNether()) { // CraftBukkit - multi-world should still allow teleport even if default vanilla nether disabled if (true || minecraftserver.getAllowNether()) { // CraftBukkit - multi-world should still allow teleport even if default vanilla nether disabled
if (this.vehicle == null && this.ap++ >= i) { if (this.vehicle == null && this.ao++ >= i) {
this.ap = i; this.ao = i;
this.portalCooldown = this.ai(); this.portalCooldown = this.ah();
byte b0; byte b0;
if (this.world.worldProvider.dimension == -1) { if (this.world.worldProvider.dimension == -1) {
@ -225,15 +225,15 @@ public abstract class EntityMinecartAbstract extends Entity {
this.b(b0); this.b(b0);
} }
this.ao = false; this.an = false;
} }
} else { } else {
if (this.ap > 0) { if (this.ao > 0) {
this.ap -= 4; this.ao -= 4;
} }
if (this.ap < 0) { if (this.ao < 0) {
this.ap = 0; this.ao = 0;
} }
} }
@ -289,7 +289,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.b(d4); this.b(d4);
} }
this.I(); this.H();
this.pitch = 0.0F; this.pitch = 0.0F;
double d6 = this.lastX - this.locX; double d6 = this.lastX - this.locX;
double d7 = this.lastZ - this.locZ; double d7 = this.lastZ - this.locZ;
@ -329,7 +329,7 @@ public abstract class EntityMinecartAbstract extends Entity {
for (int i1 = 0; i1 < list.size(); ++i1) { for (int i1 = 0; i1 < list.size(); ++i1) {
Entity entity = (Entity) list.get(i1); Entity entity = (Entity) list.get(i1);
if (entity != this.passenger && entity.S() && entity instanceof EntityMinecartAbstract) { if (entity != this.passenger && entity.R() && entity instanceof EntityMinecartAbstract) {
entity.collide(this); entity.collide(this);
} }
} }
@ -365,7 +365,7 @@ public abstract class EntityMinecartAbstract extends Entity {
} }
if (this.onGround) { if (this.onGround) {
// CraftBukkit start // CraftBukkit start - replace magic numbers with our variables
this.motX *= this.derailedX; this.motX *= this.derailedX;
this.motY *= this.derailedY; this.motY *= this.derailedY;
this.motZ *= this.derailedZ; this.motZ *= this.derailedZ;
@ -374,7 +374,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.move(this.motX, this.motY, this.motZ); this.move(this.motX, this.motY, this.motZ);
if (!this.onGround) { if (!this.onGround) {
// CraftBukkit start // CraftBukkit start - replace magic numbers with our variables
this.motX *= this.flyingX; this.motX *= this.flyingX;
this.motY *= this.flyingY; this.motY *= this.flyingY;
this.motZ *= this.flyingZ; this.motZ *= this.flyingZ;
@ -444,7 +444,7 @@ public abstract class EntityMinecartAbstract extends Entity {
double d10; double d10;
if (this.passenger != null && this.passenger instanceof EntityLiving) { if (this.passenger != null && this.passenger instanceof EntityLiving) {
d7 = (double) ((EntityLiving) this.passenger).bf; d7 = (double) ((EntityLiving) this.passenger).be;
if (d7 > 0.0D) { if (d7 > 0.0D) {
d8 = -Math.sin((double) (this.passenger.yaw * 3.1415927F / 180.0F)); d8 = -Math.sin((double) (this.passenger.yaw * 3.1415927F / 180.0F));
d9 = Math.cos((double) (this.passenger.yaw * 3.1415927F / 180.0F)); d9 = Math.cos((double) (this.passenger.yaw * 3.1415927F / 180.0F));
@ -530,7 +530,7 @@ public abstract class EntityMinecartAbstract extends Entity {
Vec3D vec3d1 = this.a(this.locX, this.locY, this.locZ); Vec3D vec3d1 = this.a(this.locX, this.locY, this.locZ);
if (vec3d1 != null && vec3d != null) { if (vec3d1 != null && vec3d != null) {
double d14 = (vec3d.d - vec3d1.d) * 0.05D; double d14 = (vec3d.b - vec3d1.b) * 0.05D;
d6 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ); d6 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
if (d6 > 0.0D) { if (d6 > 0.0D) {
@ -538,7 +538,7 @@ public abstract class EntityMinecartAbstract extends Entity {
this.motZ = this.motZ / d6 * (d6 + d14); this.motZ = this.motZ / d6 * (d6 + d14);
} }
this.setPosition(this.locX, vec3d1.d, this.locZ); this.setPosition(this.locX, vec3d1.b, this.locZ);
} }
int i1 = MathHelper.floor(this.locX); int i1 = MathHelper.floor(this.locX);
@ -575,7 +575,7 @@ public abstract class EntityMinecartAbstract extends Entity {
} }
protected void i() { protected void i() {
if (this.passenger != null || !this.slowWhenEmpty) { // CraftBukkit if (this.passenger != null || !this.slowWhenEmpty) { // CraftBukkit - add !this.slowWhenEmpty
this.motX *= 0.996999979019165D; this.motX *= 0.996999979019165D;
this.motY *= 0.0D; this.motY *= 0.0D;
this.motZ *= 0.996999979019165D; this.motZ *= 0.996999979019165D;
@ -645,7 +645,7 @@ public abstract class EntityMinecartAbstract extends Entity {
d1 += 0.5D; d1 += 0.5D;
} }
return this.world.getVec3DPool().create(d0, d1, d2); return Vec3D.a(d0, d1, d2);
} else { } else {
return null; return null;
} }
@ -714,15 +714,15 @@ public abstract class EntityMinecartAbstract extends Entity {
d1 *= d3; d1 *= d3;
d0 *= 0.10000000149011612D; d0 *= 0.10000000149011612D;
d1 *= 0.10000000149011612D; d1 *= 0.10000000149011612D;
d0 *= (double) (1.0F - this.Z); d0 *= (double) (1.0F - this.Y);
d1 *= (double) (1.0F - this.Z); d1 *= (double) (1.0F - this.Y);
d0 *= 0.5D; d0 *= 0.5D;
d1 *= 0.5D; d1 *= 0.5D;
if (entity instanceof EntityMinecartAbstract) { if (entity instanceof EntityMinecartAbstract) {
double d4 = entity.locX - this.locX; double d4 = entity.locX - this.locX;
double d5 = entity.locZ - this.locZ; double d5 = entity.locZ - this.locZ;
Vec3D vec3d = this.world.getVec3DPool().create(d4, 0.0D, d5).a(); Vec3D vec3d = Vec3D.a(d4, 0.0D, d5).a();
Vec3D vec3d1 = this.world.getVec3DPool().create((double) MathHelper.cos(this.yaw * 3.1415927F / 180.0F), 0.0D, (double) MathHelper.sin(this.yaw * 3.1415927F / 180.0F)).a(); Vec3D vec3d1 = Vec3D.a((double) MathHelper.cos(this.yaw * 3.1415927F / 180.0F), 0.0D, (double) MathHelper.sin(this.yaw * 3.1415927F / 180.0F)).a();
double d6 = Math.abs(vec3d.b(vec3d1)); double d6 = Math.abs(vec3d.b(vec3d1));
if (d6 < 0.800000011920929D) { if (d6 < 0.800000011920929D) {

Datei anzeigen

@ -129,7 +129,7 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
public void update() {} public void update() {}
public boolean a(EntityHuman entityhuman) { public boolean a(EntityHuman entityhuman) {
return this.dead ? false : entityhuman.e(this) <= 64.0D; return this.dead ? false : entityhuman.f(this) <= 64.0D;
} }
public void startOpen() {} public void startOpen() {}

Datei anzeigen

@ -10,11 +10,11 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
} }
public void e() { public void e() {
this.bb(); this.ba();
float f = this.d(1.0F); float f = this.d(1.0F);
if (f > 0.5F) { if (f > 0.5F) {
this.aV += 2; this.aU += 2;
} }
super.e(); super.e();
@ -27,18 +27,18 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
} }
} }
protected String H() { protected String G() {
return "game.hostile.swim"; return "game.hostile.swim";
} }
protected String O() { protected String N() {
return "game.hostile.swim.splash"; return "game.hostile.swim.splash";
} }
protected Entity findTarget() { protected Entity findTarget() {
EntityHuman entityhuman = this.world.findNearbyVulnerablePlayer(this, 16.0D); EntityHuman entityhuman = this.world.findNearbyVulnerablePlayer(this, 16.0D);
return entityhuman != null && this.o(entityhuman) ? entityhuman : null; return entityhuman != null && this.p(entityhuman) ? entityhuman : null;
} }
public boolean damageEntity(DamageSource damagesource, float f) { public boolean damageEntity(DamageSource damagesource, float f) {
@ -75,11 +75,11 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
} }
} }
protected String aT() { protected String aS() {
return "game.hostile.hurt"; return "game.hostile.hurt";
} }
protected String aU() { protected String aT() {
return "game.hostile.die"; return "game.hostile.die";
} }
@ -87,7 +87,7 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
return i > 4 ? "game.hostile.hurt.fall.big" : "game.hostile.hurt.fall.small"; return i > 4 ? "game.hostile.hurt.fall.big" : "game.hostile.hurt.fall.small";
} }
public boolean m(Entity entity) { public boolean n(Entity entity) {
float f = (float) this.getAttributeInstance(GenericAttributes.e).getValue(); float f = (float) this.getAttributeInstance(GenericAttributes.e).getValue();
int i = 0; int i = 0;
@ -124,7 +124,7 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
protected void a(Entity entity, float f) { protected void a(Entity entity, float f) {
if (this.attackTicks <= 0 && f < 2.0F && entity.boundingBox.e > this.boundingBox.b && entity.boundingBox.b < this.boundingBox.e) { if (this.attackTicks <= 0 && f < 2.0F && entity.boundingBox.e > this.boundingBox.b && entity.boundingBox.b < this.boundingBox.e) {
this.attackTicks = 20; this.attackTicks = 20;
this.m(entity); this.n(entity);
} }
} }
@ -142,7 +142,7 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
} else { } else {
int l = this.world.getLightLevel(i, j, k); int l = this.world.getLightLevel(i, j, k);
if (this.world.O()) { if (this.world.P()) {
int i1 = this.world.j; int i1 = this.world.j;
this.world.j = 10; this.world.j = 10;
@ -158,12 +158,12 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
return this.world.difficulty != EnumDifficulty.PEACEFUL && this.j_() && super.canSpawn(); return this.world.difficulty != EnumDifficulty.PEACEFUL && this.j_() && super.canSpawn();
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.bc().b(GenericAttributes.e); this.bb().b(GenericAttributes.e);
} }
protected boolean aG() { protected boolean aF() {
return true; return true;
} }
} }

Datei anzeigen

@ -41,7 +41,7 @@ public class EntityMushroomCow extends EntityCow {
entitycow.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch); entitycow.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
entitycow.setHealth(this.getHealth()); entitycow.setHealth(this.getHealth());
entitycow.aN = this.aN; entitycow.aM = this.aM;
this.world.addEntity(entitycow); this.world.addEntity(entitycow);
for (int i = 0; i < 5; ++i) { for (int i = 0; i < 5; ++i) {

Datei anzeigen

@ -27,7 +27,7 @@ public class EntityOcelot extends EntityTameableAnimal {
this.datawatcher.a(18, Byte.valueOf((byte) 0)); this.datawatcher.a(18, Byte.valueOf((byte) 0));
} }
public void bp() { public void bo() {
if (this.getControllerMove().a()) { if (this.getControllerMove().a()) {
double d0 = this.getControllerMove().b(); double d0 = this.getControllerMove().b();
@ -48,15 +48,15 @@ public class EntityOcelot extends EntityTameableAnimal {
} }
protected boolean isTypeNotPersistent() { protected boolean isTypeNotPersistent() {
return !this.isTamed(); // CraftBukkit return !this.isTamed() /*&& this.ticksLived > 2400*/; // CraftBukkit
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(10.0D); this.getAttributeInstance(GenericAttributes.a).setValue(10.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.30000001192092896D); this.getAttributeInstance(GenericAttributes.d).setValue(0.30000001192092896D);
} }
@ -74,18 +74,18 @@ public class EntityOcelot extends EntityTameableAnimal {
} }
protected String t() { protected String t() {
return this.isTamed() ? (this.cc() ? "mob.cat.purr" : (this.random.nextInt(4) == 0 ? "mob.cat.purreow" : "mob.cat.meow")) : ""; return this.isTamed() ? (this.ce() ? "mob.cat.purr" : (this.random.nextInt(4) == 0 ? "mob.cat.purreow" : "mob.cat.meow")) : "";
}
protected String aS() {
return "mob.cat.hitt";
} }
protected String aT() { protected String aT() {
return "mob.cat.hitt"; return "mob.cat.hitt";
} }
protected String aU() { protected float be() {
return "mob.cat.hitt";
}
protected float bf() {
return 0.4F; return 0.4F;
} }
@ -93,7 +93,7 @@ public class EntityOcelot extends EntityTameableAnimal {
return Items.LEATHER; return Items.LEATHER;
} }
public boolean m(Entity entity) { public boolean n(Entity entity) {
return entity.damageEntity(DamageSource.mobAttack(this), 3.0F); return entity.damageEntity(DamageSource.mobAttack(this), 3.0F);
} }
@ -117,7 +117,7 @@ public class EntityOcelot extends EntityTameableAnimal {
if (entityhuman.getName().equalsIgnoreCase(this.getOwnerName()) && !this.world.isStatic && !this.c(itemstack)) { if (entityhuman.getName().equalsIgnoreCase(this.getOwnerName()) && !this.world.isStatic && !this.c(itemstack)) {
this.bp.setSitting(!this.isSitting()); this.bp.setSitting(!this.isSitting());
} }
} else if (this.bq.f() && itemstack != null && itemstack.getItem() == Items.RAW_FISH && entityhuman.e(this) < 9.0D) { } else if (this.bq.f() && itemstack != null && itemstack.getItem() == Items.RAW_FISH && entityhuman.f(this) < 9.0D) {
if (!entityhuman.abilities.canInstantlyBuild) { if (!entityhuman.abilities.canInstantlyBuild) {
--itemstack.count; --itemstack.count;
} }
@ -173,7 +173,7 @@ public class EntityOcelot extends EntityTameableAnimal {
} else { } else {
EntityOcelot entityocelot = (EntityOcelot) entityanimal; EntityOcelot entityocelot = (EntityOcelot) entityanimal;
return !entityocelot.isTamed() ? false : this.cc() && entityocelot.cc(); return !entityocelot.isTamed() ? false : this.ce() && entityocelot.ce();
} }
} }

Datei anzeigen

@ -25,22 +25,22 @@ public class EntityPig extends EntityAnimal {
this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this)); this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
} }
public boolean bk() { public boolean bj() {
return true; return true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(GenericAttributes.a).setValue(10.0D); this.getAttributeInstance(GenericAttributes.a).setValue(10.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.25D); this.getAttributeInstance(GenericAttributes.d).setValue(0.25D);
} }
protected void bn() { protected void bm() {
super.bn(); super.bm();
} }
public boolean bC() { public boolean bE() {
ItemStack itemstack = ((EntityHuman) this.passenger).be(); ItemStack itemstack = ((EntityHuman) this.passenger).bd();
return itemstack != null && itemstack.getItem() == Items.CARROT_STICK; return itemstack != null && itemstack.getItem() == Items.CARROT_STICK;
} }
@ -64,11 +64,11 @@ public class EntityPig extends EntityAnimal {
return "mob.pig.say"; return "mob.pig.say";
} }
protected String aT() { protected String aS() {
return "mob.pig.say"; return "mob.pig.say";
} }
protected String aU() { protected String aT() {
return "mob.pig.death"; return "mob.pig.death";
} }
@ -157,7 +157,7 @@ public class EntityPig extends EntityAnimal {
return itemstack != null && itemstack.getItem() == Items.CARROT; return itemstack != null && itemstack.getItem() == Items.CARROT;
} }
public PathfinderGoalPassengerCarrotStick bY() { public PathfinderGoalPassengerCarrotStick ca() {
return this.bp; return this.bp;
} }

Datei anzeigen

@ -21,14 +21,14 @@ public class EntityPigZombie extends EntityZombie {
this.fireProof = true; this.fireProof = true;
} }
protected void aD() { protected void aC() {
super.aD(); super.aC();
this.getAttributeInstance(bp).setValue(0.0D); this.getAttributeInstance(bp).setValue(0.0D);
this.getAttributeInstance(GenericAttributes.d).setValue(0.5D); this.getAttributeInstance(GenericAttributes.d).setValue(0.5D);
this.getAttributeInstance(GenericAttributes.e).setValue(5.0D); this.getAttributeInstance(GenericAttributes.e).setValue(5.0D);
} }
protected boolean bk() { protected boolean bj() {
return false; return false;
} }
@ -44,7 +44,7 @@ public class EntityPigZombie extends EntityZombie {
this.bu = this.target; this.bu = this.target;
if (this.soundDelay > 0 && --this.soundDelay == 0) { if (this.soundDelay > 0 && --this.soundDelay == 0) {
this.makeSound("mob.zombiepig.zpigangry", this.bf() * 2.0F, ((this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F) * 1.8F); this.makeSound("mob.zombiepig.zpigangry", this.be() * 2.0F, ((this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F) * 1.8F);
} }
super.h(); super.h();
@ -121,11 +121,11 @@ public class EntityPigZombie extends EntityZombie {
return "mob.zombiepig.zpig"; return "mob.zombiepig.zpig";
} }
protected String aT() { protected String aS() {
return "mob.zombiepig.zpighurt"; return "mob.zombiepig.zpighurt";
} }
protected String aU() { protected String aT() {
return "mob.zombiepig.zpigdeath"; return "mob.zombiepig.zpigdeath";
} }
@ -170,7 +170,7 @@ public class EntityPigZombie extends EntityZombie {
} }
// CraftBukkit end // CraftBukkit end
protected void bA() { protected void bC() {
this.setEquipment(0, new ItemStack(Items.GOLD_SWORD)); this.setEquipment(0, new ItemStack(Items.GOLD_SWORD));
} }

Datei anzeigen

@ -29,7 +29,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public class EntityPlayer extends EntityHuman implements ICrafting { public class EntityPlayer extends EntityHuman implements ICrafting {
private static final Logger bM = LogManager.getLogger(); private static final Logger bL = LogManager.getLogger();
private String locale = "en_US"; private String locale = "en_US";
public PlayerConnection playerConnection; public PlayerConnection playerConnection;
public final MinecraftServer server; public final MinecraftServer server;
@ -37,7 +37,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public double d; public double d;
public double e; public double e;
public final List chunkCoordIntPairQueue = new LinkedList(); public final List chunkCoordIntPairQueue = new LinkedList();
public final List removeQueue = new LinkedList(); public final List removeQueue = new LinkedList(); // CraftBukkit - private -> public
private final ServerStatisticManager bO; private final ServerStatisticManager bO;
private float bP = Float.MIN_VALUE; private float bP = Float.MIN_VALUE;
private float bQ = -1.0E8F; private float bQ = -1.0E8F;
@ -45,12 +45,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
private boolean bS = true; private boolean bS = true;
public int lastSentExp = -99999999; // CraftBukkit - private -> public public int lastSentExp = -99999999; // CraftBukkit - private -> public
public int invulnerableTicks = 60; // CraftBukkit - private -> public public int invulnerableTicks = 60; // CraftBukkit - private -> public
private int bV; private EnumChatVisibility bV;
private EnumChatVisibility bW; private boolean bW = true;
private boolean bX = true; private long bX = 0L;
private long bY = 0L;
private int containerCounter; private int containerCounter;
public boolean h; public boolean g;
public int ping; public int ping;
public boolean viewingCredits; public boolean viewingCredits;
// CraftBukkit start // CraftBukkit start
@ -68,7 +67,6 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
super(worldserver, gameprofile); super(worldserver, gameprofile);
playerinteractmanager.player = this; playerinteractmanager.player = this;
this.playerInteractManager = playerinteractmanager; this.playerInteractManager = playerinteractmanager;
this.bV = minecraftserver.getPlayerList().o();
ChunkCoordinates chunkcoordinates = worldserver.getSpawn(); ChunkCoordinates chunkcoordinates = worldserver.getSpawn();
int i = chunkcoordinates.x; int i = chunkcoordinates.x;
int j = chunkcoordinates.z; int j = chunkcoordinates.z;
@ -84,7 +82,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.server = minecraftserver; this.server = minecraftserver;
this.bO = minecraftserver.getPlayerList().i(this.getName()); this.bO = minecraftserver.getPlayerList().i(this.getName());
this.X = 0.0F; this.W = 0.0F;
this.height = 0.0F; this.height = 0.0F;
this.setPositionRotation((double) i + 0.5D, (double) k, (double) j + 0.5D, 0.0F, 0.0F); this.setPositionRotation((double) i + 0.5D, (double) k, (double) j + 0.5D, 0.0F, 0.0F);
@ -230,7 +228,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
} }
if (this.bY > 0L && this.server.aq() > 0 && MinecraftServer.ap() - this.bY > (long) (this.server.aq() * 1000 * 60)) { if (this.bX > 0L && this.server.getIdleTimeout() > 0 && MinecraftServer.aq() - this.bX > (long) (this.server.getIdleTimeout() * 1000 * 60)) {
this.playerConnection.disconnect("You have been idle for too long!"); this.playerConnection.disconnect("You have been idle for too long!");
} }
} }
@ -259,8 +257,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.bS = this.foodData.e() == 0.0F; this.bS = this.foodData.e() == 0.0F;
} }
if (this.getHealth() + this.bs() != this.bP) { if (this.getHealth() + this.br() != this.bP) {
this.bP = this.getHealth() + this.bs(); this.bP = this.getHealth() + this.br();
// CraftBukkit - Update ALL the scores! // CraftBukkit - Update ALL the scores!
this.world.getServer().getScoreboardManager().updateAllScoresForList(IScoreboardCriteria.f, this.getName(), com.google.common.collect.ImmutableList.of(this)); this.world.getServer().getScoreboardManager().updateAllScoresForList(IScoreboardCriteria.f, this.getName(), com.google.common.collect.ImmutableList.of(this));
} }
@ -276,11 +274,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.playerConnection.sendPacket(new PacketPlayOutExperience(this.exp, this.expTotal, this.expLevel)); this.playerConnection.sendPacket(new PacketPlayOutExperience(this.exp, this.expTotal, this.expLevel));
} }
if (this.ticksLived % 20 * 5 == 0 && !this.x().a(AchievementList.L)) { if (this.ticksLived % 20 * 5 == 0 && !this.getStatisticManager().a(AchievementList.L)) {
this.j(); this.j();
} }
// CraftBukkit start // CraftBukkit start - initialize oldLevel and fire PlayerLevelChangeEvent
if (this.oldLevel == -1) { if (this.oldLevel == -1) {
this.oldLevel = this.expLevel; this.oldLevel = this.expLevel;
} }
@ -304,14 +302,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (biomebase != null) { if (biomebase != null) {
String s = biomebase.af; String s = biomebase.af;
AchievementSet achievementset = (AchievementSet) this.x().b((Statistic) AchievementList.L); // CraftBukkit - fix decompile error AchievementSet achievementset = (AchievementSet) this.getStatisticManager().b((Statistic) AchievementList.L); // CraftBukkit - fix decompile error
if (achievementset == null) { if (achievementset == null) {
achievementset = (AchievementSet) this.x().a(AchievementList.L, new AchievementSet()); achievementset = (AchievementSet) this.getStatisticManager().a(AchievementList.L, new AchievementSet());
} }
achievementset.add(s); achievementset.add(s);
if (this.x().b(AchievementList.L) && achievementset.size() == BiomeBase.n.size()) { if (this.getStatisticManager().b(AchievementList.L) && achievementset.size() == BiomeBase.n.size()) {
HashSet hashset = Sets.newHashSet(BiomeBase.n); HashSet hashset = Sets.newHashSet(BiomeBase.n);
Iterator iterator = achievementset.iterator(); Iterator iterator = achievementset.iterator();
@ -340,7 +338,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
public void die(DamageSource damagesource) { public void die(DamageSource damagesource) {
// CraftBukkit start // CraftBukkit start - fire PlayerDeathEvent
if (this.dead) { if (this.dead) {
return; return;
} }
@ -362,7 +360,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
} }
IChatBaseComponent chatmessage = this.aW().b(); IChatBaseComponent chatmessage = this.aV().b();
String deathmessage = chatmessage.c(); String deathmessage = chatmessage.c();
org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage); org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage);
@ -401,20 +399,21 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
scoreboardscore.incrementScore(); scoreboardscore.incrementScore();
} }
EntityLiving entityliving = this.aX(); EntityLiving entityliving = this.aW();
if (entityliving != null) { if (entityliving != null) {
int i = EntityTypes.a(entityliving); int i = EntityTypes.a(entityliving);
MonsterEggInfo monsteregginfo = (MonsterEggInfo) EntityTypes.a.get(Integer.valueOf(i)); MonsterEggInfo monsteregginfo = (MonsterEggInfo) EntityTypes.eggInfo.get(Integer.valueOf(i));
if (monsteregginfo != null) { if (monsteregginfo != null) {
this.a(monsteregginfo.e, 1); this.a(monsteregginfo.e, 1);
} }
entityliving.b(this, this.bb); entityliving.b(this, this.ba);
} }
this.a(StatisticList.v, 1); this.a(StatisticList.v, 1);
this.aV().g();
} }
public boolean damageEntity(DamageSource damagesource, float f) { public boolean damageEntity(DamageSource damagesource, float f) {
@ -422,7 +421,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
return false; return false;
} else { } else {
// CraftBukkit - this.server.getPvP() -> this.world.pvpMode // CraftBukkit - this.server.getPvP() -> this.world.pvpMode
boolean flag = this.server.V() && this.world.pvpMode && "fall".equals(damagesource.translationIndex); boolean flag = this.server.W() && this.world.pvpMode && "fall".equals(damagesource.translationIndex);
if (!flag && this.invulnerableTicks > 0 && damagesource != DamageSource.OUT_OF_WORLD) { if (!flag && this.invulnerableTicks > 0 && damagesource != DamageSource.OUT_OF_WORLD) {
return false; return false;
@ -717,14 +716,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
MerchantRecipeList merchantrecipelist = imerchant.getOffers(this); MerchantRecipeList merchantrecipelist = imerchant.getOffers(this);
if (merchantrecipelist != null) { if (merchantrecipelist != null) {
try { PacketDataSerializer packetdataserializer = new PacketDataSerializer(Unpooled.buffer());
PacketDataSerializer packetdataserializer = new PacketDataSerializer(Unpooled.buffer());
try {
packetdataserializer.writeInt(this.containerCounter); packetdataserializer.writeInt(this.containerCounter);
merchantrecipelist.a(packetdataserializer); merchantrecipelist.a(packetdataserializer);
this.playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|TrList", packetdataserializer)); this.playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|TrList", packetdataserializer));
} catch (Exception ioexception) { // CraftBukkit - IOException -> Exception } catch (Exception ioexception) { // CraftBukkit - IOException -> Exception
bM.error("Couldn\'t send trade list", ioexception); bL.error("Couldn\'t send trade list", ioexception);
} finally {
packetdataserializer.release();
} }
} }
} }
@ -748,7 +749,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public void a(Container container, int i, ItemStack itemstack) { public void a(Container container, int i, ItemStack itemstack) {
if (!(container.getSlot(i) instanceof SlotResult)) { if (!(container.getSlot(i) instanceof SlotResult)) {
if (!this.h) { if (!this.g) {
this.playerConnection.sendPacket(new PacketPlayOutSetSlot(container.windowId, i, itemstack)); this.playerConnection.sendPacket(new PacketPlayOutSetSlot(container.windowId, i, itemstack));
} }
} }
@ -779,7 +780,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
public void broadcastCarriedItem() { public void broadcastCarriedItem() {
if (!this.h) { if (!this.g) {
this.playerConnection.sendPacket(new PacketPlayOutSetSlot(-1, -1, this.inventory.getCarried())); this.playerConnection.sendPacket(new PacketPlayOutSetSlot(-1, -1, this.inventory.getCarried()));
} }
} }
@ -792,14 +793,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public void a(float f, float f1, boolean flag, boolean flag1) { public void a(float f, float f1, boolean flag, boolean flag1) {
if (this.vehicle != null) { if (this.vehicle != null) {
if (f >= -1.0F && f <= 1.0F) { if (f >= -1.0F && f <= 1.0F) {
this.be = f; this.bd = f;
} }
if (f1 >= -1.0F && f1 <= 1.0F) { if (f1 >= -1.0F && f1 <= 1.0F) {
this.bf = f1; this.be = f1;
} }
this.bd = flag; this.bc = flag;
this.setSneaking(flag1); this.setSneaking(flag1);
} }
} }
@ -915,7 +916,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
public boolean a(int i, String s) { public boolean a(int i, String s) {
return "seed".equals(s) && !this.server.V() ? true : (!"tell".equals(s) && !"help".equals(s) && !"me".equals(s) ? (this.server.getPlayerList().isOp(this.getName()) ? this.server.l() >= i : false) : true); return "seed".equals(s) && !this.server.W() ? true : (!"tell".equals(s) && !"help".equals(s) && !"me".equals(s) ? (this.server.getPlayerList().isOp(this.getName()) ? this.server.l() >= i : false) : true);
} }
public String s() { public String s() {
@ -930,13 +931,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.locale = packetplayinsettings.c(); this.locale = packetplayinsettings.c();
int i = 256 >> packetplayinsettings.d(); int i = 256 >> packetplayinsettings.d();
if (i > 3 && i < 15) { if (i > 3 && i < 20) {
this.bV = i; ;
} }
this.bW = packetplayinsettings.e(); this.bV = packetplayinsettings.e();
this.bX = packetplayinsettings.f(); this.bW = packetplayinsettings.f();
if (this.server.L() && this.server.K().equals(this.getName())) { if (this.server.M() && this.server.L().equals(this.getName())) {
this.server.a(packetplayinsettings.g()); this.server.a(packetplayinsettings.g());
} }
@ -944,10 +945,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} }
public EnumChatVisibility getChatFlags() { public EnumChatVisibility getChatFlags() {
return this.bW; return this.bV;
} }
public void a(String s) { public void setResourcePack(String s) {
this.playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|RPack", s.getBytes(Charsets.UTF_8))); this.playerConnection.sendPacket(new PacketPlayOutCustomPayload("MC|RPack", s.getBytes(Charsets.UTF_8)));
} }
@ -955,15 +956,22 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
return new ChunkCoordinates(MathHelper.floor(this.locX), MathHelper.floor(this.locY + 0.5D), MathHelper.floor(this.locZ)); return new ChunkCoordinates(MathHelper.floor(this.locX), MathHelper.floor(this.locY + 0.5D), MathHelper.floor(this.locZ));
} }
public void w() { public void v() {
this.bY = MinecraftServer.ap(); this.bX = MinecraftServer.aq();
} }
public ServerStatisticManager x() { public ServerStatisticManager getStatisticManager() {
return this.bO; return this.bO;
} }
// CraftBukkit start public void d(Entity entity) {
if (entity instanceof EntityHuman) {
this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(new int[] { entity.getId()}));
} else {
this.removeQueue.add(Integer.valueOf(entity.getId()));
}
}
// CraftBukkit start - Add per-player time and weather.
public long timeOffset = 0; public long timeOffset = 0;
public boolean relativeTime = true; public boolean relativeTime = true;
@ -1029,7 +1037,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.expTotal = this.newTotalExp; this.expTotal = this.newTotalExp;
this.exp = 0; this.exp = 0;
this.deathTicks = 0; this.deathTicks = 0;
this.aP(); // Should be remapped: removeAllEffects should be remapped to this. this.removeAllEffects();
this.updateEffects = true; this.updateEffects = true;
this.activeContainer = this.defaultContainer; this.activeContainer = this.defaultContainer;
this.killer = null; this.killer = null;

Datei anzeigen

@ -12,7 +12,7 @@ import org.bukkit.entity.LivingEntity;
public class EntityPotion extends EntityProjectile { public class EntityPotion extends EntityProjectile {
public ItemStack item; // CraftBukkit private --> public public ItemStack item; // CraftBukkit private -> public
public EntityPotion(World world) { public EntityPotion(World world) {
super(world); super(world);
@ -76,7 +76,7 @@ public class EntityPotion extends EntityProjectile {
while (iterator.hasNext()) { while (iterator.hasNext()) {
EntityLiving entityliving = (EntityLiving) iterator.next(); EntityLiving entityliving = (EntityLiving) iterator.next();
double d0 = this.e(entityliving); double d0 = this.f(entityliving);
if (d0 < 16.0D) { if (d0 < 16.0D) {
double d1 = 1.0D - Math.sqrt(d0) / 4.0D; double d1 = 1.0D - Math.sqrt(d0) / 4.0D;

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen