Solved Sign event not working?

Discussion in 'Plugin Development' started by PolarCraft, Dec 20, 2013.

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

    PolarCraft

    Their is no stack-trace.

    Main.class:
    Code:java
    1. package net.jc.minecraft.kit;
    2.  
    3. import org.bukkit.plugin.java.JavaPlugin;
    4.  
    5. public class Main extends JavaPlugin {
    6.  
    7. public void onEnable() {
    8. getServer().getPluginManager().registerEvents(new StandardEvent(), this);
    9. getServer().getPluginManager().registerEvents(new StandardPEvent(), this);
    10. getCommand("standard").setExecutor(new StandardCommand());
    11. }
    12.  
    13. public void onDisable() {
    14. }
    15. }

    StandardCommand.class:
    Code:java
    1. package net.jc.minecraft.kit;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.Color;
    5. import org.bukkit.Material;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandExecutor;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.enchantments.Enchantment;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.inventory.ItemStack;
    12. import org.bukkit.inventory.meta.ItemMeta;
    13. import org.bukkit.inventory.meta.LeatherArmorMeta;
    14.  
    15. public class StandardCommand implements CommandExecutor {
    16.  
    17. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    18. {
    19. Player p = (Player) sender;
    20. if(cmd.getName().equalsIgnoreCase("standard")) {
    21. if(sender.hasPermission("kitpvp.standard")) {
    22. ItemStack ws = (new ItemStack(Material.WOOD_SWORD));
    23. ws.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    24.  
    25. ItemMeta m = ws.getItemMeta();
    26. m.setDisplayName(ChatColor.GOLD +"Reg. Kit: Sword o' Mighty");
    27. ws.setItemMeta(m);
    28.  
    29. p.getInventory().addItem(ws);
    30.  
    31. //HELMET
    32. ItemStack lh = (new ItemStack(Material.LEATHER_HELMET));
    33. lh.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    34.  
    35. LeatherArmorMeta AHat = (LeatherArmorMeta)lh.getItemMeta();
    36. AHat.setColor(Color.GREEN);
    37. lh.setItemMeta(AHat);
    38.  
    39. ItemMeta m1 = lh.getItemMeta();
    40. m1.setDisplayName(ChatColor.GOLD + "Reg. Kit Helm");
    41. lh.setItemMeta(m1);
    42.  
    43. p.getInventory().setHelmet(lh);
    44.  
    45. //CHESTPLATE
    46. ItemStack lc = (new ItemStack(Material.LEATHER_CHESTPLATE));
    47. lc.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    48.  
    49. LeatherArmorMeta AChest = (LeatherArmorMeta)lc.getItemMeta();
    50. AChest.setColor(Color.GREEN);
    51. lc.setItemMeta(AChest);
    52.  
    53. ItemMeta m2 = lc.getItemMeta();
    54. m2.setDisplayName(ChatColor.GOLD + "Reg. Kit Chest");
    55. lc.setItemMeta(m2);
    56.  
    57. p.getInventory().setChestplate(lc);
    58.  
    59. //LEGGINGS
    60. ItemStack ll = (new ItemStack(Material.LEATHER_LEGGINGS));
    61. ll.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    62.  
    63. LeatherArmorMeta ALegs = (LeatherArmorMeta)ll.getItemMeta();
    64. ALegs.setColor(Color.GREEN);
    65. ll.setItemMeta(ALegs);
    66.  
    67. ItemMeta m3 = ll.getItemMeta();
    68. m3.setDisplayName(ChatColor.GOLD + "Reg. Kit Pants");
    69. ll.setItemMeta(m3);
    70.  
    71. p.getInventory().setLeggings(ll);
    72.  
    73. //BOOTS
    74. ItemStack lb = (new ItemStack(Material.LEATHER_LEGGINGS));
    75. lb.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    76.  
    77. LeatherArmorMeta ABoots = (LeatherArmorMeta)lb.getItemMeta();
    78. ABoots.setColor(Color.GREEN);
    79. lb.setItemMeta(ABoots);
    80.  
    81. ItemMeta m4 = lb.getItemMeta();
    82. m4.setDisplayName(ChatColor.GOLD + "Reg. Kit Boots");
    83. lb.setItemMeta(m4);
    84.  
    85. p.getInventory().setBoots(lb);
    86.  
    87. p.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP, 10));
    88. }
    89. }
    90. return false;
    91. }
    92. }
    93.  

    StandardEvent.class:
    Code:java
    1. package net.jc.minecraft.kit;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.block.SignChangeEvent;
    8.  
    9. public class StandardEvent implements Listener {
    10.  
    11. @EventHandler
    12. public void onSignChange(SignChangeEvent e) {
    13. Player p = e.getPlayer();
    14. if(e.getLine(0).equalsIgnoreCase("[KitPvp]")) {
    15. if(e.getLine(1).equalsIgnoreCase("s")) {
    16. if(p.hasPermission("kitme.admin.signmake")) {
    17. e.setLine(0, ChatColor.BLACK + "[" + ChatColor.DARK_RED + "KitPvp" + ChatColor.BLACK + "]");
    18. e.setLine(1, ChatColor.GREEN + "Standard");
    19. }
    20. }
    21. }
    22. }
    23. }

    StandardPEvent:
    Code:java
    1. package net.jc.minecraft.kit;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.GameMode;
    6. import org.bukkit.block.Sign;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.player.PlayerInteractEvent;
    12.  
    13. public class StandardPEvent implements Listener {
    14.  
    15.  
    16. @SuppressWarnings("deprecation")
    17. @EventHandler
    18. public void SignClick(PlayerInteractEvent e) {
    19. Player p = e.getPlayer();
    20. if (e.getAction() == Action.RIGHT_CLICK_BLOCK){ //Checks if person is right clicking on a block
    21. //This checks if the player is right clicking on the sign and it'll do all the code below if it is a sign.
    22. if (e.getClickedBlock().getState() instanceof Sign) { //This checks if the player is right clicking on the sign and it'll do all the code below if it is a sign.
    23. Sign sign = (Sign) e.getClickedBlock().getState();
    24. if(sign.getLine(0).equalsIgnoreCase(ChatColor.BLACK + "[" + ChatColor.DARK_RED + "KitPvp" + ChatColor.BLACK + "]") && p.getGameMode() == GameMode.SURVIVAL) { //Capitalization matters for this too.
    25. if(sign.getLine(1).equalsIgnoreCase("Standard")) { //Capitalization matters for this too.
    26. p.performCommand("standard");
    27. p.updateInventory();
    28. }
    29. }
    30. }
    31. }
    32. }
    33. }
    34.  
     
  2. Offline

    AoH_Ruthless

    PolarCraft
    What isnt exactly working?
    And fyi, if you arent using the ondisable, you might as well remove it
     
  3. Offline

    PolarCraft

    Well It will not send the command.
     
  4. Offline

    AoH_Ruthless

  5. Offline

    PolarCraft

    AoH_Ruthless I can type the command it is the sign event trying to throw the command. I just cant right click.
     
  6. Offline

    random_username

    PolarCraft
    In your interact event, you are checking for "Standard", as shown below:
    Code:java
    1. if(sign.getLine(1).equalsIgnoreCase("Standard")){

    While in your sign change event you set it to
    Code:java
    1. ChatColor.GREEN + "Standard";

    While checking line(1) in the Interact Event, you should try checking for
    Code:java
    1. ChatColor.GREEN + "Standard";

    instead of
    Code:java
    1. "Standard";
     
  7. Offline

    PolarCraft

Thread Status:
Not open for further replies.

Share This Page