Merge branch 'proto_1.12.2' into h2-playermanager
# Conflicts: # core/src/main/java/mc/core/EntityLocation.java # core/src/main/java/mc/core/Location.java # core/src/test/java/mc/core/TestEntityLocation.java # core/src/test/java/mc/core/TestLocation.java
This commit is contained in:
@@ -2,10 +2,14 @@ package mc.core.h2db;
|
||||
|
||||
import lombok.Data;
|
||||
import mc.core.EntityLocation;
|
||||
import mc.core.exception.ResourceUnloadedException;
|
||||
import mc.core.network.NetChannel;
|
||||
import mc.core.player.Player;
|
||||
import mc.core.player.PlayerSettings;
|
||||
import mc.core.world.World;
|
||||
|
||||
import java.lang.ref.Reference;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -18,6 +22,23 @@ public class H2Player implements Player {
|
||||
private List<Integer> loadedChunks;
|
||||
private NetChannel channel;
|
||||
private EntityLocation location;
|
||||
private Reference<World> $refWorld;
|
||||
private boolean flying = false;
|
||||
private PlayerSettings settings;
|
||||
|
||||
@Override
|
||||
public World getWorld() {
|
||||
if ($refWorld == null) {
|
||||
return null;
|
||||
} else if ($refWorld.get() == null) {
|
||||
throw new ResourceUnloadedException("You're trying to get unloaded world");
|
||||
} else {
|
||||
return $refWorld.get();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWorld(World world) {
|
||||
this.$refWorld = new WeakReference<>(world);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class H2PlayerSerializer {
|
||||
stmt.setDouble(5, player.getLocation().getZ());
|
||||
stmt.setFloat(6, player.getLocation().getYaw());
|
||||
stmt.setFloat(7, player.getLocation().getPitch());
|
||||
stmt.setString(8, player.getLocation().getWorld().getName());
|
||||
stmt.setString(8, player.getWorld().getName());
|
||||
|
||||
return stmt;
|
||||
}, keyHolder);
|
||||
@@ -106,9 +106,9 @@ public class H2PlayerSerializer {
|
||||
resultSet.getDouble("location_y"),
|
||||
resultSet.getDouble("location_z"),
|
||||
resultSet.getFloat("location_yaw"),
|
||||
resultSet.getFloat("location_pitch"),
|
||||
world
|
||||
resultSet.getFloat("location_pitch")
|
||||
));
|
||||
player.setWorld(world);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,9 +49,9 @@ public class TestH2Database {
|
||||
rnd.nextDouble(minD, maxD),
|
||||
rnd.nextDouble(minD, maxD),
|
||||
rnd.nextFloat() * (maxF - minF) + minF,
|
||||
rnd.nextFloat() * (maxF - minF) + minF,
|
||||
mockWorld
|
||||
rnd.nextFloat() * (maxF - minF) + minF
|
||||
));
|
||||
player.setWorld(mockWorld);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -81,7 +81,7 @@ public class TestH2Database {
|
||||
assertEquals(player.getLocation().getZ(), resultSet.getDouble("location_z"), 0.01d);
|
||||
assertEquals(player.getLocation().getYaw(), resultSet.getFloat("location_yaw"), 0.01f);
|
||||
assertEquals(player.getLocation().getPitch(), resultSet.getFloat("location_pitch"), 0.01f);
|
||||
assertEquals(player.getLocation().getWorld().getName(), resultSet.getString("location_world"));
|
||||
assertEquals(player.getWorld().getName(), resultSet.getString("location_world"));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class TestH2Database {
|
||||
ps.setDouble(6, player.getLocation().getZ());
|
||||
ps.setFloat(7, player.getLocation().getYaw());
|
||||
ps.setFloat(8, player.getLocation().getPitch());
|
||||
ps.setString(9, player.getLocation().getWorld().getName());
|
||||
ps.setString(9, player.getWorld().getName());
|
||||
});
|
||||
assertEquals(1, affectedRows);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user