MLG-Fortress / ExtraHardMode

The now-official repository for the ExtraHardMode Bukkit Plugin.
http://dev.bukkit.org/bukkit-plugins/fun-hard-mode/
Other
24 stars 21 forks source link

[Fix] antifarming weakness #233

Closed LazyGon closed 3 years ago

LazyGon commented 4 years ago

Fix bug that dispenser can use fish bucket.

LazyGon commented 4 years ago

I did not realize this bug before creating PR for kelp and sea grass bug...

LazyGon commented 4 years ago

I will commit patch about generating water source by kelp growth, please wait.

RoboMWM commented 4 years ago

No problem, whenever it's ready just click the "Ready for review" button.

LazyGon commented 4 years ago

In vanilla minecraft, sea grass or kelp fertilized with bone meal can replace flowing water into water source. In this case flowing water must be falling water (level is 8-15). Now, non-bypassed user cannot generate water source in this way.

Kelp can grow without bone meal. This also can change water. Cancelled these kelp growth which can change water.

LazyGon commented 4 years ago

We may need another scoreboard message for this limitation.

RoboMWM commented 4 years ago

Yea, I'm wondering if this should be another config option now that I think of it. The idea behind water buckets not creating water sources is so it isn't easy to just generate new sources from a mere bucket. EHM does not block using harvesting ice to create sources though - as this is more difficult.

Is kelp/seagrass easy to obtain and use to create water sources?

LazyGon commented 4 years ago

I think it's not difficult. See this reproduction video. And this video is how patched EHM denied creating water source. (To see chat, 1080p (HD) is needed)

RoboMWM commented 4 years ago

Thank you for the detailed video! Yea, I figured that's how one could work around creating a water source with a bucket, they just need some extra materials and timing.

It probably does make sense to trigger a tutorial message or make a new one. It can stay as part of the same config option, or if you'd like, you can create another option - as thinking about this more, it makes sense for it to remain part of the same feature.

LazyGon commented 4 years ago

OK. If you do not like added notification message or config message path, tell me new string you like.

LazyGon commented 3 years ago

I now recognized what you told me to implements differed what I thought. It was my misunderstanding :p

And, I should divide this PR again into two, one is to deny dispenser fish bucket and another is kelp water creation patch.

(Sorry for my inactiveness. I was busy to deal with other things...)

LazyGon commented 3 years ago

So, close this PR once.

RoboMWM commented 3 years ago

Oh, I thought I pulled an earlier PR that superceded this. mk.

LazyGon commented 3 years ago

The earlier PR maybe this, which fixes putting seagrasses in marked water leaves water.

In my opinion, marked water should not be changed because marked blocks are unbreakable. The leaving mark alone because of putting kelp is another bug that must be fixed. So I blocked the weakness.

Then, in minecraft default specification flowing water can become water source by kelp is a little different way.

Reproduction way, result, and using item is same or similar but another bug, that is confusing. I should have explained more at PR above sorry.

LazyGon commented 3 years ago

Or we can change code to remove marks at where kelp is put. We stopped changing minecraft default specification, then removing mark is more intuitive for users maybe.

RoboMWM commented 3 years ago

What do you mean by"marked" water?

Perhaps I need to review the new water stuff added in 1.13, sounds like it's complex.

LazyGon commented 3 years ago

Wait, I explained something wrong...

When player put water from bucket, the block is marked. I call the block "marked water". I checked src and found that players cannot take water which is marked. Unbreakable is not correct. I may have been tired then...?

If player put kelp in marked water and then break it, marked water will be left alone. The water cannot be removed with bucket. I thought that is not regular behaver.