Repackage NMS

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2021-03-16 09:00:00 +11:00
parent 18496e998f
commit 9da047989c
968 changed files with 5448 additions and 5050 deletions

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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"));

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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"));

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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)) {

View File

@@ -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)) {

View File

@@ -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();

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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();

View File

@@ -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;

View File

@@ -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) {