-
Notifications
You must be signed in to change notification settings - Fork 3
Using TownManager
TownManager is probably the most important class in MCTowns. It provides API for performing CRUD (Create, Read, Update, Delete) operations on towns, territories, and regions.
You should peruse TownManager's documentation here.
TownManager manager = MCTowns.getTownManager();
This method must only be called after MCTowns' onEnable method has run.
Simply call [TownManager::getTown(String)](http://jmhertlein.net/~joshua/jd/MCTowns/net/jmhertlein/mctowns/database/TownManager.html#getTown(java.lang.String\)).
Example:
Town t = manager.getTown("Skingrad");
Call [TownManager::getTerritory()](http://jmhertlein.net/~joshua/jd/MCTowns/net/jmhertlein/mctowns/database/TownManager.html#getTerritory(java.lang.String\)).
Example:
Territory t = manager.getTerritory("skingrad_territ_main");
or, to get all Territories in a Town, for instance...
Town t = ...
List<Territory> territs = new LinkedList<>();
for(String territName : t.getTerritoriesCollection())
territs.add(manager.getTerritory(territName));
Call [TownManager::getPlot()](http://jmhertlein.net/~joshua/jd/MCTowns/net/jmhertlein/mctowns/database/TownManager.html#getPlot(java.lang.String\)).
Example:
Plot p = manager.getPlot("skingrad_plot_plot1");
or, to get all Plots in a Territory, for instance...
Territory t = ...
List<Plot> plots = new LinkedList<>();
for(String plotName : t.getPlotsCollection())
plots.add(manager.getPlot(plotName));
To create a new town, simply call TownManager::addTown(String, Player)
MCTowns.getTownManager().addTown("townName", Bukkit.getPlayer("MayorName"));
To create a new Territory or Plot, call the corresponding TownManager functions.
Town t = (parent town)
World w = (world territ will be in)
ProtectedRegion reg = (the WorldGuard region that defines the territ)
String territName = MCTownsRegion.formatRegionName(t, TownLevel.TERRITORY, "myTerritoryName");
MCTowns.getTownManager().addTerritory(territName, w, reg, t);
Similarly, with Plots,
Town t = (parent town)
World w = (world plot will be in)
Territory parentTerritory = (parent territory)
ProtectedRegion reg = (the WorldGuard region that defines the plot)
String plotName = MCTownsRegion.formatRegionName(t, TownLevel.PLOT, "myPlotName");
MCTowns.getTownManager().addPlot(plotName, w, reg, t, parentTerritory);