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);
}
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
TITLE
SUBTITLE