Title Module
Overview
The title module backports all vanilla title & subtitle features found in 1.8+ to 1.7 Lunar Client players.
- Ability to display title-screens for players on 1.7 Lunar Client.
- Display titles for 1.7 Lunar Client players.
- Display subtitles for 1.7 Lunar Client players.
Integration
Sample Code
Explore each integration by cycling through each tab, to find the best fit for your requirements and needs.
Displaying a Title
public void displayTitleExample(Player viewer) {
Optional<ApolloPlayer> apolloPlayerOpt = Apollo.getPlayerManager().getPlayer(viewer.getUniqueId());
apolloPlayerOpt.ifPresent(apolloPlayer -> this.titleModule.displayTitle(apolloPlayer, Title.builder()
.type(TitleType.TITLE)
.message(Component.text()
.content("Hello, player!")
.color(NamedTextColor.GREEN)
.decorate(TextDecoration.BOLD)
.build())
.scale(1.0f)
.displayTime(Duration.ofMillis(1500L))
.fadeInTime(Duration.ofMillis(250))
.fadeOutTime(Duration.ofMillis(300))
.build()));
}Displaying a Interpolated Title
public void displayTitleInterpolatedExample(Player viewer) {
Optional<ApolloPlayer> apolloPlayerOpt = Apollo.getPlayerManager().getPlayer(viewer.getUniqueId());
apolloPlayerOpt.ifPresent(apolloPlayer -> this.titleModule.displayTitle(apolloPlayer, Title.builder()
.type(TitleType.TITLE)
.message(Component.text()
.content("This title expands!")
.color(NamedTextColor.GREEN)
.decorate(TextDecoration.BOLD)
.build())
.scale(0.1f)
.interpolationScale(1.0f)
.interpolationRate(0.01f)
.displayTime(Duration.ofMillis(5000L))
.fadeInTime(Duration.ofMillis(250))
.fadeOutTime(Duration.ofMillis(300))
.build()));
}Resetting all Titles
public void resetTitlesExample(Player viewer) {
Optional<ApolloPlayer> apolloPlayerOpt = Apollo.getPlayerManager().getPlayer(viewer.getUniqueId());
apolloPlayerOpt.ifPresent(this.titleModule::resetTitles);
}Clear Title On Server Switch
public void setClearTitleOnServerSwitch(boolean value) {
this.titleModule.getOptions().set(TitleModule.CLEAR_TITLE_ON_SERVER_SWITCH, value);
}Title Options
.type(TitleType) is the type of title you want to display. See the TitleType types section for more.
.type(TitleType.TITLE).message(Component) is the message you want to display. See the chat components (opens in a new tab) page for more.
.message(Component.text()
.content("Hello, player!")
.color(NamedTextColor.GREEN)
.decorate(TextDecoration.BOLD)
.build()).scale(Float) is scale of the message you're displaying.
.scale(1.0f).displayTime(java.time.Duration) is the duration you want to keep the message on screen. See the java.time.Duration Javadocs (opens in a new tab) for more.
.displayTime(Duration.ofMillis(1500L)).fadeInTime(java.time.Duration) is the length of time that the message takes to fade in. See the java.time.Duration Javadocs (opens in a new tab) for more.
.fadeInTime(Duration.ofMillis(250)).fadeOutTime(java.time.Duration) is the length of time that the message takes to fade out. See the java.time.Duration Javadocs (opens in a new tab) for more.
.fadeOutTime(Duration.ofMillis(300)).interpolationScale(Float) if the provided interpolation scale is greater than the scale, the title will expand. However, if the scale is greater than the interpolation scale, the title will shrink.
.interpolationScale(1.0f).interpolationRate(Float) is the rate that the title will expand or shrink every tick (50ms) between the scale and the interpolation scale.
.interpolationRate(0.01f)TitleType Types
TITLESUBTITLE
Available options
CLEAR_TITLE_ON_SERVER_SWITCH- Determines whether the players displayed title should clear when switching servers.
- Values
- Type:
Boolean - Default:
false
- Type: