From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: simpleauthority Date: Tue, 28 May 2019 03:48:51 -0700 Subject: [PATCH] Implement CraftBlockSoundGroup diff --git a/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java b/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java new file mode 100644 index 0000000000000000000000000000000000000000..9a516520d975f52169e346adc4ec6d9db843db2f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java @@ -0,0 +1,38 @@ +package com.destroystokyo.paper.block; + +import net.minecraft.world.level.block.SoundType; +import org.bukkit.Sound; +import org.bukkit.craftbukkit.CraftSound; + +public class CraftBlockSoundGroup implements BlockSoundGroup { + private final SoundType soundEffectType; + + public CraftBlockSoundGroup(SoundType soundEffectType) { + this.soundEffectType = soundEffectType; + } + + @Override + public Sound getBreakSound() { + return CraftSound.getBukkit(soundEffectType.getBreakSound()); + } + + @Override + public Sound getStepSound() { + return CraftSound.getBukkit(soundEffectType.getStepSound()); + } + + @Override + public Sound getPlaceSound() { + return CraftSound.getBukkit(soundEffectType.getPlaceSound()); + } + + @Override + public Sound getHitSound() { + return CraftSound.getBukkit(soundEffectType.getHitSound()); + } + + @Override + public Sound getFallSound() { + return CraftSound.getBukkit(soundEffectType.getFallSound()); + } +} diff --git a/src/main/java/net/minecraft/world/level/block/SoundType.java b/src/main/java/net/minecraft/world/level/block/SoundType.java index 46042087ef1e01cb9ca1f00137c436c6afa15599..74149f372b50e50fd735801324247787ad55d8b8 100644 --- a/src/main/java/net/minecraft/world/level/block/SoundType.java +++ b/src/main/java/net/minecraft/world/level/block/SoundType.java @@ -82,10 +82,10 @@ public class SoundType { public static final SoundType POLISHED_DEEPSLATE = new SoundType(1.0F, 1.0F, SoundEvents.POLISHED_DEEPSLATE_BREAK, SoundEvents.POLISHED_DEEPSLATE_STEP, SoundEvents.POLISHED_DEEPSLATE_PLACE, SoundEvents.POLISHED_DEEPSLATE_HIT, SoundEvents.POLISHED_DEEPSLATE_FALL); public final float volume; public final float pitch; - public final SoundEvent breakSound; + public final SoundEvent breakSound; public final SoundEvent getBreakSound() { return this.breakSound; } // Paper - OBFHELPER // PAIL private -> public, rename breakSound private final SoundEvent stepSound; private final SoundEvent placeSound; - public final SoundEvent hitSound; + public final SoundEvent hitSound; public final SoundEvent getHitSound() { return this.hitSound; } // Paper - OBFHELPER // PAIL private -> public, rename hitSound private final SoundEvent fallSound; public SoundType(float volume, float pitch, SoundEvent breakSound, SoundEvent stepSound, SoundEvent placeSound, SoundEvent hitSound, SoundEvent fallSound) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index ca03ed4b1581df2b7db272d6f330174a9d277153..0a9ed9992a2fc97472a06591a5d129a767ce21af 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -749,4 +749,11 @@ public class CraftBlock implements Block { AABB aabb = shape.bounds(); return new BoundingBox(this.getX() + aabb.minX, this.getY() + aabb.minY, this.getZ() + aabb.minZ, this.getX() + aabb.maxX, this.getY() + aabb.maxY, this.getZ() + aabb.maxZ); } + + // Paper start + @Override + public com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup() { + return new com.destroystokyo.paper.block.CraftBlockSoundGroup(getNMSBlock().defaultBlockState().getSoundType()); + } + // Paper end }