Beispiel #1
0
    @EventHandler(priority = EventPriority.HIGH)
    public void onPermissionEntityEvent(PermissionEntityEvent event) {

      Resident resident = null;
      Player player = null;

      try {
        if (PermissionEventEnums.PEXEntity_Action.valueOf(event.getEventName()) != null) {
          PermissionEntityEvent EntityEvent = (PermissionEntityEvent) event;
          PermissionEntity entity = EntityEvent.getEntity();
          if (entity instanceof PermissionGroup) {
            PermissionGroup group = (PermissionGroup) entity;

            // Update all players who are in this group.
            for (Player toUpdate : BukkitTools.getOnlinePlayers()) {
              if (toUpdate != null)
                if (Arrays.asList(getPlayerGroups(toUpdate)).contains(group)) {
                  // setup default modes
                  String[] modes =
                      getPlayerPermissionStringNode(
                              toUpdate.getName(), PermissionNodes.TOWNY_DEFAULT_MODES.getNode())
                          .split(",");
                  plugin.setPlayerMode(toUpdate, modes, false);
                  plugin.resetCache(toUpdate);
                }
            }

          } else if (entity instanceof PermissionUser) {

            try {
              resident =
                  TownyUniverse.getDataSource().getResident(((PermissionUser) entity).getName());
              player = BukkitTools.getPlayerExact(resident.getName());
              if (player != null) {
                // setup default modes for this player.
                String[] modes =
                    getPlayerPermissionStringNode(
                            player.getName(), PermissionNodes.TOWNY_DEFAULT_MODES.getNode())
                        .split(",");
                plugin.setPlayerMode(player, modes, false);
                plugin.resetCache(player);
              }
            } catch (NotRegisteredException x) {
            }
          }
        }
      } catch (IllegalArgumentException e) {
        // Not tracking this event type
      }
    }
Beispiel #2
0
    @EventHandler(priority = EventPriority.HIGH)
    public void onPermissionSystemEvent(PermissionSystemEvent event) {

      try {
        if (PermissionEventEnums.PEXSystem_Action.valueOf(event.getEventName()) != null) {
          // Update all players.
          for (Player toUpdate : BukkitTools.getOnlinePlayers()) {
            if (toUpdate != null) {
              // setup default modes
              String[] modes =
                  getPlayerPermissionStringNode(
                          toUpdate.getName(), PermissionNodes.TOWNY_DEFAULT_MODES.getNode())
                      .split(",");
              plugin.setPlayerMode(toUpdate, modes, false);
              plugin.resetCache(toUpdate);
            }
          }
        }
      } catch (IllegalArgumentException e) {
        // Not tracking this event type
      }
    }