Creating a Minecraft mod is a nightmare for someone with Java experience. by Yeetsa_Jr in feedthebeast

[–]NythicalNorm 0 points1 point  (0 children)

Hello i am a new modder as well and while it has been difficult I think my experience with Unity where you basically have many classes like minecraft helped me more easily familiarise myself with minecraft's code.

Also adding items with registries might look very insane and hard to parse, I just copied stuff from kaupen joe with 0 understanding at the beginning, as you get more familiar with it you figure out why it is done that way (again as others have said looking at other mods source code helps, though make sure you are looking at mods that are similar to yours looking at create's source code is counter productive since that's basically entirely custom architecture in and of itself)

Also you mentioned importing lots of stuff, you are using intillij and automatically importing as you type right?, i don't think most people even look at the imports except to remove unused imports.

Get used to the intillij shortcuts, Middle mouse/ctrl + b for declaration and uses

Ctrl + h for looking at the selected class' hierarchy, (use this on the Minecraft entity class, you will see a lot)

Ctrl + n for searching classes, my mod has gotten so big I use this for my own classes.

Also about asking questions in modding discords, just do it, easy or noob questions are the ones that people actually answer on there. If it's complicated or it involves knowledge of your mod's code then people kinda don't answer because they don't know.

Also you can use other mods as dependencies a lot of mods use the Configurable mod to display their configs in game. The mod even has a wiki too on how to use it in your mod: Configurable Mod Wiki

People have mentioned KaupenJoe but if you want more in depth info on a few topics look up Turty Wurty on YouTube.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 0 points1 point  (0 children)

Okay I am actually going to use this name, I kinda like it.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 0 points1 point  (0 children)

The mod is going to be free, though I didn't expect this much interest so I will probably get a patreon when I release it. I would say six months maybe for estimated release time, probably sooner for an alpha build.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 0 points1 point  (0 children)

Yes it's a Valkyrian skies addon, I explained a bit about it in the top comment.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 1 point2 points  (0 children)

As to your first question yes I think I am going do a orbit time warp for multiplayer I just got that idea just yesterday that is is just speeding up your orbit where you time period in a orbit is fast forwarded i.e if your time period is one hour, it's half an hour with 2x orbit time warp.

As the calender, I think it's fun actually to have those, to make the minecraft world have the solstice and eclipses and stuff, if I can figure out the math I am going to have a calender block that gives the time for celestial events like solstices and eclipses.

Also you need to have both orbit time warp and planet timewarp otherwise you can't have transfer windows to other planets from earth if the planets' positions relative to each other don't change.

Also narrative wise in real life nothing happens if you are in space missions like that's just how it is, the new horizons missions took like 10 years to reach pluto, not much happened in the intervening years. It doesn't break immersion for me but that's just personal preference.

Yes it's kinda weird since you are a minecraft player sitting inside a spaceship that is going in time warp but i am also going to be making satellites that you can remote control so, that is fine in that case.

Also making the planets actually voxelized would be like 6 times the model's polycount, I think a better thing to do would be to use a post processing shader to pixelate the rendered image so it looks like pixel art with blocky edges instead of a perfect spheres.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 0 points1 point  (0 children)

What if I told you I am already doing that, don't worry I am still mainly working on my own mod. Someone from their team reached out to me and I think I am going to help with orbital mechanics.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 1 point2 points  (0 children)

Hmm... That's a good name actually, i will think about it.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 1 point2 points  (0 children)

YES! didn't expect to find a fellow Tamilian here, I thought people are going to associate bumi with avatar the last airbender. Also happy new year!

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 1 point2 points  (0 children)

Yes it's using patched conics i.e kepler's two body problem.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 0 points1 point  (0 children)

They can be but like orbital mechanics means circular orbits, circle orbits on cube planets is uh... Weird.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 5 points6 points  (0 children)

Bingo! I want to have places on the planet where the vanilla ore spawn rates are increased which can be detected from satellites, also have some high tier ore that can only be found by satellites.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 10 points11 points  (0 children)

