Advertisement
BillyGalbreath

Paper PR #1986

Apr 20th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. public class TestPlugin extends JavaPlugin {
  2.     private Mode __MODE__ = Mode.CANCEL;
  3.  
  4.     public void onEnable() {
  5.         getServer().getPluginManager().registerEvents(new Listener() {
  6.             @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
  7.             public void on(EntityCreatePortalEvent event) {
  8.                 System.out.println("EntityCreatePortalEvent!");
  9.                 System.out.println("   Entity Type: " + event.getEntityType());
  10.                 System.out.println("   Entity UUID: " + event.getEntity().getUniqueId());
  11.                 System.out.println("   Portal Type: " + event.getPortalType());
  12.  
  13.                 switch (__MODE__) {
  14.                     case CANCEL:
  15.                         getServer().getOnlinePlayers().forEach(p -> p.sendMessage("Cancelled EntityCreatePortalEvent"));
  16.                         event.setCancelled(true);
  17.                         break;
  18.                     case REPLACE:
  19.                         getServer().getOnlinePlayers().forEach(p -> p.sendMessage("Replaced Blocks in EntityCreatePortalEvent"));
  20.                         List<BlockState> blocks = event.getBlocks();
  21.                         blocks.forEach(block -> {
  22.                             if (block.getType() == Material.BEDROCK) {
  23.                                 block.setType(Material.BLUE_WOOL);
  24.                                 block.update(true);
  25.                             } else if (block.getType() == Material.END_GATEWAY) {
  26.                                 block.setType(Material.YELLOW_WOOL);
  27.                                 block.update(true);
  28.                             } else if (block.getType() == Material.END_PORTAL) {
  29.                                 block.setType(Material.PURPLE_WOOL);
  30.                                 block.update(true);
  31.                             }
  32.                             System.out.println("      Block: " + block.getType() + " " + block.getLocation());
  33.                         });
  34.                 }
  35.             }
  36.         }, this);
  37.     }
  38.  
  39.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  40.         if (args.length > 0) {
  41.             try {
  42.                 __MODE__ = Mode.valueOf(args[0].toUpperCase());
  43.                 sender.sendMessage("Mode set to " + __MODE__);
  44.                 return true;
  45.             } catch (IllegalArgumentException ignore) {
  46.                 sender.sendMessage("Unknown mode type specified!");
  47.             }
  48.         }
  49.         sender.sendMessage("Current mode: " + __MODE__);
  50.         return true;
  51.     }
  52.  
  53.     enum Mode {
  54.         CANCEL,
  55.         REPLACE
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement