I just thought I would share to the world a concept on Collision Detection within programming concepts. This works as an observer: When you do something, say move the player, it should call this method in order to check the collision. This works by returning the object at the given location. Here is an example using minecraft(Copyright all rights reserved Mojang AB. *Not affiliated with Mojang AB*): public Block collided(float x, float y, float z){ //returns a block at the coordinates } public Block collided(Location loc){ //returns a block at the location } Above is the code for this. However, to do this correctly, you should create a bounding box and it should check each side for a block in it's coordinates: public void checkFront(){ collided(player.getHitBox().getPosOfSide(0); } public void checkBack(){ collided(player.getHitBox().getPosOfSide(3); } public void checkHitBox(){ checkFront(); checkBack(); } This can be used for broad-, mid- and narrow-collision techniques as well.