-
-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Concrete mixer can do multiple things before going back to the hut #10331
Conversation
src/main/java/com/minecolonies/core/colony/buildings/workerbuildings/BuildingConcreteMixer.java
Show resolved
Hide resolved
{ | ||
for (final BlockPos pos : waterPos.getOrDefault(i, Collections.emptyList())) | ||
{ | ||
final BlockState state = colony.getWorld().getBlockState(pos); | ||
if (!state.getFluidState().isEmpty() && state.getBlock() == Blocks.WATER) | ||
if (state.is(Blocks.WATER)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flowing water is not water though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well I tested this, and it is.
If a block contains flowing water the block is still marked as containing water, the fluid state however just lists a different water depth.
There's no need for a depth check because the waterPos already has determined the required water level should be good in the schematic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please double check this. Because at least in some cases as far as I am aware, if air gets some low level water into it, it's fluidstate not empty, but actual state is not water.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if that is the case with low level water, then it's a non issue, because we only support up to a max depth of 5, and it worked correctly for every depth we support.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference I had a debugger out, and every level it's blockstate was set to being the actual block of water, disregarding how high the water actually was
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've double checked it again and it works fine. On top of that we already calculate the actual positions during construction, so I need not worry about calculating the depth of the water because the position itself is calculated to have water in it.
So that means we know the position is valid, so as long as there's then some water in it again, we're fine.
src/main/java/com/minecolonies/core/entity/ai/workers/crafting/EntityAIConcreteMixer.java
Show resolved
Hide resolved
…10331) Concrete mixer can do multiple things before going back to the hut
Closes #10209
Changes proposed in this pull request
Testing
Review please