grid alignment offsets work
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
97569c84f0
commit
c06af65e46
@ -1783,6 +1783,7 @@ Grid aligned entity work
|
|||||||
Grid alignment visualization work
|
Grid alignment visualization work
|
||||||
Move around entity debug tab classes
|
Move around entity debug tab classes
|
||||||
Grid alignment data editing in debug menus
|
Grid alignment data editing in debug menus
|
||||||
|
Grid alignment offsets work
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -346,15 +346,12 @@ public class CursorState {
|
|||||||
* @param position The position
|
* @param position The position
|
||||||
* @param data The data
|
* @param data The data
|
||||||
*/
|
*/
|
||||||
public static void nudgeGridAlignment(Vector3d position, GridAlignedData data){
|
private static void nudgeGridAlignment(Vector3d position, GridAlignedData data){
|
||||||
if(data.getWidth() / 2 == 1){
|
if(data.getWidth() / 2 == 1){
|
||||||
position.x = position.x + BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f;
|
position.x = position.x - BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f;
|
||||||
}
|
|
||||||
if(data.getHeight() / 2 == 1){
|
|
||||||
position.y = position.y + BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f;
|
|
||||||
}
|
}
|
||||||
if(data.getLength() / 2 == 1){
|
if(data.getLength() / 2 == 1){
|
||||||
position.z = position.z + BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f;
|
position.z = position.z - BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,6 @@ import org.ode4j.ode.DBody;
|
|||||||
import electrosphere.client.interact.ClientInteractionEngine;
|
import electrosphere.client.interact.ClientInteractionEngine;
|
||||||
import electrosphere.collision.PhysicsEntityUtils;
|
import electrosphere.collision.PhysicsEntityUtils;
|
||||||
import electrosphere.collision.collidable.Collidable;
|
import electrosphere.collision.collidable.Collidable;
|
||||||
import electrosphere.controls.cursor.CursorState;
|
|
||||||
import electrosphere.data.collidable.CollidableTemplate;
|
import electrosphere.data.collidable.CollidableTemplate;
|
||||||
import electrosphere.data.common.CommonEntityType;
|
import electrosphere.data.common.CommonEntityType;
|
||||||
import electrosphere.data.creature.CreatureData;
|
import electrosphere.data.creature.CreatureData;
|
||||||
@ -745,9 +744,6 @@ public class CommonEntityUtils {
|
|||||||
|
|
||||||
//grid alignment
|
//grid alignment
|
||||||
if(rawType.getGridAlignedData() != null){
|
if(rawType.getGridAlignedData() != null){
|
||||||
Vector3d placementPos = realm.getServerWorldData().clampRealToBlock(position);
|
|
||||||
CursorState.nudgeGridAlignment(placementPos,rawType.getGridAlignedData());
|
|
||||||
position.set(placementPos);
|
|
||||||
Globals.clientScene.registerEntityToTag(entity, EntityTags.BLOCK_OCCUPANT);
|
Globals.clientScene.registerEntityToTag(entity, EntityTags.BLOCK_OCCUPANT);
|
||||||
//TODO: must register with all nearby scenes as well because it could possibly occupy other chunks
|
//TODO: must register with all nearby scenes as well because it could possibly occupy other chunks
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user