├── .gitignore ├── .patchnotes ├── 0.4.0.MD ├── 0.4.2.MD ├── 0.5.0.MD ├── 0.5.2.MD ├── 0.5.5.MD ├── 0.5.6.MD ├── 0.5.7.MD ├── 0.5.8.MD └── 0.5.9.MD ├── LICENSE ├── README.md ├── art ├── logo_ratiod.png └── logowithbackground-rounded-small.png ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── lib ├── gdx-bullet-natives.jar ├── gdx-bullet.jar ├── gdx.jar └── nativebullet-natives.jar └── src └── main ├── java ├── com │ ├── badlogicfork │ │ └── gdx │ │ │ └── utils │ │ │ └── SharedLibraryLoader.java │ └── bulletphysicsx │ │ ├── BulletGlobals.java │ │ ├── BulletStats.java │ │ ├── ContactAddedCallback.java │ │ ├── ContactDestroyedCallback.java │ │ ├── ContactProcessedCallback.java │ │ ├── collision │ │ ├── broadphase │ │ │ ├── AxisSweep3.java │ │ │ ├── AxisSweep3Internal.java │ │ │ ├── AxisSweep3_32.java │ │ │ ├── BroadphaseInterface.java │ │ │ ├── BroadphaseNativeType.java │ │ │ ├── BroadphasePair.java │ │ │ ├── BroadphaseProxy.java │ │ │ ├── CollisionAlgorithm.java │ │ │ ├── CollisionAlgorithmConstructionInfo.java │ │ │ ├── CollisionFilterGroups.java │ │ │ ├── Dbvt.java │ │ │ ├── DbvtAabbMm.java │ │ │ ├── DbvtBroadphase.java │ │ │ ├── DbvtLeafCollider.java │ │ │ ├── DbvtProxy.java │ │ │ ├── DbvtTreeCollider.java │ │ │ ├── DispatchFunc.java │ │ │ ├── Dispatcher.java │ │ │ ├── DispatcherInfo.java │ │ │ ├── HashedOverlappingPairCache.java │ │ │ ├── OverlapCallback.java │ │ │ ├── OverlapFilterCallback.java │ │ │ ├── OverlappingPairCache.java │ │ │ ├── OverlappingPairCallback.java │ │ │ ├── SimpleBroadphase.java │ │ │ ├── SimpleBroadphaseProxy.java │ │ │ └── package-info.java │ │ ├── dispatch │ │ │ ├── CollisionAlgorithmCreateFunc.java │ │ │ ├── CollisionConfiguration.java │ │ │ ├── CollisionDispatcher.java │ │ │ ├── CollisionFlags.java │ │ │ ├── CollisionObject.java │ │ │ ├── CollisionObjectType.java │ │ │ ├── CollisionWorld.java │ │ │ ├── CompoundCollisionAlgorithm.java │ │ │ ├── ConvexConcaveCollisionAlgorithm.java │ │ │ ├── ConvexConvexAlgorithm.java │ │ │ ├── ConvexPlaneCollisionAlgorithm.java │ │ │ ├── ConvexTriangleCallback.java │ │ │ ├── DefaultCollisionConfiguration.java │ │ │ ├── DefaultNearCallback.java │ │ │ ├── EmptyAlgorithm.java │ │ │ ├── GhostObject.java │ │ │ ├── GhostPairCallback.java │ │ │ ├── JBulletVoxelWorldCollisionAlgorithm.java │ │ │ ├── ManifoldResult.java │ │ │ ├── NearCallback.java │ │ │ ├── PairCachingGhostObject.java │ │ │ ├── SimulationIslandManager.java │ │ │ ├── SphereSphereCollisionAlgorithm.java │ │ │ ├── UnionFind.java │ │ │ └── package-info.java │ │ ├── narrowphase │ │ │ ├── ConvexCast.java │ │ │ ├── ConvexPenetrationDepthSolver.java │ │ │ ├── DiscreteCollisionDetectorInterface.java │ │ │ ├── GjkConvexCast.java │ │ │ ├── GjkEpaPenetrationDepthSolver.java │ │ │ ├── GjkEpaSolver.java │ │ │ ├── GjkPairDetector.java │ │ │ ├── ManifoldPoint.java │ │ │ ├── PersistentManifold.java │ │ │ ├── PointCollector.java │ │ │ ├── SimplexSolverInterface.java │ │ │ ├── SubsimplexConvexCast.java │ │ │ ├── TriangleConvexcastCallback.java │ │ │ ├── TriangleRaycastCallback.java │ │ │ ├── VoronoiSimplexSolver.java │ │ │ └── package-info.java │ │ └── shapes │ │ │ ├── BU_Simplex1to4.java │ │ │ ├── BoxShape.java │ │ │ ├── BvhSubtreeInfo.java │ │ │ ├── BvhTriangleMeshShape.java │ │ │ ├── ByteBufferVertexData.java │ │ │ ├── CapsuleShape.java │ │ │ ├── CapsuleShapeX.java │ │ │ ├── CapsuleShapeZ.java │ │ │ ├── CollisionShape.java │ │ │ ├── CompoundShape.java │ │ │ ├── CompoundShapeChild.java │ │ │ ├── ConcaveShape.java │ │ │ ├── ConeShape.java │ │ │ ├── ConeShapeX.java │ │ │ ├── ConeShapeZ.java │ │ │ ├── ConvexHullShape.java │ │ │ ├── ConvexInternalShape.java │ │ │ ├── ConvexShape.java │ │ │ ├── CylinderShape.java │ │ │ ├── CylinderShapeX.java │ │ │ ├── CylinderShapeZ.java │ │ │ ├── IndexedMesh.java │ │ │ ├── InternalTriangleIndexCallback.java │ │ │ ├── MinkowskiSumShape.java │ │ │ ├── NodeOverlapCallback.java │ │ │ ├── OptimizedBvh.java │ │ │ ├── OptimizedBvhNode.java │ │ │ ├── PolyhedralConvexShape.java │ │ │ ├── QuantizedBvhNodes.java │ │ │ ├── ScalarType.java │ │ │ ├── ScaledBvhTriangleMeshShape.java │ │ │ ├── ShapeHull.java │ │ │ ├── SphereShape.java │ │ │ ├── StaticPlaneShape.java │ │ │ ├── StridingMeshInterface.java │ │ │ ├── TraversalMode.java │ │ │ ├── TriangleCallback.java │ │ │ ├── TriangleIndexVertexArray.java │ │ │ ├── TriangleMeshShape.java │ │ │ ├── TriangleShape.java │ │ │ ├── UniformScalingShape.java │ │ │ ├── VertexData.java │ │ │ ├── package-info.java │ │ │ └── voxel │ │ │ ├── JBulletVoxelWorldShape.java │ │ │ ├── VoxelInfo.java │ │ │ └── VoxelPhysicsWorld.java │ │ ├── demos │ │ ├── applet │ │ │ ├── Cylinder.java │ │ │ ├── DemoPanel.java │ │ │ ├── Disk.java │ │ │ ├── Graphics3D.java │ │ │ ├── JBulletApplet.form │ │ │ ├── JBulletApplet.java │ │ │ ├── Light.java │ │ │ ├── LookUtil.java │ │ │ ├── Quadric.java │ │ │ ├── Rasterizer.java │ │ │ ├── SoftwareGL.java │ │ │ ├── Span.java │ │ │ ├── Sphere.java │ │ │ └── Utils.java │ │ ├── basic │ │ │ └── BasicDemo.java │ │ ├── bsp │ │ │ ├── BspConverter.java │ │ │ ├── BspDemo.java │ │ │ ├── exported.bsp.txt │ │ │ └── exporter.diff │ │ ├── character │ │ │ └── CharacterDemo.java │ │ ├── concave │ │ │ └── ConcaveDemo.java │ │ ├── concaveconvexcast │ │ │ ├── ConcaveConvexcastDemo.java │ │ │ └── ConvexcastBatch.java │ │ ├── dynamiccontrol │ │ │ ├── DynamicControlDemo.java │ │ │ └── TestRig.java │ │ ├── forklift │ │ │ └── ForkLiftDemo.java │ │ ├── genericjoint │ │ │ ├── GenericJointDemo.java │ │ │ └── RagDoll.java │ │ ├── helloworld │ │ │ └── HelloWorld.java │ │ ├── movingconcave │ │ │ ├── Bunny.java │ │ │ └── MovingConcaveDemo.java │ │ ├── opengl │ │ │ ├── DejaVu_Sans_11.fnt │ │ │ ├── DemoApplication.java │ │ │ ├── FastFormat.java │ │ │ ├── FontRender.java │ │ │ ├── GLDebugDrawer.java │ │ │ ├── GLShapeDrawer.java │ │ │ ├── IGL.java │ │ │ ├── LWJGL.java │ │ │ └── LwjglGL.java │ │ └── vehicle │ │ │ └── VehicleDemo.java │ │ ├── dynamics │ │ ├── ActionInterface.java │ │ ├── DiscreteDynamicsWorld.java │ │ ├── DynamicsWorld.java │ │ ├── DynamicsWorldType.java │ │ ├── InternalTickCallback.java │ │ ├── RigidBody.java │ │ ├── RigidBodyConstructionInfo.java │ │ ├── SimpleDynamicsWorld.java │ │ ├── character │ │ │ └── KinematicCharacterController.java │ │ ├── constraintsolver │ │ │ ├── ConeTwistConstraint.java │ │ │ ├── ConstraintPersistentData.java │ │ │ ├── ConstraintSolver.java │ │ │ ├── ContactConstraint.java │ │ │ ├── ContactConstraintEnum.java │ │ │ ├── ContactSolverFunc.java │ │ │ ├── ContactSolverInfo.java │ │ │ ├── Generic6DofConstraint.java │ │ │ ├── HingeConstraint.java │ │ │ ├── JacobianEntry.java │ │ │ ├── Point2PointConstraint.java │ │ │ ├── RotationalLimitMotor.java │ │ │ ├── SequentialImpulseConstraintSolver.java │ │ │ ├── SliderConstraint.java │ │ │ ├── SolverBody.java │ │ │ ├── SolverConstraint.java │ │ │ ├── SolverConstraintType.java │ │ │ ├── SolverMode.java │ │ │ ├── TranslationalLimitMotor.java │ │ │ ├── TypedConstraint.java │ │ │ ├── TypedConstraintType.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── vehicle │ │ │ ├── DefaultVehicleRaycaster.java │ │ │ ├── RaycastVehicle.java │ │ │ ├── VehicleRaycaster.java │ │ │ ├── VehicleRaycasterResult.java │ │ │ ├── VehicleTuning.java │ │ │ ├── WheelInfo.java │ │ │ └── WheelInfoConstructionInfo.java │ │ ├── extras │ │ └── gimpact │ │ │ ├── BoxCollision.java │ │ │ ├── BvhDataArray.java │ │ │ ├── BvhTree.java │ │ │ ├── BvhTreeNodeArray.java │ │ │ ├── ClipPolygon.java │ │ │ ├── GIM_ShapeRetriever.java │ │ │ ├── GImpactBvh.java │ │ │ ├── GImpactCollisionAlgorithm.java │ │ │ ├── GImpactMassUtil.java │ │ │ ├── GImpactMeshShape.java │ │ │ ├── GImpactMeshShapePart.java │ │ │ ├── GImpactShapeInterface.java │ │ │ ├── GImpactTriangleCallback.java │ │ │ ├── GeometryOperations.java │ │ │ ├── Pair.java │ │ │ ├── PairSet.java │ │ │ ├── PlaneIntersectionType.java │ │ │ ├── PlaneShape.java │ │ │ ├── PrimitiveManagerBase.java │ │ │ ├── PrimitiveTriangle.java │ │ │ ├── Quantization.java │ │ │ ├── ShapeType.java │ │ │ ├── TetrahedronShapeEx.java │ │ │ ├── TriangleContact.java │ │ │ ├── TriangleShapeEx.java │ │ │ ├── TrimeshPrimitiveManager.java │ │ │ └── package-info.java │ │ ├── linearmath │ │ ├── AabbUtil2.java │ │ ├── CProfileIterator.java │ │ ├── CProfileManager.java │ │ ├── CProfileNode.java │ │ ├── Clock.java │ │ ├── DebugDrawModes.java │ │ ├── DefaultMotionState.java │ │ ├── GeometryUtil.java │ │ ├── IDebugDraw.java │ │ ├── IntUtil.java │ │ ├── MatrixUtil.java │ │ ├── MiscUtil.java │ │ ├── MotionState.java │ │ ├── QuaternionUtil.java │ │ ├── ScalarUtil.java │ │ ├── Transform.java │ │ ├── TransformUtil.java │ │ ├── VectorUtil.java │ │ ├── convexhull │ │ │ ├── HullDesc.java │ │ │ ├── HullFlags.java │ │ │ ├── HullLibrary.java │ │ │ ├── HullResult.java │ │ │ ├── Int3.java │ │ │ ├── Int4.java │ │ │ ├── IntRef.java │ │ │ ├── PHullResult.java │ │ │ ├── Tri.java │ │ │ └── package-info.java │ │ └── package-info.java │ │ ├── package-info.java │ │ └── util │ │ ├── ArrayPool.java │ │ ├── FloatArrayList.java │ │ ├── IntArrayList.java │ │ ├── ObjectArrayList.java │ │ ├── ObjectPool.java │ │ ├── ObjectStackList.java │ │ ├── StackList.java │ │ └── package-info.java └── gliby │ └── minecraft │ ├── gman │ ├── BlockStateToMetadata.java │ ├── Easing.java │ ├── EntityUtility.java │ ├── GMan.java │ ├── ModInfo.java │ ├── ModelUtility.java │ ├── OSUtil.java │ ├── RawItem.java │ ├── ReflectionUtility.java │ ├── WorldUtility.java │ ├── client │ │ └── render │ │ │ ├── GBlockModelRenderer.java │ │ │ ├── ItemRendererManager.java │ │ │ └── RawItemRenderer.java │ ├── io │ │ └── MinecraftResourceLoader.java │ ├── item │ │ └── ItemHandler.java │ └── networking │ │ └── GDataSerializers.java │ └── physics │ ├── MetadataLoader.java │ ├── Physics.java │ ├── PhysicsConfig.java │ ├── VersionChanges.java │ ├── client │ ├── PhysicsClient.java │ ├── SoundHandler.java │ ├── gui │ │ ├── GuiDebug.java │ │ ├── GuiScreenChangeLog.java │ │ ├── GuiScreenWelcome.java │ │ ├── creator │ │ │ ├── GuiScreenCreator.java │ │ │ ├── GuiScreenPhysicsCreator.java │ │ │ ├── block │ │ │ │ ├── GuiBlockSlotModList.java │ │ │ │ ├── GuiCustomScrollingList.java │ │ │ │ ├── GuiScreenBlockCreator.java │ │ │ │ ├── GuiScreenBlockCreator2.java │ │ │ │ └── GuiSlotBlockList.java │ │ │ └── mob │ │ │ │ ├── GuiScreenMobCreator.java │ │ │ │ └── MobBlackList.java │ │ └── options │ │ │ └── GuiFactory.java │ ├── keybindings │ │ ├── EnumBinding.java │ │ ├── KeyEvent.java │ │ ├── KeyFireEvent.java │ │ └── KeyManager.java │ └── render │ │ ├── RenderHandler.java │ │ ├── VecUtility.java │ │ ├── entity │ │ ├── RenderPhysics.java │ │ ├── RenderPhysicsBlock.java │ │ ├── RenderPhysicsModelPart.java │ │ ├── RenderPhysicsRagdoll.java │ │ └── RenderToolGunBeam.java │ │ ├── items │ │ ├── ModelItemPhysicsGun.java │ │ ├── ModelItemToolGun.java │ │ ├── RenderItemPhysicsGun.java │ │ └── RenderItemToolGun.java │ │ ├── lighting │ │ ├── AtomicStrykerLight.java │ │ ├── IDynamicLightHandler.java │ │ ├── NullLight.java │ │ └── SELLight.java │ │ ├── player │ │ └── RenderAdditionalPlayer.java │ │ └── world │ │ └── RenderDebugAdditionalWorld.java │ └── common │ ├── IPhysicsProxy.java │ ├── PhysicsServer.java │ ├── blocks │ ├── BlockManager.java │ ├── DefaultBlockGenerator.java │ ├── IBlockGenerator.java │ └── PhysicsBlockMetadata.java │ ├── entity │ ├── EntityPhysicsBase.java │ ├── EntityPhysicsBlock.java │ ├── EntityPhysicsModelPart.java │ ├── EntityPhysicsRagdoll.java │ ├── EntityToolGunBeam.java │ ├── EnumRigidBodyProperty.java │ ├── IEntityPhysics.java │ ├── actions │ │ ├── ActivateRedstoneAction.java │ │ ├── BlockInheritanceAction.java │ │ ├── BounceAction.java │ │ ├── ClientBlockInheritanceAction.java │ │ ├── EnvironmentResponseAction.java │ │ └── RigidBodyAction.java │ └── models │ │ ├── MobModel.java │ │ └── MobModelManager.java │ ├── game │ ├── GameManager.java │ ├── events │ │ ├── EntityDeathHandler.java │ │ └── GameEventHandler.java │ └── items │ │ ├── ItemPhysicsGun.java │ │ └── toolgun │ │ ├── ItemToolGun.java │ │ └── actions │ │ ├── IToolGunAction.java │ │ ├── IToolGunTickable.java │ │ ├── ToolGunActionEvent.java │ │ ├── ToolGunActionRegistry.java │ │ ├── ToolGunAlignAction.java │ │ ├── ToolGunAttachAction.java │ │ ├── ToolGunAttractAction.java │ │ ├── ToolGunChangeGravityAction.java │ │ ├── ToolGunHit.java │ │ ├── ToolGunMotorAction.java │ │ ├── ToolGunRemoveAction.java │ │ └── ToolGunReviveAction.java │ ├── packets │ ├── MinecraftPacket.java │ └── PacketReceiveTools.java │ └── physics │ ├── AttachementPoint.java │ ├── BlockCollisionInfo.java │ ├── IPhysicsWorldConfiguration.java │ ├── ModelPart.java │ ├── PhysicsOverworld.java │ ├── PhysicsWorld.java │ ├── engine │ ├── ICollisionObject.java │ ├── ICollisionShape.java │ ├── ICollisionShapeChildren.java │ ├── IConstraint.java │ ├── IConstraintGeneric6Dof.java │ ├── IConstraintPoint2Point.java │ ├── IConstraintSlider.java │ ├── IGhostObject.java │ ├── IRayResult.java │ ├── IRigidBody.java │ ├── IRope.java │ ├── javabullet │ │ ├── JavaClosestRayResultCallback.java │ │ ├── JavaCollisionObject.java │ │ ├── JavaCollisionShape.java │ │ ├── JavaConstraintGeneric6Dof.java │ │ ├── JavaConstraintPoint2Point.java │ │ ├── JavaConstraintSlider.java │ │ ├── JavaPairCachingGhostObject.java │ │ ├── JavaPhysicsWorld.java │ │ ├── JavaRigidBody.java │ │ ├── JavaRope.java │ │ └── JavaVoxelProvider.java │ └── nativebullet │ │ ├── NativeClosestRayResultCallback.java │ │ ├── NativeCollisionObject.java │ │ ├── NativeCollisionShape.java │ │ ├── NativeConstraintGeneric6Dof.java │ │ ├── NativePairCachingGhostObject.java │ │ ├── NativePhysicsWorld.java │ │ ├── NativePoint2PointConstraint.java │ │ ├── NativeRigidBody.java │ │ └── NativeVoxelProvider.java │ └── mechanics │ ├── EntityCollisionResponseMechanic.java │ ├── PhysicsMechanic.java │ ├── PhysicsMechanicEvent.java │ ├── ToolMechanics.java │ ├── gravitymagnets │ └── GravityModifierMechanic.java │ └── physicsgun │ ├── OwnedPickedObject.java │ ├── PickUpMechanic.java │ └── PickedObject.java └── resources ├── META-INF ├── GlibysPhysics_at.cfg └── licenses │ ├── COPYRIGHT-jbullet.txt │ ├── COPYRIGHT-vecmath.txt │ ├── LICENSE-commonsmath.txt │ ├── LICENSE-glibysphysics │ ├── LICENSE-libgdx.txt │ ├── LICENSE-vecmath.txt │ └── NOTICE-commonsmath.txt ├── assets └── glibysphysics │ ├── blocks │ ├── minecraft.acacia_door.json │ ├── minecraft.acacia_fence.json │ ├── minecraft.acacia_fence_gate.json │ ├── minecraft.acacia_stairs.json │ ├── minecraft.activator_rail.json │ ├── minecraft.air.json │ ├── minecraft.anvil.json │ ├── minecraft.barrier.json │ ├── minecraft.beacon.json │ ├── minecraft.bed.json │ ├── minecraft.bedrock.json │ ├── minecraft.beetroots.json │ ├── minecraft.birch_door.json │ ├── minecraft.birch_fence.json │ ├── minecraft.birch_fence_gate.json │ ├── minecraft.birch_stairs.json │ ├── minecraft.black_glazed_terracotta.json │ ├── minecraft.black_shulker_box.json │ ├── minecraft.blue_glazed_terracotta.json │ ├── minecraft.blue_shulker_box.json │ ├── minecraft.bone_block.json │ ├── minecraft.bookshelf.json │ ├── minecraft.brewing_stand.json │ ├── minecraft.brick_block.json │ ├── minecraft.brick_stairs.json │ ├── minecraft.brown_glazed_terracotta.json │ ├── minecraft.brown_mushroom.json │ ├── minecraft.brown_mushroom_block.json │ ├── minecraft.brown_shulker_box.json │ ├── minecraft.cactus.json │ ├── minecraft.cake.json │ ├── minecraft.carpet.json │ ├── minecraft.carrots.json │ ├── minecraft.cauldron.json │ ├── minecraft.chain_command_block.json │ ├── minecraft.chest.json │ ├── minecraft.chorus_flower.json │ ├── minecraft.chorus_plant.json │ ├── minecraft.clay.json │ ├── minecraft.coal_block.json │ ├── minecraft.coal_ore.json │ ├── minecraft.cobblestone.json │ ├── minecraft.cobblestone_wall.json │ ├── minecraft.cocoa.json │ ├── minecraft.command_block.json │ ├── minecraft.concrete.json │ ├── minecraft.concrete_powder.json │ ├── minecraft.crafting_table.json │ ├── minecraft.cyan_glazed_terracotta.json │ ├── minecraft.cyan_shulker_box.json │ ├── minecraft.dark_oak_door.json │ ├── minecraft.dark_oak_fence.json │ ├── minecraft.dark_oak_fence_gate.json │ ├── minecraft.dark_oak_stairs.json │ ├── minecraft.daylight_detector.json │ ├── minecraft.daylight_detector_inverted.json │ ├── minecraft.deadbush.json │ ├── minecraft.detector_rail.json │ ├── minecraft.diamond_block.json │ ├── minecraft.diamond_ore.json │ ├── minecraft.dirt.json │ ├── minecraft.dispenser.json │ ├── minecraft.double_plant.json │ ├── minecraft.double_stone_slab.json │ ├── minecraft.double_stone_slab2.json │ ├── minecraft.double_wooden_slab.json │ ├── minecraft.dragon_egg.json │ ├── minecraft.dropper.json │ ├── minecraft.emerald_block.json │ ├── minecraft.emerald_ore.json │ ├── minecraft.enchanting_table.json │ ├── minecraft.end_bricks.json │ ├── minecraft.end_gateway.json │ ├── minecraft.end_portal.json │ ├── minecraft.end_portal_frame.json │ ├── minecraft.end_rod.json │ ├── minecraft.end_stone.json │ ├── minecraft.ender_chest.json │ ├── minecraft.farmland.json │ ├── minecraft.fence.json │ ├── minecraft.fence_gate.json │ ├── minecraft.fire.json │ ├── minecraft.flower_pot.json │ ├── minecraft.flowing_lava.json │ ├── minecraft.flowing_water.json │ ├── minecraft.frosted_ice.json │ ├── minecraft.furnace.json │ ├── minecraft.glass.json │ ├── minecraft.glass_pane.json │ ├── minecraft.glowstone.json │ ├── minecraft.gold_block.json │ ├── minecraft.gold_ore.json │ ├── minecraft.golden_rail.json │ ├── minecraft.grass.json │ ├── minecraft.grass_path.json │ ├── minecraft.gravel.json │ ├── minecraft.gray_glazed_terracotta.json │ ├── minecraft.gray_shulker_box.json │ ├── minecraft.green_glazed_terracotta.json │ ├── minecraft.green_shulker_box.json │ ├── minecraft.hardened_clay.json │ ├── minecraft.hay_block.json │ ├── minecraft.heavy_weighted_pressure_plate.json │ ├── minecraft.hopper.json │ ├── minecraft.ice.json │ ├── minecraft.iron_bars.json │ ├── minecraft.iron_block.json │ ├── minecraft.iron_door.json │ ├── minecraft.iron_ore.json │ ├── minecraft.iron_trapdoor.json │ ├── minecraft.jukebox.json │ ├── minecraft.jungle_door.json │ ├── minecraft.jungle_fence.json │ ├── minecraft.jungle_fence_gate.json │ ├── minecraft.jungle_stairs.json │ ├── minecraft.ladder.json │ ├── minecraft.lapis_block.json │ ├── minecraft.lapis_ore.json │ ├── minecraft.lava.json │ ├── minecraft.leaves.json │ ├── minecraft.leaves2.json │ ├── minecraft.lever.json │ ├── minecraft.light_blue_glazed_terracotta.json │ ├── minecraft.light_blue_shulker_box.json │ ├── minecraft.light_weighted_pressure_plate.json │ ├── minecraft.lime_glazed_terracotta.json │ ├── minecraft.lime_shulker_box.json │ ├── minecraft.lit_furnace.json │ ├── minecraft.lit_pumpkin.json │ ├── minecraft.lit_redstone_lamp.json │ ├── minecraft.lit_redstone_ore.json │ ├── minecraft.log.json │ ├── minecraft.log2.json │ ├── minecraft.magenta_glazed_terracotta.json │ ├── minecraft.magenta_shulker_box.json │ ├── minecraft.magma.json │ ├── minecraft.melon_block.json │ ├── minecraft.melon_stem.json │ ├── minecraft.mob_spawner.json │ ├── minecraft.monster_egg.json │ ├── minecraft.mossy_cobblestone.json │ ├── minecraft.mycelium.json │ ├── minecraft.nether_brick.json │ ├── minecraft.nether_brick_fence.json │ ├── minecraft.nether_brick_stairs.json │ ├── minecraft.nether_wart.json │ ├── minecraft.nether_wart_block.json │ ├── minecraft.netherrack.json │ ├── minecraft.noteblock.json │ ├── minecraft.oak_stairs.json │ ├── minecraft.observer.json │ ├── minecraft.obsidian.json │ ├── minecraft.orange_glazed_terracotta.json │ ├── minecraft.orange_shulker_box.json │ ├── minecraft.packed_ice.json │ ├── minecraft.pink_glazed_terracotta.json │ ├── minecraft.pink_shulker_box.json │ ├── minecraft.piston.json │ ├── minecraft.piston_extension.json │ ├── minecraft.piston_head.json │ ├── minecraft.planks.json │ ├── minecraft.portal.json │ ├── minecraft.potatoes.json │ ├── minecraft.powered_comparator.json │ ├── minecraft.powered_repeater.json │ ├── minecraft.prismarine.json │ ├── minecraft.pumpkin.json │ ├── minecraft.pumpkin_stem.json │ ├── minecraft.purple_glazed_terracotta.json │ ├── minecraft.purple_shulker_box.json │ ├── minecraft.purpur_block.json │ ├── minecraft.purpur_double_slab.json │ ├── minecraft.purpur_pillar.json │ ├── minecraft.purpur_slab.json │ ├── minecraft.purpur_stairs.json │ ├── minecraft.quartz_block.json │ ├── minecraft.quartz_ore.json │ ├── minecraft.quartz_stairs.json │ ├── minecraft.rail.json │ ├── minecraft.red_flower.json │ ├── minecraft.red_glazed_terracotta.json │ ├── minecraft.red_mushroom.json │ ├── minecraft.red_mushroom_block.json │ ├── minecraft.red_nether_brick.json │ ├── minecraft.red_sandstone.json │ ├── minecraft.red_sandstone_stairs.json │ ├── minecraft.red_shulker_box.json │ ├── minecraft.redstone_block.json │ ├── minecraft.redstone_lamp.json │ ├── minecraft.redstone_ore.json │ ├── minecraft.redstone_torch.json │ ├── minecraft.redstone_wire.json │ ├── minecraft.reeds.json │ ├── minecraft.repeating_command_block.json │ ├── minecraft.sand.json │ ├── minecraft.sandstone.json │ ├── minecraft.sandstone_stairs.json │ ├── minecraft.sapling.json │ ├── minecraft.sea_lantern.json │ ├── minecraft.silver_glazed_terracotta.json │ ├── minecraft.silver_shulker_box.json │ ├── minecraft.skull.json │ ├── minecraft.slime.json │ ├── minecraft.snow.json │ ├── minecraft.snow_layer.json │ ├── minecraft.soul_sand.json │ ├── minecraft.sponge.json │ ├── minecraft.spruce_door.json │ ├── minecraft.spruce_fence.json │ ├── minecraft.spruce_fence_gate.json │ ├── minecraft.spruce_stairs.json │ ├── minecraft.stained_glass.json │ ├── minecraft.stained_glass_pane.json │ ├── minecraft.stained_hardened_clay.json │ ├── minecraft.standing_banner.json │ ├── minecraft.standing_sign.json │ ├── minecraft.sticky_piston.json │ ├── minecraft.stone.json │ ├── minecraft.stone_brick_stairs.json │ ├── minecraft.stone_button.json │ ├── minecraft.stone_pressure_plate.json │ ├── minecraft.stone_slab.json │ ├── minecraft.stone_slab2.json │ ├── minecraft.stone_stairs.json │ ├── minecraft.stonebrick.json │ ├── minecraft.structure_block.json │ ├── minecraft.structure_void.json │ ├── minecraft.tallgrass.json │ ├── minecraft.tnt.json │ ├── minecraft.torch.json │ ├── minecraft.trapdoor.json │ ├── minecraft.trapped_chest.json │ ├── minecraft.tripwire.json │ ├── minecraft.tripwire_hook.json │ ├── minecraft.unlit_redstone_torch.json │ ├── minecraft.unpowered_comparator.json │ ├── minecraft.unpowered_repeater.json │ ├── minecraft.vine.json │ ├── minecraft.wall_banner.json │ ├── minecraft.wall_sign.json │ ├── minecraft.water.json │ ├── minecraft.waterlily.json │ ├── minecraft.web.json │ ├── minecraft.wheat.json │ ├── minecraft.white_glazed_terracotta.json │ ├── minecraft.white_shulker_box.json │ ├── minecraft.wooden_button.json │ ├── minecraft.wooden_door.json │ ├── minecraft.wooden_pressure_plate.json │ ├── minecraft.wooden_slab.json │ ├── minecraft.wool.json │ ├── minecraft.yellow_flower.json │ ├── minecraft.yellow_glazed_terracotta.json │ └── minecraft.yellow_shulker_box.json │ ├── lang │ └── en_us.lang │ ├── mobs │ ├── 100.json │ ├── 101.json │ ├── 120.json │ ├── 30.json │ ├── 50.json │ ├── 51.json │ ├── 52.json │ ├── 53.json │ ├── 54.json │ ├── 55.json │ ├── 56.json │ ├── 57.json │ ├── 58.json │ ├── 59.json │ ├── 60.json │ ├── 61.json │ ├── 62.json │ ├── 63.json │ ├── 64.json │ ├── 65.json │ ├── 66.json │ ├── 67.json │ ├── 68.json │ ├── 90.json │ ├── 91.json │ ├── 92.json │ ├── 93.json │ ├── 94.json │ ├── 95.json │ ├── 96.json │ ├── 97.json │ ├── 98.json │ └── 99.json │ ├── recipes │ ├── item.physicsgun.json │ └── item.physicstoolgun.json │ ├── sounds.json │ ├── sounds │ ├── toolgun_beam0.ogg │ ├── toolgun_beam1.ogg │ └── toolgun_scroll.ogg │ └── textures │ ├── gui │ ├── changelog.png │ ├── defaultchangelog.png │ └── welcome_gui.png │ ├── physics_gun_colorable.png │ ├── tool_gun.png │ └── tool_gun_screen.png ├── logo.png ├── mcmod.info └── pack.mcmeta /.gitignore: -------------------------------------------------------------------------------- 1 | ## Based on GitHub's Eclipse .gitignore 2 | 3 | run/ 4 | .gradle/ 5 | build/ 6 | gradle-app.setting 7 | 8 | ## IntelliJ IDEA 9 | 10 | .idea/ 11 | *.iml 12 | *.iws 13 | *.ipr 14 | 15 | ## Eclipse 16 | 17 | eclipse/ 18 | *.pydevproject 19 | .project 20 | .metadata 21 | bin/ 22 | tmp/ 23 | *.tmp 24 | *.bak 25 | *.swp 26 | *~.nib 27 | local.properties 28 | .classpath 29 | .settings/ 30 | .loadpath 31 | 32 | # External tool builders 33 | .externalToolBuilders/ 34 | 35 | # Locally stored "Eclipse launch configurations" 36 | *.launch 37 | 38 | # CDT-specific 39 | .cproject 40 | 41 | # PDT-specific 42 | .buildpath 43 | 44 | # eclipse 45 | bin 46 | *.launch 47 | .settings 48 | .metadata 49 | .classpath 50 | .project 51 | 52 | # idea 53 | out 54 | *.ipr 55 | *.iws 56 | *.iml 57 | .idea 58 | 59 | # gradle 60 | build 61 | .gradle 62 | 63 | # other 64 | eclipse 65 | run 66 | 67 | upload.sh -------------------------------------------------------------------------------- /.patchnotes/0.4.0.MD: -------------------------------------------------------------------------------- 1 | # 'The Fix' update (0.4.0) 2 | ## Major changes 3 | * Removed multi-threading. The mod exclusively runs in single threaded mode. 4 | * Improved general stability. 5 | * Disabled the TickRate setting. 6 | ## Major fixes 7 | * Fixed concurrency load/save crashes, meaning the game shouldn't explode if you load/save a world. 8 | * Fixed* worlds crashing if physics entities existed. 9 | * Fixed several crashes that happened when running the Native Physics. 10 | -------------------------------------------------------------------------------- /.patchnotes/0.4.2.MD: -------------------------------------------------------------------------------- 1 | ### Minor update 2 | * Fixed Align tool duplicating blocks. 3 | * Fixed when saving world while running Native physics. 4 | * Added block caching to physics entity blocks. 5 | * Added Natural Death property to physics entities. -------------------------------------------------------------------------------- /.patchnotes/0.5.0.MD: -------------------------------------------------------------------------------- 1 | # Features 2 | * Ported to **1.12.2**. 3 | * Falling blocks are now spawned as Physics blocks. 4 | * Generated new Physics blocks for Minecraft 1.12.2. 5 | * Introduced collision-less Physics blocks, meaning mobs/players can walk through them. Used for Falling Physics blocks. 6 | * EntityCollisionResponse - Mobs/Players can now interact with Physics Blocks, off by default. 7 | * Removed "Remove" tool from the Tooling Master. Replaced by "Align" tool. 8 | * Added Dynamic Light support to blocks with light values. Meaning any block that inherently glows in the game, will glow as a Physics block. (AtomicStryker's **Dynamic Light** mod is required) 9 | # Improvements 10 | * Physics blocks don't drop items anymore, they re-align. 11 | * Game spawned Physics blocks disappear faster. 12 | * General memory usage. 13 | * The mod's update checker works together with Forge's version checker. 14 | * Added BlockInterpolation setting, under Render category. 15 | * Increased default explosion force. 16 | * Improved memory management for both physics engines. 17 | * Native physics stability improvements. 18 | * General codebase improvements. 19 | # Fixes 20 | * RigidBody mechanics are once again saved/loaded on Physics blocks. 21 | * Fixed OSX crashing under Native physics. 22 | * Fixed not closing certain InputStreams. -------------------------------------------------------------------------------- /.patchnotes/0.5.2.MD: -------------------------------------------------------------------------------- 1 | ## New 2 | * Added Game.WaterForceMultiplier settings, used to control water flow strength. 3 | ## Improvements 4 | * Block positions are now pooled, improved perf. 5 | * Entity to entity collision improved. 6 | * Improved block render culling. 7 | * Re-implemented Environment Response Mechanic, water streams can move blocks. 8 | * Blocks can now die from fire or lava. 9 | * Terrain collision now uses block metadata friction, if available. 10 | ## Fixes 11 | * Fixed block position leak. Thanks to Cadiboo. 12 | * Fixed projectiles crashing Entity Collision Response. 13 | * Fixed Collision Response not working due to proper entity collision. 14 | * Fixed Physics blocks passing through the terrain while running Native physics. -------------------------------------------------------------------------------- /.patchnotes/0.5.5.MD: -------------------------------------------------------------------------------- 1 | ## New 2 | * Block inheritance, blocks with the BlockInheritance action will inherit certain features from their real counterparts, e.g., Cactus blocks dealing damage. 3 | ## Improvements 4 | * Lowered Game.WaterForceMultiplier default value. 5 | ## Fixes 6 | * Fixed some blocks not having any physics collision. 7 | * Fixed all RigidBody Actions being disabled after first block alignment. 8 | * Fixed Items not rendering on Forge versions above 14.23.5.2768. -------------------------------------------------------------------------------- /.patchnotes/0.5.6.MD: -------------------------------------------------------------------------------- 1 | ## Improvements 2 | * Replaced vintage .ini settings with forge's native config. New configuration file is "glibysphysics.cfg" under /config folder. 3 | * Added comments to configuration. -------------------------------------------------------------------------------- /.patchnotes/0.5.7.MD: -------------------------------------------------------------------------------- 1 | ## Fixes 2 | * Fixed entity class caching causing NullPointerException. -------------------------------------------------------------------------------- /.patchnotes/0.5.8.MD: -------------------------------------------------------------------------------- 1 | ## Features 2 | * Added new physics block culling feature, aligns oldests block if above allowed limit. 3 | * New Game configuration value called: maxPhysicsBlocks (default: 512). -------------------------------------------------------------------------------- /.patchnotes/0.5.9.MD: -------------------------------------------------------------------------------- 1 | ## Features 2 | * Upgraded physics engine implementation. Bullet Physics 2.87 to 3. Should significantly increase physics performance and allow for more physics entities. 3 | ## Improvements 4 | * Avoided expensive rigidbody data allocations per entity tick. 5 | ## Fixes 6 | * The new physics engine fixes blocks falling through the ground on client-side world reload. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Project Icon](https://raw.githubusercontent.com/Gliby/physics/1.12.2/art/logowithbackground-rounded-small.png?style=for-the-badge&logo=appveyor) 2 | # Gliby's Physics 3 | ![GitHub license](https://img.shields.io/github/license/Gliby/physics?style=for-the-badge&logo=appveyor) 4 | ![GitHub issues](https://img.shields.io/github/issues/Gliby/physics?style=for-the-badge&logo=appveyor) 5 | [![CurseForge download](http://cf.way2muchnoise.eu/full_298126_downloads.svg?badge_style=for_the_badge)](https://www.curseforge.com/minecraft/mc-mods/glibys-physics) 6 | 7 | Gliby's Physics is a Minecraft Forge modification which adds realistic physics simulation. (1.12.2 branch) 8 | 9 | 10 | ### License 11 | 12 | Gliby's Physics is licensed under GNU GPLv3, a free and open-source license. For more information, please see the [license file](https://github.com/Gliby/physics/blob/1.12.2/LICENSE). -------------------------------------------------------------------------------- /art/logo_ratiod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/art/logo_ratiod.png -------------------------------------------------------------------------------- /art/logowithbackground-rounded-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/art/logowithbackground-rounded-small.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # This is required to provide enough memory for the Minecraft decompilation process. 2 | org.gradle.jvmargs=-Xmx3G 3 | mod_version=0.5.9 4 | 5 | # Curseforge stuff. 6 | curse_type=beta 7 | projectId=298126 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 14 11:10:44 EEST 2019 2 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip 3 | distributionBase=GRADLE_USER_HOME 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /lib/gdx-bullet-natives.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/lib/gdx-bullet-natives.jar -------------------------------------------------------------------------------- /lib/gdx-bullet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/lib/gdx-bullet.jar -------------------------------------------------------------------------------- /lib/gdx.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/lib/gdx.jar -------------------------------------------------------------------------------- /lib/nativebullet-natives.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/lib/nativebullet-natives.jar -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/ContactDestroyedCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx; 25 | 26 | /** 27 | * Called when contact has been destroyed between two collision objects. 28 | * 29 | * @author jezek2 30 | * @see BulletGlobals#setContactDestroyedCallback 31 | */ 32 | public abstract class ContactDestroyedCallback { 33 | 34 | public abstract boolean contactDestroyed(Object userPersistentData); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/ContactProcessedCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx; 25 | 26 | import com.bulletphysicsx.collision.narrowphase.ManifoldPoint; 27 | 28 | /** 29 | * Called when existing contact between two collision objects has been processed. 30 | * 31 | * @author jezek2 32 | * @see BulletGlobals#setContactProcessedCallback 33 | */ 34 | public abstract class ContactProcessedCallback { 35 | 36 | public abstract boolean contactProcessed(ManifoldPoint cp, Object body0, Object body1); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/broadphase/CollisionAlgorithmConstructionInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.broadphase; 25 | 26 | import com.bulletphysicsx.collision.narrowphase.PersistentManifold; 27 | 28 | /** 29 | * Construction information for collision algorithms. 30 | * 31 | * @author jezek2 32 | */ 33 | public class CollisionAlgorithmConstructionInfo { 34 | 35 | public Dispatcher dispatcher1; 36 | public PersistentManifold manifold; 37 | 38 | //public int getDispatcherId(); 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/broadphase/DispatchFunc.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.broadphase; 25 | 26 | /** 27 | * @author jezek2 28 | */ 29 | public enum DispatchFunc { 30 | 31 | DISPATCH_DISCRETE(1), 32 | DISPATCH_CONTINUOUS(2); 33 | 34 | private int value; 35 | 36 | private DispatchFunc(int value) { 37 | this.value = value; 38 | } 39 | 40 | public int getValue() { 41 | return value; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/broadphase/OverlapCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.broadphase; 25 | 26 | /** 27 | * OverlapCallback is used when processing all overlapping pairs in broadphase. 28 | * 29 | * @author jezek2 30 | * @see OverlappingPairCache#processAllOverlappingPairs 31 | */ 32 | public abstract class OverlapCallback { 33 | 34 | //return true for deletion of the pair 35 | public abstract boolean processOverlap(BroadphasePair pair); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/broadphase/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Broadphase collision code for fast determining of overlapping pairs. 26 | */ 27 | package com.bulletphysicsx.collision.broadphase; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/dispatch/CollisionObjectType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.dispatch; 25 | 26 | /** 27 | * Collision object type. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum CollisionObjectType { 32 | COLLISION_OBJECT, // =1 33 | RIGID_BODY, 34 | // CO_GHOST_OBJECT keeps track of all objects overlapping its AABB and that pass its collision filter 35 | // It is useful for collision sensors, explosion objects, character controller etc. 36 | GHOST_OBJECT, 37 | SOFT_BODY 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/dispatch/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Dispatching code for collisions between various shapes. 26 | */ 27 | package com.bulletphysicsx.collision.dispatch; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/narrowphase/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Narrow-phase collision. 26 | */ 27 | package com.bulletphysicsx.collision.narrowphase; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/ConeShapeX.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | /** 27 | * ConeShape implements a cone shape, around the X axis. 28 | * 29 | * @author jezek2 30 | */ 31 | public class ConeShapeX extends ConeShape { 32 | 33 | public ConeShapeX(float radius, float height) { 34 | super(radius, height); 35 | setConeUpIndex(0); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/ConeShapeZ.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | /** 27 | * ConeShape implements a cone shape, around the Z axis. 28 | * 29 | * @author jezek2 30 | */ 31 | public class ConeShapeZ extends ConeShape { 32 | 33 | public ConeShapeZ(float radius, float height) { 34 | super(radius, height); 35 | setConeUpIndex(2); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/InternalTriangleIndexCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | import javax.vecmath.Vector3f; 27 | 28 | /** 29 | * Callback for internal processing of triangles. 30 | * 31 | * @author jezek2 32 | * @see StridingMeshInterface#internalProcessAllTriangles 33 | */ 34 | public abstract class InternalTriangleIndexCallback { 35 | 36 | public abstract void internalProcessTriangleIndex(Vector3f[] triangle, int partId, int triangleIndex); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/NodeOverlapCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | /** 27 | * Callback for operating with {@link OptimizedBvh}. 28 | * 29 | * @author jezek2 30 | */ 31 | public abstract class NodeOverlapCallback { 32 | 33 | public abstract void processNode(int subPart, int triangleIndex); 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/ScalarType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | /** 27 | * Scalar type, used when accessing triangle mesh data. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum ScalarType { 32 | FLOAT, 33 | DOUBLE, 34 | INTEGER, 35 | SHORT, 36 | FIXEDPOINT88 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/TraversalMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes; 25 | 26 | /** 27 | * Traversal mode for {@link OptimizedBvh}. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum TraversalMode { 32 | STACKLESS, 33 | STACKLESS_CACHE_FRIENDLY, 34 | RECURSIVE 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Collision shapes. 26 | */ 27 | package com.bulletphysicsx.collision.shapes; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/voxel/VoxelInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.bulletphysicsx.collision.shapes.voxel; 18 | 19 | /** 20 | * The collision data for a single Voxel. 21 | * 22 | * @author Immortius 23 | */ 24 | public interface VoxelInfo { 25 | 26 | /** 27 | * @return Whether the voxel can be collided with at all. 28 | */ 29 | boolean isColliding(); 30 | 31 | /** 32 | * @return The user data associated with this voxel. I would suggest at 33 | * least the position of the voxel. 34 | */ 35 | Object getUserData(); 36 | 37 | /** 38 | * @return The collision shape for the voxel. Reuse these as much as 39 | * possible. 40 | */ 41 | Object getCollisionShape(); 42 | 43 | /** 44 | * @return The offset of the collision shape from the center of the voxel. 45 | */ 46 | Object getCollisionOffset(); 47 | 48 | /** 49 | * @return Does this voxel block rigid bodies 50 | */ 51 | boolean isBlocking(); 52 | 53 | /** 54 | * @return 55 | */ 56 | float getFriction(); 57 | 58 | /** 59 | * @return 60 | */ 61 | float getRestitution(); 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/collision/shapes/voxel/VoxelPhysicsWorld.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Voxel world extension (c) 2012 Steven Brooker 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.collision.shapes.voxel; 25 | 26 | /** 27 | * Interface for the provider of Voxel physics information. Primarily it has to provide what collider is present in each 28 | * grid cell. 29 | * 30 | * @author Immortius 31 | */ 32 | public interface VoxelPhysicsWorld { 33 | /** 34 | * @param x 35 | * @param y 36 | * @param z 37 | * @return The collision shape in this area, or null if there is no collision. 38 | */ 39 | VoxelInfo getCollisionShapeAt(int x, int y, int z); 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/demos/applet/Light.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Software OpenGL-like 3D renderer (c) 2008 Martin Dvorak 3 | * 4 | * This software is provided 'as-is', without any express or implied warranty. 5 | * In no event will the authors be held liable for any damages arising from 6 | * the use of this software. 7 | * 8 | * Permission is granted to anyone to use this software for any purpose, 9 | * including commercial applications, and to alter it and redistribute it 10 | * freely, subject to the following restrictions: 11 | * 12 | * 1. The origin of this software must not be misrepresented; you must not 13 | * claim that you wrote the original software. If you use this software 14 | * in a product, an acknowledgment in the product documentation would be 15 | * appreciated but is not required. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | */ 20 | 21 | package com.bulletphysicsx.demos.applet; 22 | 23 | import javax.vecmath.Vector4f; 24 | 25 | /** 26 | * @author jezek2 27 | */ 28 | public class Light { 29 | 30 | public final Vector4f ambient = new Vector4f(0f, 0f, 0f, 1f); 31 | public final Vector4f diffuse = new Vector4f(1f, 1f, 1f, 1f); 32 | public final Vector4f specular = new Vector4f(1f, 1f, 1f, 1f); 33 | public final Vector4f position = new Vector4f(0f, 0f, 1f, 0f); 34 | public boolean enabled = false; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/demos/applet/Span.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Software OpenGL-like 3D renderer (c) 2008 Martin Dvorak 3 | * 4 | * This software is provided 'as-is', without any express or implied warranty. 5 | * In no event will the authors be held liable for any damages arising from 6 | * the use of this software. 7 | * 8 | * Permission is granted to anyone to use this software for any purpose, 9 | * including commercial applications, and to alter it and redistribute it 10 | * freely, subject to the following restrictions: 11 | * 12 | * 1. The origin of this software must not be misrepresented; you must not 13 | * claim that you wrote the original software. If you use this software 14 | * in a product, an acknowledgment in the product documentation would be 15 | * appreciated but is not required. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | */ 20 | 21 | package com.bulletphysicsx.demos.applet; 22 | 23 | /** 24 | * @author jezek2 25 | */ 26 | class Span { 27 | 28 | public int x1, x2; 29 | public float z1, z2; 30 | public short c1r, c1g, c1b; 31 | public short c2r, c2g, c2b; 32 | 33 | public Span prev, next; 34 | 35 | public void set(Span s) { 36 | x1 = s.x1; 37 | x2 = s.x2; 38 | z1 = s.z1; 39 | z2 = s.z2; 40 | c1r = s.c1r; 41 | c1g = s.c1g; 42 | c1b = s.c1b; 43 | c2r = s.c2r; 44 | c2g = s.c2g; 45 | c2b = s.c2b; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/demos/bsp/exporter.diff: -------------------------------------------------------------------------------- 1 | --- BspDemo.cpp.orig 2007-12-10 03:18:38.000000000 +0100 2 | +++ BspDemo.cpp 2008-01-26 10:53:19.497747800 +0100 3 | @@ -48,16 +48,26 @@ 4 | class BspToBulletConverter : public BspConverter 5 | { 6 | BspDemo* m_demoApp; 7 | + FILE *f; 8 | 9 | public: 10 | 11 | BspToBulletConverter(BspDemo* demoApp) 12 | :m_demoApp(demoApp) 13 | { 14 | + f = fopen("_export_bsp_", "wb"); 15 | } 16 | 17 | + virtual ~BspToBulletConverter() { 18 | + fclose(f); 19 | + } 20 | + 21 | virtual void addConvexVerticesCollider(btAlignedObjectArray& vertices, bool isEntity, const btVector3& entityTargetLocation) 22 | { 23 | + fprintf(f, "%d\n", vertices.size()); 24 | + for (int i=0; i 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics; 25 | 26 | import com.bulletphysicsx.collision.dispatch.CollisionWorld; 27 | import com.bulletphysicsx.linearmath.IDebugDraw; 28 | 29 | /** 30 | * Basic interface to allow actions such as vehicles and characters to be 31 | * updated inside a {@link DynamicsWorld}. 32 | * 33 | * @author tomrbryn 34 | */ 35 | public abstract class ActionInterface { 36 | 37 | public abstract void updateAction(CollisionWorld collisionWorld, float deltaTimeStep); 38 | 39 | public abstract void debugDraw(IDebugDraw debugDrawer); 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/DynamicsWorldType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics; 25 | 26 | /** 27 | * Dynamics world type. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum DynamicsWorldType { 32 | SIMPLE_DYNAMICS_WORLD, 33 | DISCRETE_DYNAMICS_WORLD, 34 | CONTINUOUS_DYNAMICS_WORLD 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/InternalTickCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics; 25 | 26 | /** 27 | * Callback called for each internal tick. 28 | * 29 | * @author jezek2 30 | * @see DynamicsWorld#setInternalTickCallback 31 | */ 32 | public abstract class InternalTickCallback { 33 | 34 | public abstract void internalTick(DynamicsWorld world, float timeStep); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/ContactConstraintEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.constraintsolver; 25 | 26 | /** 27 | * TODO: name 28 | * 29 | * @author jezek2 30 | */ 31 | enum ContactConstraintEnum { 32 | DEFAULT_CONTACT_SOLVER_TYPE, 33 | CONTACT_SOLVER_TYPE1, 34 | CONTACT_SOLVER_TYPE2, 35 | USER_CONTACT_SOLVER_TYPE1, 36 | MAX_CONTACT_SOLVER_TYPES 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/ContactSolverFunc.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.constraintsolver; 25 | 26 | import com.bulletphysicsx.collision.narrowphase.ManifoldPoint; 27 | import com.bulletphysicsx.dynamics.RigidBody; 28 | 29 | /** 30 | * Contact solving function. 31 | * 32 | * @author jezek2 33 | */ 34 | public abstract class ContactSolverFunc { 35 | 36 | public abstract float resolveContact(RigidBody body1, RigidBody body2, ManifoldPoint contactPoint, ContactSolverInfo info); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/SolverConstraintType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.constraintsolver; 25 | 26 | /** 27 | * Solver constraint type. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum SolverConstraintType { 32 | SOLVER_CONTACT_1D, 33 | SOLVER_FRICTION_1D 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/SolverMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.constraintsolver; 25 | 26 | /** 27 | * Solver flags. 28 | * 29 | * @author jezek2 30 | */ 31 | public class SolverMode { 32 | 33 | public static final int SOLVER_RANDMIZE_ORDER = 1; 34 | public static final int SOLVER_FRICTION_SEPARATE = 2; 35 | public static final int SOLVER_USE_WARMSTARTING = 4; 36 | public static final int SOLVER_CACHE_FRIENDLY = 8; 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/TypedConstraintType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.constraintsolver; 25 | 26 | /** 27 | * Typed constraint type. 28 | * 29 | * @author jezek2 30 | */ 31 | public enum TypedConstraintType { 32 | POINT2POINT_CONSTRAINT_TYPE, 33 | HINGE_CONSTRAINT_TYPE, 34 | CONETWIST_CONSTRAINT_TYPE, 35 | D6_CONSTRAINT_TYPE, 36 | VEHICLE_CONSTRAINT_TYPE, 37 | SLIDER_CONSTRAINT_TYPE 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/constraintsolver/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Constraints and solvers. 26 | */ 27 | package com.bulletphysicsx.dynamics.constraintsolver; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * DynamicsWorld and RigidBody. 26 | */ 27 | package com.bulletphysicsx.dynamics; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/vehicle/VehicleRaycaster.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.vehicle; 25 | 26 | import javax.vecmath.Vector3f; 27 | 28 | /** 29 | * VehicleRaycaster is provides interface for between vehicle simulation and raycasting. 30 | * 31 | * @author jezek2 32 | */ 33 | public abstract class VehicleRaycaster { 34 | 35 | public abstract Object castRay(Vector3f from, Vector3f to, VehicleRaycasterResult result); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/vehicle/VehicleRaycasterResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.vehicle; 25 | 26 | import javax.vecmath.Vector3f; 27 | 28 | /** 29 | * Vehicle raycaster result. 30 | * 31 | * @author jezek2 32 | */ 33 | public class VehicleRaycasterResult { 34 | 35 | public final Vector3f hitPointInWorld = new Vector3f(); 36 | public final Vector3f hitNormalInWorld = new Vector3f(); 37 | public float distFraction = -1f; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/dynamics/vehicle/VehicleTuning.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.dynamics.vehicle; 25 | 26 | /** 27 | * Vehicle tuning parameters. 28 | * 29 | * @author jezek2 30 | */ 31 | public class VehicleTuning { 32 | 33 | public float suspensionStiffness = 5.88f; 34 | public float suspensionCompression = 0.83f; 35 | public float suspensionDamping = 0.88f; 36 | public float maxSuspensionTravelCm = 500f; 37 | public float frictionSlip = 10.5f; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/extras/gimpact/PlaneIntersectionType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * This source file is part of GIMPACT Library. 5 | * 6 | * For the latest info, see http://gimpact.sourceforge.net/ 7 | * 8 | * Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371. 9 | * email: projectileman@yahoo.com 10 | * 11 | * This software is provided 'as-is', without any express or implied warranty. 12 | * In no event will the authors be held liable for any damages arising from 13 | * the use of this software. 14 | * 15 | * Permission is granted to anyone to use this software for any purpose, 16 | * including commercial applications, and to alter it and redistribute it 17 | * freely, subject to the following restrictions: 18 | * 19 | * 1. The origin of this software must not be misrepresented; you must not 20 | * claim that you wrote the original software. If you use this software 21 | * in a product, an acknowledgment in the product documentation would be 22 | * appreciated but is not required. 23 | * 2. Altered source versions must be plainly marked as such, and must not be 24 | * misrepresented as being the original software. 25 | * 3. This notice may not be removed or altered from any source distribution. 26 | */ 27 | 28 | package com.bulletphysicsx.extras.gimpact; 29 | 30 | /** 31 | * @author jezek2 32 | */ 33 | enum PlaneIntersectionType { 34 | BACK_PLANE, 35 | COLLIDE_PLANE, 36 | FRONT_PLANE 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/extras/gimpact/ShapeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * This source file is part of GIMPACT Library. 5 | * 6 | * For the latest info, see http://gimpact.sourceforge.net/ 7 | * 8 | * Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371. 9 | * email: projectileman@yahoo.com 10 | * 11 | * This software is provided 'as-is', without any express or implied warranty. 12 | * In no event will the authors be held liable for any damages arising from 13 | * the use of this software. 14 | * 15 | * Permission is granted to anyone to use this software for any purpose, 16 | * including commercial applications, and to alter it and redistribute it 17 | * freely, subject to the following restrictions: 18 | * 19 | * 1. The origin of this software must not be misrepresented; you must not 20 | * claim that you wrote the original software. If you use this software 21 | * in a product, an acknowledgment in the product documentation would be 22 | * appreciated but is not required. 23 | * 2. Altered source versions must be plainly marked as such, and must not be 24 | * misrepresented as being the original software. 25 | * 3. This notice may not be removed or altered from any source distribution. 26 | */ 27 | 28 | package com.bulletphysicsx.extras.gimpact; 29 | 30 | /** 31 | * @author jezek2 32 | */ 33 | enum ShapeType { 34 | COMPOUND_SHAPE, 35 | TRIMESH_SHAPE_PART, 36 | TRIMESH_SHAPE 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/extras/gimpact/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Provides support for moving concave triangle meshes. 26 | */ 27 | package com.bulletphysicsx.extras.gimpact; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/IntUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Voxel world extension (c) 2012 Steven Brooker 3 | * 4 | * This software is provided 'as-is', without any express or implied warranty. 5 | * In no event will the authors be held liable for any damages arising from 6 | * the use of this software. 7 | * 8 | * Permission is granted to anyone to use this software for any purpose, 9 | * including commercial applications, and to alter it and redistribute it 10 | * freely, subject to the following restrictions: 11 | * 12 | * 1. The origin of this software must not be misrepresented; you must not 13 | * claim that you wrote the original software. If you use this software 14 | * in a product, an acknowledgment in the product documentation would be 15 | * appreciated but is not required. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | */ 20 | 21 | package com.bulletphysicsx.linearmath; 22 | 23 | /** 24 | * @author Immortius 25 | */ 26 | public final class IntUtil { 27 | private IntUtil() { 28 | } 29 | 30 | public static int floorToInt(float val) { 31 | int i = (int) val; 32 | return (val < 0 && val != i) ? i - 1 : i; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/convexhull/HullFlags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Stan Melax Convex Hull Computation 5 | * Copyright (c) 2008 Stan Melax http://www.melax.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.linearmath.convexhull; 25 | 26 | /** 27 | * Flags that affects convex hull generation, used in {@link HullDesc#flags}. 28 | * 29 | * @author jezek2 30 | */ 31 | public class HullFlags { 32 | 33 | public static int TRIANGLES = 1 << 0; // report results as triangles, not polygons. 34 | public static int REVERSE_ORDER = 1 << 1; // reverse order of the triangle indices. 35 | public static int DEFAULT = TRIANGLES; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/convexhull/IntRef.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.linearmath.convexhull; 25 | 26 | /** 27 | * @author jezek2 28 | */ 29 | abstract class IntRef { 30 | 31 | public abstract int get(); 32 | 33 | public abstract void set(int value); 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/convexhull/PHullResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Stan Melax Convex Hull Computation 5 | * Copyright (c) 2008 Stan Melax http://www.melax.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | package com.bulletphysicsx.linearmath.convexhull; 25 | 26 | import javax.vecmath.Vector3f; 27 | 28 | import com.bulletphysicsx.util.IntArrayList; 29 | import com.bulletphysicsx.util.ObjectArrayList; 30 | 31 | /** 32 | * @author jezek2 33 | */ 34 | class PHullResult { 35 | 36 | public int vcount = 0; 37 | public int indexCount = 0; 38 | public int faceCount = 0; 39 | public ObjectArrayList vertices = null; 40 | public IntArrayList indices = new IntArrayList(); 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/convexhull/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Stan Melax Convex Hull Computation 5 | * Copyright (c) 2008 Stan Melax http://www.melax.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Convex Hull library for converting point clouds to polygonal representation. 26 | */ 27 | package com.bulletphysicsx.linearmath.convexhull; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/linearmath/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Vector math library. 26 | */ 27 | package com.bulletphysicsx.linearmath; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Contains global variables and callbacks. 26 | */ 27 | package com.bulletphysicsx; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/com/bulletphysicsx/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Java port of Bullet (c) 2008 Martin Dvorak 3 | * 4 | * Bullet Continuous Collision Detection and Physics Library 5 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 6 | * 7 | * This software is provided 'as-is', without any express or implied warranty. 8 | * In no event will the authors be held liable for any damages arising from 9 | * the use of this software. 10 | * 11 | * Permission is granted to anyone to use this software for any purpose, 12 | * including commercial applications, and to alter it and redistribute it 13 | * freely, subject to the following restrictions: 14 | * 15 | * 1. The origin of this software must not be misrepresented; you must not 16 | * claim that you wrote the original software. If you use this software 17 | * in a product, an acknowledgment in the product documentation would be 18 | * appreciated but is not required. 19 | * 2. Altered source versions must be plainly marked as such, and must not be 20 | * misrepresented as being the original software. 21 | * 3. This notice may not be removed or altered from any source distribution. 22 | */ 23 | 24 | /** 25 | * Java-specific utility classes. 26 | */ 27 | package com.bulletphysicsx.util; 28 | 29 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/gman/OSUtil.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.gman; 2 | 3 | public class OSUtil { 4 | 5 | public static OSUtil.EnumOS getOSType() { 6 | String s = System.getProperty("os.name").toLowerCase(); 7 | return s.contains( 8 | "win") ? OSUtil.EnumOS.WINDOWS 9 | : (s.contains( 10 | "mac") ? OSUtil.EnumOS.OSX 11 | : (s.contains( 12 | "solaris") 13 | ? OSUtil.EnumOS.SOLARIS 14 | : (s.contains( 15 | "sunos") ? OSUtil.EnumOS.SOLARIS 16 | : (s.contains("linux") ? OSUtil.EnumOS.LINUX 17 | : (s.contains("unix") 18 | ? OSUtil.EnumOS.LINUX 19 | : OSUtil.EnumOS.UNKNOWN))))); 20 | } 21 | 22 | public enum EnumOS { 23 | LINUX, SOLARIS, WINDOWS, OSX, UNKNOWN 24 | } 25 | } -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/gman/RawItem.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.gman; 2 | 3 | import gliby.minecraft.gman.client.render.RawItemRenderer; 4 | import net.minecraft.entity.EntityLivingBase; 5 | import net.minecraft.item.Item; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraftforge.fml.relauncher.Side; 8 | import net.minecraftforge.fml.relauncher.SideOnly; 9 | 10 | /** 11 | * @author Gliby 12 | */ 13 | public abstract class RawItem extends Item { 14 | 15 | @SideOnly(Side.CLIENT) 16 | private RawItemRenderer renderer; 17 | 18 | @Override 19 | public void onUsingTick(ItemStack stack, EntityLivingBase player, int count) { 20 | this.renderer.setOwner(player); 21 | super.onUsingTick(stack, player, count); 22 | } 23 | 24 | /** 25 | * @param itemRender 26 | */ 27 | @SideOnly(Side.CLIENT) 28 | public void setRenderer(RawItemRenderer itemRender) { 29 | this.renderer = itemRender; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/gman/ReflectionUtility.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.gman; 2 | 3 | import com.google.common.base.Predicate; 4 | import org.apache.commons.lang3.ArrayUtils; 5 | 6 | import java.lang.reflect.Field; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | public class ReflectionUtility { 11 | 12 | public List getSpecificFields(Object object, Predicate filter, T typeOfField) 13 | throws IllegalArgumentException, IllegalAccessException { 14 | Field[] fields = ArrayUtils.addAll(object.getClass().getFields(), object.getClass().getDeclaredFields()); 15 | List list = new ArrayList(); 16 | for (Field field : fields) { 17 | if (filter.apply(field)) { 18 | field.setAccessible(true); 19 | T fieldObject = (T) field.get(object); 20 | list.add(fieldObject); 21 | } 22 | } 23 | return list; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/gman/WorldUtility.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.gman; 2 | 3 | import net.minecraft.util.math.AxisAlignedBB; 4 | 5 | public class WorldUtility { 6 | 7 | public final static AxisAlignedBB MAX_BB = new AxisAlignedBB(Double.MAX_VALUE, Double.MAX_VALUE, 8 | Double.MAX_VALUE, -Double.MAX_VALUE, -Double.MAX_VALUE, -Double.MAX_VALUE); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/gman/io/MinecraftResourceLoader.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.gman.io; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.server.MinecraftServer; 5 | import net.minecraft.util.ResourceLocation; 6 | import net.minecraftforge.fml.relauncher.Side; 7 | import org.apache.logging.log4j.Logger; 8 | 9 | import java.io.FileNotFoundException; 10 | import java.io.IOException; 11 | import java.io.InputStream; 12 | 13 | public class MinecraftResourceLoader { 14 | 15 | public static InputStream getResource(Logger logger, Side side, ResourceLocation location) { 16 | if (side.isClient()) { 17 | Minecraft mc = Minecraft.getMinecraft(); 18 | try { 19 | return mc.getResourceManager().getResource(location).getInputStream(); 20 | } catch (FileNotFoundException e) { 21 | if (logger != null) 22 | logger.warn("Couldn't find resource: " + location); 23 | } catch (IOException e) { 24 | e.printStackTrace(); 25 | } 26 | } else { 27 | String fileLocation = "/assets/" + location.getResourceDomain() + "/" + location.getResourcePath(); 28 | return MinecraftServer.class.getResourceAsStream(fileLocation); 29 | } 30 | return null; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/VersionChanges.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import net.minecraft.client.renderer.texture.DynamicTexture; 5 | import net.minecraft.client.renderer.texture.TextureManager; 6 | import net.minecraft.util.ResourceLocation; 7 | 8 | import java.awt.image.BufferedImage; 9 | import java.util.ArrayList; 10 | 11 | public class VersionChanges { 12 | 13 | public String version; 14 | private BufferedImage image; 15 | 16 | private ResourceLocation cachedResource; 17 | @SerializedName("Changes") 18 | private ArrayList changes; 19 | 20 | public ResourceLocation getVersionImage(TextureManager manager) { 21 | if (image != null && cachedResource == null) { 22 | cachedResource = manager.getDynamicTextureLocation(version, new DynamicTexture(image)); 23 | image = null; 24 | } 25 | return cachedResource; 26 | } 27 | 28 | public VersionChanges setImage(BufferedImage image) { 29 | this.image = image; 30 | return this; 31 | } 32 | 33 | public VersionChanges setVersion(String version) { 34 | this.version = version; 35 | return this; 36 | } 37 | 38 | public ArrayList getChanges() { 39 | return changes; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/gui/GuiDebug.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.gui; 2 | 3 | import gliby.minecraft.physics.Physics; 4 | import gliby.minecraft.physics.client.PhysicsClient; 5 | import net.minecraftforge.client.event.RenderGameOverlayEvent; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | 8 | /** 9 | * 10 | */ 11 | public class GuiDebug { 12 | 13 | @SubscribeEvent 14 | public void render(RenderGameOverlayEvent.Text text) { 15 | PhysicsClient mf = Physics.getInstance().getClientProxy(); 16 | // if (text.getType() == ElementType.TEXT) { 17 | // // Moved to server, client doesn't have access to these values 18 | // // anymore :( 19 | // // text.right.add("Physics Updates Per Seconds: " + 20 | // // mf.getPhysicsWorld().getStepSimulator().getStepsPerSecond()); 21 | // // text.right.add("RigidBody Count: " + 22 | // // mf.getPhysicsWorld().getStepSimulator()tTYgetRigidBodies().size()); 23 | // } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/gui/GuiScreenWelcome.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.gui; 2 | 3 | import gliby.minecraft.physics.Physics; 4 | import net.minecraft.client.gui.GuiScreen; 5 | import net.minecraft.util.ResourceLocation; 6 | 7 | public class GuiScreenWelcome extends GuiScreen { 8 | 9 | ResourceLocation backgroundGui = new ResourceLocation(Physics.ID, "textures/gui/welcome_gui.png"); 10 | 11 | public void initGui() { 12 | } 13 | 14 | // texture size: 570, 382 15 | public void drawScreen(int mouseX, int mouseY, float partialTicks) { 16 | mc.renderEngine.bindTexture(backgroundGui); 17 | drawModalRectWithCustomSizedTexture(0, 0, 0, 0, 0, 0, 256, 256); 18 | super.drawScreen(mouseX, mouseY, partialTicks); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/gui/creator/mob/MobBlackList.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.gui.creator.mob; 2 | 3 | public class MobBlackList { 4 | 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/gui/options/GuiFactory.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.gui.options; 2 | 3 | import gliby.minecraft.physics.client.gui.creator.GuiScreenPhysicsCreator; 4 | import net.minecraft.client.Minecraft; 5 | import net.minecraft.client.gui.GuiScreen; 6 | import net.minecraftforge.fml.client.IModGuiFactory; 7 | 8 | import java.util.Set; 9 | 10 | public class GuiFactory implements IModGuiFactory { 11 | 12 | @Override 13 | public void initialize(Minecraft minecraftInstance) { 14 | 15 | } 16 | 17 | @Override 18 | public boolean hasConfigGui() { 19 | return true; 20 | } 21 | 22 | @Override 23 | public GuiScreen createConfigGui(GuiScreen parentScreen) { 24 | return new GuiScreenPhysicsCreator(parentScreen); 25 | } 26 | 27 | @Override 28 | public Set runtimeGuiCategories() { 29 | return null; 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/keybindings/EnumBinding.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.keybindings; 2 | 3 | import org.lwjgl.input.Keyboard; 4 | 5 | enum EnumBinding { 6 | 7 | FIRE("Fire", Keyboard.KEY_F, false, KeyFireEvent.class); 8 | 9 | public String name; 10 | public int defaultBind; 11 | public boolean repeating; 12 | public Class clazz; 13 | 14 | EnumBinding(String name, int defaultBind, boolean repeating, Class clazz) { 15 | this.name = name; 16 | this.clazz = clazz; 17 | this.defaultBind = defaultBind; 18 | this.repeating = repeating; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/keybindings/KeyEvent.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.keybindings; 2 | 3 | import net.minecraft.client.settings.KeyBinding; 4 | import net.minecraftforge.fml.relauncher.Side; 5 | import net.minecraftforge.fml.relauncher.SideOnly; 6 | 7 | @SideOnly(Side.CLIENT) 8 | public abstract class KeyEvent { 9 | 10 | public KeyBinding forgeKeyBinding; 11 | public EnumBinding keyBind; 12 | public int keyID = -1; 13 | public boolean repeating; 14 | 15 | public KeyEvent() { 16 | this.keyBind = getEnumBinding(); 17 | this.keyID = getEnumBinding().defaultBind; 18 | this.repeating = getEnumBinding().repeating; 19 | } 20 | 21 | public abstract void keyDown(KeyBinding kb, boolean tickEnd, boolean isRepeat); 22 | 23 | public abstract void keyUp(KeyBinding kb, boolean tickEnd); 24 | 25 | 26 | public abstract EnumBinding getEnumBinding(); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/render/lighting/AtomicStrykerLight.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.render.lighting; 2 | 3 | 4 | import atomicstryker.dynamiclights.client.DynamicLights; 5 | import atomicstryker.dynamiclights.client.IDynamicLightSource; 6 | import net.minecraft.entity.Entity; 7 | 8 | public class AtomicStrykerLight implements gliby.minecraft.physics.client.render.lighting.IDynamicLightHandler { 9 | 10 | @Override 11 | public void create(Entity light, int lightValue) { 12 | // DynamicLight 13 | DynamicLights.addLightSource(new IDynamicLightSource() { 14 | @Override 15 | public Entity getAttachmentEntity() { 16 | return light; 17 | } 18 | 19 | @Override 20 | public int getLightLevel() { 21 | return lightValue; 22 | } 23 | }); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/render/lighting/IDynamicLightHandler.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.render.lighting; 2 | 3 | import net.minecraft.entity.Entity; 4 | 5 | /** 6 | * 7 | */ 8 | public interface IDynamicLightHandler { 9 | 10 | void create(Entity light, int lightValue); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/render/lighting/NullLight.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.render.lighting; 2 | 3 | import net.minecraft.entity.Entity; 4 | 5 | /** 6 | * No lighting! 7 | */ 8 | public class NullLight implements IDynamicLightHandler { 9 | 10 | public NullLight() { 11 | } 12 | 13 | @Override 14 | public void create(Entity light, int lightValue) { 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/render/lighting/SELLight.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.render.lighting; 2 | 3 | import net.minecraft.entity.Entity; 4 | 5 | public class SELLight implements IDynamicLightHandler { 6 | 7 | @Override 8 | public void create(Entity light, int lightValue) { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/client/render/player/RenderAdditionalPlayer.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.client.render.player; 2 | 3 | import net.minecraftforge.client.event.RenderPlayerEvent; 4 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 5 | 6 | /** 7 | * 8 | */ 9 | public class RenderAdditionalPlayer { 10 | 11 | @SubscribeEvent 12 | public void postRender(RenderPlayerEvent.Pre post) { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/IPhysicsProxy.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common; 2 | 3 | public interface IPhysicsProxy { 4 | 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/blocks/IBlockGenerator.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.blocks; 2 | 3 | import com.google.gson.JsonObject; 4 | import net.minecraft.block.Block; 5 | import net.minecraft.util.ResourceLocation; 6 | 7 | public interface IBlockGenerator { 8 | 9 | JsonObject write(ResourceLocation resourceLocation, Block block); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/blocks/PhysicsBlockMetadata.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.blocks; 2 | 3 | import gliby.minecraft.physics.common.entity.actions.RigidBodyAction; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | /** 9 | * 10 | */ 11 | public class PhysicsBlockMetadata { 12 | 13 | /** 14 | * 15 | */ 16 | // @SerializedName("shouldSpawnInExplosion") 17 | public boolean spawnInExplosions = true; 18 | 19 | // @SerializedName("mass") 20 | public float mass; 21 | 22 | /** 23 | * value 0 would be friction-less 24 | */ 25 | // @SerializedName("friction") 26 | public float friction; 27 | 28 | /** 29 | * Forces regular cube collision shape. 30 | */ 31 | // @SerializedName("defaultCollisionShape") 32 | public boolean defaultCollisionShape; 33 | 34 | /** 35 | * Bounciness. 36 | */ 37 | // @SerializedName("restitution") 38 | public float restitution; 39 | 40 | /** 41 | * RigidBodyActions! 42 | */ 43 | // @SerializedName("actions") 44 | public List actions = new ArrayList(); 45 | 46 | /** 47 | * Disables collision with player, used for stuff like web, and flowers. 48 | */ 49 | // @SerializedName("collisionEnabled") 50 | public boolean collisionEnabled = true; 51 | 52 | } -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/entity/EnumRigidBodyProperty.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.entity; 2 | 3 | public enum EnumRigidBodyProperty { 4 | BIGGESTDISTANCE("BiggestDistance"), 5 | MAGNET("Magnet"), 6 | BLOCKSTATE("BlockState"), 7 | DEAD("Dead"); 8 | 9 | private String name; 10 | 11 | EnumRigidBodyProperty(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return name; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/entity/IEntityPhysics.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.entity; 2 | 3 | import com.google.common.base.Predicate; 4 | import gliby.minecraft.physics.Physics; 5 | import gliby.minecraft.physics.PhysicsConfig; 6 | import net.minecraft.entity.Entity; 7 | 8 | public interface IEntityPhysics { 9 | 10 | Predicate NOT_BLACKLISTED = new Predicate() { 11 | public boolean apply(Entity entityIn) { 12 | final String[] classes = PhysicsConfig.PHYSICS_ENTITIES.entityColliderBlacklist; 13 | 14 | if (classes.length > Physics.entityBlacklistClassCache.length) { 15 | Physics.entityBlacklistClassCache = new Class[classes.length]; 16 | // cache classes from config 17 | for (int i = 0; i < classes.length; i++) { 18 | try { 19 | Physics.entityBlacklistClassCache[i] = Class.forName(classes[i]); 20 | } catch (ClassNotFoundException e) { 21 | e.printStackTrace(); 22 | } 23 | } 24 | } 25 | 26 | for (int i = 0; i < Physics.entityBlacklistClassCache.length; i++){ 27 | Class clazz = Physics.entityBlacklistClassCache[i]; 28 | if (clazz != null && clazz.isInstance(entityIn)) { 29 | return false; 30 | } 31 | } 32 | 33 | 34 | return true; 35 | } 36 | 37 | public boolean apply(Object object) { 38 | return this.apply((Entity) object); 39 | } 40 | }; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/game/items/toolgun/actions/IToolGunAction.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.game.items.toolgun.actions; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | import net.minecraft.entity.player.EntityPlayerMP; 5 | 6 | import javax.vecmath.Vector3f; 7 | 8 | /** 9 | * 10 | */ 11 | public interface IToolGunAction { 12 | 13 | String getName(); 14 | 15 | boolean use(PhysicsWorld world, EntityPlayerMP player, Vector3f lookAt); 16 | 17 | void stoppedUsing(PhysicsWorld world, EntityPlayerMP player); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/game/items/toolgun/actions/IToolGunTickable.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.game.items.toolgun.actions; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | 5 | public interface IToolGunTickable { 6 | 7 | void update(PhysicsWorld physicsWorld); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/game/items/toolgun/actions/ToolGunActionEvent.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.game.items.toolgun.actions; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | /** 6 | * 7 | */ 8 | public class ToolGunActionEvent extends Event { 9 | 10 | public ToolGunActionEvent(Object action) { 11 | } 12 | 13 | public static class Register extends ToolGunActionEvent { 14 | 15 | Register(Object action, boolean isDefault) { 16 | super(action); 17 | } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/game/items/toolgun/actions/ToolGunHit.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.game.items.toolgun.actions; 2 | 3 | import gliby.minecraft.physics.common.physics.engine.IRigidBody; 4 | 5 | import javax.vecmath.Vector3f; 6 | 7 | /** 8 | * 9 | */ 10 | public class ToolGunHit { 11 | private Vector3f lastHitNormal; 12 | private IRigidBody lastBody; 13 | 14 | /** 15 | * @param lastHitNormal 16 | * @param lastBody 17 | */ 18 | public ToolGunHit(Vector3f lastHitNormal, IRigidBody lastBody) { 19 | this.lastHitNormal = lastHitNormal; 20 | this.lastBody = lastBody; 21 | } 22 | 23 | /** 24 | * @return the lastHitNormal 25 | */ 26 | public Vector3f getLastHitNormal() { 27 | return lastHitNormal; 28 | } 29 | 30 | /** 31 | * @param lastHitNormal the lastHitNormal to set 32 | */ 33 | public void setLastHitNormal(Vector3f lastHitNormal) { 34 | this.lastHitNormal = lastHitNormal; 35 | } 36 | 37 | /** 38 | * @return the lastBody 39 | */ 40 | public IRigidBody getLastBody() { 41 | return lastBody; 42 | } 43 | 44 | /** 45 | * @param lastBody the lastBody to set 46 | */ 47 | public void setLastBody(IRigidBody lastBody) { 48 | this.lastBody = lastBody; 49 | } 50 | } -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/game/items/toolgun/actions/ToolGunReviveAction.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.game.items.toolgun.actions; 2 | 3 | import gliby.minecraft.gman.EntityUtility; 4 | import gliby.minecraft.physics.common.entity.EntityPhysicsBlock; 5 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 6 | import net.minecraft.block.state.IBlockState; 7 | import net.minecraft.entity.player.EntityPlayerMP; 8 | import net.minecraft.util.math.RayTraceResult; 9 | 10 | import javax.vecmath.Vector3f; 11 | 12 | /** 13 | * 14 | */ 15 | public class ToolGunReviveAction implements IToolGunAction { 16 | 17 | public boolean use(PhysicsWorld physicsWorld, EntityPlayerMP player, Vector3f lookAt) { 18 | RayTraceResult position = EntityUtility.rayTrace(player, 64); 19 | if (position.getBlockPos() != null) { 20 | IBlockState state = player.world.getBlockState(position.getBlockPos()); 21 | state = state.getBlock().getActualState(state, player.world, position.getBlockPos()); 22 | EntityPhysicsBlock block = new EntityPhysicsBlock(player.world, physicsWorld, state, 23 | position.getBlockPos().getX(), position.getBlockPos().getY(), position.getBlockPos().getZ()); 24 | player.world.setBlockToAir(position.getBlockPos()); 25 | player.world.spawnEntity(block); 26 | return true; 27 | } 28 | return false; 29 | } 30 | 31 | @Override 32 | public void stoppedUsing(PhysicsWorld world, EntityPlayerMP player) { 33 | } 34 | 35 | @Override 36 | public String getName() { 37 | return "Reconstruct"; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/packets/MinecraftPacket.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.packets; 2 | 3 | import net.minecraftforge.fml.common.network.simpleimpl.IMessage; 4 | 5 | public abstract class MinecraftPacket implements IMessage { 6 | 7 | public MinecraftPacket() { 8 | super(); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/AttachementPoint.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics; 2 | 3 | import javax.vecmath.Vector3f; 4 | 5 | /** 6 | * 7 | */ 8 | public class AttachementPoint { 9 | 10 | private final Vector3f position; 11 | public ModelPart bodyA, bodyB; 12 | 13 | /** 14 | * @param point 15 | */ 16 | public AttachementPoint(Vector3f point) { 17 | this.position = point; 18 | } 19 | 20 | public Vector3f getPosition() { 21 | return position; 22 | } 23 | 24 | public ModelPart getBodyA() { 25 | return bodyA; 26 | } 27 | 28 | /** 29 | * @param bodyA the bodyA to set 30 | */ 31 | public void setBodyA(ModelPart bodyA) { 32 | this.bodyA = bodyA; 33 | } 34 | 35 | public ModelPart getBodyB() { 36 | return bodyB; 37 | } 38 | 39 | /** 40 | * @param bodyB the bodyB to set 41 | */ 42 | public void setBodyB(ModelPart bodyB) { 43 | this.bodyB = bodyB; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/BlockCollisionInfo.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics; 2 | 3 | import com.bulletphysicsx.collision.broadphase.BroadphaseNativeType; 4 | 5 | import javax.vecmath.Point3i; 6 | import javax.vecmath.Tuple3i; 7 | 8 | /** 9 | * 10 | */ 11 | public class BlockCollisionInfo { 12 | public final Tuple3i position; 13 | public int blockShape = BroadphaseNativeType.INVALID_SHAPE_PROXYTYPE.ordinal(); 14 | public Object algorithm; 15 | 16 | public BlockCollisionInfo(int x, int y, int z) { 17 | this.position = new Point3i(x, y, z); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/IPhysicsWorldConfiguration.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics; 2 | 3 | import net.minecraft.world.World; 4 | 5 | import javax.vecmath.Vector3f; 6 | 7 | public interface IPhysicsWorldConfiguration { 8 | 9 | boolean shouldSimulate(World world, PhysicsWorld physicsWorld); 10 | 11 | int getTicksPerSecond(); 12 | 13 | World getWorld(); 14 | 15 | Vector3f getRegularGravity(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/ModelPart.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics; 2 | 3 | import net.minecraft.client.model.ModelBox; 4 | 5 | import javax.vecmath.Vector3f; 6 | 7 | public class ModelPart { 8 | 9 | private final Vector3f position; 10 | private final ModelBox modelBox; 11 | 12 | /** 13 | * @param position 14 | * @param modelBox 15 | */ 16 | public ModelPart(Vector3f position, ModelBox modelBox) { 17 | this.position = position; 18 | this.modelBox = modelBox; 19 | } 20 | 21 | /** 22 | * @return the position 23 | */ 24 | public Vector3f getPosition() { 25 | return position; 26 | } 27 | 28 | /** 29 | * @return the modelBox 30 | */ 31 | public ModelBox getModelBox() { 32 | return modelBox; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/ICollisionObject.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import com.bulletphysicsx.linearmath.Transform; 4 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 5 | import net.minecraft.entity.Entity; 6 | 7 | /** 8 | * 9 | */ 10 | public interface ICollisionObject { 11 | 12 | PhysicsWorld getPhysicsWorld(); 13 | 14 | Entity getOwner(); 15 | 16 | 17 | Object getCollisionObject(); 18 | 19 | /** 20 | * @param entityTransform 21 | */ 22 | void setWorldTransform(Transform entityTransform); 23 | 24 | /** 25 | * @param iCollisionShape 26 | */ 27 | void setCollisionShape(ICollisionShape iCollisionShape); 28 | 29 | /** 30 | * @param characterObject 31 | */ 32 | void setCollisionFlags(int characterObject); 33 | 34 | /** 35 | * @param entityTransform 36 | */ 37 | void setInterpolationWorldTransform(Transform entityTransform); 38 | 39 | // Returns whether the RigidBody is valid. 40 | boolean isValid(); 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/ICollisionShape.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | 5 | import javax.vecmath.Vector3f; 6 | import java.util.List; 7 | 8 | /** 9 | * 10 | */ 11 | public interface ICollisionShape { 12 | 13 | float getVolume(); 14 | 15 | PhysicsWorld getPhysicsWorld(); 16 | 17 | /** 18 | * @return 19 | */ 20 | Object getCollisionShape(); 21 | 22 | /** 23 | * @return 24 | */ 25 | int getShapeType(); 26 | 27 | /** 28 | * @return 29 | */ 30 | boolean isBoxShape(); 31 | 32 | /** 33 | * @return 34 | */ 35 | boolean isCompoundShape(); 36 | 37 | void setLocalScaling(Vector3f localScaling); 38 | 39 | /** 40 | * @param mass 41 | * @param localInertia 42 | */ 43 | void calculateLocalInertia(float mass, Object localInertia); 44 | 45 | /** 46 | * Only applies to box shapes. 47 | * 48 | * @param halfExtent 49 | */ 50 | void getHalfExtentsWithMargin(Vector3f halfExtent); 51 | 52 | /** 53 | * @return 54 | */ 55 | List getChildren(); 56 | 57 | void dispose(); 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/ICollisionShapeChildren.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import com.bulletphysicsx.linearmath.Transform; 4 | 5 | /** 6 | * 7 | */ 8 | public interface ICollisionShapeChildren { 9 | 10 | Transform getTransform(); 11 | 12 | ICollisionShape getCollisionShape(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IConstraint.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | /** 4 | * 5 | */ 6 | public interface IConstraint { 7 | 8 | /** 9 | * @return 10 | */ 11 | Object getConstraint(); 12 | 13 | /** 14 | * @return 15 | */ 16 | boolean isPoint2Point(); 17 | 18 | /** 19 | * @return 20 | */ 21 | boolean isGeneric6Dof(); 22 | 23 | boolean isSlider(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IConstraintGeneric6Dof.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import com.bulletphysicsx.linearmath.Transform; 4 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 5 | 6 | /** 7 | * 8 | */ 9 | public interface IConstraintGeneric6Dof extends IConstraint { 10 | 11 | PhysicsWorld getPhysicsWorld(); 12 | 13 | /** 14 | * @param transform 15 | * @return 16 | */ 17 | Transform getGlobalFrameOffsetA(Transform transform); 18 | 19 | /** 20 | * @param transform 21 | * @return 22 | */ 23 | Transform getGlobalFrameOffsetB(Transform transform); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IConstraintPoint2Point.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | 5 | import javax.vecmath.Vector3f; 6 | 7 | /** 8 | * 9 | */ 10 | public interface IConstraintPoint2Point extends IConstraint { 11 | 12 | PhysicsWorld getPhysicsWorld(); 13 | 14 | void setImpulseClamp(float f); 15 | 16 | void setTau(float f); 17 | 18 | void setPivotB(Vector3f newPos); 19 | 20 | Vector3f getPivotInA(); 21 | 22 | Vector3f getPivotInB(); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IConstraintSlider.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | public interface IConstraintSlider extends IConstraint { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IGhostObject.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | /** 4 | * 5 | */ 6 | public interface IGhostObject extends ICollisionObject { 7 | 8 | Object getGhostObject(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IRayResult.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import javax.vecmath.Vector3f; 4 | 5 | /** 6 | * 7 | */ 8 | public interface IRayResult { 9 | 10 | Object getRayResultCallback(); 11 | 12 | /** 13 | * @return 14 | */ 15 | boolean hasHit(); 16 | 17 | /** 18 | * @return 19 | */ 20 | Object getCollisionObject(); 21 | 22 | /** 23 | * @return 24 | */ 25 | Vector3f getHitPointWorld(); 26 | 27 | /** 28 | * @return 29 | */ 30 | Vector3f getHitPointNormal(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/IRope.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | 5 | import javax.vecmath.Vector3f; 6 | import java.util.List; 7 | 8 | /** 9 | * Ropes are pretty much just inertial-less spheres, attached to each other. 10 | */ 11 | public interface IRope { 12 | 13 | List getSpherePositions(); 14 | 15 | void create(PhysicsWorld physicsWorld); 16 | 17 | int getDetail(); 18 | 19 | Vector3f getStartPosition(); 20 | 21 | Vector3f getEndPosition(); 22 | 23 | void dispose(PhysicsWorld physicsWorld); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/javabullet/JavaClosestRayResultCallback.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine.javabullet; 2 | 3 | import com.bulletphysicsx.collision.dispatch.CollisionWorld; 4 | import gliby.minecraft.physics.common.physics.engine.IRayResult; 5 | 6 | import javax.vecmath.Vector3f; 7 | import java.lang.ref.SoftReference; 8 | 9 | /** 10 | * 11 | */ 12 | class JavaClosestRayResultCallback implements IRayResult { 13 | 14 | private SoftReference rayCallback; 15 | 16 | /** 17 | * 18 | */ 19 | JavaClosestRayResultCallback(CollisionWorld.ClosestRayResultCallback rayCallback) { 20 | this.rayCallback = new SoftReference(rayCallback); 21 | } 22 | 23 | @Override 24 | public Object getRayResultCallback() { 25 | return rayCallback.get(); 26 | } 27 | 28 | @Override 29 | public boolean hasHit() { 30 | return rayCallback.get().hasHit(); 31 | } 32 | 33 | @Override 34 | public Object getCollisionObject() { 35 | return rayCallback.get().collisionObject; 36 | } 37 | 38 | @Override 39 | public Vector3f getHitPointWorld() { 40 | return rayCallback.get().hitPointWorld; 41 | } 42 | 43 | @Override 44 | public Vector3f getHitPointNormal() { 45 | return rayCallback.get().hitNormalWorld; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/engine/javabullet/JavaConstraintSlider.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.engine.javabullet; 2 | 3 | import com.bulletphysicsx.dynamics.constraintsolver.SliderConstraint; 4 | import gliby.minecraft.physics.common.physics.engine.IConstraintSlider; 5 | 6 | import java.lang.ref.SoftReference; 7 | 8 | public class JavaConstraintSlider implements IConstraintSlider { 9 | 10 | private SoftReference constraint; 11 | 12 | JavaConstraintSlider(SliderConstraint sliderConstraint) { 13 | this.constraint = new SoftReference(sliderConstraint); 14 | } 15 | 16 | @Override 17 | public Object getConstraint() { 18 | return constraint.get(); 19 | } 20 | 21 | @Override 22 | public boolean isPoint2Point() { 23 | return false; 24 | } 25 | 26 | @Override 27 | public boolean isGeneric6Dof() { 28 | return false; 29 | } 30 | 31 | @Override 32 | public boolean isSlider() { 33 | return true; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/mechanics/PhysicsMechanic.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.mechanics; 2 | 3 | import gliby.minecraft.physics.common.physics.PhysicsWorld; 4 | 5 | /** 6 | * Global extensions to PhysicsWorld. 7 | */ 8 | public abstract class PhysicsMechanic { 9 | 10 | 11 | public PhysicsWorld physicsWorld; 12 | private boolean enabled = true; 13 | private int ticksPerSecond; 14 | 15 | /** 16 | * @param physicsWorld 17 | * @param ticksPerSecond 18 | */ 19 | public PhysicsMechanic(final PhysicsWorld physicsWorld, final int ticksPerSecond) { 20 | this.physicsWorld = physicsWorld; 21 | this.ticksPerSecond = ticksPerSecond; 22 | } 23 | 24 | /** 25 | * @return the ticksPerSecond 26 | */ 27 | public int getTicksPerSecond() { 28 | return ticksPerSecond; 29 | } 30 | 31 | /** 32 | * @param ticksPerSecond the ticksPerSecond to set 33 | */ 34 | public void setTicksPerSecond(final int ticksPerSecond) { 35 | this.ticksPerSecond = ticksPerSecond; 36 | } 37 | 38 | /** 39 | * @return the enabled 40 | */ 41 | public boolean isEnabled() { 42 | return enabled; 43 | } 44 | 45 | /** 46 | * @param enabled the enabled to set 47 | */ 48 | public void setEnabled(final boolean enabled) { 49 | this.enabled = enabled; 50 | } 51 | 52 | /** 53 | * Updates! 54 | */ 55 | public abstract void update(); 56 | 57 | public abstract String getName(); 58 | 59 | /** 60 | * 61 | */ 62 | public abstract void init(); 63 | 64 | public abstract void dispose(); 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/mechanics/PhysicsMechanicEvent.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.mechanics; 2 | 3 | import gliby.minecraft.physics.common.physics.engine.IGhostObject; 4 | import gliby.minecraft.physics.common.physics.engine.IRigidBody; 5 | 6 | //TODO (0.7.0) feature: finish 7 | 8 | /** 9 | * Physics Mechanic event. 10 | */ 11 | public class PhysicsMechanicEvent { 12 | 13 | public static class TouchedEntity { 14 | IRigidBody bodyA; 15 | IRigidBody bodyB; 16 | 17 | public TouchedEntity(IRigidBody bodyA, IGhostObject ghostObject) { 18 | 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/gliby/minecraft/physics/common/physics/mechanics/physicsgun/OwnedPickedObject.java: -------------------------------------------------------------------------------- 1 | package gliby.minecraft.physics.common.physics.mechanics.physicsgun; 2 | 3 | import gliby.minecraft.physics.common.physics.engine.IRayResult; 4 | import gliby.minecraft.physics.common.physics.engine.IRigidBody; 5 | import net.minecraft.entity.Entity; 6 | 7 | import javax.vecmath.Vector3f; 8 | 9 | /** 10 | * 11 | */ 12 | public class OwnedPickedObject extends PickedObject { 13 | 14 | private final Entity owner; 15 | 16 | /** 17 | * @param rayCallback 18 | * @param rayFromWorld 19 | * @param rayToWorld 20 | */ 21 | public OwnedPickedObject(IRigidBody body, Entity owner, IRayResult rayCallback, Vector3f rayFromWorld, Vector3f rayToWorld) { 22 | super(body, rayCallback, rayFromWorld, rayToWorld); 23 | this.owner = owner; 24 | } 25 | 26 | /** 27 | * @return the owner 28 | */ 29 | public Entity getOwner() { 30 | return owner; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/GlibysPhysics_at.cfg: -------------------------------------------------------------------------------- 1 | public net.minecraft.client.renderer.ItemRenderer * # All Fields 2 | public net.minecraft.client.renderer.BufferBuilder field_179010_r # isDrawing 3 | public net.minecraft.entity.EntityLivingBase field_184617_aD #ticksSinceLastSwing 4 | 5 | public net.minecraft.block.BlockLiquid func_189543_a(Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/math/Vec3d; #getFlow 6 | public net.minecraft.util.Timer field_194149_e #tickLength 7 | public net.minecraft.client.Minecraft field_71428_T #timer -------------------------------------------------------------------------------- /src/main/resources/META-INF/licenses/COPYRIGHT-jbullet.txt: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Java port of Bullet (c) 2008 Martin Dvorak 4 | * 5 | * Bullet Continuous Collision Detection and Physics Library 6 | * Copyright (c) 2003-2008 Erwin Coumans http://www.bulletphysics.com/ 7 | * 8 | * This software is provided 'as-is', without any express or implied warranty. 9 | * In no event will the authors be held liable for any damages arising from 10 | * the use of this software. 11 | * 12 | * Permission is granted to anyone to use this software for any purpose, 13 | * including commercial applications, and to alter it and redistribute it 14 | * freely, subject to the following restrictions: 15 | * 16 | * 1. The origin of this software must not be misrepresented; you must not 17 | * claim that you wrote the original software. If you use this software 18 | * in a product, an acknowledgment in the product documentation would be 19 | * appreciated but is not required. 20 | * 2. Altered source versions must be plainly marked as such, and must not be 21 | * misrepresented as being the original software. 22 | * 3. This notice may not be removed or altered from any source distribution. 23 | */ -------------------------------------------------------------------------------- /src/main/resources/META-INF/licenses/NOTICE-commonsmath.txt: -------------------------------------------------------------------------------- 1 | Apache Commons Math 2 | Copyright 2001-2016 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | 7 | This product includes software developed for Orekit by 8 | CS Systèmes d'Information (http://www.c-s.fr/) 9 | Copyright 2010-2012 CS Systèmes d'Information 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.acacia_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.acacia_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.acacia_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.acacia_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.activator_rail.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 14.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.air.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.barrier.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.bedrock.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": -200, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.beetroots.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.birch_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.birch_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.birch_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.birch_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.black_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.blue_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.bone_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.bookshelf.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brewing_stand.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brick_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brick_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brown_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brown_mushroom.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brown_mushroom_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cactus.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 8.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cake.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.carpet.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.carrots.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cauldron.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.chain_command_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.chest.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 50.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.chorus_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 8.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.chorus_plant.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 8.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.coal_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.coal_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cobblestone_wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cocoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.command_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.concrete.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 36.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.concrete_powder.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.crafting_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 50.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cyan_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dark_oak_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dark_oak_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dark_oak_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dark_oak_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.daylight_detector.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.daylight_detector_inverted.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.deadbush.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.detector_rail.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 14.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse", 8 | "BlockInheritance", 9 | "ClientBlockInheritance" 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.diamond_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.diamond_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dirt.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dispenser.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 70.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.double_plant.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.double_stone_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.double_stone_slab2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.double_wooden_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dragon_egg.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.dropper.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 70.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.emerald_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.emerald_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.enchanting_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_bricks.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_gateway.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_portal.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false, 5 | "collisionEnabled": false, 6 | "actions": [ 7 | "EnvironmentGravity", 8 | "EnvironmentResponse", 9 | "BlockInheritance", 10 | "ClientBlockInheritance" 11 | ] 12 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_portal_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_rod.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.end_stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.ender_chest.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 450.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.farmland.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.fire.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.flower_pot.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.flowing_lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2000.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.flowing_water.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2000.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.frosted_ice.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 0.099999905 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.furnace.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 70.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.glass_pane.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.glowstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.gold_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.gold_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.golden_rail.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 14.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.grass.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.grass_path.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 13.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.gravel.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.gray_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.green_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.hardened_clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 25.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.hay_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.heavy_weighted_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.hopper.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.ice.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 0.01, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.iron_bars.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.iron_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.iron_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.iron_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.iron_trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.jukebox.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.jungle_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.jungle_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.jungle_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.jungle_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.ladder.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 8.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lapis_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lapis_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2000.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.leaves.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.leaves2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lever.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.light_blue_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.light_weighted_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lime_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lit_furnace.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 70.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lit_pumpkin.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lit_redstone_lamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.lit_redstone_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.log.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.log2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.magenta_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.magma.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.melon_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.melon_stem.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.mob_spawner.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.monster_egg.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 15.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.mossy_cobblestone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.mycelium.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.nether_brick.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.nether_brick_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.nether_brick_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.nether_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.nether_wart_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.netherrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 8.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.noteblock.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.oak_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.observer.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.obsidian.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1000.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.orange_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.packed_ice.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 0.099999905, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.pink_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.piston.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.piston_extension.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.piston_head.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.planks.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.portal.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "shouldSpawnInExplosion": false, 6 | "actions": [ 7 | "EnvironmentGravity", 8 | "EnvironmentResponse", 9 | "BlockInheritance", 10 | "ClientBlockInheritance" 11 | ] 12 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.potatoes.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.powered_comparator.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.powered_repeater.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.prismarine.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.pumpkin.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.pumpkin_stem.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purple_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purpur_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purpur_double_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purpur_pillar.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purpur_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.purpur_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.quartz_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.quartz_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.quartz_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.rail.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 14.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_mushroom.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_mushroom_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_nether_brick.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_sandstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_sandstone_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.redstone_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 100.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "ActivateRedstone" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.redstone_lamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.redstone_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.redstone_torch.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.redstone_wire.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.reeds.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.repeating_command_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sandstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sandstone_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sapling.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sea_lantern.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.silver_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.silver_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.skull.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 0.99999994, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance", 9 | "Bounce" 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.snow.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.snow_layer.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.soul_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sponge.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 12.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.spruce_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.spruce_fence.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.spruce_fence_gate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.spruce_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stained_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stained_glass_pane.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 6.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stained_hardened_clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 25.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.standing_banner.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.standing_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.sticky_piston.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_brick_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_slab2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stone_stairs.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse", 7 | "BlockInheritance", 8 | "ClientBlockInheritance" 9 | ] 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.stonebrick.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 30.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.structure_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "shouldSpawnInExplosion": false 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.structure_void.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.tallgrass.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.tnt.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "shouldSpawnInExplosion": false, 4 | "friction": 1.9999999, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse", 8 | "BlockInheritance", 9 | "ClientBlockInheritance" 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.torch.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.trapdoor.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.trapped_chest.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 50.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.tripwire.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse", 8 | "BlockInheritance", 9 | "ClientBlockInheritance" 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.tripwire_hook.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.unlit_redstone_torch.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.unpowered_comparator.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.unpowered_repeater.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.vine.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 4.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wall_banner.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 20.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.water.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 2000.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.waterlily.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.web.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 80.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse", 8 | "BlockInheritance", 9 | "ClientBlockInheritance" 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wheat.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.white_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wooden_button.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wooden_door.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 60.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wooden_pressure_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 10.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wooden_slab.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.wool.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 16.0, 3 | "friction": 1.9999999, 4 | "actions": [ 5 | "EnvironmentGravity", 6 | "EnvironmentResponse" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.yellow_flower.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 1.0, 3 | "friction": 1.9999999, 4 | "collisionEnabled": false, 5 | "actions": [ 6 | "EnvironmentGravity", 7 | "EnvironmentResponse" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.yellow_glazed_terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 28.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/blocks/minecraft.yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "mass": 40.0, 3 | "friction": 1.9999999 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/lang/en_us.lang: -------------------------------------------------------------------------------- 1 | item.physicsragdollspawner.name=Spawn Physics Ragdoll 2 | item.physicsblockspawner.name=Spawn Physics Block 3 | item.physicstransformer.name=Physics Transformer 4 | item.physicstoolgun.name=Tooling Master 3000 5 | item.physicsgun.name=Physics Manipulator 6 | 7 | subtitle.toolgun_beam=Tool Gun Beam 8 | subtitle.toolgun_scroll=Tool Gun Scroll 9 | 10 | gui.changelog.next=Next 11 | gui.changelog.previous=Previous 12 | gui.changelog.skip=Skip 13 | gui.changelog.title=What's changed in Gliby's Physics? 14 | 15 | gui.creator.title=Physics Creator 16 | gui.creator.physicsMobModelGenerator=Physics Mob Model Generator 17 | gui.creator.physicsblockGenerator=Physics Block Generator 18 | gui.creator.physicsblockGenerator.generate=Generate Physics Block 19 | gui.creator.unfinished=Unfinished 20 | gui.creator.works=Works 21 | 22 | gui.creator.mobgenerator.generate=Generate Mobs 23 | 24 | gphysics.config.title=Gliby's Phusics Configuration -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/50.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Creeper", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/52.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Spider", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/56.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ghast", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/58.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Enderman", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/59.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CaveSpider", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/60.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Silverfish", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/61.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Blaze", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/63.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EnderDragon", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/64.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WitherBoss", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/67.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Endermite", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/90.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pig", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/91.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sheep", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/92.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Cow", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/93.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Chicken", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/94.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Squid", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/95.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Wolf", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/96.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MushroomCow", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/mobs/97.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SnowMan", 3 | "cubeGroups": [] 4 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/recipes/item.physicsgun.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": 4 | [ 5 | "AAA", 6 | "BCB", 7 | "AAA" 8 | ], 9 | "key": 10 | { 11 | "A": 12 | { 13 | "item": "minecraft:obsidian" 14 | }, 15 | "B": 16 | { 17 | "item": "minecraft:redstone" 18 | }, 19 | "C": { 20 | "item": "minecraft:diamond" 21 | } 22 | }, 23 | "result": 24 | { 25 | "item": "glibysphysics:item.physicsgun", 26 | "count": 1, 27 | "data": 0 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/recipes/item.physicstoolgun.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": 4 | [ 5 | "BBB", 6 | "ACA", 7 | "BBB" 8 | ], 9 | "key": 10 | { 11 | "A": 12 | { 13 | "item": "minecraft:diamond" 14 | }, 15 | "B": 16 | { 17 | "item": "minecraft:redstone" 18 | }, 19 | "C": { 20 | "item": "glibysphysics:item.physicsgun" 21 | } 22 | }, 23 | "result": 24 | { 25 | "item": "glibysphysics:item.physicstoolgun", 26 | "count": 1, 27 | "data": 0 28 | } 29 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/sounds.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolgun_beam": { 3 | "category": "player", 4 | "subtitle": "subtitle.toolgun_beam", 5 | "sounds": [ "glibysphysics:toolgun_beam0", "glibysphysics:toolgun_beam1" ] 6 | }, 7 | "toolgun_scroll": { 8 | "category": "player", 9 | "subtitle": "subtitle.toolgun_scroll", 10 | "sounds": [ "glibysphysics:toolgun_scroll" ] 11 | } 12 | } -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/sounds/toolgun_beam0.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/sounds/toolgun_beam0.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/sounds/toolgun_beam1.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/sounds/toolgun_beam1.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/sounds/toolgun_scroll.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/sounds/toolgun_scroll.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/gui/changelog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/gui/changelog.png -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/gui/defaultchangelog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/gui/defaultchangelog.png -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/gui/welcome_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/gui/welcome_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/physics_gun_colorable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/physics_gun_colorable.png -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/tool_gun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/tool_gun.png -------------------------------------------------------------------------------- /src/main/resources/assets/glibysphysics/textures/tool_gun_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/assets/glibysphysics/textures/tool_gun_screen.png -------------------------------------------------------------------------------- /src/main/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gliby/physics/1a84e39428ccd15f314f690e1053b47464e35413/src/main/resources/logo.png -------------------------------------------------------------------------------- /src/main/resources/mcmod.info: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "modid": "glibysphysics", 4 | "name": "Gliby's Physics", 5 | "description": "Rigidbody physics mod.", 6 | "version": "${version}", 7 | "mcversion": "${mcversion}", 8 | "authorList": ["Gliby"], 9 | "credits": "@Immortius, LibGDX, Bullet, JBullet, TeraBullet, Zaggy1024, Modeler", 10 | "logoFile": "logo.png", 11 | "screenshots": [] 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "description": "Gliby's Physics", 4 | "pack_format": 3, 5 | "_comment": "" 6 | } 7 | } 8 | --------------------------------------------------------------------------------