aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/world/item/ItemSnowball.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/world/item/ItemSnowball.patch')
-rw-r--r--patch-remap/og/net/minecraft/world/item/ItemSnowball.patch37
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());
+ }