mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Change some things around and cleanup code
This commit is contained in:
parent
3d7ee87a58
commit
835ec0beea
7 changed files with 20 additions and 54 deletions
|
|
@ -59,12 +59,6 @@
|
|||
<version>1.18.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.nukkitx.protocol</groupId>
|
||||
<artifactId>bedrock-v361</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.fusesource.jansi</groupId>
|
||||
<artifactId>jansi</artifactId>
|
||||
|
|
@ -74,13 +68,19 @@
|
|||
<dependency>
|
||||
<groupId>com.nukkitx.protocol</groupId>
|
||||
<artifactId>bedrock-v354</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.nukkitx.protocol</groupId>
|
||||
<artifactId>bedrock-v361</artifactId>
|
||||
<version>2.1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.nukkitx.protocol</groupId>
|
||||
<artifactId>bedrock-v340</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<version>2.1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -106,9 +106,7 @@ public class GeyserConnector implements Connector {
|
|||
|
||||
this.logger = GeyserLogger.DEFAULT;
|
||||
|
||||
|
||||
ConsoleCommandReader consoleReader = new ConsoleCommandReader(this);
|
||||
|
||||
consoleReader.startConsole();
|
||||
|
||||
logger.info("******************************************");
|
||||
|
|
@ -141,7 +139,6 @@ public class GeyserConnector implements Connector {
|
|||
TranslatorsInit.start();
|
||||
|
||||
commandMap = new GeyserCommandMap(this);
|
||||
|
||||
remoteServer = new RemoteJavaServer(config.getRemote().getAddress(), config.getRemote().getPort());
|
||||
|
||||
Geyser.setConnector(this);
|
||||
|
|
|
|||
|
|
@ -29,10 +29,8 @@ import com.nukkitx.protocol.bedrock.BedrockPong;
|
|||
import com.nukkitx.protocol.bedrock.BedrockServerEventHandler;
|
||||
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
||||
import com.nukkitx.protocol.bedrock.v361.Bedrock_v361;
|
||||
import org.geysermc.api.Geyser;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import org.geysermc.connector.configuration.GeyserConfiguration;
|
||||
import org.geysermc.connector.console.GeyserLogger;
|
||||
import org.geysermc.connector.network.session.GeyserSession;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
|
|
@ -53,7 +51,7 @@ public class ConnectorServerEventHandler implements BedrockServerEventHandler {
|
|||
|
||||
@Override
|
||||
public BedrockPong onQuery(InetSocketAddress inetSocketAddress) {
|
||||
GeyserLogger.DEFAULT.info(inetSocketAddress + " has pinged you!");
|
||||
connector.getLogger().info(inetSocketAddress + " has pinged you!");
|
||||
GeyserConfiguration config = connector.getConfig();
|
||||
BedrockPong pong = new BedrockPong();
|
||||
pong.setEdition("MCPE");
|
||||
|
|
@ -73,11 +71,8 @@ public class ConnectorServerEventHandler implements BedrockServerEventHandler {
|
|||
@Override
|
||||
public void onSessionCreation(BedrockServerSession bedrockServerSession) {
|
||||
bedrockServerSession.setLogging(true);
|
||||
bedrockServerSession.setPacketHandler(new UpstreamPacketHandler(connector, new GeyserSession(connector, bedrockServerSession)));
|
||||
bedrockServerSession.addDisconnectHandler((x) -> GeyserLogger.DEFAULT.warning("Bedrock user with ip: " + bedrockServerSession.getAddress().getAddress() + " has disconected for reason " + x));
|
||||
bedrockServerSession.setPacketCodec(Bedrock_v361.V361_CODEC);
|
||||
bedrockServerSession.addDisconnectHandler((x) -> connector.getLogger().warning("Bedrock user with ip: " + bedrockServerSession.getAddress().getAddress() + " has disconnected for reason " + x));
|
||||
bedrockServerSession.setPacketHandler(new UpstreamPacketHandler(connector, new GeyserSession(connector, bedrockServerSession)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -26,7 +26,6 @@
|
|||
package org.geysermc.connector.network;
|
||||
|
||||
import com.nimbusds.jose.JWSObject;
|
||||
import com.nukkitx.protocol.bedrock.handler.BatchHandler;
|
||||
import com.nukkitx.protocol.bedrock.handler.BedrockPacketHandler;
|
||||
import com.nukkitx.protocol.bedrock.packet.*;
|
||||
import net.minidev.json.JSONArray;
|
||||
|
|
@ -57,8 +56,6 @@ public class UpstreamPacketHandler implements BedrockPacketHandler {
|
|||
return true;
|
||||
}
|
||||
|
||||
session.getUpstream().setPacketCodec(GeyserConnector.BEDROCK_PACKET_CODEC);
|
||||
|
||||
try {
|
||||
JSONObject chainData = (JSONObject) JSONValue.parse(loginPacket.getChainData().array());
|
||||
JSONArray chainArray = (JSONArray) chainData.get("chain");
|
||||
|
|
@ -75,16 +72,13 @@ public class UpstreamPacketHandler implements BedrockPacketHandler {
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
PlayStatusPacket playStatus = new PlayStatusPacket();
|
||||
|
||||
playStatus.setStatus(PlayStatusPacket.Status.LOGIN_SUCCESS);
|
||||
|
||||
session.getUpstream().sendPacketImmediately(playStatus);
|
||||
|
||||
ResourcePacksInfoPacket resourcePacksInfo = new ResourcePacksInfoPacket();
|
||||
session.getUpstream().sendPacketImmediately(resourcePacksInfo);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
|||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
||||
import com.github.steveice10.packetlib.event.session.PacketReceivedEvent;
|
||||
import com.github.steveice10.packetlib.event.session.SessionAdapter;
|
||||
import com.github.steveice10.packetlib.packet.Packet;
|
||||
import com.github.steveice10.packetlib.tcp.TcpSessionFactory;
|
||||
import com.nukkitx.network.util.DisconnectReason;
|
||||
import com.nukkitx.protocol.PlayerSession;
|
||||
|
|
@ -57,8 +56,6 @@ public class GeyserSession implements PlayerSession {
|
|||
@Getter
|
||||
private Client downstream;
|
||||
|
||||
private final GeyserSession THIS = this;
|
||||
|
||||
@Getter
|
||||
private AuthenticationData authenticationData;
|
||||
|
||||
|
|
@ -87,7 +84,7 @@ public class GeyserSession implements PlayerSession {
|
|||
|
||||
@Override
|
||||
public void packetReceived(PacketReceivedEvent event) {
|
||||
Registry.JAVA.translate(event.getPacket().getClass(), event.getPacket(), THIS);
|
||||
Registry.JAVA.translate(event.getPacket().getClass(), event.getPacket(), GeyserSession.this);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
package org.geysermc.connector.network.translators;
|
||||
|
||||
import com.github.steveice10.packetlib.packet.Packet;
|
||||
import org.geysermc.api.Geyser;
|
||||
import org.geysermc.connector.network.session.GeyserSession;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class Registry<T> {
|
||||
|
||||
private final Map<Class<? extends T>, BiConsumer<? extends T, GeyserSession>> MAP = new HashMap<>();
|
||||
|
||||
public static final Registry<Packet> JAVA = new Registry<>();
|
||||
|
|
@ -25,5 +24,4 @@ public class Registry<T> {
|
|||
System.err.println("could not translate packet" + p.getClass().getSimpleName());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,40 +5,31 @@ import com.flowpowered.math.vector.Vector2i;
|
|||
import com.flowpowered.math.vector.Vector3f;
|
||||
import com.flowpowered.math.vector.Vector3i;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
|
||||
import com.github.steveice10.mc.protocol.packet.ingame.server.entity.player.ServerPlayerAbilitiesPacket;
|
||||
import com.nukkitx.nbt.NbtUtils;
|
||||
import com.nukkitx.nbt.stream.NBTOutputStream;
|
||||
import com.nukkitx.nbt.tag.CompoundTag;
|
||||
import com.nukkitx.network.VarInts;
|
||||
import com.nukkitx.protocol.bedrock.data.GamePublishSetting;
|
||||
import com.nukkitx.protocol.bedrock.data.GameRule;
|
||||
import com.nukkitx.protocol.bedrock.packet.*;
|
||||
import com.nukkitx.protocol.bedrock.v340.serializer.FullChunkDataSerializer_v340;
|
||||
import com.nukkitx.protocol.bedrock.v340.serializer.ResourcePackChunkDataSerializer_v340;
|
||||
import com.nukkitx.protocol.bedrock.v340.serializer.SetSpawnPositionSerializer_v340;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import org.geysermc.connector.console.GeyserLogger;
|
||||
import org.geysermc.connector.utils.PSPEStuff;
|
||||
import org.geysermc.connector.utils.PositionSerializer;
|
||||
import org.geysermc.connector.utils.Toolbox;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class TranslatorsInit {
|
||||
|
||||
public static void start() {
|
||||
addLoginPackets();
|
||||
}
|
||||
|
||||
private static void addLoginPackets() {
|
||||
Registry.add(ServerJoinGamePacket.class, (packet, session) -> {
|
||||
for(byte b : Toolbox.EMPTY_CHUNK) {
|
||||
GeyserLogger.DEFAULT.warning("" + b);
|
||||
}
|
||||
//for(byte b : Toolbox.EMPTY_CHUNK) {
|
||||
// GeyserLogger.DEFAULT.warning("" + b);
|
||||
//}
|
||||
|
||||
AdventureSettingsPacket bedrockPacket = new AdventureSettingsPacket();
|
||||
|
||||
bedrockPacket.setUniqueEntityId(packet.getEntityId());
|
||||
|
||||
session.getUpstream().sendPacketImmediately(bedrockPacket);
|
||||
|
||||
StartGamePacket startGamePacket = new StartGamePacket();
|
||||
|
|
@ -93,11 +84,9 @@ public class TranslatorsInit {
|
|||
Vector3f pos = new Vector3f(0, 0, 0);
|
||||
|
||||
int chunkX = pos.getFloorX() >> 4;
|
||||
|
||||
int chunkZ = pos.getFloorZ() >> 4;
|
||||
|
||||
for (int x = -3; x < 3; x++) {
|
||||
|
||||
for (int z = -3; z < 3; z++) {
|
||||
|
||||
LevelChunkPacket data = new LevelChunkPacket();
|
||||
|
|
@ -105,17 +94,13 @@ public class TranslatorsInit {
|
|||
data.setChunkZ(chunkZ + z);
|
||||
|
||||
data.setData(Toolbox.EMPTY_CHUNK);
|
||||
|
||||
session.getUpstream().sendPacketImmediately(data);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PlayStatusPacket packet1 = new PlayStatusPacket();
|
||||
|
||||
packet1.setStatus(PlayStatusPacket.Status.PLAYER_SPAWN);
|
||||
|
||||
session.getUpstream().sendPacket(packet1);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue