MC 1.21.x [Incompatibility] Additional Placement Fabric with the Dynamic Ressouce Loading option enabled
Lonseuks opened this issue · 8 comments
Bug Description
Missing Texture Texture on verticaly placed stairs and slabs added by Additional Placement Fabric
Reproduction Steps
1-Install Additional Placement Fabric, ModMenu and ModernFix (with depencies) on Fabric for Minecraft1.21.x
2-Enable the Dynamic Ressource Loading option
3-Start a World place Stairs or Slabs Verticaly (Additional Placement Fabric)
4-Observe the missing texture (not observable if steps are done on Fabric for Minecraft 1.20.1)
Log File
[10:32:37] [main/INFO]: Loading Minecraft 1.21.4 with Fabric Loader 0.16.9
[10:32:37] [main/INFO]: Fabric is preparing JARs on first launch, this may take a few seconds...
[10:32:37] [main/INFO]: Loading 59 mods:
- additionalplacements 2.2.0
- fabric-api 0.114.0+1.21.4
|-- fabric-api-base 0.4.54+b47eab6b04
|-- fabric-api-lookup-api-v1 1.6.86+b1caf1e904
|-- fabric-biome-api-v1 15.0.6+b1c29d8e04
|-- fabric-block-api-v1 1.0.31+7feeb73304
|-- fabric-block-view-api-v2 1.0.19+7feeb73304
|-- fabric-blockrenderlayer-v1 2.0.8+7feeb73304
|-- fabric-client-tags-api-v1 1.1.29+20ea1e2304
|-- fabric-command-api-v1 1.2.62+f71b366f04
|-- fabric-command-api-v2 2.2.41+e496eb1504
|-- fabric-commands-v0 0.2.79+df3654b304
|-- fabric-content-registries-v0 9.1.14+7feeb73304
|-- fabric-convention-tags-v1 2.1.11+7f945d5b04
|-- fabric-convention-tags-v2 2.10.1+e7d3c6e504
|-- fabric-crash-report-info-v1 0.3.6+7feeb73304
|-- fabric-data-attachment-api-v1 1.4.6+9aea556b04
|-- fabric-data-generation-api-v1 22.2.4+20ea1e2304
|-- fabric-dimensions-v1 4.0.10+7feeb73304
|-- fabric-entity-events-v1 2.0.12+60fccc7604
|-- fabric-events-interaction-v0 4.0.2+a4eebcf004
|-- fabric-game-rule-api-v1 1.0.62+7feeb73304
|-- fabric-item-api-v1 11.1.14+203e6b2304
|-- fabric-item-group-api-v1 4.1.23+7feeb73304
|-- fabric-key-binding-api-v1 1.0.56+7feeb73304
|-- fabric-keybindings-v0 0.2.54+df3654b304
|-- fabric-lifecycle-events-v1 2.5.4+bf2a60eb04
|-- fabric-loot-api-v2 3.0.33+3f89f5a504
|-- fabric-loot-api-v3 1.0.21+203e6b2304
|-- fabric-message-api-v1 6.0.25+7feeb73304
|-- fabric-model-loading-api-v1 4.2.0+8ca2ae8d04
|-- fabric-networking-api-v1 4.3.9+f371ccb904
|-- fabric-object-builder-api-v1 18.0.8+d70d2c0604
|-- fabric-particles-v1 4.0.14+7feeb73304
|-- fabric-recipe-api-v1 8.0.6+9ceeb58c04
|-- fabric-registry-sync-v0 6.1.3+e7d3c6e504
|-- fabric-renderer-api-v1 5.0.2+84404cdd04
|-- fabric-renderer-indigo 2.0.2+84404cdd04
|-- fabric-rendering-data-attachment-v1 0.3.57+73761d2e04
|-- fabric-rendering-fluids-v1 3.1.19+7feeb73304
|-- fabric-rendering-v1 10.1.2+b874120c04
|-- fabric-resource-conditions-api-v1 5.0.13+203e6b2304
|-- fabric-resource-loader-v0 3.0.11+b1caf1e904
|-- fabric-screen-api-v1 2.0.38+7feeb73304
|-- fabric-screen-handler-api-v1 1.3.110+7feeb73304
|-- fabric-sound-api-v1 1.0.32+7feeb73304
|-- fabric-tag-api-v1 1.0.2+20ea1e2304
|-- fabric-transfer-api-v1 5.4.9+efa825c904
-- fabric-transitive-access-wideners-v1 6.3.2+56e78b9b04
- fabricloader 0.16.9
-- mixinextras 0.4.1
- forgeconfigapiport 21.4.1
|-- com_electronwill_night-config_core 3.8.1
-- com_electronwill_night-config_toml 3.8.1
- java 21
- minecraft 1.21.4
- modernfix 5.20.1+mc1.21.4
- modmenu 13.0.0-beta.1
-- placeholder-api 2.5.1+1.21.3
[10:32:38] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=file:/G:/Apps/ModrinthData/meta/libraries/net/fabricmc/sponge-mixin/0.15.4+mixin.0.8.7/sponge-mixin-0.15.4+mixin.0.8.7.jar Service=Knot/Fabric Env=CLIENT
[10:32:40] [main/INFO]: Compatibility level set to JAVA_21
[10:32:40] [main/WARN]: Reference map 'forgeconfigapiport.common.refmap.json' for forgeconfigapiport.common.mixins.json could not be read. If this is a development environment you can ignore this message
[10:32:40] [main/INFO]: Loaded configuration file for ModernFix 5.20.1+mc1.21.4: 53 options available, 1 override(s) found
[10:32:40] [main/WARN]: Option 'mixin.perf.dynamic_resources' overriden (by user configuration) to 'true'
[10:32:40] [main/INFO]: Applying Nashorn fix
[10:32:40] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[10:32:41] [Datafixer Bootstrap/INFO]: 243 Datafixer optimizations took 378 milliseconds
[10:32:45] [main/INFO]: Vanilla bootstrap took 3017 milliseconds
[10:32:45] [Render thread/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[10:32:45] [Render thread/INFO]: Setting user: {MINECRAFT_USERNAME}
[10:32:45] [Render thread/WARN]: Configuration file G:\Apps\ModrinthData\profiles\testingerino\config\forgeconfigapiport.toml is not correct. Correcting
[10:32:45] [Render thread/INFO]: Incorrect key [disableConfigWatcher] was corrected from null to false
[10:32:45] [Render thread/INFO]: Incorrect key [logUntranslatedConfigurationWarnings] was corrected from null to true
[10:32:45] [Render thread/INFO]: Incorrect key [correctConfigValuesFromDefaultConfig] was corrected from true to null
[10:32:45] [Render thread/INFO]: Incorrect key [recreateConfigsWhenParsingFails] was corrected from true to null
[10:32:45] [Render thread/INFO]: Incorrect key [forceGlobalServerConfigs] was corrected from true to null
[10:32:46] [Render thread/INFO]: [Indigo] Registering Indigo renderer!
[10:32:46] [Render thread/INFO]: Checking mod updates...
[10:32:46] [Render thread/INFO]: Backend library: LWJGL version 3.3.3-snapshot
[10:32:47] [Render thread/WARN]: Removed resource pack modernfix from options because it is no longer compatible
[10:32:47] [Render thread/INFO]: Invalidating pack caches
[10:32:47] [Render thread/INFO]: Reloading ResourceManager: vanilla, fabric, additionalplacements, fabric-api, fabric-api-base, fabric-api-lookup-api-v1, fabric-biome-api-v1, fabric-block-api-v1, fabric-block-view-api-v2, fabric-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, fabric-crash-report-info-v1, fabric-data-attachment-api-v1, fabric-data-generation-api-v1, fabric-dimensions-v1, fabric-entity-events-v1, fabric-events-interaction-v0, fabric-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-loot-api-v3, fabric-message-api-v1, fabric-model-loading-api-v1, fabric-networking-api-v1, fabric-object-builder-api-v1, fabric-particles-v1, fabric-recipe-api-v1, fabric-registry-sync-v0, fabric-renderer-api-v1, fabric-renderer-indigo, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-sound-api-v1, fabric-tag-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, forgeconfigapiport, modernfix, modmenu, placeholder-api
[10:32:47] [Worker-ResourceReload-8/INFO]: Found unifont_all_no_pua-16.0.01.hex, loading
[10:32:47] [Worker-ResourceReload-4/INFO]: Found unifont_jp_patch-16.0.01.hex, loading
[10:32:48] [Render thread/INFO]: OpenAL initialized on device OpenAL Soft on Headphones (High Definition Audio Device)
[10:32:48] [Render thread/INFO]: Sound engine started
[10:32:48] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/blocks.png-atlas
[10:32:48] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/signs.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
[10:32:48] [Render thread/INFO]: Created: 2048x1024x4 minecraft:textures/atlas/armor_trims.png-atlas
[10:32:48] [Render thread/INFO]: Created: 128x64x4 minecraft:textures/atlas/decorated_pot.png-atlas
[10:32:48] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
[10:32:48] [Render thread/INFO]: Created: 64x64x0 minecraft:textures/atlas/map_decorations.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas
[10:32:48] [Render thread/INFO]: Created: 512x256x0 minecraft:textures/atlas/paintings.png-atlas
[10:32:48] [Render thread/INFO]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
[10:32:48] [Render thread/INFO]: Created: 1024x512x0 minecraft:textures/atlas/gui.png-atlas
[10:32:50] [Render thread/WARN]: Game took 19.881 seconds to start
[10:32:53] [Render thread/INFO]: Found new data pack fabric-convention-tags-v2, loading it automatically
[10:32:54] [Render thread/INFO]: Loaded 1370 recipes
[10:32:54] [Render thread/INFO]: Loaded 1481 advancements
[10:32:54] [Render thread/INFO]: Applied 0 biome modifications to 0 of 65 new biomes in 989.9 μs
[10:32:54] [Server thread/INFO]: Starting integrated minecraft server version 1.21.4
[10:32:54] [Server thread/INFO]: Generating keypair
[10:32:55] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[10:32:55] [Render thread/INFO]: Preparing spawn area: 0%
[10:32:55] [Render thread/INFO]: Preparing spawn area: 87%
[10:32:55] [Render thread/INFO]: Time elapsed: 752 ms
[10:32:55] [Server thread/INFO]: Changing view distance to 12, from 10
[10:32:55] [Server thread/INFO]: Changing simulation distance to 12, from 0
[10:32:55] [Server thread/WARN]: Found missing and/or extra tags on generated blocks. Use "/ap_tags_export" to generate the tags, then "/reload" to re-load them (or re-load the world if that fails).
[10:32:55] [Server thread/INFO]: Not logging tag mismatches as it is disabled in the common config
[10:32:55] [Server thread/INFO]: Rebuilding block tags and reloading datapacks as automatic tag rebuilding is enabled
[10:32:56] [Server thread/INFO]: Finished exporting tags
[10:32:56] [Server thread/INFO]: Finished exporting tags
[10:32:56] [Server thread/INFO]: Reloading!
[10:32:56] [Server thread/INFO]: Loaded 1370 recipes
[10:32:56] [Server thread/INFO]: Loaded 1481 advancements
[10:32:56] [Server thread/INFO]: {MINECRAFT_USERNAME}[local:E:231b1ba3] logged in with entity id 59 at (13.947036098049624, 97.8078159360847, 20.347457339008375)
[10:32:56] [Server thread/INFO]: {MINECRAFT_USERNAME} joined the game
[10:32:57] [Render thread/INFO]: Loaded 2 advancements
[10:32:57] [Render thread/WARN]: Time from main menu to in-game was 2.6696944 seconds
[10:32:57] [Render thread/WARN]: Total time to load game and open world was 22.550695 seconds
[10:33:19] [Server thread/INFO]: Saving and pausing game...
[10:33:19] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:overworld
[10:33:19] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_end
[10:33:19] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_nether
[10:33:20] [Server thread/INFO]: {MINECRAFT_USERNAME} lost connection: Disconnected
[10:33:20] [Server thread/INFO]: {MINECRAFT_USERNAME} left the game
[10:33:20] [Server thread/INFO]: Stopping singleplayer server as player logged out
[10:33:20] [Server thread/INFO]: Stopping server
[10:33:20] [Server thread/INFO]: Saving players
[10:33:20] [Server thread/INFO]: Saving worlds
[10:33:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:overworld
[10:33:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_end
[10:33:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_nether
[10:33:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (New World): All chunks are saved
[10:33:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[10:33:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[10:33:20] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[10:33:24] [Render thread/INFO]: Stopping!
I want to add that I only did it this way because I could not find a more reliable way to make the systems work. The minecraft model loading system is a jumble of CompletableFutures, cached states, and a bunch of other stuff that makes this the only reliable option. This isn't a dig at how minecraft is handling it - it's actually really well designed to attempt to load models as quickly as possible, even if it is extremely poor at memory management - it was never designed for what I am trying to make it do.
Same happen with the Neoforge version 1.21.x
https://mclo.gs/SmqtUPw
Additional Placements is using mixins to control model loading instead of the NeoForge or Fabric-provided model APIs; this will generally make it incompatible with dynamic resources.
While rethinking about this something ocured to me:
I am no coder but, if an external add-on patch was made that add the mixins generated by Additional Placement to the list of dynamically loadable ressources, would it then work ?
IDK where the actual issue comes in from, since my models directly reference the base models and never cache any fixed geometry (I deemed doing so unfeasible when considering models that may actually have multiple models to choose from). there must be some injected code or something that is called before a base model is rendered that doesn't work with mine
IDK where the actual issue comes in from, since my models directly reference the base models and never cache any fixed geometry (I deemed doing so unfeasible when considering models that may actually have multiple models to choose from). there must be some injected code or something that is called before a base model is rendered that doesn't work with mine
it work on the 1.20.1 version of minecraft tough soo maybe something borked up between the 1.20 and 1.21 version ?
For both mods ?
The model loading code in vanilla has changed drastically between 1.20.1 and now, and requires more aggressive patches to support dynamically loading and unloading the models. The side effect of the patches being more aggressive is that they do not interact well with mods using their own mixins to hack the model bakery. This is why usage of the platform model loading APIs is strongly encouraged.