mojira.dev
MC-224778

Game crashes when there is a block with no facing block state in #wall_corals and a warm ocean tries to generate

The bug

If a block with no facing state (like quartz bricks) is added to #wall_corals block tag the game will crash when attempting to generate a coral reef.

[^(1.16.5) crash-2021-05-06_00.27.53-server.txt]

Description: Feature placement

java.lang.IllegalArgumentException: Cannot set property cfb{name=facing, clazz=class gc, values=[north, south, west, east]} as it does not exist in Block{minecraft:quartz_bricks}
	at cej.a(SourceFile:114)
	at ciy.b(SourceFile:51)
	at ciz.a(SourceFile:58)
	at ciy.a(SourceFile:27)
	at ciy.a(SourceFile:19)
	at civ.a(SourceFile:55)
	at cku.a(SourceFile:20)
	at cku.a(SourceFile:11)
	at civ.a(SourceFile:55)
	at cjb.a(SourceFile:23)
...

Reproduction steps

  1. Add the attached datapack

[media]
  1. to a new world.

  2. Wait for the world to generate.

    1. If the game instantly crashes, that means that a warm ocean was right by the spawn point.

    2. If not, locate the biome and teleport to the coordinates it gives you.

      /locatebiome minecraft:warm_ocean

      ❌ The game crashes

Attachments

Comments 9

Could you for simplicity please attach a small sample datapack which allows reproducing this?

I attached the datapack I was using when I found the issue. It adds quartz_bricks to all block and item tags.

@unknown I have updated your description of the report. Please don't make descriptions "see title" as those are not helpful.

Thanks for the datapack. However, there are two important things to consider:

  • The crash report you had attached was from a modded Minecraft installation (OptiFine). In general we do not accept reports about modded games since often bugs are caused by the mods. Though in this case this also affected unmodified (vanilla) Minecraft.

  • Please try to reduce datapacks to a minimum necessary for reproducing the bug. Your datapack contained a lot of changed block tags, and it appears it is not #coral_plants, but #wall_corals which is causing the issue. I have attached a datapack only containing that.

I have updated the report accordingly, I hope that is alright for you.

Seems to be another instance of MC-203332. It has the same error and the same replication steps, minus the features and block_state that are affected.

@Aidan T Wilson so you think we need one ticket for all such cases?

Personally I think for now it would be good to have separate reports for all these cases since they all have to be fixed individually, unless the developers wan't to solve this by silently ignoring calls trying to change non-existent block state properties.

No, I'm not saying that. What I am saying is that, from a programmer's standpoint, it's probably better to plan for this type of thing in advance. If each type of configured_feature is made configurable, then they're going to need to make sure they have a system that only sets properties where they are needed. For example, it should simply not modify the block states when it detects that a block does not have them, and just place them normally. Of course, in this case, it isn't bothering to detect these things at all, which probably means that Mojang didn't add any checks for that - probably because they didn't predict that people would use different blocks for this type of thing. Unfortunately, that is not the case. People want to make unique designs, and using the same types of blocks every time gets boring. So, even from a design standpoint, this should have been addressed before the features were released. Not that I'm saying they aren't trying - they definitely are, which is the reason custom world-gen is labeled experimental - it's just that they will need to correct this oversight at some point or another if they want to leave these particular types of configured_feature in the game.

Interestingly, SlicedLime started working on correcting what I think is the same bug as this one in the following issue: MC-200009

 

Seems like my work here is done, at least until the fix comes out. At that point, I'll probably check if the bug is fixed for each individual feature type.

[Mod] ManosSef

slicedlime

Confirmed

Very Important

Crash

1.16.5, 21w18a

1.17 Pre-release 1

Retrieved