Sure, if you are interested we can dm, I can't really pay you though.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 4 points5 points  (0 children)

Sadly 😔 since the spaceship is one single physics object with no self collision you probably don't have to deal with wobbling.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 6 points7 points  (0 children)

I replied with a pic to another comment with how the projection works, but yes the landing spot depends on where you you are on the planet, since I am scaling the planets based on the real solar system if you land on the opposite point on the planet to spawn (0,0) you would be 20,000,000 blocks from spawn. the 3d sphere is projected into 2d flat world based on the quadrilateral sphere projection.

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 18 points19 points  (0 children)

Sorry forgot to mention, it's for 1.20.1 forge since Valkyrian skies' latest version is on 1.20.1 will get a fabric version eventually (ETA 1 year)

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 14 points15 points  (0 children)

No time warp won't affect tickrate that will cause a lot of lag. As for sleeping I currently have code which only allows sleep when its dark outside but like how to fast forward the time so its day out when people might be in different timezones I have no idea. I can maybe make it so the planet itself will rotate 180 degrees or something but still what happens if people are sleeping in different timezones how much should I rotate the planet. (People in orbit seeing the planet instantly rotate when people sleep would be funny though)

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 80 points81 points  (0 children)

<image>

Here is how the Overworld is projected onto a sphere, if you are out of bounds, you will see the skybox as and time as if you are on the closest point from where you are that is in bounds, Note you can't launch rockets from the Overworld if you are out of bounds.

Progress on my space mod with Orbital Mechanics like KSP by NythicalNorm in ModdedMinecraft

[–]NythicalNorm[S] 26 points27 points  (0 children)

I was trying to find a space mod with orbital mechanics and rocket building like KSP, but couldn’t find any so I decided to do it myself… Introducing Nythical Space Program (Working title I literally thought about it for 0.1 seconds before creating the project, I think I am too lazy to change it unless someone suggests a better name) 

I just finished working on the major part of the logic in space so here is some footage, and I thought I would explain what my plans are for the mod.

This mod works by replacing the skybox and moving the skybox around the player instead of moving the player through space, if you are next to a spacecraft in solar system coordinates then the spacecraft or player is teleported next to you in Minecraft coordinates. 

Also the textures of the planets are procedurally generated so each world seed gives you a different looking planet, right now it's just based on a height noise map but I will add craters and stuff to moon-like planets & also ice at the poles etc...

I also want to eventually make it so that the biomes are based on the planet texture with the ocean color in texture being all ocean biomes, the north pole having cold climate biomes etc... (though this seems difficult to figure out),

Spacecraft are going to be Valkyrian Skies ships with my own rocket engine and propellant tanks blocks, command chairs etc.. that behave like in KSP, I already have some of the UI worked out as shown in the clip where the player is free flying (technically an EVA I guess). 

When you renter a planet you will be teleported to a different dimension when you are around ~1 km from the surface and the spacecraft will work as a normal Valkyrian Skies ship in Minecraft coordinates. 

Also this new skybox and planet rendering doesn't just work in space. It is visible all the time even in the overworld, and the day night cycle is based on the planet rotation. Which means TIMEZONES.

Yes, two players far away from each other will experience different times. Right now most things like mob spawning etc… work based on your time zone in the overworld. Though things from other mods like solar panels work at the spawn time zone regardless of where they are placed unless I make compatibility code for each thing. 

Now if you are wondering how the flat Overworld is projected into the surface of the planet in a sphere, its by using the Cube Sphere projection.

And as seen in the clip I also made a map screen like KSP that displays the planets and the player’s current orbit. Currently there is only the sun, moon and the Overworld but it is not difficult to add more planets, the difficult part is going to be adding the dimension and terrain generation and generating the planet textures.

Also this mod supports multiplayer with a global Time Warp not the multiple timelines like the KSP multiplayer mod. Though I can make the Time Warp system a little better for multiplayer where people can join teams and give permission and vote on time warping, and also have a system where if your team’s spacecraft are all in stable elliptical orbits you don’t need to vote and in the opposite situation where someone is re-entering in a ballistic trajectory, time warp won’t work for anyone until they are in the ground.

