BetterEnd

BetterEnd

27M Downloads

[Bug] Crash in Debug World - Tessellating Block

LividJava opened this issue ยท 3 comments

commented

What happened?

When the Client attempts to render the better:end_portal_block the game crashes. This crash is present in both Quilt Loader and Fabric Loader. Pasted in this issue is the Fabric Loader crash.

Quilt Client Log: https://mclo.gs/sjrdykf
Quilt Crash Log: https://mclo.gs/ucNaAvS
Fabric Client Log: https://mclo.gs/XiJPdTD
Fabric Crash Log: (Pasted Below)

To clear up confusion, These crashes are happening in single player in a Debug world.

BetterEnd

4.0.11

BCLib

3.0.14

Fabric API

0.92.0

Fabric Loader

0.15.7

Minecraft

1.20.1

Relevant log output

---- Minecraft Crash Report ----
// This doesn't make any sense!

Time: 2024-02-25 19:17:30
Description: Tessellating block in world - Indigo Renderer

java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
	at org.betterx.betterend.registry.EndPortals.getColor(EndPortals.java:86)
	at org.betterx.betterend.blocks.EndPortalBlock.lambda$getProvider$1(EndPortalBlock.java:111)
	at net.minecraft.class_324.method_1697(class_324.java:123)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.BlockRenderInfo.blockColor(BlockRenderInfo.java:101)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.colorizeQuad(AbstractBlockRenderContext.java:135)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.renderQuad(AbstractBlockRenderContext.java:127)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext$2.emitDirectly(AbstractBlockRenderContext.java:69)
	at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:220)
	at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:56)
	at net.fabricmc.fabric.impl.renderer.VanillaModelEncoder.emitBlockQuads(VanillaModelEncoder.java:65)
	at net.minecraft.class_1087.emitBlockQuads(class_1087.java:1041)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.TerrainRenderContext.tessellateBlock(TerrainRenderContext.java:98)
	at net.minecraft.class_846$class_851$class_4578.redirect$znm000$fabric-renderer-indigo$hookChunkBuildTessellate(class_846.java:783)
	at net.minecraft.class_846$class_851$class_4578.method_22785(class_846.java:579)
	at net.minecraft.class_846$class_851$class_4578.method_22783(class_846.java:490)
	at net.minecraft.class_846.method_22757(class_846.java:141)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at org.betterx.betterend.registry.EndPortals.getColor(EndPortals.java:86)
	at org.betterx.betterend.blocks.EndPortalBlock.lambda$getProvider$1(EndPortalBlock.java:111)
	at net.minecraft.class_324.method_1697(class_324.java:123)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.BlockRenderInfo.blockColor(BlockRenderInfo.java:101)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.colorizeQuad(AbstractBlockRenderContext.java:135)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.renderQuad(AbstractBlockRenderContext.java:127)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext$2.emitDirectly(AbstractBlockRenderContext.java:69)
	at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:220)
	at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:56)
	at net.fabricmc.fabric.impl.renderer.VanillaModelEncoder.emitBlockQuads(VanillaModelEncoder.java:65)
	at net.minecraft.class_1087.emitBlockQuads(class_1087.java:1041)
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.TerrainRenderContext.tessellateBlock(TerrainRenderContext.java:98)

-- Block being tessellated --
Details:
	Block: Block{betterend:end_portal_block}[axis=x,portal=1]
	Block location: World: (551,70,185), Section: (at 7,6,9 in 34,4,11; chunk contains blocks 544,-64,176 to 559,319,191), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,-64,0 to 1023,319,511)
Stacktrace:
	at net.fabricmc.fabric.impl.client.indigo.renderer.render.TerrainRenderContext.tessellateBlock(TerrainRenderContext.java:98)
	at net.minecraft.class_846$class_851$class_4578.redirect$znm000$fabric-renderer-indigo$hookChunkBuildTessellate(class_846.java:783)
	at net.minecraft.class_846$class_851$class_4578.method_22785(class_846.java:579)
	at net.minecraft.class_846$class_851$class_4578.method_22783(class_846.java:490)
	at net.minecraft.class_846.method_22757(class_846.java:141)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

