Skip to content

Oxidization data map doesn't work without extending vanilla's WeatheringCopper{Variant}Block classes. #2109

Closed
@VoidLeech

Description

@VoidLeech

Minecraft Version: 1.21.1 (and up)

NeoForge Version: 21.1.143

Logs: n/a

Steps to Reproduce:

  1. Create a block using the WeatheringCopperFullBlock constructor (properties don't matter)
  2. Add the block to the oxidizables data map
  3. Place block
  4. Wait
  5. Block will not randomtick.

An example of this in the wild is Create.

Description of issue:
Or at the very least the docs are wrong as they state using the vanilla class is enough:
https://docs.neoforged.net/docs/resources/server/datamaps/builtin#neoforgeoxidizables
Whether a block is random ticked is cached at registry freeze. WeatheringCopper{Variant}Block checks the map in WeatheringCopper for this (and does not check the isRandomlyTicking block property (that vanilla also doesn't set) so that's not a workaround), when the data map is obviously not loaded yet and so will not contain our new block. Thus without extending the class and overriding isRandomlyTicking, the block won't be ticked.

Metadata

Metadata

Assignees

Labels

1.21.1Targeted at Minecraft 1.21.11.21.2Targeted at Minecraft 1.21.21.21.4Targeted at Minecraft 1.21.41.21.5Targeted at Minecraft 1.21.5bugA bug or errortriageNeeds triaging and confirmation

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions