Skip to content
Joshua Hertlein edited this page Jan 25, 2014 · 6 revisions

Introduction

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.

Reference API

You should peruse TownManager's documentation here.

'Get' Operations

Getting a Reference to the TownManager

TownManager manager = MCTowns.getTownManager();

This method must only be called after MCTowns' onEnable method has run.

Getting a Town Object

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");

Getting a Territory Object

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));

Getting a Plot Object

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));

Creating New Regions and Towns

Creating New Towns

To create a new town, simply call TownManager::addTown(String, Player)

MCTowns.getTownManager().addTown("townName", Bukkit.getPlayer("MayorName"));

Creating Regions

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);

Clone this wiki locally