defeatedcrow / HeatAndClimateMod

The Mod for Minecraft 1.9.4+
54 stars 18 forks source link

Green Gold Pendant適用時に単体の原木を破壊できない #220

Closed SkyTheory closed 2 years ago

SkyTheory commented 2 years ago

ItemColorPendant2のGreenを所持中に、単体の(周囲に同種のブロックが存在しない)原木を破壊できません。 原因はMainUtil.getLumberTargetListはその状況では空のLinkedHashSetを返すからだと思われます。 差し出がましい真似かもしれませんが、これが意図した仕様ではないならばItemColorPendant2の189行目の return true; を return !set.isEmpty(); に変更で解消すると思います。(PRのやり方が良く分からないので、issue内での提案となります……)

defeatedcrow commented 2 years ago

ご報告ありがとうございます。 次回修正で更新します。

>ItemColorPendant2の189行目のreturn true; を return !set.isEmpty();に変更

この方法では別の不具合が発生します(!owner.world.isRemoteの判定を挟むため、この方法だと鯖蔵で結果が食い違い、ブロック更新に不具合が出います)ので、EMPTY時の条件分岐を用意すると思います。

SkyTheory commented 2 years ago

ありがとうございます! 燃焼チャンバーやシンクの新モデル等々、次回更新を楽しみに待ってますー!

defeatedcrow commented 2 years ago

0538ab34308783698ad731107bb8d4bd0ba6758d でset.isEmpty()時の挙動を修正しました。 たぶんこれで大丈夫だと思います。

https://github.com/defeatedcrow/HeatAndClimateMod/commit/0538ab34308783698ad731107bb8d4bd0ba6758d#diff-791e21c0d3ace0d5576ca648416cc0a9d3cb946207b3e6b52e30ebcf742bdcb3R196

SkyTheory commented 2 years ago

対応ありがとうございます。 ですが、今度はisEmptyの際の処理にworld.setBlockToAirが入っていないため、アイテムのみドロップして原木がワールドに残ったままになってしまっています……。