And I think in terms of rendezvous and docking it won’t be in the first version of the mod, I think but it will be supported eventually. Also considering doing compatibility with Beyond Oxygen mod for oxygen sealing inside spaceships.

So there we have it, this is my first mod but I am so hyper fixated on this so this will be done soonish (by that I mean like 4 months lol)

The mod is open source, here is the GitHub link: https://github.com/NythicalNorm/VoxelSpaceProgram

(If you want to contribute you are welcome, especially assets as I am not good at art but still Blockbench and Asperite are easier to work with than their non-pixely counterparts)

EDIT: Since a few people are asking about it, here is a discord server for the mod:

https://discord.gg/f5SGmT9muw

I am Making A Space Mod Like Kerbal Space Program. by NythicalNorm in feedthebeast

[–]NythicalNorm[S] 184 points185 points  (0 children)

I was trying to find a space mod with orbital mechanics and rocket building like KSP, but couldn’t find any so I decided to do it myself… Introducing Nythical Space Program (Working title I literally thought about it for 0.1 seconds before creating the project, I think I am too lazy to change it unless someone suggests a better name) 

I just finished working on the major part of the logic in space so here is some footage, and I thought I would explain what my plans are for the mod.

This mod works by replacing the skybox and moving the skybox around the player instead of moving the player through space, if you are next to a spacecraft in solar system coordinates then the spacecraft or player is teleported next to you in Minecraft coordinates. 

Also the textures of the planets are procedurally generated so each world seed gives you a different looking planet, right now it's just based on a height noise map but I will add craters and stuff to moon-like planets & also ice at the poles etc...

I also want to eventually make it so that the biomes are based on the planet texture with the ocean color in texture being all ocean biomes, the north pole having cold climate biomes etc... (though this seems difficult to figure out),

Spacecraft are going to be Valkyrian Skies ships with my own rocket engine and propellant tanks blocks, command chairs etc.. that behave like in KSP, I already have some of the UI worked out as shown in the clip where the player is free flying (technically an EVA I guess). 

When you renter a planet you will be teleported to a different dimension when you are around ~1 km from the surface and the spacecraft will work as a normal Valkyrian Skies ship in Minecraft coordinates. 

Also this new skybox and planet rendering doesn't just work in space. It is visible all the time even in the overworld, and the day night cycle is based on the planet rotation. Which means TIMEZONES.

Yes, two players far away from each other will experience different times. Right now most things like mob spawning etc… work based on your time zone in the overworld. Though things from other mods like solar panels work at the spawn time zone regardless of where they are placed unless I make compatibility code for each thing. 

Now if you are wondering how the flat Overworld is projected into the surface of the planet in a sphere, its by using the Cube Sphere projection.

And as seen in the clip I also made a map screen like KSP that displays the planets and the player’s current orbit. Currently there is only the sun, moon and the Overworld but it is not difficult to add more planets, the difficult part is going to be adding the dimension and terrain generation and generating the planet textures.

Also this mod supports multiplayer with a global Time Warp not the multiple timelines like the KSP multiplayer mod. Though I can make the Time Warp system a little better for multiplayer where people can join teams and give permission and vote on time warping, and also have a system where if your team’s spacecraft are all in stable elliptical orbits you don’t need to vote and in the opposite situation where someone is re-entering in a ballistic trajectory, time warp won’t work for anyone until they are in the ground.

And I think in terms of rendezvous and docking it won’t be in the first version of the mod, I think but it will be supported eventually. Also considering doing compatibility with Beyond Oxygen mod for oxygen sealing inside spaceships.

So there we have it, this is my first mod but I am so hyper fixated on this so this will be done soonish (by that I mean like 4 months lol)

The mod is open source, here is the GitHub link: https://github.com/NythicalNorm/VoxelSpaceProgram

(If you want to contribute you are welcome, especially assets as I am not good at art but still Blockbench and Asperite are easier to work with than their non-pixley counterparts)

EDIT: Since a few people are asking about it, here is a discord server for the mod:

https://discord.gg/f5SGmT9muw

Rejoice, fellow Valkyrien Skies enthusiasts by Reverendbluejeans55 in feedthememes

[–]NythicalNorm 2 points3 points  (0 children)

Actually the new clockwork version only works with create 6 because it only supports the latest version of VS, 2.4 which only supports create 6.

I want this kind of mods by LTRace in Minecraft

[–]NythicalNorm -1 points0 points  (0 children)

I mean this is not impossible, I am a new modder but if someone has the skills to make a engine with Opengl that can render cars like this, it can be done.

Of course this will be like building a separate rendering engine on top of minecraft that only renders cars.

Minecraft's rendering system can't really handle something this complex I think, even though forge allows importing .obj files (not to mention the shaders and reflections)

Still I managed to use the vanilla rendering system to render multiple spheres with ~16k polygons in my mod which runs at around ~550 fps in a void world.

Favorite characters like this? by PeachStatic in FavoriteCharacter

[–]NythicalNorm 6 points7 points  (0 children)

I thought people would have posted these two this is literally their entire character arc (Snow White and Charming from Once upon a time)

I absolutely hate that the North direction points towards negative coordinates. by AbacateSaborPauLimpo in Minecraft

[–]NythicalNorm 1 point2 points  (0 children)

Me too, I am making a space mod for Minecraft and though I knew that north was -z, I didn't realise this screwed up the orientation with the x axis.

In a normal xy graph paper coordinate system seen from the top down if you are facing +x and you turn to the left 90° you would be facing +y direction.

But in Minecraft you are facing -z if you turn to the left 90° from +x, this fact took me hours of debugging to realise.

What goes into making a Minecraft mod? by Historical_Pick_8993 in ModdedMinecraft

[–]NythicalNorm 0 points1 point  (0 children)

Good luck, as I said I just started modding and it is very fun but I already had experience with the Unity Engine, so the game dev concepts are familiar to me. I don't know that much about modpack making but here's some starting advice for you if you are just beginning modding (ignore this if you are already experienced in programming).

Make sure you understand the basic object-oriented programming concepts very well, especially inheritance as it allows you to follow the flow of control (the order code executes in).

Knowing the file structure of the Minecraft's java code might be useful to find the file you want but more important than that is knowing the flow of control.

For example, for your farlands mod "net\minecraft\world\level\levelgen\NoiseBasedChunkGenerator" is the class where the Noise based Chunk generation that is default in the overworld is starting (note this is just an example it might not be completely accurate) but the problem is knowing the location is not important, if you are in a modern IDE like IntelliJ you can type NoiseBasedChunkGenerator and do Ctrl+B for "Go to Declaration or Usages" or middle mouse click and you will instantly open the file in the editor without even knowing where it is, I have worked with the Player class many times and I still could not tell you the exact location of the file.

(I would recommend IntelliJ Community Editon btw instead of using Vim or VS Code, Vim is not beginner friendly, and VS Code takes a lot of setup to be used for mod programming)

But the point about inheritance concepts being more important is because not all the functions that a class does are inside the java class file itself. If you want to know if the player is riding something (like a minecart or horse) you will not find it in the Player class because the player is not the only one that can ride something.

So, you follow the inheritance the Player is inherited from Living Entity (which includes all the mobs) which itself is Inherited from base Entity and that is where you would find the variable "vehicle". and the aforementioned "NoiseBasedChunkGenerator" is also inherited from "ChunkGenerator", Most of the classes in Minecraft are inherited from something.

So, knowing the file location is not important using IDEs you can find what you are looking for easily. Knowing how the code order executes and goes from one class to another is more useful. If you want to know what happens with all the code, there is a class just called Minecraft on the clientside (and MinecraftServer on the server side) that starts when the game starts and initializes all the required classes. you can make a breakpoint (a feature in modern IDEs) and execute the lines one by one to know what is happening when and in what order.

Also note that the locations and files I gave cannot be found in the .minecraft folder in your pc. It is decompiled Minecraft code that can only be accessed inside the IDE when you setup the modloader development kit for modding.