Change some things around and cleanup code

This commit is contained in:
RednedEpic 2019-07-18 12:47:39 -05:00
parent 3d7ee87a58
commit 835ec0beea
7 changed files with 20 additions and 54 deletions

View file

@ -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>

View file

@ -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);

View file

@ -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)));
}
}

View file

@ -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;
}

View file

@ -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);
}
});

View file

@ -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());
}
}
}

View file

@ -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);
});
}