/** * Called when a player attempts to log in to the server * * @param event Relevant event details */ @Override public void onPlayerLogin(PlayerLoginEvent event) { Player player = event.getPlayer(); GlobalConfiguration cfg = plugin.getGlobalConfiguration(); WorldConfiguration wcfg = cfg.getWorldConfig(player.getWorld().getName()); if (wcfg.enforceOneSession) { String name = player.getName(); for (Player pl : plugin.getServer().getOnlinePlayers()) { if (pl.getName().equalsIgnoreCase(name)) { pl.kickPlayer("Logged in from another location."); } } } if (!checkediConomy) { iConomy iconomy = (iConomy) plugin.getServer().getPluginManager().getPlugin("iConomy"); if (iconomy != null) { plugin.getGlobalConfiguration().setiConomy(iconomy); } checkediConomy = true; } }
public void registerEvents() { PluginManager pm = plugin.getServer().getPluginManager(); pm.registerEvent(Event.Type.ENTITY_DAMAGED, this, Priority.High, plugin); pm.registerEvent(Event.Type.ENTITY_EXPLODE, this, Priority.High, plugin); pm.registerEvent(Event.Type.CREATURE_SPAWN, this, Priority.High, plugin); }
public void updateCommandBookGodMode() { try { if (plugin.getServer().getPluginManager().isPluginEnabled("CommandBook")) { Class.forName("com.sk89q.commandbook.GodComponent"); hasCommandBookGodMode = true; return; } } catch (ClassNotFoundException ignore) { } hasCommandBookGodMode = false; }
public void registerEvents() { PluginManager pm = plugin.getServer().getPluginManager(); /* pm.registerEvent(Event.Type.PLAYER_ITEM, this, Priority.High, plugin); */ pm.registerEvent(Event.Type.PLAYER_INTERACT, this, Priority.High, plugin); pm.registerEvent(Event.Type.PLAYER_DROP_ITEM, this, Priority.High, plugin); pm.registerEvent(Event.Type.PLAYER_PICKUP_ITEM, this, Priority.High, plugin); pm.registerEvent(Event.Type.PLAYER_JOIN, this, Priority.Normal, plugin); pm.registerEvent(Event.Type.PLAYER_LOGIN, this, Priority.Normal, plugin); pm.registerEvent(Event.Type.PLAYER_QUIT, this, Priority.Normal, plugin); pm.registerEvent(Event.Type.PLAYER_RESPAWN, this, Priority.High, plugin); }
public void registerEvents() { PluginManager pm = plugin.getServer().getPluginManager(); pm.registerEvent(Event.Type.BLOCK_DAMAGE, this, Priority.High, plugin); pm.registerEvent(Event.Type.BLOCK_BREAK, this, Priority.High, plugin); pm.registerEvent(Event.Type.BLOCK_FROMTO, this, Priority.Normal, plugin); pm.registerEvent(Event.Type.BLOCK_IGNITE, this, Priority.High, plugin); pm.registerEvent(Event.Type.BLOCK_PHYSICS, this, Priority.Normal, plugin); pm.registerEvent(Event.Type.BLOCK_PLACE, this, Priority.High, plugin); pm.registerEvent(Event.Type.BLOCK_BURN, this, Priority.High, plugin); pm.registerEvent(Event.Type.SIGN_CHANGE, this, Priority.High, plugin); pm.registerEvent(Event.Type.REDSTONE_CHANGE, this, Priority.High, plugin); pm.registerEvent(Event.Type.SNOW_FORM, this, Priority.High, plugin); }
/** Register events. */ public void registerEvents() { plugin.getServer().getPluginManager().registerEvents(this, plugin); }
/** Load the configuration. */ @SuppressWarnings("unchecked") public void load() { // Create the default configuration file plugin.createDefaultConfiguration(new File(plugin.getDataFolder(), "config.yml"), "config.yml"); config = new YAMLProcessor( new File(plugin.getDataFolder(), "config.yml"), true, YAMLFormat.EXTENDED); try { config.load(); } catch (IOException e) { log.severe("Error reading configuration for global config: "); e.printStackTrace(); } config.removeProperty("suppress-tick-sync-warnings"); useRegionsScheduler = config.getBoolean("regions.use-scheduler", true); migrateRegionsToUuid = config.getBoolean("regions.uuid-migration.perform-on-next-start", true); keepUnresolvedNames = config.getBoolean("regions.uuid-migration.keep-names-that-lack-uuids", true); useRegionsCreatureSpawnEvent = config.getBoolean("regions.use-creature-spawn-event", true); useGodPermission = config.getBoolean( "auto-invincible", config.getBoolean("auto-invincible-permission", false)); useGodGroup = config.getBoolean("auto-invincible-group", false); useAmphibiousGroup = config.getBoolean("auto-no-drowning-group", false); config.removeProperty("auto-invincible-permission"); usePlayerMove = config.getBoolean("use-player-move-event", true); usePlayerTeleports = config.getBoolean("use-player-teleports", true); deopOnJoin = config.getBoolean("security.deop-everyone-on-join", false); blockInGameOp = config.getBoolean("security.block-in-game-op-command", false); hostKeys = new HashMap<String, String>(); Object hostKeysRaw = config.getProperty("host-keys"); if (hostKeysRaw == null || !(hostKeysRaw instanceof Map)) { config.setProperty("host-keys", new HashMap<String, String>()); } else { for (Map.Entry<Object, Object> entry : ((Map<Object, Object>) hostKeysRaw).entrySet()) { String key = String.valueOf(entry.getKey()); String value = String.valueOf(entry.getValue()); hostKeys.put(key.toLowerCase(), value); } } // ==================================================================== // Region store drivers // ==================================================================== boolean useSqlDatabase = config.getBoolean("regions.sql.use", false); String sqlDsn = config.getString("regions.sql.dsn", "jdbc:mysql://localhost/worldguard"); String sqlUsername = config.getString("regions.sql.username", "worldguard"); String sqlPassword = config.getString("regions.sql.password", "worldguard"); String sqlTablePrefix = config.getString("regions.sql.table-prefix", ""); DataSourceConfig dataSourceConfig = new DataSourceConfig(sqlDsn, sqlUsername, sqlPassword, sqlTablePrefix); SQLDriver sqlDriver = new SQLDriver(dataSourceConfig); DirectoryYamlDriver yamlDriver = new DirectoryYamlDriver(getWorldsDataFolder(), "regions.yml"); this.regionStoreDriverMap = ImmutableMap.<DriverType, RegionDriver>builder() .put(DriverType.MYSQL, sqlDriver) .put(DriverType.YAML, yamlDriver) .build(); this.selectedRegionStoreDriver = useSqlDatabase ? sqlDriver : yamlDriver; // Load configurations for each world for (World world : plugin.getServer().getWorlds()) { get(world); } config.setHeader(CONFIG_HEADER); }