Help on adding sounds...

Discussion in 'Plugin Development' started by NDUGAR, Apr 11, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    NDUGAR

    Hello, I am making a small plugin which is acting a bit odd to what I suspected... It is a plugin which creates a nice atmosphere for a group of players to enter the server in :p Yes I adapted a tutorial... But the part I created kind of doesn't work...

    Here's my main class file:

    Code:java
    1. package me.Schnel.EnterWithABang;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.Color;
    5. import org.bukkit.Effect;
    6. import org.bukkit.FireworkEffect;
    7. import org.bukkit.FireworkEffect.Type;
    8. import org.bukkit.Location;
    9. import org.bukkit.Sound;
    10. import org.bukkit.entity.Firework;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.event.Event;
    13. import org.bukkit.event.Listener;
    14. import org.bukkit.plugin.java.JavaPlugin;
    15. import org.bukkit.event.EventHandler;
    16. import org.bukkit.event.player.PlayerJoinEvent;
    17. import org.bukkit.inventory.meta.FireworkMeta;
    18.  
    19. public class Main extends JavaPlugin implements Listener {
    20.  
    21. public void onEnable(){
    22. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    23. getLogger().info("Plugin Enabled");
    24. }
    25.  
    26. public void onDisable(){
    27. getLogger().info("Plugin Disabled");
    28. }
    29.  
    30. @EventHandler
    31. public void onPlayerJoin (final PlayerJoinEvent pje){
    32. Player player = pje.getPlayer();
    33. if(player.hasPermission("bang.*")){
    34. Location location = Event.getLocation();
    35. String playername = Event.getPlayer.getName();
    36. pje.getPlayer(playerName).getWorld().playSound(location,Sound.IRONGOLEM_HIT,1, 0);
    37.  
    38. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
    39. public void run(){
    40.  
    41. Firework f = (Firework) pje.getPlayer().getWorld().spawn(pje.getPlayer().getLocation(), Firework.class);
    42. FireworkMeta fm = f.getFireworkMeta();
    43. fm.addEffect(FireworkEffect.builder()
    44. .flicker(true)
    45. .trail(true)
    46. .with(Type.BALL)
    47. .with(Type.BALL_LARGE)
    48. .with(Type.STAR)
    49. .with(Type.BURST)
    50. .withColor(Color.OLIVE)
    51. .withColor(Color.FUCHSIA)
    52. .withFade(Color.LIME)
    53. .withFade(Color.ORANGE)
    54. .build());
    55. fm.setPower(1);
    56. f.setFireworkMeta(fm);
    57. }
    58. }, 10);
    59.  
    60. }
    61.  
    62. }
    63. }


    Any help would really be appreciated, also please explain as I am new to creating bukkit plugins :p

    Editted a bit, here's my new code:
    Code:java
    1. package me.Schnel.EnterWithABang;
    2.  
    3.  
    4.  
    5. import org.bukkit.Bukkit;
    6.  
    7. import org.bukkit.ChatColor;
    8.  
    9. import org.bukkit.Color;
    10.  
    11. import org.bukkit.Effect;
    12.  
    13. import org.bukkit.FireworkEffect;
    14.  
    15. import org.bukkit.FireworkEffect.Type;
    16.  
    17. import org.bukkit.Location;
    18.  
    19. import org.bukkit.Sound;
    20.  
    21. import org.bukkit.conversations.PlayerNamePrompt;
    22.  
    23. import org.bukkit.entity.Firework;
    24.  
    25. import org.bukkit.entity.Player;
    26.  
    27. import org.bukkit.event.Event;
    28.  
    29. import org.bukkit.event.Listener;
    30.  
    31. import org.bukkit.plugin.java.JavaPlugin;
    32.  
    33. import org.bukkit.event.EventHandler;
    34.  
    35. import org.bukkit.event.player.PlayerJoinEvent;
    36.  
    37. import org.bukkit.inventory.meta.FireworkMeta;
    38.  
    39.  
    40.  
    41. public class Main extends JavaPlugin implements Listener {
    42.  
    43.  
    44.  
    45. public void onEnable(){
    46.  
    47. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    48.  
    49. getLogger().info("Plugin Enabled");
    50.  
    51. }
    52.  
    53.  
    54.  
    55. public void onDisable(){
    56.  
    57. getLogger().info("Plugin Disabled");
    58.  
    59. }
    60.  
    61.  
    62.  
    63. @EventHandler
    64.  
    65. public void onPlayerJoin (final PlayerJoinEvent pje){
    66.  
    67. Player player = pje.getPlayer();
    68.  
    69. if(player.hasPermission("bang.*")){
    70.  
    71. Location location = Event.getLocation();
    72.  
    73. String playername = Event.getPlayer.getName();
    74.  
    75. pje.getPlayer(playername).getWorld().playSound(location,Sound.IRONGOLEM_HIT,1, 0);
    76.  
    77. p.sendMessage(ChatColor.DARK_PURPLE + playername +"has joined, be prepared!!!");
    78.  
    79.  
    80.  
    81. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
    82.  
    83. public void run(){
    84.  
    85. Firework f = (Firework) pje.getPlayer().getWorld().spawn(pje.getPlayer().getLocation(), Firework.class);
    86.  
    87. FireworkMeta fm = f.getFireworkMeta();
    88.  
    89. fm.addEffect(FireworkEffect.builder()
    90.  
    91. .flicker(true)
    92.  
    93. .trail(true)
    94.  
    95. .with(Type.BALL)
    96.  
    97. .with(Type.BALL_LARGE)
    98.  
    99. .with(Type.STAR)
    100.  
    101. .with(Type.BURST)
    102.  
    103. .withColor(Color.OLIVE)
    104.  
    105. .withColor(Color.FUCHSIA)
    106.  
    107. .withFade(Color.LIME)
    108.  
    109. .withFade(Color.ORANGE)
    110.  
    111. .build());
    112.  
    113. fm.setPower(1);
    114.  
    115. f.setFireworkMeta(fm);
    116.  
    117. }
    118.  
    119. }, 10);
    120.  
    121.  
    122.  
    123. }
    124.  
    125.  
    126.  
    127. }
    128.  
    129. }


    Errors:

    1.
    The method getLocation() is undefined for the type Event
    2.
    getPlayer cannot be resolved or is not a field
    3.
    The method getPlayer() in the type PlayerEvent is not applicable for the arguments (String)
    4.
    p cannot be resolved

    Some help please :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  2. Offline

    Barnyard_Owl

    First, you need to refer to the object pje to get locations/players/etc. You cannot simply refer to the class, 'Event'. To get the player, you should use pje.getPlayer(), instead of trying to get the player with pje.getPlayer(Event.getPlayer.getName()). The event does not return a location, you you'll need to get the location by using player.getLocation(). p is undefined because it's not a variable. Use 'player' instead.

    These are some pretty basic Java mistakes. With all due respect, I suggest you pick up a Java book or watch some tutorials.
     
  3. Offline

    NDUGAR

    Thanks Barnyard_Owl

    Although I still am getting 1 error and I do not know how to create a method of .getName


    The method getName() is undefined for the type PlayerJoinEvent

    Here's my new code:

    Code:java
    1. package me.Schnel.EnterWithABang;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Color;
    6. import org.bukkit.Effect;
    7. import org.bukkit.FireworkEffect;
    8. import org.bukkit.FireworkEffect.Type;
    9. import org.bukkit.Location;
    10. import org.bukkit.Sound;
    11. import org.bukkit.conversations.PlayerNamePrompt;
    12. import org.bukkit.entity.Firework;
    13. import org.bukkit.entity.Player;
    14. import org.bukkit.event.Event;
    15. import org.bukkit.event.Listener;
    16. import org.bukkit.plugin.java.JavaPlugin;
    17. import org.bukkit.event.EventHandler;
    18. import org.bukkit.event.player.PlayerJoinEvent;
    19. import org.bukkit.inventory.meta.FireworkMeta;
    20.  
    21. public class Main extends JavaPlugin implements Listener {
    22.  
    23. public void onEnable(){
    24. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    25. getLogger().info("Plugin Enabled");
    26. }
    27.  
    28. public void onDisable(){
    29. getLogger().info("Plugin Disabled");
    30. }
    31.  
    32. @EventHandler
    33. public void onPlayerJoin (final PlayerJoinEvent pje){
    34. Player player = pje.getPlayer();
    35. if(player.hasPermission("bang.*")){
    36. Location location = player.getLocation();
    37. String playername = pje.getName();
    38. pje.getPlayer().getWorld().playSound(location,Sound.IRONGOLEM_HIT,1, 0);
    39. player.sendMessage(ChatColor.DARK_PURPLE + playername +"has joined, be prepared!!!");
    40.  
    41. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
    42. public void run(){
    43. Firework f = (Firework) pje.getPlayer().getWorld().spawn(pje.getPlayer().getLocation(), Firework.class);
    44. FireworkMeta fm = f.getFireworkMeta();
    45. fm.addEffect(FireworkEffect.builder()
    46. .flicker(true)
    47. .trail(true)
    48. .with(Type.BALL)
    49. .with(Type.BALL_LARGE)
    50. .with(Type.STAR)
    51. .with(Type.BURST)
    52. .withColor(Color.OLIVE)
    53. .withColor(Color.FUCHSIA)
    54. .withFade(Color.LIME)
    55. .withFade(Color.ORANGE)
    56. .build());
    57. fm.setPower(1);
    58. f.setFireworkMeta(fm);
    59. }
    60. }, 10);
    61.  
    62. }
    63.  
    64. }
    65. }
     
  4. Offline

    ZodiacTheories

    NDUGAR

    Code:java
    1. String playername = pje.getName();
    2.  


    You are basically attempting to name a string, not a player. Change it to player instead of pje. :D
     
  5. Offline

    NDUGAR

    Thanks for all the help Zodiac, it now works :D

    Code:java
    1. player.sendMessage(ChatColor.DARK_PURPLE + playername + " has joined, be prepared!!!");


    How would I add boldness to that?
     
Thread Status:
Not open for further replies.

Share This Page