Add building logic to ClientPlayNetworkHandlerMixin
This commit is contained in:
parent
32c19e7e73
commit
09561fd55d
|
@ -61,6 +61,10 @@ public class Stage1HandshakeBuilder {
|
|||
return this;
|
||||
}
|
||||
|
||||
public boolean readyToBuild() {
|
||||
return this.movements.size() >= 24;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Stage1Handshake tryBuild() throws HandshakeException {
|
||||
if (this.movements.size() < 24) {
|
||||
|
|
|
@ -5,9 +5,10 @@ import net.minecraft.entity.Entity;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.network.packet.s2c.play.EntityS2CPacket;
|
||||
import org.muellerssoftware.openproximitychatfabric.OPCFabric;
|
||||
import org.muellerssoftware.openproximitychatfabric.connect.HandshakeException;
|
||||
import org.muellerssoftware.openproximitychatfabric.connect.Stage1Handshake;
|
||||
import org.muellerssoftware.openproximitychatfabric.connect.Stage1HandshakeBuilder;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
@ -24,7 +25,18 @@ public abstract class ClientPlayNetworkHandlerMixin {
|
|||
if (!OPCFabric.tracked_players.containsKey(player)) {
|
||||
OPCFabric.tracked_players.put(player, new Stage1HandshakeBuilder().withPlayer(player));
|
||||
}
|
||||
OPCFabric.tracked_players.get(player).addDelta(packet.getYaw(), packet.getPitch());
|
||||
Stage1HandshakeBuilder builder = OPCFabric.tracked_players.get(player);
|
||||
builder.addDelta(packet.getYaw(), packet.getPitch());
|
||||
if (builder.readyToBuild()) {
|
||||
try {
|
||||
Stage1Handshake handshake = builder.tryBuild();
|
||||
if (handshake != null) {
|
||||
OPCFabric.LOGGER.info("Found Stage 1 Handshake for player {}", handshake.getPlayer().getName());
|
||||
}
|
||||
} catch (HandshakeException e) {
|
||||
OPCFabric.LOGGER.info("Caught HandshakeException ({})", e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user