@@ -1,10 +1,11 @@
|
||||
--- a/net/minecraft/server/EntityArrow.java
|
||||
+++ b/net/minecraft/server/EntityArrow.java
|
||||
@@ -8,6 +8,11 @@
|
||||
import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
@@ -45,6 +45,12 @@
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import net.minecraft.world.entity.item.EntityItem;
|
||||
+import org.bukkit.event.entity.EntityCombustByEntityEvent;
|
||||
+import org.bukkit.event.player.PlayerPickupArrowEvent;
|
||||
+// CraftBukkit end
|
||||
@@ -12,7 +13,7 @@
|
||||
public abstract class EntityArrow extends IProjectile {
|
||||
|
||||
private static final DataWatcherObject<Byte> f = DataWatcher.a(EntityArrow.class, DataWatcherRegistry.a);
|
||||
@@ -291,7 +296,13 @@
|
||||
@@ -328,7 +334,13 @@
|
||||
int k = entity.getFireTicks();
|
||||
|
||||
if (this.isBurning() && !flag) {
|
||||
@@ -27,7 +28,7 @@
|
||||
}
|
||||
|
||||
if (entity.damageEntity(damagesource, (float) i)) {
|
||||
@@ -458,9 +469,23 @@
|
||||
@@ -495,9 +507,23 @@
|
||||
@Override
|
||||
public void pickup(EntityHuman entityhuman) {
|
||||
if (!this.world.isClientSide && (this.inGround || this.t()) && this.shake <= 0) {
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
--- a/net/minecraft/server/EntityEgg.java
|
||||
+++ b/net/minecraft/server/EntityEgg.java
|
||||
@@ -1,5 +1,12 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityEgg.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityEgg.java
|
||||
@@ -10,6 +10,15 @@
|
||||
import net.minecraft.world.phys.MovingObjectPosition;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import net.minecraft.server.level.EntityPlayer;
|
||||
+import net.minecraft.world.entity.Entity;
|
||||
+import org.bukkit.entity.Ageable;
|
||||
+import org.bukkit.entity.EntityType;
|
||||
+import org.bukkit.entity.Player;
|
||||
@@ -13,7 +16,7 @@
|
||||
public class EntityEgg extends EntityProjectileThrowable {
|
||||
|
||||
public EntityEgg(EntityTypes<? extends EntityEgg> entitytypes, World world) {
|
||||
@@ -24,20 +31,40 @@
|
||||
@@ -34,20 +43,40 @@
|
||||
protected void a(MovingObjectPosition movingobjectposition) {
|
||||
super.a(movingobjectposition);
|
||||
if (!this.world.isClientSide) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
--- a/net/minecraft/server/EntityEnderPearl.java
|
||||
+++ b/net/minecraft/server/EntityEnderPearl.java
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityEnderPearl.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityEnderPearl.java
|
||||
@@ -17,6 +17,13 @@
|
||||
import net.minecraft.world.phys.MovingObjectPosition;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.Bukkit;
|
||||
@@ -14,7 +14,7 @@
|
||||
public class EntityEnderPearl extends EntityProjectileThrowable {
|
||||
|
||||
public EntityEnderPearl(EntityTypes<? extends EntityEnderPearl> entitytypes, World world) {
|
||||
@@ -37,21 +44,35 @@
|
||||
@@ -52,21 +59,35 @@
|
||||
EntityPlayer entityplayer = (EntityPlayer) entity;
|
||||
|
||||
if (entityplayer.playerConnection.a().isConnected() && entityplayer.world == this.world && !entityplayer.isSleeping()) {
|
||||
@@ -61,7 +61,7 @@
|
||||
}
|
||||
} else if (entity != null) {
|
||||
entity.enderTeleportTo(this.locX(), this.locY(), this.locZ());
|
||||
@@ -80,7 +101,7 @@
|
||||
@@ -95,7 +116,7 @@
|
||||
public Entity b(WorldServer worldserver) {
|
||||
Entity entity = this.getShooter();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityEnderSignal.java
|
||||
+++ b/net/minecraft/server/EntityEnderSignal.java
|
||||
@@ -20,8 +20,8 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityEnderSignal.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityEnderSignal.java
|
||||
@@ -39,8 +39,8 @@
|
||||
}
|
||||
|
||||
public void setItem(ItemStack itemstack) {
|
||||
@@ -11,7 +11,7 @@
|
||||
itemstack1.setCount(1);
|
||||
}));
|
||||
}
|
||||
@@ -137,7 +137,7 @@
|
||||
@@ -156,7 +156,7 @@
|
||||
public void loadData(NBTTagCompound nbttagcompound) {
|
||||
ItemStack itemstack = ItemStack.a(nbttagcompound.getCompound("Item"));
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityEvokerFangs.java
|
||||
+++ b/net/minecraft/server/EntityEvokerFangs.java
|
||||
@@ -114,7 +114,9 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityEvokerFangs.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityEvokerFangs.java
|
||||
@@ -124,7 +124,9 @@
|
||||
|
||||
if (entityliving.isAlive() && !entityliving.isInvulnerable() && entityliving != entityliving1) {
|
||||
if (entityliving1 == null) {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
--- a/net/minecraft/server/EntityFireball.java
|
||||
+++ b/net/minecraft/server/EntityFireball.java
|
||||
@@ -1,10 +1,14 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityFireball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityFireball.java
|
||||
@@ -15,11 +15,15 @@
|
||||
import net.minecraft.world.phys.MovingObjectPosition;
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
|
||||
+
|
||||
@@ -15,7 +16,7 @@
|
||||
|
||||
protected EntityFireball(EntityTypes<? extends EntityFireball> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -14,6 +18,12 @@
|
||||
@@ -29,6 +33,12 @@
|
||||
this(entitytypes, world);
|
||||
this.setPositionRotation(d0, d1, d2, this.yaw, this.pitch);
|
||||
this.af();
|
||||
@@ -28,7 +29,7 @@
|
||||
double d6 = (double) MathHelper.sqrt(d3 * d3 + d4 * d4 + d5 * d5);
|
||||
|
||||
if (d6 != 0.0D) {
|
||||
@@ -49,6 +59,12 @@
|
||||
@@ -64,6 +74,12 @@
|
||||
|
||||
if (movingobjectposition.getType() != MovingObjectPosition.EnumMovingObjectType.MISS) {
|
||||
this.a(movingobjectposition);
|
||||
@@ -41,7 +42,7 @@
|
||||
}
|
||||
|
||||
this.checkBlockCollisions();
|
||||
@@ -133,6 +149,11 @@
|
||||
@@ -148,6 +164,11 @@
|
||||
Entity entity = damagesource.getEntity();
|
||||
|
||||
if (entity != null) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityFireballFireball.java
|
||||
+++ b/net/minecraft/server/EntityFireballFireball.java
|
||||
@@ -18,7 +18,7 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityFireballFireball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityFireballFireball.java
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
public void setItem(ItemStack itemstack) {
|
||||
if (itemstack.getItem() != Items.FIRE_CHARGE || itemstack.hasTag()) {
|
||||
@@ -9,7 +9,7 @@
|
||||
itemstack1.setCount(1);
|
||||
}));
|
||||
}
|
||||
@@ -50,6 +50,6 @@
|
||||
@@ -61,6 +61,6 @@
|
||||
super.loadData(nbttagcompound);
|
||||
ItemStack itemstack = ItemStack.a(nbttagcompound.getCompound("Item"));
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
--- a/net/minecraft/server/EntityFireworks.java
|
||||
+++ b/net/minecraft/server/EntityFireworks.java
|
||||
@@ -5,6 +5,8 @@
|
||||
import java.util.OptionalInt;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityFireworks.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityFireworks.java
|
||||
@@ -29,6 +29,8 @@
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
|
||||
+
|
||||
public class EntityFireworks extends IProjectile {
|
||||
|
||||
public static final DataWatcherObject<ItemStack> FIREWORK_ITEM = DataWatcher.a(EntityFireworks.class, DataWatcherRegistry.g);
|
||||
@@ -121,7 +123,11 @@
|
||||
@@ -145,7 +147,11 @@
|
||||
}
|
||||
|
||||
if (!this.world.isClientSide && this.ticksFlown > this.expectedLifespan) {
|
||||
@@ -22,7 +22,7 @@
|
||||
}
|
||||
|
||||
}
|
||||
@@ -136,7 +142,11 @@
|
||||
@@ -160,7 +166,11 @@
|
||||
protected void a(MovingObjectPositionEntity movingobjectpositionentity) {
|
||||
super.a(movingobjectpositionentity);
|
||||
if (!this.world.isClientSide) {
|
||||
@@ -35,7 +35,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,7 +156,11 @@
|
||||
@@ -170,7 +180,11 @@
|
||||
|
||||
this.world.getType(blockposition).a(this.world, blockposition, (Entity) this);
|
||||
if (!this.world.s_() && this.hasExplosions()) {
|
||||
@@ -48,7 +48,7 @@
|
||||
}
|
||||
|
||||
super.a(movingobjectpositionblock);
|
||||
@@ -172,7 +186,9 @@
|
||||
@@ -196,7 +210,9 @@
|
||||
|
||||
if (f > 0.0F) {
|
||||
if (this.ridingEntity != null) {
|
||||
@@ -58,7 +58,7 @@
|
||||
}
|
||||
|
||||
double d0 = 5.0D;
|
||||
@@ -199,7 +215,9 @@
|
||||
@@ -223,7 +239,9 @@
|
||||
if (flag) {
|
||||
float f1 = f * (float) Math.sqrt((5.0D - (double) this.g((Entity) entityliving)) / 5.0D);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
--- a/net/minecraft/server/EntityFishingHook.java
|
||||
+++ b/net/minecraft/server/EntityFishingHook.java
|
||||
@@ -7,6 +7,12 @@
|
||||
import java.util.Random;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityFishingHook.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityFishingHook.java
|
||||
@@ -45,6 +45,12 @@
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.entity.Player;
|
||||
@@ -13,7 +13,7 @@
|
||||
public class EntityFishingHook extends IProjectile {
|
||||
|
||||
private final Random b;
|
||||
@@ -25,6 +31,12 @@
|
||||
@@ -63,6 +69,12 @@
|
||||
private final int an;
|
||||
private final int lureLevel;
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
private EntityFishingHook(World world, EntityHuman entityhuman, int i, int j) {
|
||||
super(EntityTypes.FISHING_BOBBER, world);
|
||||
this.b = new Random();
|
||||
@@ -253,6 +265,10 @@
|
||||
@@ -291,6 +303,10 @@
|
||||
this.waitTime = 0;
|
||||
this.ai = 0;
|
||||
this.getDataWatcher().set(EntityFishingHook.f, false);
|
||||
@@ -37,7 +37,7 @@
|
||||
}
|
||||
} else {
|
||||
float f;
|
||||
@@ -286,6 +302,13 @@
|
||||
@@ -324,6 +340,13 @@
|
||||
worldserver.a(Particles.FISHING, d0, d1, d2, 0, (double) (-f4), 0.01D, (double) f3, 1.0D);
|
||||
}
|
||||
} else {
|
||||
@@ -51,7 +51,7 @@
|
||||
this.playSound(SoundEffects.ENTITY_FISHING_BOBBER_SPLASH, 0.25F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F);
|
||||
double d3 = this.locY() + 0.5D;
|
||||
|
||||
@@ -322,8 +345,10 @@
|
||||
@@ -360,8 +383,10 @@
|
||||
this.ai = MathHelper.nextInt(this.random, 20, 80);
|
||||
}
|
||||
} else {
|
||||
@@ -64,7 +64,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -390,6 +415,14 @@
|
||||
@@ -428,6 +453,14 @@
|
||||
int i = 0;
|
||||
|
||||
if (this.hooked != null) {
|
||||
@@ -79,7 +79,7 @@
|
||||
this.reel();
|
||||
CriterionTriggers.D.a((EntityPlayer) entityhuman, itemstack, this, (Collection) Collections.emptyList());
|
||||
this.world.broadcastEntityEffect(this, (byte) 31);
|
||||
@@ -405,6 +438,15 @@
|
||||
@@ -443,6 +476,15 @@
|
||||
while (iterator.hasNext()) {
|
||||
ItemStack itemstack1 = (ItemStack) iterator.next();
|
||||
EntityItem entityitem = new EntityItem(this.world, this.locX(), this.locY(), this.locZ(), itemstack1);
|
||||
@@ -95,7 +95,7 @@
|
||||
double d0 = entityhuman.locX() - this.locX();
|
||||
double d1 = entityhuman.locY() - this.locY();
|
||||
double d2 = entityhuman.locZ() - this.locZ();
|
||||
@@ -412,7 +454,11 @@
|
||||
@@ -450,7 +492,11 @@
|
||||
|
||||
entityitem.setMot(d0 * 0.1D, d1 * 0.1D + Math.sqrt(Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2)) * 0.08D, d2 * 0.1D);
|
||||
this.world.addEntity(entityitem);
|
||||
@@ -108,7 +108,7 @@
|
||||
if (itemstack1.getItem().a((Tag) TagsItem.FISHES)) {
|
||||
entityhuman.a(StatisticList.FISH_CAUGHT, 1);
|
||||
}
|
||||
@@ -422,8 +468,25 @@
|
||||
@@ -460,8 +506,25 @@
|
||||
}
|
||||
|
||||
if (this.onGround) {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
--- a/net/minecraft/server/EntityLargeFireball.java
|
||||
+++ b/net/minecraft/server/EntityLargeFireball.java
|
||||
@@ -1,15 +1,19 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityLargeFireball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityLargeFireball.java
|
||||
@@ -11,16 +11,20 @@
|
||||
import net.minecraft.world.phys.MovingObjectPosition;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+import org.bukkit.event.entity.ExplosionPrimeEvent; // CraftBukkit
|
||||
+
|
||||
@@ -20,7 +21,7 @@
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -18,7 +22,15 @@
|
||||
@@ -29,7 +33,15 @@
|
||||
if (!this.world.isClientSide) {
|
||||
boolean flag = this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING);
|
||||
|
||||
@@ -37,7 +38,7 @@
|
||||
this.die();
|
||||
}
|
||||
|
||||
@@ -49,7 +61,8 @@
|
||||
@@ -60,7 +72,8 @@
|
||||
public void loadData(NBTTagCompound nbttagcompound) {
|
||||
super.loadData(nbttagcompound);
|
||||
if (nbttagcompound.hasKeyOfType("ExplosionPower", 99)) {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
--- a/net/minecraft/server/EntityPotion.java
|
||||
+++ b/net/minecraft/server/EntityPotion.java
|
||||
@@ -5,6 +5,14 @@
|
||||
import java.util.function.Predicate;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityPotion.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityPotion.java
|
||||
@@ -32,6 +32,16 @@
|
||||
import net.minecraft.world.phys.MovingObjectPositionBlock;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import java.util.HashMap;
|
||||
+import java.util.Map;
|
||||
+import net.minecraft.server.level.EntityPlayer;
|
||||
+import net.minecraft.world.level.block.Blocks;
|
||||
+import org.bukkit.craftbukkit.entity.CraftLivingEntity;
|
||||
+import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
+import org.bukkit.entity.LivingEntity;
|
||||
@@ -15,7 +17,7 @@
|
||||
public class EntityPotion extends EntityProjectileThrowable {
|
||||
|
||||
public static final Predicate<EntityLiving> b = EntityLiving::dO;
|
||||
@@ -69,7 +77,7 @@
|
||||
@@ -96,7 +106,7 @@
|
||||
|
||||
if (flag) {
|
||||
this.splash();
|
||||
@@ -24,7 +26,7 @@
|
||||
if (this.isLingering()) {
|
||||
this.a(itemstack, potionregistry);
|
||||
} else {
|
||||
@@ -106,6 +114,7 @@
|
||||
@@ -133,6 +143,7 @@
|
||||
private void a(List<MobEffect> list, @Nullable Entity entity) {
|
||||
AxisAlignedBB axisalignedbb = this.getBoundingBox().grow(4.0D, 2.0D, 4.0D);
|
||||
List<EntityLiving> list1 = this.world.a(EntityLiving.class, axisalignedbb);
|
||||
@@ -32,7 +34,7 @@
|
||||
|
||||
if (!list1.isEmpty()) {
|
||||
Iterator iterator = list1.iterator();
|
||||
@@ -123,21 +132,46 @@
|
||||
@@ -150,21 +161,46 @@
|
||||
d1 = 1.0D;
|
||||
}
|
||||
|
||||
@@ -93,7 +95,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,7 +207,14 @@
|
||||
@@ -200,7 +236,14 @@
|
||||
entityareaeffectcloud.setColor(nbttagcompound.getInt("CustomPotionColor"));
|
||||
}
|
||||
|
||||
@@ -109,7 +111,7 @@
|
||||
}
|
||||
|
||||
public boolean isLingering() {
|
||||
@@ -184,11 +225,19 @@
|
||||
@@ -211,11 +254,19 @@
|
||||
IBlockData iblockdata = this.world.getType(blockposition);
|
||||
|
||||
if (iblockdata.a((Tag) TagsBlock.FIRE)) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityProjectileThrowable.java
|
||||
+++ b/net/minecraft/server/EntityProjectileThrowable.java
|
||||
@@ -18,8 +18,8 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityProjectileThrowable.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityProjectileThrowable.java
|
||||
@@ -29,8 +29,8 @@
|
||||
|
||||
public void setItem(ItemStack itemstack) {
|
||||
if (itemstack.getItem() != this.getDefaultItem() || itemstack.hasTag()) {
|
||||
@@ -11,7 +11,7 @@
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -27,6 +27,12 @@
|
||||
@@ -38,6 +38,12 @@
|
||||
|
||||
protected abstract Item getDefaultItem();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityShulkerBullet.java
|
||||
+++ b/net/minecraft/server/EntityShulkerBullet.java
|
||||
@@ -34,8 +34,21 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityShulkerBullet.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityShulkerBullet.java
|
||||
@@ -58,8 +58,21 @@
|
||||
this.target = entity;
|
||||
this.dir = EnumDirection.UP;
|
||||
this.a(enumdirection_enumaxis);
|
||||
@@ -22,7 +22,7 @@
|
||||
@Override
|
||||
public SoundCategory getSoundCategory() {
|
||||
return SoundCategory.HOSTILE;
|
||||
@@ -256,7 +269,7 @@
|
||||
@@ -280,7 +293,7 @@
|
||||
if (flag) {
|
||||
this.a(entityliving, entity);
|
||||
if (entity instanceof EntityLiving) {
|
||||
@@ -31,7 +31,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,6 +295,11 @@
|
||||
@@ -306,6 +319,11 @@
|
||||
|
||||
@Override
|
||||
public boolean damageEntity(DamageSource damagesource, float f) {
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
--- a/net/minecraft/server/EntitySmallFireball.java
|
||||
+++ b/net/minecraft/server/EntitySmallFireball.java
|
||||
@@ -1,5 +1,7 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/entity/projectile/EntitySmallFireball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntitySmallFireball.java
|
||||
@@ -14,6 +14,8 @@
|
||||
import net.minecraft.world.phys.MovingObjectPositionBlock;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+import org.bukkit.event.entity.EntityCombustByEntityEvent; // CraftBukkit
|
||||
+
|
||||
public class EntitySmallFireball extends EntityFireballFireball {
|
||||
|
||||
public EntitySmallFireball(EntityTypes<? extends EntitySmallFireball> entitytypes, World world) {
|
||||
@@ -8,6 +10,11 @@
|
||||
@@ -22,6 +24,11 @@
|
||||
|
||||
public EntitySmallFireball(World world, EntityLiving entityliving, double d0, double d1, double d2) {
|
||||
super(EntityTypes.SMALL_FIREBALL, entityliving, d0, d1, d2, world);
|
||||
@@ -20,7 +21,7 @@
|
||||
}
|
||||
|
||||
public EntitySmallFireball(World world, double d0, double d1, double d2, double d3, double d4, double d5) {
|
||||
@@ -24,7 +31,14 @@
|
||||
@@ -38,7 +45,14 @@
|
||||
Entity entity1 = this.getShooter();
|
||||
int i = entity.getFireTicks();
|
||||
|
||||
@@ -36,7 +37,7 @@
|
||||
boolean flag = entity.damageEntity(DamageSource.fireball(this, entity1), 5.0F);
|
||||
|
||||
if (!flag) {
|
||||
@@ -43,10 +57,10 @@
|
||||
@@ -57,10 +71,10 @@
|
||||
if (!this.world.isClientSide) {
|
||||
Entity entity = this.getShooter();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntitySpectralArrow.java
|
||||
+++ b/net/minecraft/server/EntitySpectralArrow.java
|
||||
@@ -35,7 +35,7 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntitySpectralArrow.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntitySpectralArrow.java
|
||||
@@ -45,7 +45,7 @@
|
||||
super.a(entityliving);
|
||||
MobEffect mobeffect = new MobEffect(MobEffects.GLOWING, this.duration, 0);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityThrownExpBottle.java
|
||||
+++ b/net/minecraft/server/EntityThrownExpBottle.java
|
||||
@@ -28,9 +28,18 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityThrownExpBottle.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityThrownExpBottle.java
|
||||
@@ -38,9 +38,18 @@
|
||||
protected void a(MovingObjectPosition movingobjectposition) {
|
||||
super.a(movingobjectposition);
|
||||
if (!this.world.isClientSide) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityThrownTrident.java
|
||||
+++ b/net/minecraft/server/EntityThrownTrident.java
|
||||
@@ -132,7 +132,7 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityThrownTrident.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityThrownTrident.java
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
entitylightning.d(Vec3D.c((BaseBlockPosition) blockposition));
|
||||
entitylightning.d(entity1 instanceof EntityPlayer ? (EntityPlayer) entity1 : null);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/EntityTippedArrow.java
|
||||
+++ b/net/minecraft/server/EntityTippedArrow.java
|
||||
@@ -122,6 +122,25 @@
|
||||
--- a/net/minecraft/world/entity/projectile/EntityTippedArrow.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityTippedArrow.java
|
||||
@@ -138,6 +138,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
+ }
|
||||
+
|
||||
+ public void setType(String string) {
|
||||
+ this.potionRegistry = IRegistry.POTION.get(new MinecraftKey(string));
|
||||
+ this.potionRegistry = IRegistry.POTION.get(new net.minecraft.resources.MinecraftKey(string));
|
||||
+ this.getDataWatcher().set(EntityTippedArrow.COLOR, PotionUtil.a((Collection) PotionUtil.a(this.potionRegistry, (Collection) this.effects)));
|
||||
+ }
|
||||
+
|
||||
@@ -26,7 +26,7 @@
|
||||
public int getColor() {
|
||||
return (Integer) this.datawatcher.get(EntityTippedArrow.COLOR);
|
||||
}
|
||||
@@ -189,7 +208,7 @@
|
||||
@@ -205,7 +224,7 @@
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
mobeffect = (MobEffect) iterator.next();
|
||||
@@ -35,7 +35,7 @@
|
||||
}
|
||||
|
||||
if (!this.effects.isEmpty()) {
|
||||
@@ -197,7 +216,7 @@
|
||||
@@ -213,7 +232,7 @@
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
mobeffect = (MobEffect) iterator.next();
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
--- a/net/minecraft/server/EntityWitherSkull.java
|
||||
+++ b/net/minecraft/server/EntityWitherSkull.java
|
||||
@@ -1,5 +1,7 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/entity/projectile/EntityWitherSkull.java
|
||||
+++ b/net/minecraft/world/entity/projectile/EntityWitherSkull.java
|
||||
@@ -21,6 +21,8 @@
|
||||
import net.minecraft.world.phys.MovingObjectPosition;
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
|
||||
+import org.bukkit.event.entity.ExplosionPrimeEvent; // CraftBukkit
|
||||
+
|
||||
public class EntityWitherSkull extends EntityFireball {
|
||||
|
||||
private static final DataWatcherObject<Boolean> e = DataWatcher.a(EntityWitherSkull.class, DataWatcherRegistry.i);
|
||||
@@ -43,7 +45,7 @@
|
||||
@@ -64,7 +66,7 @@
|
||||
if (entity.isAlive()) {
|
||||
this.a(entityliving, entity);
|
||||
} else {
|
||||
@@ -17,7 +18,7 @@
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -60,7 +62,7 @@
|
||||
@@ -81,7 +83,7 @@
|
||||
}
|
||||
|
||||
if (b0 > 0) {
|
||||
@@ -26,7 +27,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +75,15 @@
|
||||
@@ -94,7 +96,15 @@
|
||||
if (!this.world.isClientSide) {
|
||||
Explosion.Effect explosion_effect = this.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) ? Explosion.Effect.DESTROY : Explosion.Effect.NONE;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
--- a/net/minecraft/server/IProjectile.java
|
||||
+++ b/net/minecraft/server/IProjectile.java
|
||||
@@ -4,6 +4,10 @@
|
||||
import java.util.UUID;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/entity/projectile/IProjectile.java
|
||||
+++ b/net/minecraft/world/entity/projectile/IProjectile.java
|
||||
@@ -15,6 +15,10 @@
|
||||
import net.minecraft.world.phys.MovingObjectPositionEntity;
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.projectiles.ProjectileSource;
|
||||
@@ -11,7 +11,7 @@
|
||||
public abstract class IProjectile extends Entity {
|
||||
|
||||
private UUID shooter;
|
||||
@@ -19,6 +23,7 @@
|
||||
@@ -30,6 +34,7 @@
|
||||
this.shooter = entity.getUniqueID();
|
||||
this.c = entity.getId();
|
||||
}
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
}
|
||||
|
||||
@@ -101,6 +106,7 @@
|
||||
@@ -112,6 +117,7 @@
|
||||
}
|
||||
|
||||
protected void a(MovingObjectPosition movingobjectposition) {
|
||||
|
||||
Reference in New Issue
Block a user