diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/world/item/ItemSnowball.patch')
-rw-r--r-- | patch-remap/og/net/minecraft/world/item/ItemSnowball.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/item/ItemSnowball.patch b/patch-remap/og/net/minecraft/world/item/ItemSnowball.patch new file mode 100644 index 0000000000..84f81c9d47 --- /dev/null +++ b/patch-remap/og/net/minecraft/world/item/ItemSnowball.patch @@ -0,0 +1,37 @@ +--- a/net/minecraft/world/item/ItemSnowball.java ++++ b/net/minecraft/world/item/ItemSnowball.java +@@ -19,19 +19,32 @@ + public InteractionResultWrapper<ItemStack> use(World world, EntityHuman entityhuman, EnumHand enumhand) { + ItemStack itemstack = entityhuman.getItemInHand(enumhand); + +- world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)); ++ // CraftBukkit - moved down ++ // world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)); + if (!world.isClientSide) { + EntitySnowball entitysnowball = new EntitySnowball(world, entityhuman); + + entitysnowball.setItem(itemstack); + entitysnowball.shootFromRotation(entityhuman, entityhuman.getXRot(), entityhuman.getYRot(), 0.0F, 1.5F, 1.0F); +- world.addFreshEntity(entitysnowball); ++ if (world.addFreshEntity(entitysnowball)) { ++ if (!entityhuman.getAbilities().instabuild) { ++ itemstack.shrink(1); ++ } ++ ++ world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)); ++ } else if (entityhuman instanceof net.minecraft.server.level.EntityPlayer) { ++ ((net.minecraft.server.level.EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); ++ } + } ++ // CraftBukkit end + + entityhuman.awardStat(StatisticList.ITEM_USED.get(this)); ++ // CraftBukkit start - moved up ++ /* + if (!entityhuman.getAbilities().instabuild) { + itemstack.shrink(1); + } ++ */ + + return InteractionResultWrapper.sidedSuccess(itemstack, world.isClientSide()); + } |