-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
File Structure Changes (for accuracy and parity) #123
Comments
Well, when you say "matches JE", what version do you mean? We aren't trying to replicate any kind of modern version of the code base, otherwise tiles would be called blocks, and the |
Also I was considering moving the |
I am using a combination of both videos from older Minecraft that show the source tree, and also modern Minecraft code. Though, I only use modern MC code when I need to. This code version I'm using dates to 1.14 so it's as low as I can go. It should be as accurate as possible to older versions. |
Yeah, I don't think the layout of 1.14 is representative of the beta versions of the game whose layout we're trying to figure out. These changes aren't bad, but I do find some strange, like moving |
So you mean to move all the tile sources to |
Yes, that is correct. |
I've edited some stuff in here that was wrong, but now that we have in fact discovered what the beta 1.0 filesystem looks like, we can technically build the filesystem how it was intended to be. I might start work on this. |
BTW I suggest waiting for #120 should you want to take care of this. Otherwise there's going to be massive nasty merge conflicts. I am also thinking of starting work on this but after it's merged. |
Seems like your idea is the best. I won't make any changes just yet. |
Update: Omniarchive published a prototype of Minecraft Beta 1.2_02, which is completely unobfuscated. This tells me a few more things:
Some other notes:
|
There are some files that need to be changed around, for more accuracy to the original Minecraft codebase. This should provide a more strong foundation for the ReMinecraftPE codebase all together.
Here are some changes that should be considered for a file structure change:
App
,AppPlatform
, andNinecraftApp
to justsource
rather than being in/client/app
. This lines up with MCPE, as asserts claim thatNinecraftApp
is insrc
(/src/NinecraftApp.cpp
). It also makes sense for App and AppPlatform./client/app/Minecraft
tosource/client
, as this is the path for it in Java Edition.Font
to/client/gui
(matches Java Edition and PE)Culler
,Frustum
, andFrustumCuller
to a new folder in/client/renderer
calledculling
, which contains culling stuff. (matches Java Edition)DynamicTexture
,FireTexture
,LavaSideTexture
,LavaTexture
,WaterSideTexture
, andWaterTexture
to a new folder in/client/renderer
calledptexture
which has stuff related to textures.client/options/Options
into just theclient
folder. (matches Java Edition)/client/player/input
to a new folder calledtouchscreen
. (Matches PE)source/common
to a newutil
folder insource
. (Possibly)source/renderer/GL
toclient/renderer
?Animal
,Chicken
,Cow
,Pig
, andWaterAnimal
to a new folder inworld/entity
calledanimal
which stores code related to animals.Monster
andCreeper
to a new folder inworld/entity
calledmonster
which holds all monster entities.FallingTile
,ItemEntity
, andPrimedTnt
to a new folder inworld/entity
calleditem
which stores code related to item entities.Player
andInventory
to a new folder inworld/entity
calledplayer
which holds all player entity code. (Yes, Inventory is here too)LocalPlayer
intoclient/player
.world/level/levelgen/chunk
folder toworld/level
path
folder topathfinder
.world/particle
folder intosource/client
.world/tile
folder intoworld/level
Most of these decisions were based on reverse engineering and analysis of old Minecraft videos that show off the source tree structure. If there are any mistakes or incorrect changes I proposed, please let me know.
The text was updated successfully, but these errors were encountered: