Extending WorldGuard - Signs

Discussion in 'Plugin Development' started by MrNice, Sep 13, 2013.

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

    MrNice

    Hi again I am trying to extend worldguard, but most of topics i read don't help me, thi is sign listener class. Wanna add Suport sign for id [Cube],[Owns] but got stuck noting helps plz.


    Code:java
    1. package pl.MrNice.PluginFactory.listeners;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.Material;
    5. import org.bukkit.World;
    6. import org.bukkit.WorldType;
    7. import org.bukkit.block.Block;
    8. import org.bukkit.block.BlockState;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.block.BlockBreakEvent;
    13. import org.bukkit.event.block.BlockPlaceEvent;
    14. import org.bukkit.event.block.SignChangeEvent;
    15. import org.bukkit.inventory.ItemStack;
    16. import org.bukkit.plugin.Plugin;
    17. import org.bukkit.block.Sign;
    18.  
    19. import com.sk89q.worldedit.BlockVector;
    20. import com.sk89q.worldedit.Location;
    21. import com.sk89q.worldedit.Vector;
    22. import com.sk89q.worldedit.bukkit.BukkitUtil;
    23. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
    24. import com.sk89q.worldguard.protection.flags.VectorFlag;
    25. import com.sk89q.worldguard.protection.managers.RegionManager;
    26. import com.sk89q.worldguard.protection.ApplicableRegionSet;
    27. import static com.sk89q.worldguard.bukkit.BukkitUtil.*;
    28. import com.sk89q.worldguard.bukkit.WGBukkit;
    29. import com.sk89q.worldguard.protection.managers.RegionManager;
    30. import com.sk89q.worldguard.protection.ApplicableRegionSet;
    31. import static com.sk89q.worldguard.bukkit.BukkitUtil.*;
    32.  
    33. public class SignListener implements Listener {
    34.  
    35. @EventHandler
    36. public void Sign(SignChangeEvent event) {
    37. String line1= event.getLine(0);
    38. Player player=event.getPlayer();
    39. Block block = event.getBlock();
    40. if(line1.equalsIgnoreCase("[Test]"))
    41. {
    42. player.sendMessage(ChatColor.BLUE + "You created Test!!!");
    43. event.setLine(0,ChatColor.AQUA + line1 );
    44. }
    45. else
    46.  
    47. {
    48. //event.setCancelled(true);
    49. //block.breakNaturally();
    50. //return;
    51. //event.getBlock().setType(Material.AIR);
    52. // ItemStack item = new ItemStack(Material.SIGN, 1);
    53. //event.getPlayer().getInventory().addItem(new ItemStack[] { item });
    54.  
    55. }
    56. //return;
    57. if (line1.contains("[cube]"))
    58. {
    59. //
    60. //Block location = event.getBlock();
    61. World world=block.getWorld();
    62. org.bukkit.Location loc = event.getBlock().getLocation();
    63. Vector pt = BukkitUtil.toVector(block);
    64. //WorldGuardPlugin worldGuard = SignProtect.getWorldGuard();
    65. RegionManager regionManager = WorldGuardPlugin.getRegionManager(world);
    66. //Vector pt = toVector(event.getLine(1));
    67. //ApplicableRegionSet set = WGBukkit.getRegionManager(world).getApplicableRegions(location);
    68. ApplicableRegionSet set = RegionManager.getApplicableRegions(pt);
    69. //existing = findRegionStandingIn(regionManager, location, true);
    70. event.setLine(1, line1 );
    71. player.sendMessage(line1);
    72. }
    73.  
    74. }
    75. @EventHandler
    76. public void onSignBreakeEvent(BlockBreakEvent event){
    77. Player player=event.getPlayer();
    78. Block block=event.getBlock();
    79. Material type = block.getType();
    80.  
    81. //String line1=block.getLine(0);
    82. if (type == Material.WALL_SIGN || type == Material.SIGN_POST){
    83.  
    84. BlockState state = block.getState();
    85. if(state instanceof Sign){
    86. Sign sign = (Sign)state;
    87. //Sign sign = (Sign) event.getBlock().getState();
    88. String line1 = sign.getLine(0);
    89. //Sign sign = (Sign) block;
    90. if (line1.contains("[test]"))
    91. {
    92. player.sendMessage(line1);}
    93. //if(!event.getPlayer().getName().equals(sign).getLine(1))
    94. //String line1 = ((SignChangeEvent) sign).getLine(0);
    95. //if (line1.contains("[test]"))
    96. //player.sendMessage(ChatColor.RED + "Oh No you Bastard");
    97.  
    98.  
    99. }
    100. return;
    101. }
    102. }
    103. @EventHandler
    104. public void onSignPlace(BlockPlaceEvent event) {
    105. Material block=event.getBlockPlaced().getType();
    106. if(block==Material.SIGN_POST||block==Material.WALL_SIGN)
    107. event.setCancelled(false);
    108. return;
    109. }
    110.  
    111. }
     
Thread Status:
Not open for further replies.

Share This Page