crwdns119989:0crwdne119989:0
crwdns119991:0:javadoc:crwdne119991:0
crwdns119993:0crwdne119993:0
crwdns119995:0crwdne119995:0
crwdns119997:0:javadoc:crwdnd119997:0:javadoc:crwdne119997:0
crwdns119999:0crwdne119999:0
Note
crwdns120001:0:doc:crwdnd120001:0[pluginid]crwdnd120001:0[placeholderid]crwdne120001:0
crwdns120003:0:javadoc:crwdnd120003:0:javadoc:crwdnd120003:0:javadoc:crwdne120003:0
crwdns120005:0:javadoc:crwdne120005:0
crwdns120007:0crwdne120007:0
crwdns120009:0crwdne120009:0
crwdns120011:0crwdne120011:0
Tip
crwdns120013:0crwdne120013:0
crwdns120015:0crwdne120015:0
crwdns120017:0crwdne120017:0
crwdns120019:0crwdne120019:0
PluginContainer thisPlugin = ...;
PlaceholderParser parser = PlaceholderParser.builder()
.plugin(this.thisPlugin)
.id("defaultworld")
.name("Default World Placeholder")
.parser(placeholderContext -> {
return Sponge.getServer()
.getDefaultWorld()
.map(x -> x.getWorldName())
.orElse(Text.EMPTY);
})
.build();
crwdns120021:0crwdne120021:0
crwdns120023:0:javadoc:crwdne120023:0
public class PlayerLocationPlaceholder implements PlaceholderParser {
@Override
public String getId() {
return "spongedocs:location"
}
@Override
public String getName() {
return "Location Placeholder"
}
@Override
public Text parse(PlaceholderText placeholderText) {
placeholderText.getAssociatedReceiver()
.filter(x -> x instanceof Player)
.map(player -> ((Player) player).getLocation())
.map(location -> Text.of("World: ", location.getExtent().getName(), " - ", location.getPosition()))
.orElse(Text.EMPTY);
}
}
crwdns120025:0crwdne120025:0
crwdns120027:0crwdne120027:0
public class CurrentTimePlaceholder implements PlaceholderParser {
@Override
public String getId() {
return "spongedocs:currenttime";
}
@Override
public String getName() {
return "Current Time parser";
}
@Override
public Text parse(PlaceholderContext placeholderContext) {
if (placeholderContext.getArgumentString().filter(x -> x.equalsIgnoreCase("UTC")).isPresent()) {
return Text.of(OffsetDateTime.now(ZoneOffset.UTC).format(FORMATTER));
}
return Text.of(OffsetDateTime.now().format(FORMATTER));
}
}
crwdns120029:0crwdne120029:0
crwdns120031:0:javadoc:crwdnd120031:0:javadoc:crwdnd120031:0{register}crwdne120031:0
crwdns120033:0crwdne120033:0
PlaceholderParser parser = ...;
@Listener
public void registerTokensEvent(GameRegistryEvent.Register<PlaceholderParser> event) {
event.register(this.parser);
}