Farmer's Delight

Farmer's Delight

121M Downloads

Rich Soil FarmLand can't be hydrated by non-Water hydrating fluids

fabien-gigante opened this issue ยท 2 comments

commented

Minecraft version

1.21.1

Farmer's Delight version

1.2.8

NeoForge version

21.1.176

Description

Rich Soil FarmLand can't be hydrated by other non-Water hydrating fluids.

Steps to reproduce

  1. Place a Rich Soil FarmLand block
  2. Place a fluid different than water with the "can hydrate" property in an adjacent block
  3. Observe that the Rich Soil FarmLand isn't hydrated

Mod list

Mod List Mod List: Name Version (Mod Id)
	Advancements Reloaded 0.6.1 (advancements_reloaded)
	Alternate Current 1.9.0 (alternate_current)
	AppleSkin 3.0.5+mc1.21 (appleskin)
	Architectury 13.0.8 (architectury)
	Armor Stand Poses 1.3.0 (poses)
	BetterF3 11.0.3 (betterf3)
	ClickThrough Plus 3.4+1.21.1 (clickthrough)
	Cloth Config v15 API 15.0.140 (cloth_config)
	Colorwheel 0.2.3+mc1.21.1 (colorwheel)
	Colorwheel Patcher 0.2.4+mc1.21.1 (colorwheel_patcher)
	Concurrent Chunk Management Engine 0.3.0+alpha.0.71+1.21.1 (c2me)
	Concurrent Chunk Management Engine (Base) 0.3.0+alpha.0.71+1.21.1 (c2me_base)
	Concurrent Chunk Management Engine (Client/Uncap View Distance) 0.3.0+alpha.0.71+1.21.1 (c2me_client_uncapvd)
	Concurrent Chunk Management Engine (Fixes/Chunk IO/Threading Issues) 0.3.0+alpha.0.71+1.21.1 (c2me_fixes_chunkio_threading_issues)
	Concurrent Chunk Management Engine (Fixes/General/Threading Issues) 0.3.0+alpha.0.71+1.21.1 (c2me_fixes_general_threading_issues)
	Concurrent Chunk Management Engine (Fixes/WorldGen/Threading Issues) 0.3.0+alpha.0.71+1.21.1 (c2me_fixes_worldgen_threading_issues)
	Concurrent Chunk Management Engine (Fixes/WorldGen/Vanilla Bugs) 0.3.0+alpha.0.71+1.21.1 (c2me_fixes_worldgen_vanilla_bugs)
	Concurrent Chunk Management Engine (No Tick View Distance) 0.3.0+alpha.0.71+1.21.1 (c2me_notickvd)
	Concurrent Chunk Management Engine (Optimizations/Chunk IO) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_chunkio)
	Concurrent Chunk Management Engine (Optimizations/Density Function Compiler) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_dfc)
	Concurrent Chunk Management Engine (Optimizations/General WorldGen) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_worldgen_general)
	Concurrent Chunk Management Engine (Optimizations/Math) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_math)
	Concurrent Chunk Management Engine (Optimizations/Memory Allocations) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_allocs)
	Concurrent Chunk Management Engine (Optimizations/Natives Math) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_natives_math)
	Concurrent Chunk Management Engine (Optimizations/Scheduling) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_scheduling)
	Concurrent Chunk Management Engine (Optimizations/Vanilla WorldGen) 0.3.0+alpha.0.71+1.21.1 (c2me_opts_worldgen_vanilla)
	Concurrent Chunk Management Engine (Rewrites/Chunk IO) 0.3.0+alpha.0.71+1.21.1 (c2me_rewrites_chunkio)
	Concurrent Chunk Management Engine (Rewrites/Chunk Serializer) 0.3.0+alpha.0.71+1.21.1 (c2me_rewrites_chunk_serializer)
	Concurrent Chunk Management Engine (Rewrites/Chunk System) 0.3.0+alpha.0.71+1.21.1 (c2me_rewrites_chunk_system)
	Concurrent Chunk Management Engine (Server Utils) 0.3.0+alpha.0.71+1.21.1 (c2me_server_utils)
	Concurrent Chunk Management Engine (Threading/Lighting) 0.3.0+alpha.0.71+1.21.1 (c2me_threading_lighting)
	conditional mixin 0.6.4 (conditional_mixin)
	Corpse 1.21.1-1.1.10 (corpse)
	Crate Delight 24.11.22-1.21-neoforge (cratedelight)
	Create 6.0.6 (create)
	Create Encased 1.7.1-fix2 (createcasing)
	Create New Beginnings 0.1.0 (createnewbeg)
	Create Slice & Dice 0.0.0-dev (sliceanddice)
	Create: Dragons Plus 1.6.1 (create_dragons_plus)
	Create: Enchantment Industry 2.1.7 (create_enchantment_industry)
	Create: Integrated Farming 1.0.6 (create_integrated_farming)
	Create: Trading Floor 3.0.10 (trading_floor)
	Create: Winery 1.7.0 (create_winery)
	CreateBetterFps 1.1.1 (createbetterfps)
	EntityCulling 1.8.2 (entityculling)
	Farmer's Delight 1.2.8 (farmersdelight)
	Ferrite Core 7.0.2 (ferritecore)
	Flerovium 1.0.4 (flerovium)
	Flywheel 1.0.4 (flywheel)
	Forgified Fabric API Base 0.4.42+d1308ded19 (fabric_api_base)
	Forgified Fabric BlockView API (v2) 1.0.10+9afaaf8c19 (fabric_block_view_api_v2)
	Forgified Fabric Renderer API (v1) 3.4.0+acb05a3919 (fabric_renderer_api_v1)
	Forgified Fabric Rendering Data Attachment (v1) 0.3.48+73761d2e19 (fabric_rendering_data_attachment_v1)
	Fzzy Config 0.6.9+1.21+neoforge (fzzy_config)
	ImmediatelyFast 1.6.6+1.21.1 (immediatelyfast)
	Iris 1.8.12-snapshot+mc1.21.1-local (iris)
	Jade 15.10.2+neoforge (jade)
	Jade Addons 6.1.0+neoforge (jadeaddons)
	Just Enough Items 19.22.0.315 (jei)
	Kotlin For Forge 5.8.0 (kotlinforforge)
	Lithium 0.15.0+mc1.21.1 (lithium)
	Minecraft 1.21.1 (minecraft)
	ModernFix 5.24.3+mc1.21.1 (modernfix)
	More Culling 1.0.6 (moreculling)
	NeoForge 21.1.176 (neoforge)
	Ponder 1.0.56 (ponder)
	ShulkerBoxTooltip 5.1.6+1.21.1 (shulkerboxtooltip)
	Sodium 0.6.13+mc1.21.1 (sodium)
	TRansition 1.0.3 (transition)
	TRender 1.0.5 (trender)
	Vanillin 1.1.3 (vanillin)
	VisibleToggleSprint 1.7.0 (visible_toggle_sprint)
	What Am I Listening To? 21.0.2.0 (wailt)

Logs

I suggest to modify RichSoilFarmlandBlock.java as follows :

private static boolean hasWater(LevelReader level, BlockPos pos) {
+  BlockState state = level.getBlockState(pos);
  for (BlockPos nearbyPos : BlockPos.betweenClosed(pos.offset(-4, 0, -4), pos.offset(4, 1, 4))) {
-    if (level.getFluidState(nearbyPos).is(FluidTags.WATER)) {
+    if (state.canBeHydrated(level, pos, level.getFluidState(nearbyPos), nearbyPos))
      return true;
    }
  }
  return FarmlandWaterManager.hasBlockWaterTicket(level, pos);
}

Similarly to what NeoForge does in FarmBlock.java.patch to avoid the existing Water hardcoding.

Minimal instance

  • I have tested this on a minimal instance

Performance and shader mods

  • I am using performance or shader mods
commented

Interesting find. I think this Forge change escaped me over the years because I'm copying a static method, instead of overriding it from the parent.

I'll toss this into the 1.2.9 patch. ๐Ÿ‘

commented

Added on commit 44f7309.