LoParkour/src/main/java/dev/loki/loparkour/ghost/GhostFrame.java
loki 8aeb547897 v1.2.4: Remove roguelike perks, update bStats to 3.2.1, add new game modes and lpschem system
- Removed roguelike perk system (double jump, magnet, shield, second chance)
- Updated bStats dependency to 3.2.1 with proper relocation
- Changed bStats plugin ID to 29754
- Added new game modes: Speedrun, Gravity Shift, Hardcore
- Implemented .lpschem format with GZIP + JSON compression
- Added JumpValidator for physics-based jump validation
- Added JumpType system (neo-jump, head-hitter, fence, trapdoor, ladder)
- Implemented Ghost system for recording/playback top players
- Added loparkour-vilib as local dependency
- Updated config with new mode settings and removed roguelike section
- Cleaned up TODO.md roadmap
2026-02-25 00:55:24 +01:00

60 lines
1.3 KiB
Java

package dev.loki.loparkour.ghost;
import org.bukkit.Location;
import org.jetbrains.annotations.NotNull;
public class GhostFrame {
private final long timestamp;
private final double x;
private final double y;
private final double z;
private final float yaw;
private final float pitch;
public GhostFrame(long timestamp, @NotNull Location location) {
this.timestamp = timestamp;
this.x = location.getX();
this.y = location.getY();
this.z = location.getZ();
this.yaw = location.getYaw();
this.pitch = location.getPitch();
}
public GhostFrame(long timestamp, double x, double y, double z, float yaw, float pitch) {
this.timestamp = timestamp;
this.x = x;
this.y = y;
this.z = z;
this.yaw = yaw;
this.pitch = pitch;
}
public long getTimestamp() {
return timestamp;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
public float getYaw() {
return yaw;
}
public float getPitch() {
return pitch;
}
public Location toLocation(org.bukkit.World world) {
return new Location(world, x, y, z, yaw, pitch);
}
}