API documentation
API class
Code (Java):
public
class BannerPortalsAPI
{
// Get the API instance
public
static BannerPortalsAPI instance
;
// Register a listener
public
void registerListener
(BannerPortalsListener listener
)
}
Listener interface
Code (Java):
public
interface BannerPortalsListener
{
void handleEvent
(BannerEvent bannerEvent
)
;
}
Events
Code (Java):
public
abstract
class BannerEvent
{
public
boolean cancelled
=
false
;
}
When player is about to teleport using a banner portal
Code (Java):
public
class AboutToTeleportEvent
extends BannerEvent
{
public
final Player player
;
public
final BannerPortal portal
;
public
final BannerPortal pairedPortal
;
}
When a player is about to create a portal by placing a banner. Cancelling this will result in the player placing a regular banner.
Code (Java):
public
class PlaceBannerEvent
extends BannerEvent
{
public
final BannerPortal portal
;
}
BannerPortal class
Code (Java):
public
class BannerPortal
implements ConfigurationSerializable
{
// Is banner a wall banner
public
final
boolean wall
;
// Banner block location
public
final Location blockLoc
;
// Direction banner is facing
public
final
Vector direction
;
public
final Location enterpoint
;
public
final Location exitpoint
;
}
Implementation example
Code (Java):
BannerPortalsAPI.
instance.
registerListener
(
new BannerPortalsListener
(
)
{
@Override
public
void handleEvent
(BannerEvent e
)
{
if
(e
instanceof AboutToTeleportEvent
)
{
Bukkit.
broadcastMessage
(
"tp!"
)
;
e.
cancelled
=
true
;
}
if
(e
instanceof PlaceBannerEvent
)
{
Bukkit.
broadcastMessage
(
"place!"
)
;
e.
cancelled
=
true
;
}
}
}
)
;