Harvest with ease

Harvest with ease

19M Downloads

Hoe Enchantment Opportunity

nottoobritish opened this issue ยท 15 comments

commented

I have confirmed no other issue asks for this

  • I have searched for existing issues

Desired behavior

Simply put, I would love to see this functionality as Enchantments for a more Vanilla feel. Harvest 1-3 could be your harvest area size, and a separate Replant Enchantment. Maybe Fortune for crop yield, or something to provide XP. This would preferably require enchantment opportunities via Books or an Enchanting Table, and maybe random loot tables.

Current behavior

No response

Additional context

No response

commented

1.21.4 is what my server is currently playing.

Using your current customizations I propose the following
(I'm not sure how to scale Harvest and Reaper based on vanilla tool material type. i.e. do you increase Harvest III based on a netherite or diamond?)

Enchantment Level Outcome
Harvest I 3x3 area harvested
Harvest II 5x5 area harvested
Harvest III 7x7 area harvested
Green Thumb I Replant harvested crop
Reaper I Exp orbs released (4 xp per crop?)
Reaper II Exp orbs released (6 xp per crop?)
Reaper III Exp orbs released (8 xp per crop?)
Rake I Gather Drops
commented

I tend to think Simple is Better

I 100% agree!

I agree; I don't think multipoint scaling is necessary, I was just trying to use your wiki's language.(e.g. Iron Tier vs Diamond Tier) I prefer simple enchanting vs scaling on material type. Makes it easier I'd think. I agree on Reaper being simple and not tool specific as well.

Yes, it's probably less confusing this way. The only point in favor of scaling with material type is the example set by Efficiency.

I understand Rake and Green Thumb having more levels, but I am afraid of it being too complicated in comparison to Vanilla Enchants. I don't know much about the coding requirements, but without 2 separate enchantments is it difficult to increase your rake area based on harvest? That is to say, if you keep it as a single level (Rake I) and I enchant my hoe with Harvest II, will the game know that I should be raking in all the crops I just harvested? or would you just code it to "Rake" the maximum area harvest may do?

It's easy to code it both ways, really.
I too think that adding so many levels makes it too complicated, so I'm more in favor of maybe increasing a little bit the rarity of Rake and Green Thumb, and keeping only the Harvest multilevel.
However, I'm thinking that I probably should code it as if there were multiple levels for Rake and Green Thumb, so that the behavior works regardless of whether or not multiple levels are defined in the datapack. But this is more of a note to my future self ahah

Increasing the maximum to Lvl V... is this to account for your potential harvest of 15x15? I feel that may be overkill. or how the younger kids say... OP?

My thought was really about Vanilla Efficiency. As I was thinking of a base harvest area depending on the tool material, like different materials have different base mining speed, I thought of the same analogy for the maximum level.
Anyway, implementing it is the same regardless of the maximum level, I just need to decide on a default maximum level, and then let users change it as they please.

Hunger... I think this is a great idea. Is this a base concept in the vanilla game? Do I get hunger from harvesting? or is it just running and jumping? I know NOTHING about this mechanic. It makes since that you get hungry when you garden, and from experience I know I eat my tasty crops all the time IRL. So... "Snacking Enchantment"?

Well, in Vanilla there is no concept of "harvesting". However, there is a concept of "mining", and you do lose a little bit of hunger for each block you break (including crops).
Currently, in HWE there is a configuration option to decide how much hunger to consume per crop harvested. By default it's 0. This is the configuration value explanation:

Multiplier for the exhaustion caused when right-click harvesting (0 to disable, 1 for the same exhaustion regular block breaking causes).
Testing is advised. Follow the table below for some approximate info (note that a player has up to 20 hunger points):

Multiplier value Hunger points per crop harvested Crops required to deplete 1 hunger/saturation point
0.0 0 -
1.0 0.001 800
5.0 0.006 160
10.0 0.013 80
50.0 0.063 16
100.0 0.125 8
200.0 0.25 4
400.0 0.5 2

So, it really boils down to flavor and balancing. For example, hunger consumption is a good way to prevent harvesting enormous areas at once (allowing for more balance, although bigger areas, and thus maybe maximum Harvest enchantment level).
I don't know what's best, so maybe I should add a second datapack configuration that handles this aspect, and let the users decide how they want to play.

Just to explain to you how all of this enchantment stuff is going to work:
Rather than being controlled by a configuration option, I would instead ship a datapack with the mod (deactivated by default).
For people that want the mod to work based on the enchantments, they would have to activate the datapack (either when creating a new world or later on with commands).
For this reason, it costs me nothing to add a second shipped datapack just for the hunger stuff.

Sorry for the long replies, I'm not the best at keeping it brief ๐Ÿ˜…

commented

Personally, by default I wouldn't mix effect scaling from enchantments and from tool material.
For example, Fortune III does not change its effect regardless of whether it's applied on a wood or a netherite pickaxe.
The exception could be applying a base harvest area depending on the tool, so for example wood (without enchantment) harvests 1, and netherite (without enchantment) harvest 5x5. And then each enchantment increases the harvest square side by 2 (e.g. Wood + Harvest I = 3x3; Netherite + Harvest I = 7x7).
And maybe this tool-area could be toggled via a configuration option.

The Reaper enchantment I would not make it scale at all with tool material.

Then we could also make Rake and Green Thumb have more levels, where each level increases the area.
For example, if you have Harvest III (7x7), but Rake I (3x3), you will harvest the crops in a 7x7 area, but gather the drops only in a 3x3 area.

We could also increase the maximum level to V.

What about hunger consumption? Currently there is a configuration option to choose how much hunger is consumed for each harvested crop. Do you think an enchantment to reduce this effect could make sense? If not, how do you suggest to integrate the behavior?

Btw, I find this to be a great suggestion, that's why I'm asking so many questions: I want to make sure to develop something that makes sense and satisfies the end users!
Anyway, keep in mind that even if the final default enchantment setup is not 100% to your liking, I'm planning on making it fully configurable (either via datapack and/or configuration file).

commented

Thank you for such a great and thoughtful response!

I tend to think Simple is Better - With this in mind ill try to respond to each question...

I agree; I don't think multipoint scaling is necessary, I was just trying to use your wiki's language.(e.g. Iron Tier vs Diamond Tier) I prefer simple enchanting vs scaling on material type. Makes it easier I'd think. I agree on Reaper being simple and not tool specific as well.

I understand Rake and Green Thumb having more levels, but I am afraid of it being too complicated in comparison to Vanilla Enchants. I don't know much about the coding requirements, but without 2 separate enchantments is it difficult to increase your rake area based on harvest? That is to say, if you keep it as a single level (Rake I) and I enchant my hoe with Harvest II, will the game know that I should be raking in all the crops I just harvested? or would you just code it to "Rake" the maximum area harvest may do?

Increasing the maximum to Lvl V... is this to account for your potential harvest of 15x15? I feel that may be overkill. or how the younger kids say... OP?

Hunger... I think this is a great idea. Is this a base concept in the vanilla game? Do I get hunger from harvesting? or is it just running and jumping? I know NOTHING about this mechanic. It makes since that you get hungry when you garden, and from experience I know I eat my tasty crops all the time IRL. So... "Snacking Enchantment"?

commented

This all sounds so wonderful. Please let me know if you need anything tested. I will put my server up for sacrifice! Additionally, not to assume we are besties now, but if there is ever anything you want to bounce off of me in the future, please feel free!

commented

Thank you!

It might take a while before I can tackle this, I'm quite busy these couple of weeks.
I'm probably going to work on this in the last week of March.

In the meantime, you could join our Discord server!

Thank you for the patience ๐Ÿ™๐Ÿผ

commented

Please, put in a table (you can use this generator) all the enchantments you'd like, their effect, and their maximum level.
Note that the Vanilla fortune enchantment already has an effect as of now.

For which versions would you like to see this new feature?
I'm asking because their is a simple and effective way to implement this from 1.21 and above only, so ideally those would be the only versions with this new feature.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

This issue is stale because it has been open for 14 days with no activity. In 14 days it is going to be closed.

commented

So, I've been postponing this a lot. Sorry, but I'm really busy IRL. I'd like to tackle this during August if I manage to do everything I need to do in July. No promises though, except that I'll try my best.