Runix-Minecraft / Azathoth

A blind library
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

1.8 update #7

Closed 0xilly closed 9 years ago

0xilly commented 9 years ago

NOT READY TO MERGE

Seems like ChunkCoordinates is gone and BlockPos is the new way to get block location. Seems like BlockPos does a lot of what WorldXYZ was doing so removing now redundant code could be an option.

Getting blocks by metadata is now gone so it will have to be gotten from the blockstate.

0xilly commented 9 years ago

Seems like ExtendedPos/WorldXYZ is redoing a lot of things that BlockPos is doing(see offset in net.minecraft.util.BlockPos). Also a quick glance at at Vector3 I noticed that it might be possible to do a lot of things from Vec3i so I deprecated the class till I can get a chase to look at it again CC: @josiahseaman

josiahseaman commented 9 years ago

Did you finish, or give up?

0xilly commented 9 years ago

Moving to my own fork I'll PR it again with my rendering helpers once I decouple it from one of my private projects. Also forked it to make deploying to my maven repo a little more sane instead of my CI pulling & publishing midnight every night.

As for patterns still need to work on getting that done the interesting part is getting rewriting WorldXYZ to what i have dubbed ExtendedPos and then removing as much code as possible from it cause it seems like BlockPos does a lot of of the same work we did. Then need to re figure out SigBlock because meta is no longer there here.

0xilly commented 9 years ago

I really dont like this but I cant remember why I did this I have a reason writen down somewhere just need to find that note. Think it has some thing to do with me being able to reference block in IBlockState.

josiahseaman commented 9 years ago

I'm asking because I'm also working on WorldXYZ on bukkit Runecraft and I imagine that the two are diverging significantly. I was just thinking through whether or not it'd be a good idea to make an interface that would bridge the code gap between Forge and Bukkit. I'm already pulling in Runix runes into Runecraft. Unlike Runix, which has a fairly nice code base, Runecraft has needed significant refactoring and probably still has >60% of the code base is redundant code. So for right now, I'm keeping it as transparent as possible (no intermediaries) so I can shake out all the unnecessary code. Perhaps in the future we will rendezvous the two code bases, agree on a set of common interfaces. Then Runix and Runecraft can be the same thing and also run on Forge and Bukkit. For right now though, I think it introduces unneeded complexity. So one thing at a time.

0xilly commented 9 years ago

If that's the case after I get the update finished I'll see what I can do about abstracting the pattern code into a pure API independent of implantation this does mean that there will be have to be a implementation mod/plugin for Forge and bukki

josiahseaman commented 9 years ago

Do what you enjoy doing :)

0xilly commented 9 years ago

Not sure if its enjoy is the right word! Obsession and maybe why cant I stop! Come to mind