-- Affected level --
Details:
	All players: 1 total; [class_746['LividJava'/1, l='ClientLevel', x=420.87, y=78.60, z=27.65]]
	Chunk stats: 961, 609
	Level dimension: minecraft:overworld
	Level spawn location: World: (0,80,0), Section: (at 0,0,0 in 0,5,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
	Level time: 367 game time, 6000 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.class_638.method_8538(class_638.java:458)
	at net.minecraft.class_310.method_1587(class_310.java:2406)
	at net.minecraft.class_310.method_43589(class_310.java:895)
	at net.minecraft.class_310.method_1514(class_310.java:791)
	at net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: vanilla, fabric

-- System Details --
Details:
	Minecraft Version: 1.20.1
	Minecraft Version ID: 1.20.1
	Operating System: Linux (amd64) version 6.7.2-arch1-2
	Java Version: 17.0.10, N/A
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 1201693360 bytes (1146 MiB) / 4060086272 bytes (3872 MiB) up to 8589934592 bytes (8192 MiB)
	CPUs: 8
	Processor Vendor: GenuineIntel
	Processor Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
	Identifier: Intel64 Family 6 Model 60 Stepping 3
	Microarchitecture: Haswell (Client)
	Frequency (GHz): 3.50
	Number of physical packages: 1
	Number of physical CPUs: 4
	Number of logical CPUs: 8
	Graphics card #0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
	Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
	Graphics card #0 VRAM (MB): 258.00
	Graphics card #0 deviceId: 0x67df
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 38613.32
	Virtual memory used (MB): 12851.82
	Swap memory total (MB): 26624.00
	Swap memory used (MB): 100.85
	JVM Flags: 2 total; -Xms512m -Xmx8192m
	Fabric Mods: 
		bclib: BCLib 3.0.14
			wunderlib: WunderLib 1.1.5
		betterend: Better End 4.0.11
		fabric-api: Fabric API 0.92.0+1.20.1
			fabric-api-base: Fabric API Base 0.4.31+1802ada577
			fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.36+1802ada577
			fabric-biome-api-v1: Fabric Biome API (v1) 13.0.13+1802ada577
			fabric-block-api-v1: Fabric Block API (v1) 1.0.11+1802ada577
			fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.1+1802ada577
			fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.41+1802ada577
			fabric-client-tags-api-v1: Fabric Client Tags 1.1.2+1802ada577
			fabric-command-api-v1: Fabric Command API (v1) 1.2.34+f71b366f77
			fabric-command-api-v2: Fabric Command API (v2) 2.2.13+1802ada577
			fabric-commands-v0: Fabric Commands (v0) 0.2.51+df3654b377
			fabric-containers-v0: Fabric Containers (v0) 0.1.64+df3654b377
			fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.11+1802ada577
			fabric-convention-tags-v1: Fabric Convention Tags 1.5.5+1802ada577
			fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.19+1802ada577
			fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.0.0+de0fd6d177
			fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.3.4+1802ada577
			fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.54+1802ada577
			fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.0+1c78457f77
			fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.2+1802ada577
			fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.63+df3654b377
			fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.40+1802ada577
			fabric-item-api-v1: Fabric Item API (v1) 2.1.28+1802ada577
			fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.12+1802ada577
			fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.37+1802ada577
			fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.35+df3654b377
			fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.22+1802ada577
			fabric-loot-api-v2: Fabric Loot API (v2) 1.2.1+1802ada577
			fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.45+9e7660c677
			fabric-message-api-v1: Fabric Message API (v1) 5.1.9+1802ada577
			fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.50+1802ada577
			fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.3+1802ada577
			fabric-models-v0: Fabric Models (v0) 0.4.2+9386d8a777
			fabric-networking-api-v1: Fabric Networking API (v1) 1.3.11+1802ada577
			fabric-networking-v0: Fabric Networking (v0) 0.3.51+df3654b377
			fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.3+1802ada577
			fabric-particles-v1: Fabric Particles (v1) 1.1.2+1802ada577
			fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.21+1802ada577
			fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.3+1802ada577
			fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.1+1802ada577
			fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.1+1802ada577
			fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.46+df3654b377
			fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.37+92a0d36777
			fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.28+1802ada577
			fabric-rendering-v0: Fabric Rendering (v0) 1.1.49+df3654b377
			fabric-rendering-v1: Fabric Rendering (v1) 3.0.8+1802ada577
			fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.8+1802ada577
			fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.10+1802ada577
			fabric-screen-api-v1: Fabric Screen API (v1) 2.0.8+1802ada577
			fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.30+1802ada577
			fabric-sound-api-v1: Fabric Sound API (v1) 1.0.13+1802ada577
			fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.4+1802ada577
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.1+1802ada577
		fabricloader: Fabric Loader 0.15.7
			mixinextras: MixinExtras 0.3.5
		java: OpenJDK 64-Bit Server VM 17
		minecraft: Minecraft 1.20.1
	Launched Version: 1.20.1
	Backend library: LWJGL version 3.3.1 SNAPSHOT
	Backend API: AMD Radeon RX 480 Graphics (radeonsi, polaris10, LLVM 16.0.6, DRM 3.56, 6.7.2-arch1-2) GL version 4.6 (Core Profile) Mesa 23.3.4-arch1.2, AMD
	Window size: 1678x1024
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
	Type: Integrated Server (map_client.txt)
	Graphics mode: fancy
	Resource Packs: fabric
	Current Language: en_us
	CPU: 8x Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
	Server Running: true
	Player Count: 1 / 8; [class_3222['LividJava'/1, l='ServerLevel[New World]', x=420.87, y=78.60, z=27.65]]
	Data Packs: vanilla, fabric
	Enabled Feature Flags: minecraft:vanilla
	World Generation: Stable

Other Mods

No relevant mods as crash happened in Clean Environment.
commented

This is caused by the [portal=1] blockstate.
If you do /setblock ~ ~ ~ betterend:end_portal_block[portal=1] you will get a crash (and beware, you will not be able to use that world anymore)

If you do /setblock ~ ~ ~ betterend:end_portal_block[portal=0] it will work fine

commented

Could you make betterend:end_portal_block[portal=1] not crash the client?