88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package electrosphere.collision;
 | |
| 
 | |
| import electrosphere.client.scene.ClientWorldData;
 | |
| import electrosphere.client.terrain.manager.ClientTerrainManager;
 | |
| import electrosphere.game.server.world.ServerWorldData;
 | |
| import electrosphere.server.terrain.manager.ServerTerrainManager;
 | |
| 
 | |
| import org.joml.Vector3f;
 | |
| 
 | |
| public class CollisionWorldData {
 | |
|     
 | |
|     
 | |
|     
 | |
|     ClientWorldData clientWorldData;
 | |
|     ClientTerrainManager clientTerrainManager;
 | |
|     
 | |
|     
 | |
|     
 | |
|     ServerWorldData serverWorldData;
 | |
|     ServerTerrainManager serverTerrainManager;
 | |
|     
 | |
|     public CollisionWorldData(ServerWorldData serverWorldData){
 | |
|         this.serverWorldData = serverWorldData;
 | |
|     }
 | |
| 
 | |
|     public CollisionWorldData(ClientWorldData clientWorldData){
 | |
|         this.clientWorldData = clientWorldData;
 | |
|     }
 | |
|     
 | |
|     
 | |
|     public Vector3f getWorldBoundMin(){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.getWorldBoundMin();
 | |
|         } else {
 | |
|             return serverWorldData.getWorldBoundMin();
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     public Vector3f getWorldBoundMax(){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.getWorldBoundMax();
 | |
|         } else {
 | |
|             return serverWorldData.getWorldBoundMax();
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     public int convertRealToWorld(double real){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.convertRealToChunkSpace(real);
 | |
|         } else {
 | |
|             return serverWorldData.convertRealToChunkSpace(real);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public double convertWorldToReal(int world){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.convertChunkToRealSpace(world);
 | |
|         } else {
 | |
|             return serverWorldData.convertChunkToRealSpace(world);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public int getDynamicInterpolationRatio(){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.getDynamicInterpolationRatio();
 | |
|         } else {
 | |
|             return serverWorldData.getDynamicInterpolationRatio();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public int getWorldDiscreteSize(){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.getWorldDiscreteSize();
 | |
|         } else {
 | |
|             return serverWorldData.getWorldSizeDiscrete();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public float getRandomDampener(){
 | |
|         if(clientWorldData != null){
 | |
|             return clientWorldData.getRandomDampener();
 | |
|         } else {
 | |
|             return serverWorldData.getRandomDampener();
 | |
|         }
 | |
|     }
 | |
| 
 | |
| }
 |