Advertisement
akon1248

BetterNoteBlocks

Apr 16th, 2019
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. import:
  2. java.io.BufferedWriter
  3. java.io.File
  4. java.io.FileOutputStream
  5. java.io.OutputStreamWriter
  6. java.io.PrintWriter
  7. org.bukkit.Bukkit
  8. org.bukkit.Sound
  9. com.comphenix.protocol.wrappers.EnumWrappers$SoundCategory
  10. on load:
  11. if file "plugins/BetterNoteBlocks/config.yml" does not exist:
  12. create file "plugins/BetterNoteBlocks/config.yml"
  13. set {_serverpath} to Bukkit.getServer().getWorldContainer().getAbsolutePath()
  14. replace "\" in {_serverpath} with "/"
  15. set {_configpath} to "%first length of {_serverpath}-1 characters of {_serverpath}%plugins/BetterNoteBlocks/config.yml"
  16. set {_config} to new File({_configpath})
  17. wait 1 tick
  18. set {_writer} to new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream({_config}),"UTF-8")))
  19. {_writer}.println("##追加したい音の設定をします")
  20. {_writer}.println("##記述法: - ブロックID 音の名前")
  21. {_writer}.println("Notes:")
  22. {_writer}.println("- 89 BLOCK_NOTE_PLING")
  23. {_writer}.close()
  24. clear {note.blockids::*}
  25. clear {note.sounds::*}
  26. set {_noteconfig::*} to yaml list "Notes" from file "plugins/BetterNoteBlocks/config.yml"
  27. loop {_noteconfig::*}:
  28. set {_values::*} to split loop-value by " "
  29. size of {_values::*} is 2
  30. set {note.blockids::%loop-index%} to {_values::1} parsed as integer
  31. {note.blockids::%loop-index%} is set
  32. set {note.sounds::%loop-index%} to Sound.valueOf({_values::2} in upper case)
  33. {note.sounds::%loop-index%} is not set
  34. delete {note.blockids::%loop-index%}
  35. on packet event play_server_named_sound_effect:
  36. event-packet.getSoundCategories().read(0) is SoundCategory.RECORDS!
  37. first 11 characters of "%event-packet.getSoundEffects().read(0)%" is "BLOCK_NOTE_"
  38. set {_loc} to location at int pnum 0 of event-packet/8, int pnum 1 of event-packet/8, int pnum 2 of event-packet/8 in world "%player's world%"
  39. block at {_loc} is note block
  40. loop {note.blockids::*}:
  41. id of block at location 1 meter below {_loc} is loop-value
  42. event-packet.getSoundEffects().write(0, {note.sounds::%loop-index%})
  43. stop loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement