From 20df12128b96ea52525c2f95f658ef14f722cbfb Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Thu, 10 Sep 2015 12:59:17 +0200 Subject: [PATCH] The EntityPositionTracker now returns copies of its values to prevent them from being changed --- .../eu/crushedpixel/replaymod/holders/AdvancedPosition.java | 4 ++++ .../replaymod/preparation/EntityPositionTracker.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java b/src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java index 551afcdc..7933a38a 100755 --- a/src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java +++ b/src/main/java/eu/crushedpixel/replaymod/holders/AdvancedPosition.java @@ -71,6 +71,10 @@ public class AdvancedPosition extends Position { this.roll = toApply.getRoll(); } + public AdvancedPosition copy() { + return new AdvancedPosition(x, y, z, pitch, yaw, roll); + } + @Override public AdvancedPosition newInstance() { return new AdvancedPosition(); diff --git a/src/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java b/src/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java index 6fb5fc39..03c4183a 100644 --- a/src/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java +++ b/src/main/java/eu/crushedpixel/replaymod/preparation/EntityPositionTracker.java @@ -109,7 +109,7 @@ public class EntityPositionTracker { for(Pair pair : positions) { if(pair.getKey() <= timestamp) exists = true; if(pair.getKey() >= timestamp) { - if(exists) return pair.getValue(); + if(exists) return pair.getValue().copy(); return null; } }