fix pos event
This commit is contained in:
parent
d4abb39c80
commit
666377e5ee
@ -25,4 +25,5 @@ jobs:
|
|||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
name: build
|
||||||
path: build/libs/*
|
path: build/libs/*
|
@ -54,7 +54,7 @@ public class Main implements ClientModInitializer {
|
|||||||
private static KeyBinding toggle_replay_key;
|
private static KeyBinding toggle_replay_key;
|
||||||
private static KeyBinding toggle_record_key;
|
private static KeyBinding toggle_record_key;
|
||||||
|
|
||||||
public long record_pos_delay = 20;
|
public long record_pos_delay = -1;
|
||||||
|
|
||||||
public static Random rand = new Random();
|
public static Random rand = new Random();
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ public class Main implements ClientModInitializer {
|
|||||||
now_record = record_list.newRecord();
|
now_record = record_list.newRecord();
|
||||||
|
|
||||||
Vec3d start_pos = client.player.getPos();
|
Vec3d start_pos = client.player.getPos();
|
||||||
now_record.addEvent(new MoveEvent(start_pos,client.player.getHeadYaw(),client.player.getPitch()));
|
recordTick(new MoveEvent(start_pos,client.player.getHeadYaw(),client.player.getPitch()));
|
||||||
now_record.setStartRecordPos(start_pos);
|
now_record.setStartRecordPos(start_pos);
|
||||||
|
|
||||||
if (record_pos_delay > 0) {
|
if (record_pos_delay > 0) {
|
||||||
@ -182,7 +182,7 @@ public class Main implements ClientModInitializer {
|
|||||||
record_pos_delay) {
|
record_pos_delay) {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
now_record.addEvent(new MoveEvent(client.player.getPos(),
|
recordTick(new MoveEvent(client.player.getPos(),
|
||||||
client.player.getHeadYaw(), client.player.getPitch()));
|
client.player.getHeadYaw(), client.player.getPitch()));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -10,6 +10,8 @@ public class MoveEvent extends RecordEvent {
|
|||||||
public float yaw;
|
public float yaw;
|
||||||
public float pitch;
|
public float pitch;
|
||||||
|
|
||||||
|
public static final float MOVE_THRESHOLD = 0.001f;
|
||||||
|
|
||||||
public static MoveEvent deserialize(String[] a) {
|
public static MoveEvent deserialize(String[] a) {
|
||||||
return new MoveEvent(new Vec3d(
|
return new MoveEvent(new Vec3d(
|
||||||
Double.parseDouble(a[0]),
|
Double.parseDouble(a[0]),
|
||||||
@ -29,9 +31,13 @@ public class MoveEvent extends RecordEvent {
|
|||||||
if (Main.client.player != null) {
|
if (Main.client.player != null) {
|
||||||
Vec3d p = Main.client.player.getPos();
|
Vec3d p = Main.client.player.getPos();
|
||||||
Vec3d v = new Vec3d(vec.getX() - p.getX(), vec.getY() - p.getY(), vec.getZ() - p.getZ());
|
Vec3d v = new Vec3d(vec.getX() - p.getX(), vec.getY() - p.getY(), vec.getZ() - p.getZ());
|
||||||
Main.client.player.move(MovementType.SELF, v);
|
if (Math.abs(v.x) > MOVE_THRESHOLD || Math.abs(v.y) > MOVE_THRESHOLD || Math.abs(v.z) > MOVE_THRESHOLD)
|
||||||
Main.client.player.setYaw(yaw);
|
Main.client.player.move(MovementType.SELF, v);
|
||||||
Main.client.player.setPitch(pitch);
|
|
||||||
|
if (Math.abs(Main.client.player.getYaw() - yaw) > MOVE_THRESHOLD)
|
||||||
|
Main.client.player.setYaw(yaw);
|
||||||
|
if (Math.abs(Main.client.player.getPitch() - pitch) > MOVE_THRESHOLD)
|
||||||
|
Main.client.player.setPitch(pitch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user