Skip to content

Commit d06e57b

Browse files
committed
Add seed parameter to play_sound()
1 parent de5e661 commit d06e57b

File tree

6 files changed

+135
-157
lines changed

6 files changed

+135
-157
lines changed

src/main/java/com/laytonsmith/abstraction/MCPlayer.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,23 +140,13 @@ public interface MCPlayer extends MCCommandSender, MCHumanEntity, MCOfflinePlaye
140140

141141
void playNote(MCLocation loc, MCInstrument instrument, MCNote note);
142142

143-
void playSound(MCLocation l, MCSound sound, float volume, float pitch);
143+
void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed);
144144

145-
void playSound(MCLocation l, String sound, float volume, float pitch);
145+
void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed);
146146

147-
void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch);
147+
void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch, Long seed);
148148

149-
void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch);
150-
151-
void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch);
152-
153-
void playSound(MCEntity ent, String sound, float volume, float pitch);
154-
155-
void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch);
156-
157-
void stopSound(MCSound sound);
158-
159-
void stopSound(String sound);
149+
void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch, Long seed);
160150

161151
void stopSound(MCSound sound, MCSoundCategory category);
162152

src/main/java/com/laytonsmith/abstraction/MCWorld.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,13 @@ public interface MCWorld extends MCMetadatable {
8989

9090
void spawnParticle(MCLocation l, MCParticle pa, int count, double offsetX, double offsetY, double offsetZ, double velocity, Object data);
9191

92-
void playSound(MCLocation l, MCSound sound, float volume, float pitch);
92+
void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed);
9393

94-
void playSound(MCLocation l, String sound, float volume, float pitch);
94+
void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed);
9595

96-
void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch);
96+
void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch, Long seed);
9797

98-
void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch);
99-
100-
void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch);
101-
102-
void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch);
98+
void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch, Long seed);
10399

104100
MCItem dropItemNaturally(MCLocation l, MCItemStack is);
105101

src/main/java/com/laytonsmith/abstraction/bukkit/BukkitMCWorld.java

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -308,51 +308,55 @@ public void spawnParticle(MCLocation l, MCParticle pa, int count, double offsetX
308308
}
309309

310310
@Override
311-
public void playSound(MCLocation l, MCSound sound, float volume, float pitch) {
312-
w.playSound(((BukkitMCLocation) l).asLocation(),
313-
((BukkitMCSound) sound).getConcrete(), volume, pitch);
314-
}
315-
316-
@Override
317-
public void playSound(MCLocation l, String sound, float volume, float pitch) {
318-
w.playSound((Location) l.getHandle(), sound, volume, pitch);
319-
}
320-
321-
@Override
322-
public void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch) {
323-
if(category == null) {
324-
w.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(),
325-
SoundCategory.MASTER, volume, pitch);
311+
public void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed) {
312+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
313+
if(cat == null) {
314+
cat = SoundCategory.MASTER;
315+
}
316+
if(seed == null) {
317+
w.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch);
326318
} else {
327-
w.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(),
328-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
319+
w.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch, seed);
329320
}
330321
}
331322

332323
@Override
333-
public void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch) {
334-
if(category == null) {
335-
w.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(),
336-
SoundCategory.MASTER, volume, pitch);
324+
public void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed) {
325+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
326+
if(cat == null) {
327+
cat = SoundCategory.MASTER;
328+
}
329+
if(seed == null) {
330+
w.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch);
337331
} else {
338-
w.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(),
339-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
332+
w.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch, seed);
340333
}
341334
}
342335

