public BulletPhysics(WorldProvider world) {
broadphase = new DbvtBroadphase();
broadphase.getOverlappingPairCache().setInternalGhostPairCallback(new GhostPairCallback());
CollisionConfiguration defaultCollisionConfiguration = new DefaultCollisionConfiguration();
dispatcher = new CollisionDispatcher(defaultCollisionConfiguration);
SequentialImpulseConstraintSolver sequentialImpulseConstraintSolver = new SequentialImpulseConstraintSolver();
discreteDynamicsWorld = new DiscreteDynamicsWorld(dispatcher, broadphase, sequentialImpulseConstraintSolver, defaultCollisionConfiguration);
discreteDynamicsWorld.setGravity(new Vector3f(0f, -15f, 0f));
blockEntityRegistry = CoreRegistry.get(BlockEntityRegistry.class);