mirror of
https://github.com/Nan1t/NanoLimbo.git
synced 2025-07-16 14:10:13 +02:00
Merge pull request #8 from MiGoYAm/main
Added display of brand name under F3
This commit is contained in:
commit
fd3d67bc07
@ -7,7 +7,10 @@ import org.spongepowered.configurate.yaml.YamlConfigurationLoader;
|
||||
import ru.nanit.limbo.server.data.*;
|
||||
import ru.nanit.limbo.util.Colors;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.SocketAddress;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
@ -25,9 +28,11 @@ public final class LimboConfig {
|
||||
private Position spawnPosition;
|
||||
private int gameMode;
|
||||
|
||||
private boolean useBrandName;
|
||||
private boolean useJoinMessage;
|
||||
private boolean useBossBar;
|
||||
private boolean useTitle;
|
||||
private String brandName;
|
||||
private String joinMessage;
|
||||
private BossBar bossBar;
|
||||
private Title title;
|
||||
@ -59,10 +64,14 @@ public final class LimboConfig {
|
||||
dimensionType = conf.node("dimension").getString();
|
||||
spawnPosition = conf.node("spawnPosition").get(Position.class);
|
||||
gameMode = conf.node("gameMode").getInt();
|
||||
useBrandName = conf.node("brandName", "enable").getBoolean();
|
||||
useJoinMessage = conf.node("joinMessage", "enable").getBoolean();
|
||||
useBossBar = conf.node("bossBar", "enable").getBoolean();
|
||||
useTitle = conf.node("title", "enable").getBoolean();
|
||||
|
||||
if(useBrandName)
|
||||
brandName = conf.node("brandName", "content").getString();
|
||||
|
||||
if (useJoinMessage)
|
||||
joinMessage = Colors.of(conf.node("joinMessage", "text").getString(""));
|
||||
|
||||
@ -144,6 +153,10 @@ public final class LimboConfig {
|
||||
return debugLevel;
|
||||
}
|
||||
|
||||
public boolean isUseBrandName() {
|
||||
return useBrandName;
|
||||
}
|
||||
|
||||
public boolean isUseJoinMessage() {
|
||||
return useJoinMessage;
|
||||
}
|
||||
@ -156,6 +169,10 @@ public final class LimboConfig {
|
||||
return useTitle;
|
||||
}
|
||||
|
||||
public String getBrandName() {
|
||||
return brandName;
|
||||
}
|
||||
|
||||
public String getJoinMessage() {
|
||||
return joinMessage;
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package ru.nanit.limbo.configuration;
|
||||
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.spongepowered.configurate.ConfigurationNode;
|
||||
import org.spongepowered.configurate.serialize.SerializationException;
|
||||
import org.spongepowered.configurate.serialize.TypeSerializer;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
@ -4,9 +4,9 @@ import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelInitializer;
|
||||
import io.netty.channel.ChannelPipeline;
|
||||
import io.netty.handler.timeout.ReadTimeoutHandler;
|
||||
import ru.nanit.limbo.connection.pipeline.VarIntFrameDecoder;
|
||||
import ru.nanit.limbo.connection.pipeline.PacketDecoder;
|
||||
import ru.nanit.limbo.connection.pipeline.PacketEncoder;
|
||||
import ru.nanit.limbo.connection.pipeline.VarIntFrameDecoder;
|
||||
import ru.nanit.limbo.connection.pipeline.VarIntLengthEncoder;
|
||||
import ru.nanit.limbo.server.LimboServer;
|
||||
|
||||
|
@ -10,13 +10,13 @@ import io.netty.channel.ChannelFutureListener;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||
import ru.nanit.limbo.LimboConstants;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PreEncodedPacket;
|
||||
import ru.nanit.limbo.protocol.packets.login.*;
|
||||
import ru.nanit.limbo.protocol.packets.play.*;
|
||||
import ru.nanit.limbo.connection.pipeline.PacketDecoder;
|
||||
import ru.nanit.limbo.connection.pipeline.PacketEncoder;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PreEncodedPacket;
|
||||
import ru.nanit.limbo.protocol.packets.PacketHandshake;
|
||||
import ru.nanit.limbo.protocol.packets.login.*;
|
||||
import ru.nanit.limbo.protocol.packets.play.*;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusPing;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusResponse;
|
||||
@ -41,6 +41,7 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
|
||||
private static PreEncodedPacket PACKET_LOGIN_SUCCESS;
|
||||
private static PreEncodedPacket PACKET_JOIN_GAME;
|
||||
private static PreEncodedPacket PACKET_PLUGIN_MESSAGE;
|
||||
private static PreEncodedPacket PACKET_PLAYER_ABILITIES;
|
||||
private static PreEncodedPacket PACKET_PLAYER_INFO;
|
||||
private static PreEncodedPacket PACKET_DECLARE_COMMANDS;
|
||||
@ -221,6 +222,9 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
|
||||
if (clientVersion.moreOrEqual(Version.V1_13)){
|
||||
writePacket(PACKET_DECLARE_COMMANDS);
|
||||
|
||||
if(PACKET_PLUGIN_MESSAGE != null)
|
||||
writePacket(PACKET_PLUGIN_MESSAGE);
|
||||
}
|
||||
|
||||
if (PACKET_BOSS_BAR != null && clientVersion.moreOrEqual(Version.V1_9))
|
||||
@ -411,6 +415,13 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
PACKET_PLAYER_INFO = PreEncodedPacket.of(info);
|
||||
PACKET_DECLARE_COMMANDS = PreEncodedPacket.of(declareCommands);
|
||||
|
||||
if (server.getConfig().isUseBrandName()){
|
||||
PacketPluginMessage pluginMessage = new PacketPluginMessage();
|
||||
pluginMessage.setChannel("minecraft:brand");
|
||||
pluginMessage.setMessage(server.getConfig().getBrandName());
|
||||
PACKET_PLUGIN_MESSAGE = PreEncodedPacket.of(pluginMessage);
|
||||
}
|
||||
|
||||
if (server.getConfig().isUseJoinMessage()) {
|
||||
PacketChatMessage joinMessage = new PacketChatMessage();
|
||||
joinMessage.setJsonData(server.getConfig().getJoinMessage());
|
||||
|
@ -3,7 +3,8 @@ package ru.nanit.limbo.connection.pipeline;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.MessageToMessageDecoder;
|
||||
import ru.nanit.limbo.protocol.*;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.Packet;
|
||||
import ru.nanit.limbo.protocol.registry.State;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
import ru.nanit.limbo.util.Logger;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.nanit.limbo.protocol.packets.login;
|
||||
|
||||
import ru.nanit.limbo.protocol.*;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PacketIn;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
|
||||
public class PacketLoginStart implements PacketIn {
|
||||
|
@ -0,0 +1,23 @@
|
||||
package ru.nanit.limbo.protocol.packets.play;
|
||||
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PacketOut;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
|
||||
public class PacketPluginMessage implements PacketOut {
|
||||
private String channel;
|
||||
private String message;
|
||||
|
||||
public void setChannel(String channel){
|
||||
this.channel = channel;
|
||||
}
|
||||
public void setMessage(String message){
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode(ByteMessage msg, Version version) {
|
||||
msg.writeString(channel);
|
||||
msg.writeString(message);
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package ru.nanit.limbo.protocol.packets.status;
|
||||
|
||||
import ru.nanit.limbo.protocol.*;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PacketIn;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
|
||||
public class PacketStatusRequest implements PacketIn {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.nanit.limbo.protocol.packets.status;
|
||||
|
||||
import ru.nanit.limbo.protocol.*;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PacketOut;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
import ru.nanit.limbo.server.LimboServer;
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
package ru.nanit.limbo.protocol.registry;
|
||||
|
||||
import ru.nanit.limbo.protocol.Packet;
|
||||
import ru.nanit.limbo.protocol.packets.*;
|
||||
import ru.nanit.limbo.protocol.packets.PacketHandshake;
|
||||
import ru.nanit.limbo.protocol.packets.login.*;
|
||||
import ru.nanit.limbo.protocol.packets.play.*;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusPing;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusResponse;
|
||||
|
||||
import static ru.nanit.limbo.protocol.registry.Version.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static ru.nanit.limbo.protocol.registry.Version.*;
|
||||
|
||||
public enum State {
|
||||
|
||||
HANDSHAKING(0) {
|
||||
@ -87,6 +87,14 @@ public enum State {
|
||||
map(0x24, V1_16_2, V1_16_4),
|
||||
map(0x26, V1_17, V1_18)
|
||||
);
|
||||
clientBound.register(PacketPluginMessage::new,
|
||||
map(0x19, V1_13, V1_13_2),
|
||||
map(0x18, V1_14, V1_14_4),
|
||||
map(0x19, V1_15,V1_15_2),
|
||||
map(0x18, V1_16, V1_16_1),
|
||||
map(0x17, V1_16_2, V1_16_4),
|
||||
map(0x18, V1_17, V1_18)
|
||||
);
|
||||
clientBound.register(PacketPlayerAbilities::new,
|
||||
map(0x39, V1_8, V1_8),
|
||||
map(0x2B, V1_9, V1_12),
|
||||
|
@ -13,7 +13,6 @@ import io.netty.util.ResourceLeakDetector;
|
||||
import ru.nanit.limbo.configuration.LimboConfig;
|
||||
import ru.nanit.limbo.connection.ClientChannelInitializer;
|
||||
import ru.nanit.limbo.connection.ClientConnection;
|
||||
import ru.nanit.limbo.protocol.registry.State;
|
||||
import ru.nanit.limbo.util.Logger;
|
||||
import ru.nanit.limbo.world.DimensionRegistry;
|
||||
|
||||
|
@ -2,7 +2,6 @@ package ru.nanit.limbo.server.data;
|
||||
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.spongepowered.configurate.ConfigurationNode;
|
||||
import org.spongepowered.configurate.serialize.SerializationException;
|
||||
import org.spongepowered.configurate.serialize.TypeSerializer;
|
||||
import ru.nanit.limbo.util.Colors;
|
||||
|
||||
|
@ -34,6 +34,11 @@ spawnPosition:
|
||||
# 3 - Spectator (hide all UI bars)
|
||||
gameMode: 3
|
||||
|
||||
# Server name which is shown under F3
|
||||
brandName:
|
||||
enable: true
|
||||
content: 'NanoLimbo'
|
||||
|
||||
# Message sends when player join to server
|
||||
joinMessage:
|
||||
enable: true
|
||||
|
Loading…
x
Reference in New Issue
Block a user