Advertisement
Guest User

Code

a guest
Jan 19th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.UUID;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Location;
  8. import org.bukkit.Material;
  9. import org.bukkit.World;
  10. import org.bukkit.WorldCreator;
  11. import org.bukkit.block.BlockFace;
  12. import org.bukkit.command.Command;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.entity.Arrow;
  15. import org.bukkit.entity.Entity;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.block.BlockBreakEvent;
  20. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  21. import org.bukkit.event.entity.EntityDamageEvent;
  22. import org.bukkit.event.entity.PlayerDeathEvent;
  23. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  24. import org.bukkit.event.player.PlayerFishEvent;
  25. import org.bukkit.event.player.PlayerJoinEvent;
  26. import org.bukkit.event.player.PlayerMoveEvent;
  27. import org.bukkit.event.player.PlayerQuitEvent;
  28. import org.bukkit.event.player.PlayerRespawnEvent;
  29. import org.bukkit.permissions.PermissionAttachment;
  30. import org.bukkit.plugin.java.JavaPlugin;
  31.  
  32. public class Main extends JavaPlugin implements Listener{
  33. public HashMap<UUID,PermissionAttachment> playerPermissions = new HashMap<>();
  34. @Override
  35. public void onEnable() {
  36. getLogger().info("Hello, plugin has started up correctly!");
  37. WorldCreator wc = new WorldCreator("ArcadeMap");
  38. Bukkit.createWorld(wc);
  39. WorldCreator wc2 = new WorldCreator("Superflat");
  40. Bukkit.createWorld(wc2);
  41. WorldCreator wc3 = new WorldCreator("Random");
  42. Bukkit.createWorld(wc3);
  43. this.getConfig().options().copyDefaults(true);
  44. this.saveConfig();
  45. this.getServer().getPluginManager().registerEvents(this, this);
  46. }
  47. @Override
  48. public void onDisable(){
  49. playerPermissions.clear();
  50. }
  51. public static ArrayList<Player> ps = new ArrayList<>();
  52. public static boolean canJoin = true;
  53. public static boolean gameStarted = false;
  54. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  55. if(sender instanceof Player){
  56. Player p = (Player)sender;
  57. World w1 = getServer().getWorld("Superflat");
  58. World w2 = getServer().getWorld("Arcade");
  59. Location loc = new Location(w1, 0.5, 22, 0.5);
  60. Location loc2 = new Location(w2, 0.5, 22, 0.5);
  61. if(cmd.getName().equalsIgnoreCase("hub")){
  62. p.teleport(loc);
  63. return true;
  64. }else if(cmd.getName().equalsIgnoreCase("join")){
  65. int length = args.length;
  66. if(length>0){
  67. if(args[0].equalsIgnoreCase("ctk")){
  68. if(canJoin){
  69. ps.add(p);
  70. p.teleport(loc2);
  71. if(ps.size()==10){
  72. canJoin = false;
  73. }
  74. }else{
  75. p.sendMessage(ChatColor.RED + "This Game Is Full, Please Try Again In A Bit");
  76. }
  77. }else{
  78. p.sendMessage(ChatColor.RED + "The Correct Usage Is\n/join ctk");
  79. }
  80. }else{
  81. p.sendMessage(ChatColor.RED + "The Correct Usage Is\n/join ctk");
  82. }
  83. return true;
  84. }else if(cmd.getName().equalsIgnoreCase("forcestart")){
  85. if(p.hasPermission("mc.mod")){
  86. canJoin = false;
  87. }else{
  88. p.sendMessage(ChatColor.RED + "You do not have sufficient permissions");
  89. }
  90. }else if(cmd.getName().equalsIgnoreCase("stopspam")){
  91. ps.removeAll(ps);
  92. canJoin = true;
  93. }
  94. }else{
  95. sender.sendMessage(ChatColor.RED + "You Must Be A Player");
  96. }
  97. return false;
  98. }
  99. @EventHandler
  100. public void onPlayerJoin(PlayerJoinEvent event) {
  101. Player player = event.getPlayer();
  102. Location loc = new Location(Bukkit.getWorld("Superflat"), 0.5, 22, 0.5);
  103. player.teleport(loc);
  104. event.setJoinMessage("");
  105. setupPermissions(player);
  106. }
  107. @EventHandler
  108. public void onPlayerRespawn(PlayerRespawnEvent e) {
  109. Player p = e.getPlayer();
  110. Location loc = new Location(p.getWorld(), 0.5, 22, 0.5);
  111. e.setRespawnLocation(loc);
  112. }
  113. @EventHandler
  114. public void onPlayerDeath(PlayerDeathEvent e) {
  115. Player p = e.getEntity();
  116. Bukkit.broadcastMessage(ChatColor.DARK_PURPLE + p.getName() + " died.");
  117. e.setDeathMessage("");
  118. }
  119. @EventHandler
  120. public void onBlock(PlayerMoveEvent e){
  121. Player p = e.getPlayer();
  122. if(canJoin){
  123. if(p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType()==Material.REDSTONE_LAMP_ON){
  124. Location loc = new Location(Bukkit.getWorld("ArcadeMap"), 0.5, 22, 0.5);
  125. p.teleport(loc);
  126. p.sendMessage(ChatColor.GREEN + "You Have Joined \"Catch The Killer\"");
  127. ps.add(p);
  128. if(ps.size() == 9){
  129. canJoin = false;
  130. }
  131. }
  132. }else{
  133. p.sendMessage(ChatColor.RED + "This Game Is Full, Please Try Again In A Bit");
  134. }
  135. }
  136. @SuppressWarnings("deprecation")
  137. @EventHandler
  138. public void onDamage(EntityDamageByEntityEvent e){
  139. Entity damager = e.getDamager();
  140. Entity damaged = e.getEntity();
  141. Location loc = new Location(damaged.getWorld(), 0.5, 22, 0.5);
  142. if(damaged instanceof Player){
  143. Player dmgd = (Player)damaged;
  144. if(damager instanceof Player){
  145. Player dmgr = (Player)damager;
  146. if(dmgr.getItemInHand().getType() == Material.IRON_SWORD){
  147. dmgd.teleport(loc);
  148. e.setCancelled(true);
  149. }
  150. }else if(damager instanceof Arrow){
  151. dmgd.teleport(loc);
  152. e.setCancelled(true);
  153. }
  154. }
  155. e.setCancelled(true);
  156. }
  157. @EventHandler
  158. public void onFallDamage(final EntityDamageEvent e){
  159. if (e.getCause() == DamageCause.FALL&&e.getEntity() instanceof Player) {
  160. e.setCancelled(true);
  161. }
  162. }
  163. public void setupPermissions(Player player){
  164. PermissionAttachment attachment = player.addAttachment(this);
  165. this.playerPermissions.put(player.getUniqueId(), attachment);
  166. permissionSetter(player.getUniqueId());
  167. }
  168. private void permissionSetter(UUID uuid){
  169. PermissionAttachment attachment = this.playerPermissions.get(uuid);
  170.  
  171. for(String groups : this.getConfig().getConfigurationSection("Groups").getKeys(false)){
  172. for(String permissions : this.getConfig().getStringList("Groups" + groups + ".permissions")){
  173. attachment.setPermission(permissions, true);
  174. }
  175. }
  176. }
  177. @EventHandler
  178. public void leave(PlayerQuitEvent e){
  179. Player p = e.getPlayer();
  180. playerPermissions.remove(p.getUniqueId());
  181. ps.remove(p);
  182. }
  183. @EventHandler
  184. public void blockBreak(BlockBreakEvent e){
  185. Player p = e.getPlayer();
  186. if(p.hasPermission("mc.mod")){
  187.  
  188. }else{
  189. e.setCancelled(true);
  190. p.sendMessage(ChatColor.RED + "You do not have sufficient permissions");
  191. }
  192. }
  193. @EventHandler
  194. public void onPlayerFishingEvent(PlayerFishEvent event){
  195. Player p = event.getPlayer();
  196. p.setHealth(0);
  197. }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement