IdreesInc / Celeste

Add shooting stars to your Minecraft server with this Spigot Plugin 💫
https://www.spigotmc.org/resources/celeste.81862/
GNU General Public License v3.0
64 stars 16 forks source link

Added World, LootTable and Shooting/Falling Star Time Support. #4

Closed Trico-Everfire closed 2 years ago

Trico-Everfire commented 2 years ago

Heyo, this one is a LONG one, so hang in there:

Now, I'm not a Java expert, don't claim to be. I am just a humble Java coder that codes in his freetime, so feel free to request changes or ask questions in the comments below.

I love Celeste (not just the plugin, but also the game), Falling and shooting stars add just that touch that makes the game feel just that little more alive. So when i heard of it i was ON BOARD! however, i was quickly met with roadblocks.

Mostly, Items being given to you via the plugin's config was quite a hacky solution, not only is it not configurable, but in my experience failed to work half the time. Minecraft has this brilliant system of loot tables in place, and i wanted to implement it into Celeste. I know that this requires you to make a small datapack if you want to have your own custom loot table, but datapacks are easy to make, and so are the loot tables. The main selling point of loot tables is it's endless customization, with NBT support, set amount, set durability, set probability, set weight, and all that good stuff that makes them just worth the effort.

Custom worlds is one of the biggest and best features to come to minecraft, It adds a layer of minecraft customization that just didn't exist prior to it's inclusion. Celeste, with it's shooting and falling stars would add wonderfully to maybe a dimension set in minecraft's space, where shooting/falling stars would be plentiful, so when i realized that Celeste didn't support this, i was bummed, it's what prompted me to dust off my java coding skills and get to work! This doesn't just add the ability to have shooting/falling stars in different worlds, but have the new configuration allow you to set them PER WORLD! (make sure you have the full world name in the config, the full world name is the name your server generates for the world folders in your server folder) meaning that maybe you want near no shooting stars in the overworld but would love to have thousands in your custom dimension, NOW YOU CAN!

I noticed that the falling/shooting star spawn time was hard coded, so i added those to the world configs. allowing you to set your own times! if you wish for it to shoot/fall stars "24/7" set the times to -1 for start time and 24001 for end time (both unreachable) causing the sky to always be epic, regardless of time of day!

Due to these changes current configs are basically invalidated. so delete your old one and let a new one generate.

This was a blast to code, days of hard work went into this. Even if this doesn't end up in the official release of Celeste, you can still download and try it out by going to my branch, cloning and building it yourself.

fixed #1 fixed #3

Best regards, Trico Everfire.

IdreesInc commented 2 years ago

Thanks so much for your contributions! I have a busy week ahead, but I’ll try and give it a look ASAP

Trico-Everfire commented 2 years ago

Thanks so much for your contributions! I have a busy week ahead, but I’ll try and give it a look ASAP

No problem :D, I'm also working on color support for the particles. though, I need to do a little more research for that, As only a set amount of particles support color.

But, I hope the changes currently suffice, I love this plugin.

IdreesInc commented 2 years ago

Tons of good ideas in this PR, really appreciate it! I just have a few things I want to clean up on this branch over the weekend, but otherwise this is great. I'll update this PR once those changes are in and give you a chance to look them over as well if you'd like.

Trico-Everfire commented 2 years ago

Tons of good ideas in this PR, really appreciate it! I just have a few things I want to clean up on this branch over the weekend, but otherwise this is great. I'll update this PR once those changes are in and give you a chance to look them over as well if you'd like.

Sounds great!

Trico-Everfire commented 2 years ago

Tons of good ideas in this PR, really appreciate it! I just have a few things I want to clean up on this branch over the weekend, but otherwise this is great. I'll update this PR once those changes are in and give you a chance to look them over as well if you'd like.

Tons of good ideas in this PR, really appreciate it! I just have a few things I want to clean up on this branch over the weekend, but otherwise this is great. I'll update this PR once those changes are in and give you a chance to look them over as well if you'd like.

Sounds great!

any progress on this? I've been wanting to fix up any issues you may have with the PR, github allows for "request changes" which become merge conflicts i need to fix on my end, this way you only have to select what you want me to change, and I'll change it.

IdreesInc commented 2 years ago

I'm currently still working on my review and should be able to get a PR with some changes in to your fork by the end of the day. I apologize for the delay after saying it'd be done last week, some important personal matters came up (and then of course Christmas!). Thanks again for your help and patience!

IdreesInc commented 2 years ago

This might not be possible, but are you able to switch the target branch of this PR from "master" to the branch "loot-tables-and-multiple-worlds" so that I can add changes to the branch before creating a new PR to merge into master? Otherwise you might need to close this PR and make a new one. Never mind, I figured out how to do so following this