B1n-ry / Youre-in-grave-danger

A minecraft mod which adds one single block. The grave, which will generate when you die, and store your items
https://www.curseforge.com/minecraft/mc-mods/youre-in-grave-danger
MIT License
59 stars 16 forks source link

FEATURE REQUEST: RECOVERY COMPASS CAN ALSO LOCATE GRAVES #134

Closed Thelegendking closed 5 months ago

Thelegendking commented 8 months ago

So the idea is that when player get recovery compass they can have two modes -

  1. Vanilla Recovery compass(Same as before, locates the recent death location)
  2. Grave Locator (Locates this mod's graves. If there are multiple death graves placed on the world then it will locate the closest grave to the player one at a time)

This give some more importance for having the recovery compass and make it more useful for this mod. Especially when its given soulbound enchantment on that compass. Also it'll be more rewarding to go to deep dark biome, thank you for such useful mod.

Thelegendking commented 8 months ago

Perhaps you can get some help from nature's compass mod if you consider implementing this feature on your mod.

B1n-ry commented 8 months ago

I had a compass in previous versions, but didn't implement it in 2.0.0 since I thought the sculk compass already did what the old one did, and I added a feature to receive any item on respawn. But yeah I didn't think about having it change direction it's pointing in towards the closest grave or whatever. I'll see what I can do. Thank you for the suggestion

Thelegendking commented 8 months ago

Np๐Ÿ‘ Thank you for reading my idea

sisby-folk commented 8 months ago

Hey! the recovery compass item on respawn thing is cool, but the old compass would disappear when you found the specific grave it related to, and could "chain" such that you could follow each compass for 5 deaths in a row to recover all items and have 0 compasses at the end.

I think 2.0 is a bit of a downgrade over this, is there any way to bridge the gap?

B1n-ry commented 6 months ago

I've reimplemented grave compasses as of yigd 2.0.0-beta.7. They have the same functionality and configurability as on earlier versions, but can now also be configured to be deleted if they are combined with a grave that is not unclaimed/unopened. As for the "point towards nearest grave", that would be quite tricky I believe. As the graves are currently stored there's no way to filter them based on their position, which means that finding the closest one could become incredibly inefficient. I'll try to think about it more and see if I can come up with something clever. I might have an idea, but not sure if it'll work. Compasses in general are back now anyway. I'll keep the issue open so I can remember to check if my idea will work

sisby-folk commented 6 months ago

Thanks for that! I think pointing to the most recent grave is better than pointing to the nearest one anyway ^^ (which is implicit with the old impl)

Thelegendking commented 6 months ago

I've reimplemented grave compasses as of yigd 2.0.0-beta.7. They have the same functionality and configurability as on earlier versions, but can now also be configured to be deleted if they are combined with a grave that is not unclaimed/unopened. As for the "point towards nearest grave", that would be quite tricky I believe. As the graves are currently stored there's no way to filter them based on their position, which means that finding the closest one could become incredibly inefficient. I'll try to think about it more and see if I can come up with something clever. I might have an idea, but not sure if it'll work. Compasses in general are back now anyway. I'll keep the issue open so I can remember to check if my idea will work <

NICE good to see them back in the mod, thanks. I got another pretty cool idea cuz of playing with this version even though don't know if that's even possible or not. Since the grave compass are back with better functionality and costs nothing the recovery compass are even more useless now even if they're enchanted with soulbound.

So the idea is that whenever player dies they can't just respawn with grave compass, they need to have a recovery compass or a recovery compass enchanted with soulbound (whatever you could prefer) in their inventory in order to respawn with grave compass but the recovery compass gets replaced with the grave compass when they respawn. So after claiming the grave its locating to, the grave compass gets removed (like it does right now in this version) and player get their recovery compass back. And also nothing changes if the player dies again with a grave compass in their inventory, they get new one like they get right now. This achieves two things -

  1. Making Recovery Compass useful finally.
  2. Balancing out the feature of Grave Compasses to locate the graves in survival, making it more survival friendly cuz players will have to get recovery compass inorder to use this feature and its no longer cheaty.

And about the option to "point towards nearest grave" I don't think there's any need for it anymore because since from this update players can keep claiming/finding their previous graves if they died multiple times because they get their old grave compass back from the recent grave and also those compasses gets deleted from inventory after claiming the graves so player can now actually locate each graves one by one so no need to do anything about that imo.

B1n-ry commented 5 months ago

I'm not sure if it's exactly what you wanted, but in the next version (I'm planning on releasing it tomorrow) I have added some config options for the grave compass. First off, you can configure that when you have a recovery compass in your inventory, and opening the grave overview GUI for a grave, you can with the click of a button in this GUI obtain a compass pointing to the grave. I've also managed to implement the "point to closest grave" feature, where you can configure if it should just point to your graves or any graves. It should be quite efficient looking for graves, but that depends on in which order graves generate and where. In the absolute optimal case a billion graves (which I don't think would be possible unless dedicating a lot of RAM to minecraft, but I kinda want to explain how efficient it can be), would find the closest one to your position after ~30 tries, which I'm pretty sure would run in less than a millisecond. Now in the average case it would probably take more than 30 iterations, but probably less than 100 still.

Thelegendking commented 5 months ago

This EXACTLY what I wanted from this๐Ÿ™Œ, I can't believe you actually put that much effort into putting such complex feature in this mod. Can't wait to test this out, Seriously ๐Ÿ˜

B1n-ry commented 5 months ago

It probably seems like way more effort than it actually was. The hard part is knowing how to implement something, which I learned a few months ago in a course about data structures and algorithms. Anyway I just uploaded the version to all the usual places. Hope you'll like it!