Conversation
|
I love the idea of facilitating mirrors and rotations and I have few suggestions:
EDIT: |
Rather, I think the mirrors should be by axis.
Do you mean
Rotations are a 2D rotation operation with no such information, it's simply a "rotate around something". Yes, you would need to couple this with an axis of rotation, but that's specifically not defined here.
Sure, but your edit sums it up.
Exactly. In fact, I'd go further and say it's not easy to use for most developers at all because they do not have a mathematical background. I've said it before and I'll say it again, we need to remember them. I would not be in favour of removing these classes for that reason alone. I'd be up for the idea of being able to create some sort of |
I do prefer this over
I thought everything was in 3D. I didn't understood that
The method |
|
Going to just put a foot down that the Mirror and Rotation catalogs are 1:1 mappings for what Minecraft supports us to perform as mirrors and rotations on |
33609e9 to
4414dbe
Compare
| * @param uuid The {@link UUID} to set as creator | ||
| */ | ||
| void setCreator(int x, int y, int z, @Nullable UUID uuid); | ||
| default void setCreator(final int x, final int y, final int z, @Nullable final UUID uuid) { |
There was a problem hiding this comment.
I disagree with these defaults. I always thought that a particular volume holder may have a faster way to query this data instead of going through a provider.
Granted this is a default so not like we can't do that..
There was a problem hiding this comment.
It's a default because the Keys exist and it's often better to delegate to those, however, implementation wise they serve the purpose of bypassing the requirement that we re-implement the actual storage of owner/notifier at this time.
2e799bc to
7d94c85
Compare
7d94c85 to
415e997
Compare
39ede95 to
b2c17f4
Compare
Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
…lders Signed-off-by: Gabriel Harris-Rouquette <gabizou@me.com>
b2c17f4 to
9332716
Compare
SpongeAPI | SpongeCommon
Merrily Merrily Merrily, Life is but a
dreamStreamVolumes enjoy some abstract sense of their knowledge of what sort of entities they contain, and while in the previous major version of SpongeAPI, we had something calledBlockWorker, it isn't necessary to have non-generified "Workers" that effectively contained a pre-compiled set of operations to perform on a pre-compiled dataset to apply later, and the trouble with them in the past was that it wasn't possible to virtually "extend" them outside of their purview of a "Block worker works on blocks" and a Biome worker works on biomes" with some operations.The end result is embracing Java 8's Stream API and some more functional programming concepts to a stream of data to effectively keep the idea of "Here's a stream of things that you can change their output of and then apply them to somewhere else."
Huh? Streams? Outputs? Apply???
(I'm putting a pause on finishing this doc, because while I do want to explain it more thoroughly, it is half past midnight and I need to sleep).