1.20.4
This commit is contained in:
@@ -4,11 +4,11 @@ Date: Sat, 19 Jun 2021 16:30:39 -0400
|
||||
Subject: [PATCH] Add SoundEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/gg/projecteden/parchment/event/sound/ParchmentSoundEvent.java b/src/main/java/gg/projecteden/parchment/event/sound/ParchmentSoundEvent.java
|
||||
diff --git a/src/main/java/gg/projecteden/gg/parchment/event/sound/ParchmentSoundEvent.java b/src/main/java/gg/projecteden/gg/parchment/event/sound/ParchmentSoundEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..44245b61f64e4e2eb21ac4f5e540aa9a583bfcfe
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/gg/projecteden/parchment/event/sound/ParchmentSoundEvent.java
|
||||
+++ b/src/main/java/gg/projecteden/gg/parchment/event/sound/ParchmentSoundEvent.java
|
||||
@@ -0,0 +1,28 @@
|
||||
+package gg.projecteden.parchment.event.sound;
|
||||
+
|
||||
@@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..44245b61f64e4e2eb21ac4f5e540aa9a
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
index db54a9c32578defa02fa58dc694c96684a4885ac..6c2477f066f887557e89456994a49ddaf1f8aa27 100644
|
||||
index 99871023c54e387c6ef72a4307d945047aee87fe..4ce043faf03caf8858a86876b9125e274eb75c43 100644
|
||||
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
@@ -339,6 +339,40 @@ public final class PaperAdventure {
|
||||
@@ -344,6 +344,41 @@ public final class PaperAdventure {
|
||||
return asVanilla(source);
|
||||
}
|
||||
|
||||
@@ -79,22 +79,23 @@ index db54a9c32578defa02fa58dc694c96684a4885ac..6c2477f066f887557e89456994a49dda
|
||||
+ return Key.key(key.getNamespace(), key.getPath());
|
||||
+ }
|
||||
+ // Parchment end
|
||||
+
|
||||
+
|
||||
public static Packet<?> asSoundPacket(final Sound sound, final double x, final double y, final double z, final long seed, @Nullable BiConsumer<Packet<?>, Float> packetConsumer) {
|
||||
final ResourceLocation name = asVanilla(sound.name());
|
||||
final Optional<SoundEvent> soundEvent = BuiltInRegistries.SOUND_EVENT.getOptional(name);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 584a768f2ce1c98a1de7749060c47f21721f9055..c900dcd24fbbabf2bfc0e42015478b8af61c6b9d 100644
|
||||
index b78a9628a88f2a495ef6de74446a02a14d41a1f6..abd5300282563a804290eb2e9333e59a0e8ac708 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1787,12 +1787,46 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1811,12 +1811,46 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
@Override
|
||||
public void playSeededSound(@Nullable Player except, double x, double y, double z, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) {
|
||||
- this.server.getPlayerList().broadcast(except, x, y, z, (double) ((SoundEvent) sound.value()).getRange(volume), this.dimension(), new ClientboundSoundPacket(sound, category, x, y, z, volume, pitch, seed));
|
||||
public void playSeededSound(@Nullable Player source, double x, double y, double z, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) {
|
||||
- this.server.getPlayerList().broadcast(source, x, y, z, (double) ((SoundEvent) sound.value()).getRange(volume), this.dimension(), new ClientboundSoundPacket(sound, category, x, y, z, volume, pitch, seed));
|
||||
+ // Parchment start - sound event
|
||||
+ CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.SoundEvent(
|
||||
+ except == null ? null : except.getBukkitEntity(),
|
||||
+ source == null ? null : source.getBukkitEntity(),
|
||||
+ net.kyori.adventure.sound.Sound.sound()
|
||||
+ .type(sound.unwrap().<net.kyori.adventure.key.Key>map(
|
||||
+ key -> io.papermc.paper.adventure.PaperAdventure.asAdventure(key.location()),
|
||||
@@ -113,11 +114,11 @@ index 584a768f2ce1c98a1de7749060c47f21721f9055..c900dcd24fbbabf2bfc0e42015478b8a
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSeededSound(@Nullable Player except, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) {
|
||||
- this.server.getPlayerList().broadcast(except, entity.getX(), entity.getY(), entity.getZ(), (double) ((SoundEvent) sound.value()).getRange(volume), this.dimension(), new ClientboundSoundEntityPacket(sound, category, entity, volume, pitch, seed));
|
||||
public void playSeededSound(@Nullable Player source, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) {
|
||||
- this.server.getPlayerList().broadcast(source, entity.getX(), entity.getY(), entity.getZ(), (double) ((SoundEvent) sound.value()).getRange(volume), this.dimension(), new ClientboundSoundEntityPacket(sound, category, entity, volume, pitch, seed));
|
||||
+ // Parchment start - sound event
|
||||
+ CraftEventFactory.playSoundEvent(new gg.projecteden.parchment.event.sound.SoundEvent(
|
||||
+ except == null ? null : except.getBukkitEntity(),
|
||||
+ source == null ? null : source.getBukkitEntity(),
|
||||
+ net.kyori.adventure.sound.Sound.sound()
|
||||
+ .type(sound.unwrap().<net.kyori.adventure.key.Key>map(
|
||||
+ key -> io.papermc.paper.adventure.PaperAdventure.asAdventure(key.location()),
|
||||
@@ -137,10 +138,10 @@ index 584a768f2ce1c98a1de7749060c47f21721f9055..c900dcd24fbbabf2bfc0e42015478b8a
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index f71a4a8307fb092d33545e12d253e0b80c884168..50dc222a2ebd08fe6ef2d45a6b16801a096f8681 100644
|
||||
index 8efbbd379244e3ed54d4aba199037cc20ccd096a..823bc659f7421c3752e4cf1333e1568e1308464d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2336,7 +2336,20 @@ public class ServerPlayer extends Player {
|
||||
@@ -2435,7 +2435,20 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public void playNotifySound(SoundEvent event, SoundSource category, float volume, float pitch) {
|
||||
@@ -163,10 +164,10 @@ index f71a4a8307fb092d33545e12d253e0b80c884168..50dc222a2ebd08fe6ef2d45a6b16801a
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 33abcf12b4426572b74ca4c813e4392c823494bc..f1627a528d703b87225573c400bdee8288254e36 100644
|
||||
index a35638a92479b90afa89cf201fc45b49c9e767f3..70aa55d04875338b92d29faba18aee08a926e518 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -970,7 +970,7 @@ public abstract class PlayerList {
|
||||
@@ -968,7 +968,7 @@ public abstract class PlayerList {
|
||||
BlockState data = worldserver1.getBlockState(blockposition);
|
||||
worldserver1.setBlock(blockposition, data.setValue(net.minecraft.world.level.block.RespawnAnchorBlock.CHARGE, data.getValue(net.minecraft.world.level.block.RespawnAnchorBlock.CHARGE) - 1), 3);
|
||||
}
|
||||
@@ -176,10 +177,10 @@ index 33abcf12b4426572b74ca4c813e4392c823494bc..f1627a528d703b87225573c400bdee82
|
||||
}
|
||||
// Added from changeDimension
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 481c3e321cfc0f20bb1c4c6942b8bdbd23c06339..2a9b0ba338f3bc8f3750deb6b93bd2099c867f28 100644
|
||||
index 7f3466340891b4409d1399ebeb2ca865d77841cd..f459202c3a79128df936be4a1a2cd51bbc9143b8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1924,7 +1924,21 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1839,7 +1839,21 @@ public abstract class Player extends LivingEntity {
|
||||
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
|
||||
fromEntity.level().playSound(fromEntity, x, y, z, soundEffect, soundCategory, volume, pitch); // This will not send the effect to the entity himself
|
||||
if (fromEntity instanceof ServerPlayer) {
|
||||
@@ -216,10 +217,10 @@ index eaa2943b667967f93f28d9d794d702fdaeb670ec..df03f4867742cd194db260dfb81398b1
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 5dc160b743534665c6b3efb10b10f7c36e2da5ab..7f0c6e9d8ffb1126ac8dbf8c8c8c8888b5f2506c 100644
|
||||
index f5a5ae30dfba21d5cf3990c046cfe41547e8a87a..dfd54e3f9016635c986afdb613c94be9bec91237 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -2166,4 +2166,42 @@ public class CraftEventFactory {
|
||||
@@ -2177,4 +2177,42 @@ public class CraftEventFactory {
|
||||
return event;
|
||||
}
|
||||
// Paper end - add EntityFertilizeEggEvent
|
||||
|
||||
Reference in New Issue
Block a user