343336
@Override
344-
public void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch) {
345-
if(category == null) {
346-
w.playSound((Entity) ent.getHandle(), sound, SoundCategory.MASTER, volume, pitch);
337+
public void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch, Long seed) {
338+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
339+
if(cat == null) {
340+
cat = SoundCategory.MASTER;
341+
}
342+
if(seed == null) {
343+
w.playSound((Entity) ent.getHandle(), sound, cat, volume, pitch);
347344
} else {
348-
w.playSound((Entity) ent.getHandle(), sound, BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
345+
w.playSound((Entity) ent.getHandle(), sound, cat, volume, pitch, seed);
349346
}
350347
}
351348

352349
@Override
353-
public void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch) {
354-
w.playSound((Location) l.getHandle(), sound,
355-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
350+
public void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch, Long seed) {
351+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
352+
if(cat == null) {
353+
cat = SoundCategory.MASTER;
354+
}
355+
if(seed == null) {
356+
w.playSound((Location) l.getHandle(), sound, cat, volume, pitch);
357+
} else {
358+
w.playSound((Location) l.getHandle(), sound, cat, volume, pitch, seed);
359+
}
356360
}
357361

358362
@Override

src/main/java/com/laytonsmith/abstraction/bukkit/entities/BukkitMCPlayer.java

Lines changed: 35 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -600,63 +600,55 @@ public void playNote(MCLocation loc, MCInstrument instrument, MCNote note) {
600600
}
601601

602602
@Override
603-
public void playSound(MCLocation l, MCSound sound, float volume, float pitch) {
604-
p.playSound(((BukkitMCLocation) l).asLocation(),
605-
((BukkitMCSound) sound).getConcrete(), volume, pitch);
606-
}
607-
608-
@Override
609-
public void playSound(MCLocation l, String sound, float volume, float pitch) {
610-
p.playSound(((BukkitMCLocation) l).asLocation(), sound, volume, pitch);
611-
}
612-
613-
@Override
614-
public void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch) {
615-
if(category == null) {
616-
p.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(),
617-
SoundCategory.MASTER, volume, pitch);
603+
public void playSound(MCLocation l, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed) {
604+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
605+
if(cat == null) {
606+
cat = SoundCategory.MASTER;
607+
}
608+
if(seed == null) {
609+
p.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch);
618610
} else {
619-
p.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(),
620-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
611+
p.playSound((Location) l.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch, seed);
621612
}
622613
}
623614

624615
@Override
625-
public void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch) {
616+
public void playSound(MCEntity ent, MCSound sound, MCSoundCategory category, float volume, float pitch, Long seed) {
617+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
618+
if(cat == null) {
619+
cat = SoundCategory.MASTER;
620+
}
626621
if(category == null) {
627-
p.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(),
628-
SoundCategory.MASTER, volume, pitch);
622+
p.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch);
629623
} else {
630-
p.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(),
631-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
624+
p.playSound((Entity) ent.getHandle(), ((BukkitMCSound) sound).getConcrete(), cat, volume, pitch, seed);
632625
}
633626
}
634627

635628
@Override
636-
public void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch) {
637-
p.playSound((Location) l.getHandle(), sound,
638-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
639-
}
640-
641-
@Override
642-
public void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch) {
643-
p.playSound(((Entity) ent.getHandle()), sound,
644-
BukkitMCSoundCategory.getConvertor().getConcreteEnum(category), volume, pitch);
645-
}
646-
647-
@Override
648-
public void playSound(MCEntity ent, String sound, float volume, float pitch) {
649-
p.playSound(((Entity) ent.getHandle()), sound, volume, pitch);
650-
}
651-
652-
@Override
653-
public void stopSound(MCSound sound) {
654-
p.stopSound(((BukkitMCSound) sound).getConcrete());
629+
public void playSound(MCLocation l, String sound, MCSoundCategory category, float volume, float pitch, Long seed) {
630+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
631+
if(cat == null) {
632+
cat = SoundCategory.MASTER;
633+
}
634+
if(seed == null) {
635+
p.playSound((Location) l.getHandle(), sound, cat, volume, pitch);
636+
} else {
637+
p.playSound((Location) l.getHandle(), sound, cat, volume, pitch, seed);
638+
}
655639
}
656640

657641
@Override
658-
public void stopSound(String sound) {
659-
p.stopSound(sound);
642+
public void playSound(MCEntity ent, String sound, MCSoundCategory category, float volume, float pitch, Long seed) {
643+
SoundCategory cat = BukkitMCSoundCategory.getConvertor().getConcreteEnum(category);
644+
if(cat == null) {
645+
cat = SoundCategory.MASTER;
646+
}
647+
if(seed == null) {
648+
p.playSound((Entity) ent.getHandle(), sound, cat, volume, pitch);
649+
} else {
650+
p.playSound((Entity) ent.getHandle(), sound, cat, volume, pitch, seed);
651+
}
660652
}
661653

662654
@Override

0 commit comments

Comments
 (0)