Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.42 KB | None | 0 0
  1. package sovereign.yahtze.YahtzeSigns;
  2.  
  3.  
  4. import java.util.logging.Logger;
  5.  
  6. import org.bukkit.event.Event;
  7. import org.bukkit.plugin.PluginDescriptionFile;
  8. import org.bukkit.plugin.PluginManager;
  9. import org.bukkit.plugin.java.JavaPlugin;
  10. import com.nijiko.permissions.PermissionHandler;
  11. import com.nijikokun.bukkit.Permissions.Permissions;
  12. import org.bukkit.plugin.Plugin;
  13.  
  14. public class YahtzeSigns extends JavaPlugin {
  15.  
  16. Logger log = Logger.getLogger("Minecraft");
  17. private final SignPlayerListener playerListener = new SignPlayerListener(this);
  18. private final SignBlockListener blockListener = new SignBlockListener(this);
  19. public static PermissionHandler permissionHandler;
  20.  
  21. @Override
  22. public void onDisable() {
  23. PluginDescriptionFile pdfFile = this.getDescription();
  24. log.info("[" + pdfFile.getName() + "] version: " + pdfFile.getVersion() + " is disabled!" );
  25. }
  26.  
  27. @Override
  28. public void onEnable() {
  29. PluginManager pm = getServer().getPluginManager();
  30. PluginDescriptionFile pdfFile = this.getDescription();
  31. pm.registerEvent(Event.Type.PLAYER_INTERACT, playerListener, Event.Priority.Normal, this);
  32. pm.registerEvent(Event.Type.SIGN_CHANGE, blockListener, Event.Priority.Normal, this);
  33. pm.registerEvent(Event.Type.BLOCK_PLACE, blockListener, Event.Priority.Normal, this);
  34. log.info("[" + pdfFile.getName() + "] version: " + pdfFile.getVersion() + " is enabled!" );
  35. setupPermissions();
  36. }
  37.  
  38. private void setupPermissions() {
  39. if (permissionHandler != null) {
  40. return;
  41. }
  42.  
  43. Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions");
  44.  
  45. if (permissionsPlugin == null) {
  46. log.info("Permission system not detected, defaulting to OP");
  47. return;
  48. }
  49.  
  50. permissionHandler = ((Permissions) permissionsPlugin).getHandler();
  51. log.info("Found and will use plugin "+((Permissions)permissionsPlugin).getDescription().getFullName());
  52. }
  53. }
  54.  
  55. ///////////////////////////////////////////////////
  56. ///////////////////////////////////////////////////
  57. ////////////New Source ///////////////
  58. ///////////////////////////////////////////////////
  59. ///////////////////////////////////////////////////
  60.  
  61. package sovereign.yahtze.YahtzeSigns;
  62.  
  63. import java.util.logging.Logger;
  64.  
  65. import org.bukkit.Location;
  66. import org.bukkit.Material;
  67. import org.bukkit.block.Block;
  68. import org.bukkit.block.BlockState;
  69. import org.bukkit.block.Sign;
  70. import org.bukkit.entity.Player;
  71. import org.bukkit.event.block.Action;
  72. import org.bukkit.event.player.PlayerInteractEvent;
  73. import org.bukkit.event.player.PlayerListener;
  74.  
  75.  
  76. public class SignPlayerListener extends PlayerListener {
  77.  
  78. public static YahtzeSigns plugin;
  79. public SignPlayerListener(YahtzeSigns instance){
  80. plugin = instance;
  81. }
  82.  
  83. Logger log = Logger.getLogger("Minecraft");
  84. public String XBLOCK_COORDINATE;
  85. public String YBLOCK_COORDINATE;
  86. public String ZBLOCK_COORDINATE;
  87.  
  88. public int XoriginalSignCoordinate;
  89. public int YoriginalSignCoordinate;
  90. public int ZoriginalSignCoordinate;
  91.  
  92. public void onPlayerInteract(PlayerInteractEvent event){
  93. if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
  94. Player player = event.getPlayer();
  95. Block block = event.getClickedBlock();
  96. if(block.getType() == Material.SIGN
  97. || block.getType() == Material.SIGN_POST
  98. || block.getType() == Material.WALL_SIGN){
  99. BlockState state = block.getState();
  100. if(state instanceof Sign){
  101. Sign sign = (Sign) state;
  102. if(YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Use")
  103. && sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")){
  104. int health = 0;
  105. String signText = sign.getLine(2);
  106.  
  107. if(signText.equalsIgnoreCase("")){
  108. health = 20;
  109. health = Math.min(health, 20);
  110. player.setHealth(health);
  111. player.sendMessage("§6[YahtzeSigns] You have just been healed!");
  112. }
  113.  
  114. if(isInteger(signText)){
  115. health = Integer.parseInt(sign.getLine(2));
  116. health = Math.min(health, 20);
  117. player.setHealth(health);
  118. player.sendMessage("§6[YahtzeSigns] You have just been healed!");
  119. }
  120. } else if(!YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Use")
  121. && sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")){
  122. player.sendMessage("§6[YahtzeSigns] You don't have permission to use a health sign!");
  123. }
  124. if(event.getAction().equals(Action.LEFT_CLICK_BLOCK)){
  125. Player player1 = event.getPlayer();
  126.  
  127. Block signBlock = event.getClickedBlock();
  128. int Xcoor = signBlock.getX();
  129. int Ycoor = signBlock.getY() + 1;
  130. int Zcoor = signBlock.getZ();
  131.  
  132. String Xco = Integer.toString(Xcoor);
  133. String Yco = Integer.toString(Ycoor);
  134. String Zco = Integer.toString(Zcoor);
  135. XBLOCK_COORDINATE = Xco;
  136. YBLOCK_COORDINATE = Yco;
  137. ZBLOCK_COORDINATE = Zco;
  138.  
  139. Location signLoc = player1.getLocation();
  140. signLoc.setX(XoriginalSignCoordinate);
  141. signLoc.setY(YoriginalSignCoordinate);
  142. signLoc.setZ(ZoriginalSignCoordinate);
  143.  
  144. Block block2 = player1.getWorld().getBlockAt(signLoc);
  145. BlockState state2 = block2.getState();
  146.  
  147. if(state2 instanceof Sign){
  148. Sign sign2 = (Sign) state2;
  149. sign2.setLine(1, XBLOCK_COORDINATE);
  150. sign2.setLine(2, YBLOCK_COORDINATE);
  151. sign2.setLine(3, ZBLOCK_COORDINATE);
  152. sign2.update();
  153.  
  154. XoriginalSignCoordinate = 0;
  155. YoriginalSignCoordinate = 130;
  156. ZoriginalSignCoordinate = 0;}
  157. }
  158. }
  159. }
  160. }
  161. }
  162.  
  163.  
  164. public static boolean isInteger(String string){
  165. try{
  166. Integer.parseInt(string);
  167. } catch(Exception e){
  168. return false;
  169. }
  170. return true;
  171. }
  172. }
  173.  
  174.  
  175. ///////////////////////////////////////////////////
  176. ///////////////////////////////////////////////////
  177. ////////////New Source ///////////////
  178. ///////////////////////////////////////////////////
  179. ///////////////////////////////////////////////////
  180.  
  181.  
  182.  
  183. package sovereign.yahtze.YahtzeSigns;
  184.  
  185. import java.util.logging.Logger;
  186.  
  187. import org.bukkit.Material;
  188. import org.bukkit.block.Block;
  189. import org.bukkit.block.BlockState;
  190. import org.bukkit.block.Sign;
  191. import org.bukkit.entity.Player;
  192. import org.bukkit.event.block.BlockListener;
  193. import org.bukkit.event.block.BlockPlaceEvent;
  194. import org.bukkit.event.block.SignChangeEvent;
  195.  
  196. public class SignBlockListener extends BlockListener {
  197.  
  198. public static YahtzeSigns plugin;
  199. public SignBlockListener(YahtzeSigns instance){
  200. plugin = instance;
  201. }
  202.  
  203. Logger log = Logger.getLogger("Minecraft");
  204.  
  205. public void onSignChange(SignChangeEvent event){
  206. Player player = event.getPlayer();
  207. if(YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Create")
  208. && event.getLine(1).equalsIgnoreCase("[HEALTH]")
  209. || event.getLine(1).equalsIgnoreCase("[HEAL]")){
  210. if(isInteger(event.getLine(2)) || event.getLine(2).equals("")){
  211. event.setLine(1, "§6[Health]");
  212. player.sendMessage("§6[YahtzeSigns] Heal sign successfully created!");
  213. }
  214. } else if(!YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Create")
  215. && event.getLine(1).equalsIgnoreCase("[HEALTH]")
  216. || event.getLine(1).equalsIgnoreCase("[HEAL]")){
  217. player.sendMessage("§6[YahtzeSigns] You don't have permission to make a health sign!");}
  218. }
  219. public void onBlockPlace(BlockPlaceEvent event){
  220. Block blockAgainst = event.getBlockAgainst();
  221.  
  222. if(blockAgainst.getType() == Material.SIGN
  223. || blockAgainst.getType() == Material.SIGN_POST
  224. || blockAgainst.getType() == Material.WALL_SIGN){
  225. BlockState state = blockAgainst.getState();
  226.  
  227. if(state instanceof Sign){
  228. Sign sign = (Sign) state;
  229. if(sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")
  230. && sign.getLine(2).equalsIgnoreCase("")
  231. || isInteger(sign.getLine(2))){
  232. event.setCancelled(true);
  233. }
  234.  
  235. }
  236. }
  237. }
  238.  
  239. public static boolean isInteger(String string){
  240. try{
  241. Integer.parseInt(string);
  242. } catch(Exception e){
  243. return false;
  244. }
  245. return true;
  246. }
  247.  
  248. public static boolean isInteger3(String string1, String string2, String string3){
  249. try{
  250. Integer.parseInt(string1);
  251. Integer.parseInt(string2);
  252. Integer.parseInt(string3);
  253. } catch(Exception e){
  254. return false;
  255. }
  256. return true;
  257. }
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement