Colision Detection AABB or still OBB ? what do you use?

Hi Sponge staff ,
i wanted to ask you, since you are using your own client , what kind of collision detection is used in your solution ? IS there used AABB or OBB , like in the vanilla client of Mc ?
I ask because i play with the idea to implement the ability to rotate 360° in the MC world.
I know that with forge it is possible to solve this but its rather reinventing the whole wheel. Will this be a difference in sponge ?

We are not using our own client. Sponge will work like bukkit / spigot and can be used with a standard vanilla client. As for the planned client implementation of the API for the forge mod I assume they will not be modifying the collision system that forge uses.

Also, what do you mean by rotate 360? You can already rotate 360 degrees.


Ah ok than i understood sth. wrong . Thought to have read about an own client like Spoutcraft does.

What i mean is that you can fully rotate an object like you want.For example : if you want to realize a drawbridge , you simply cant realize it yet because MC uses axis aligned binding boxes. To realize this you would have to convert the aabb structure to an obb (orientated bounding box) .
To realize this you have to be good in linear algebra otherwise you won’t get the right idea to solve this.
But thats normal for programming , if you aren’t good at mathematics you wont be able to do much there.

Ok ok. than another question i couldnt find at the F.A.Q. or in the forums (but maybe i just used the wrong tags in my search) . I saw in the State of Sponge video that there is sth. like a test environment for plugin/mod developer . Ok basicly for the developer of sponge itself but what i wanted to ask is when will there be the possibilty to test your stuff since the API seems mostly done already and it looks everything quite interesting and realy amazing . i really have to say that the developers are doing really great work.

Sponge uses forge as the base server, and of forge 1.8 you no longer needed to have the forge client to play on forge servers. Generally anything that would require a client mod won’t be changed from vanilla most likely.

As in rotation, are you asking if it would be possible to rotate block objects/structures in non 90 degree increments? The blocks are basically voxels, to rotate them in non 90 degrees increments would cause the object to alias and deform somewhat as it wouldn’t be exact, I don’t know of any plugin that can rotate an object in non 90 degree increments.

Itemstack entities rotate 360° horizontally already in vanilla. Perhaps you could group the voxels in the drawbridge together and turn them into a custom itemstack entity? I don’t know if this is possible, as I am a layman, but hey.

Also, if you want collision, perhaps there is a way to check which voxels are occupied by the entity? Otherwise you could describe the entire thing by its corners with vectors from the center, then use that for translation and collision mapping.

I here use my understanding of 3D vectors, but admit I have no idea if MC supports this. Either way, I sense heavy client side modding if you want collision :L

I just can take the same renderer as the one for the mobs. i just have to translate the aabb-system to an obb one. i was just wondering if this process would be easier in sponge than with forge but ok if theres still the vanilla client used there will be no changes for me then.

But the new forge thing kept me interested.Does this mean that mods like Bibliocraft or Mocreatures do not have to be installed on the clients anymore ? or does it just work for mods which doesnt add new visual content to mc ?

Just as long as the Forge mod doesn’t add anything that would be needed on the client, than you should be able to play on the server without having to have the Forge client installed.

As far as the entity stuff is concerned there was the Sponge-ECS project, which would have allowed greater control over what you could do with entities in MC, but that project has pretty much stalled several months ago, the last commit in that project was back in September of last year.

You can, in fact, rotate blocks in non-90 degree angles.

You just have to mount falling_block entities on a minecart (or any entity really, just minecarts are best).

This has been implemented in Bukkit already:

1 Like

Actually, mounting a fallingblock does not allow it to rotate. Having the minecart set to show a specific block in it on the other hand will allow it to rotate, you just make the minecrart invisible. This will also not be a true block, it will be smaller.

Armor stands on the other hand might be a different story, setting the helmet block should create a pretty life-like block, I do not know how it scales to a real block though.

Check the link I posted, the falling_block entities go … diagonal if nothing else. And they’re 100% real block size, and stack perfectly, (you can have as many blocks as you like mounted in a chain on the minecart).

Thats not really what i want to do . And to be serious its just an ugly rendering bug which is used here.
There is no real functionality of it. As far as i can see from the video its just rendering stuff , no collision at all , no fluent movement in “all” directions.

Yesterday , doing some research again i found a mod which do exactly what i want : Minecraft UGOCRAFT MOD - YouTube .

unfortunately it isnt a forge mod at all , but i want to try to make a mod for forge/spongepowered which do something like this.

it will be hard work but i guess its not impossible.