Server Rule Module
Overview
The server rule module contains pre-created settings servers can enable or disable, comparable to Minecraft's /gamerule
command.
This module heavily integrates with our Options API.
- Toggle or set values for pre-created server settings.
- Ability to enable the competitive game popup.
- Ability to forcefully disable Lunar Client mod settings and shaders.
- Ability to override the max chat length and nametag render distance.
- Ability to enable the quality of life features, anti-portal-trap and disable broadcasting.
Integration
How to toggle a specific server rule
public void setAntiPortalTraps(boolean value) {
this.serverRuleModule.getOptions().set(ServerRuleModule.ANTI_PORTAL_TRAPS, value);
}
How to toggle a specific server rule for a specific player
public void setOverrideNametagRenderDistance(Player viewer, boolean value) {
Optional<ApolloPlayer> apolloPlayerOpt = Apollo.getPlayerManager().getPlayer(viewer.getUniqueId());
apolloPlayerOpt.ifPresent(apolloPlayer -> {
this.serverRuleModule.getOptions().set(apolloPlayer, ServerRuleModule.OVERRIDE_NAMETAG_RENDER_DISTANCE, value);
});
}
How to change a specific server rule value
public void setNametagRenderDistanceExample(int value) {
this.serverRuleModule.getOptions().set(ServerRuleModule.NAMETAG_RENDER_DISTANCE, value);
}
Available options
-
COMPETITIVE_GAME
- Whether the player should see a popup prior to disconnecting.
- Values
- Type:
Boolean
- Default:
false
- Type:
-
COMPETITIVE_COMMANDS
- A list of commands that will trigger the competitive popup.
- Values
- Type:
List<String>
- Default:
["/server", "/servers", "/hub"]
- Type:
-
DISABLE_SHADERS
- Prevents users from enabling shaders.
- Values
- Type:
Boolean
- Default:
false
- Type:
-
DISABLE_CHUNK_RELOADING
- Disables chunk reloading (F3 + A) and disables shaders reload while using Iris (R).
- Values
- Type:
Boolean
- Default:
false
- Type:
-
DISABLE_BROADCASTING
- Disables the broadcast to twitch menu added in 1.7 & 1.8 (F6).
- Values
- Type:
Boolean
- Default:
false
- Type:
-
ANTI_PORTAL_TRAPS
- Allows players to open their chat while in a nether portal.
- Values
- Type:
Boolean
- Default:
false
- Type:
⚠️
You'll need to disable the lighting mod in Lunar Client to control the players brightness levels.
-
OVERRIDE_BRIGHTNESS
- Whether to use brightness value set in the
BRIGHTNESS
option. - Values
- Type:
Boolean
- Default:
false
- Type:
- Whether to use brightness value set in the
-
BRIGHTNESS
- The override brightness value.
- Values
- Type:
Integer
- Default:
50
- Minimum:
1
- Maximum:
10000
- Type:
-
OVERRIDE_NAMETAG_RENDER_DISTANCE
- Whether to use nametag render distance value set in the
NAMETAG_RENDER_DISTANCE
option. - Values
- Type:
Boolean
- Default:
false
- Type:
- Whether to use nametag render distance value set in the
-
NAMETAG_RENDER_DISTANCE
- The override nametag render distance value.
- Values
- Type:
Integer
- Default:
64
- Minimum:
1
- Maximum:
96
- Type:
-
OVERRIDE_MAX_CHAT_LENGTH
- Whether to use max chat value set in the
MAX_CHAT_LENGTH
option. - Values
- Type:
Boolean
- Default:
false
- Type:
- Whether to use max chat value set in the
-
MAX_CHAT_LENGTH
- The override max chat length value.
- Values
- Type:
Integer
- Default:
256
- Minimum:
1
- Maximum:
256
- Type: