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.server.data.*;
|
||||||
import ru.nanit.limbo.util.Colors;
|
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.net.SocketAddress;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
@ -25,9 +28,11 @@ public final class LimboConfig {
|
|||||||
private Position spawnPosition;
|
private Position spawnPosition;
|
||||||
private int gameMode;
|
private int gameMode;
|
||||||
|
|
||||||
|
private boolean useBrandName;
|
||||||
private boolean useJoinMessage;
|
private boolean useJoinMessage;
|
||||||
private boolean useBossBar;
|
private boolean useBossBar;
|
||||||
private boolean useTitle;
|
private boolean useTitle;
|
||||||
|
private String brandName;
|
||||||
private String joinMessage;
|
private String joinMessage;
|
||||||
private BossBar bossBar;
|
private BossBar bossBar;
|
||||||
private Title title;
|
private Title title;
|
||||||
@ -59,10 +64,14 @@ public final class LimboConfig {
|
|||||||
dimensionType = conf.node("dimension").getString();
|
dimensionType = conf.node("dimension").getString();
|
||||||
spawnPosition = conf.node("spawnPosition").get(Position.class);
|
spawnPosition = conf.node("spawnPosition").get(Position.class);
|
||||||
gameMode = conf.node("gameMode").getInt();
|
gameMode = conf.node("gameMode").getInt();
|
||||||
|
useBrandName = conf.node("brandName", "enable").getBoolean();
|
||||||
useJoinMessage = conf.node("joinMessage", "enable").getBoolean();
|
useJoinMessage = conf.node("joinMessage", "enable").getBoolean();
|
||||||
useBossBar = conf.node("bossBar", "enable").getBoolean();
|
useBossBar = conf.node("bossBar", "enable").getBoolean();
|
||||||
useTitle = conf.node("title", "enable").getBoolean();
|
useTitle = conf.node("title", "enable").getBoolean();
|
||||||
|
|
||||||
|
if(useBrandName)
|
||||||
|
brandName = conf.node("brandName", "content").getString();
|
||||||
|
|
||||||
if (useJoinMessage)
|
if (useJoinMessage)
|
||||||
joinMessage = Colors.of(conf.node("joinMessage", "text").getString(""));
|
joinMessage = Colors.of(conf.node("joinMessage", "text").getString(""));
|
||||||
|
|
||||||
@ -144,6 +153,10 @@ public final class LimboConfig {
|
|||||||
return debugLevel;
|
return debugLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isUseBrandName() {
|
||||||
|
return useBrandName;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isUseJoinMessage() {
|
public boolean isUseJoinMessage() {
|
||||||
return useJoinMessage;
|
return useJoinMessage;
|
||||||
}
|
}
|
||||||
@ -156,6 +169,10 @@ public final class LimboConfig {
|
|||||||
return useTitle;
|
return useTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getBrandName() {
|
||||||
|
return brandName;
|
||||||
|
}
|
||||||
|
|
||||||
public String getJoinMessage() {
|
public String getJoinMessage() {
|
||||||
return joinMessage;
|
return joinMessage;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package ru.nanit.limbo.configuration;
|
|||||||
|
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.spongepowered.configurate.ConfigurationNode;
|
import org.spongepowered.configurate.ConfigurationNode;
|
||||||
import org.spongepowered.configurate.serialize.SerializationException;
|
|
||||||
import org.spongepowered.configurate.serialize.TypeSerializer;
|
import org.spongepowered.configurate.serialize.TypeSerializer;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
|
@ -4,9 +4,9 @@ import io.netty.channel.Channel;
|
|||||||
import io.netty.channel.ChannelInitializer;
|
import io.netty.channel.ChannelInitializer;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.handler.timeout.ReadTimeoutHandler;
|
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.PacketDecoder;
|
||||||
import ru.nanit.limbo.connection.pipeline.PacketEncoder;
|
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.connection.pipeline.VarIntLengthEncoder;
|
||||||
import ru.nanit.limbo.server.LimboServer;
|
import ru.nanit.limbo.server.LimboServer;
|
||||||
|
|
||||||
|
@ -10,13 +10,13 @@ import io.netty.channel.ChannelFutureListener;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
import ru.nanit.limbo.LimboConstants;
|
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.PacketDecoder;
|
||||||
import ru.nanit.limbo.connection.pipeline.PacketEncoder;
|
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.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.PacketStatusPing;
|
||||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
||||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusResponse;
|
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_LOGIN_SUCCESS;
|
||||||
private static PreEncodedPacket PACKET_JOIN_GAME;
|
private static PreEncodedPacket PACKET_JOIN_GAME;
|
||||||
|
private static PreEncodedPacket PACKET_PLUGIN_MESSAGE;
|
||||||
private static PreEncodedPacket PACKET_PLAYER_ABILITIES;
|
private static PreEncodedPacket PACKET_PLAYER_ABILITIES;
|
||||||
private static PreEncodedPacket PACKET_PLAYER_INFO;
|
private static PreEncodedPacket PACKET_PLAYER_INFO;
|
||||||
private static PreEncodedPacket PACKET_DECLARE_COMMANDS;
|
private static PreEncodedPacket PACKET_DECLARE_COMMANDS;
|
||||||
@ -221,6 +222,9 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
|||||||
|
|
||||||
if (clientVersion.moreOrEqual(Version.V1_13)){
|
if (clientVersion.moreOrEqual(Version.V1_13)){
|
||||||
writePacket(PACKET_DECLARE_COMMANDS);
|
writePacket(PACKET_DECLARE_COMMANDS);
|
||||||
|
|
||||||
|
if(PACKET_PLUGIN_MESSAGE != null)
|
||||||
|
writePacket(PACKET_PLUGIN_MESSAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PACKET_BOSS_BAR != null && clientVersion.moreOrEqual(Version.V1_9))
|
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_PLAYER_INFO = PreEncodedPacket.of(info);
|
||||||
PACKET_DECLARE_COMMANDS = PreEncodedPacket.of(declareCommands);
|
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()) {
|
if (server.getConfig().isUseJoinMessage()) {
|
||||||
PacketChatMessage joinMessage = new PacketChatMessage();
|
PacketChatMessage joinMessage = new PacketChatMessage();
|
||||||
joinMessage.setJsonData(server.getConfig().getJoinMessage());
|
joinMessage.setJsonData(server.getConfig().getJoinMessage());
|
||||||
|
@ -3,7 +3,8 @@ package ru.nanit.limbo.connection.pipeline;
|
|||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.handler.codec.MessageToMessageDecoder;
|
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.State;
|
||||||
import ru.nanit.limbo.protocol.registry.Version;
|
import ru.nanit.limbo.protocol.registry.Version;
|
||||||
import ru.nanit.limbo.util.Logger;
|
import ru.nanit.limbo.util.Logger;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ru.nanit.limbo.protocol.packets.login;
|
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;
|
import ru.nanit.limbo.protocol.registry.Version;
|
||||||
|
|
||||||
public class PacketLoginStart implements PacketIn {
|
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;
|
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;
|
import ru.nanit.limbo.protocol.registry.Version;
|
||||||
|
|
||||||
public class PacketStatusRequest implements PacketIn {
|
public class PacketStatusRequest implements PacketIn {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ru.nanit.limbo.protocol.packets.status;
|
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.protocol.registry.Version;
|
||||||
import ru.nanit.limbo.server.LimboServer;
|
import ru.nanit.limbo.server.LimboServer;
|
||||||
|
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
package ru.nanit.limbo.protocol.registry;
|
package ru.nanit.limbo.protocol.registry;
|
||||||
|
|
||||||
import ru.nanit.limbo.protocol.Packet;
|
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.login.*;
|
||||||
import ru.nanit.limbo.protocol.packets.play.*;
|
import ru.nanit.limbo.protocol.packets.play.*;
|
||||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusPing;
|
import ru.nanit.limbo.protocol.packets.status.PacketStatusPing;
|
||||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
import ru.nanit.limbo.protocol.packets.status.PacketStatusRequest;
|
||||||
import ru.nanit.limbo.protocol.packets.status.PacketStatusResponse;
|
import ru.nanit.limbo.protocol.packets.status.PacketStatusResponse;
|
||||||
|
|
||||||
import static ru.nanit.limbo.protocol.registry.Version.*;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
import static ru.nanit.limbo.protocol.registry.Version.*;
|
||||||
|
|
||||||
public enum State {
|
public enum State {
|
||||||
|
|
||||||
HANDSHAKING(0) {
|
HANDSHAKING(0) {
|
||||||
@ -87,6 +87,14 @@ public enum State {
|
|||||||
map(0x24, V1_16_2, V1_16_4),
|
map(0x24, V1_16_2, V1_16_4),
|
||||||
map(0x26, V1_17, V1_18)
|
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,
|
clientBound.register(PacketPlayerAbilities::new,
|
||||||
map(0x39, V1_8, V1_8),
|
map(0x39, V1_8, V1_8),
|
||||||
map(0x2B, V1_9, V1_12),
|
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.configuration.LimboConfig;
|
||||||
import ru.nanit.limbo.connection.ClientChannelInitializer;
|
import ru.nanit.limbo.connection.ClientChannelInitializer;
|
||||||
import ru.nanit.limbo.connection.ClientConnection;
|
import ru.nanit.limbo.connection.ClientConnection;
|
||||||
import ru.nanit.limbo.protocol.registry.State;
|
|
||||||
import ru.nanit.limbo.util.Logger;
|
import ru.nanit.limbo.util.Logger;
|
||||||
import ru.nanit.limbo.world.DimensionRegistry;
|
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.checkerframework.checker.nullness.qual.Nullable;
|
||||||
import org.spongepowered.configurate.ConfigurationNode;
|
import org.spongepowered.configurate.ConfigurationNode;
|
||||||
import org.spongepowered.configurate.serialize.SerializationException;
|
|
||||||
import org.spongepowered.configurate.serialize.TypeSerializer;
|
import org.spongepowered.configurate.serialize.TypeSerializer;
|
||||||
import ru.nanit.limbo.util.Colors;
|
import ru.nanit.limbo.util.Colors;
|
||||||
|
|
||||||
|
@ -34,6 +34,11 @@ spawnPosition:
|
|||||||
# 3 - Spectator (hide all UI bars)
|
# 3 - Spectator (hide all UI bars)
|
||||||
gameMode: 3
|
gameMode: 3
|
||||||
|
|
||||||
|
# Server name which is shown under F3
|
||||||
|
brandName:
|
||||||
|
enable: true
|
||||||
|
content: 'NanoLimbo'
|
||||||
|
|
||||||
# Message sends when player join to server
|
# Message sends when player join to server
|
||||||
joinMessage:
|
joinMessage:
|
||||||
enable: true
|
enable: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user