Kir-Antipov / sync-fabric

One mind. Many bodies.
MIT License
17 stars 12 forks source link

[Crash] Server Crash when using a shell constructor #46

Open Viruszhx opened 3 weeks ago

Viruszhx commented 3 weeks ago

What were you doing when the crash occured?

I just right clicked the shell constructor with 2 pig in the treadmills but it crashed the server (btw in hardcore)

Did the crash occur client-side or server-side?

Server

Version

sync-mc1.19.1-4.3

Minecraft Version

1.19.2

Fabric API Version

fabric-api-0.77.0+1.19.2

Installation Source

CurseForge

Logs

---- Minecraft Crash Report ----
// I bet Cylons wouldn't have this problem.

Time: 2024-07-09 17:28:47
Description: Exception in server tick loop

java.lang.NoSuchFieldError: entityInstance
    at dev.kir.sync.api.shell.ShellState.<init>(ShellState.java:319)
    at dev.kir.sync.api.shell.ShellState.create(ShellState.java:215)
    at dev.kir.sync.api.shell.ShellState.empty(ShellState.java:177)
    at dev.kir.sync.api.shell.ShellState.empty(ShellState.java:165)
    at dev.kir.sync.block.entity.ShellConstructorBlockEntity.beginShellConstruction(ShellConstructorBlockEntity.java:73)
    at dev.kir.sync.block.entity.ShellConstructorBlockEntity.onUse(ShellConstructorBlockEntity.java:41)
    at dev.kir.sync.block.AbstractShellContainerBlock.method_9534(AbstractShellContainerBlock.java:170)
    at net.minecraft.class_4970$class_4971.method_26174(class_4970.java:964)
    at net.minecraft.class_3225.method_14262(class_3225.java:338)
    at net.minecraft.class_3244.method_12046(class_3244.java:1145)
    at net.minecraft.class_2885.method_12547(class_2885.java:34)
    at net.minecraft.class_2885.method_11054(class_2885.java:8)
    at net.minecraft.class_2600.method_11072(class_2600.java:22)
    at net.minecraft.class_3738.run(class_3738.java:18)
    at net.minecraft.class_1255.method_18859(class_1255.java:157)
    at net.minecraft.class_4093.method_18859(class_4093.java:23)
    at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:776)
    at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:159)
    at net.minecraft.class_1255.method_16075(class_1255.java:131)
    at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:758)
    at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:752)
    at net.minecraft.class_1255.method_18857(class_1255.java:140)
    at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:737)
    at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:669)
    at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
    at java.base/java.lang.Thread.run(Thread.java:842)

Other Mods

Fabric Mods: 
        ad_astra: Ad Astra 1.12.7
        advancednetherite: Advanced Netherite 1.6.7-1.19.2
        all_the_fan_made_discs: All The Fan Made Discs 0.4.5
        appleskin: AppleSkin 2.5.1+mc1.19
        architectury: Architectury 6.6.92
        artifacts: Artifacts 7.1.1+fabric
            expandability: ExpandAbility 6.0.0
            step-height-entity-attribute: Step Height Entity Attribute 1.0.0
        attributefix: AttributeFix 17.2.8
        balm-fabric: Balm 4.6.0
        bclib: BCLib 2.1.8
        bettercombat: Better Combat 1.7.1+1.19
        betterend: Better End 2.1.7
        betternether: Better Nether 7.1.5
        bosses_of_mass_destruction: Bosses of Mass Destruction (Beta) 1.4.8-1.19.2
            maelstrom_library: Maelstrom Library 1.3.1-1.19.2
            multipart_entities: MultipartEntities 1.2-1.19-pre1
        botarium: Botarium 1.9.2
        cardinal-components: Cardinal Components API 5.0.2
            cardinal-components-base: Cardinal Components API (base) 5.0.2
            cardinal-components-block: Cardinal Components API (blocks) 5.0.2
            cardinal-components-chunk: Cardinal Components API (chunks) 5.0.2
            cardinal-components-entity: Cardinal Components API (entities) 5.0.2
            cardinal-components-item: Cardinal Components API (items) 5.0.2
            cardinal-components-level: Cardinal Components API (world saves) 5.0.2
            cardinal-components-scoreboard: Cardinal Components API (scoreboard) 5.0.2
            cardinal-components-world: Cardinal Components API (worlds) 5.0.2
        carryon: Carry On 2.1.2.23
        chunky: Chunky 1.3.38
        cloth-config: Cloth Config v8 8.3.115
            cloth-basic-math: cloth-basic-math 0.6.1
        clumps: Clumps 9.0.0+14
        create: Create 0.5.1-f-build.1416+mc1.19.2
            com_electronwill_night-config_core: core 3.6.5
            com_electronwill_night-config_toml: toml 3.6.5
            com_google_code_findbugs_jsr305: jsr305 3.0.2
            forge_tags: Porting Lib Tags 3.0
            milk: Milk Lib 1.0.51
                dripstone_fluid_lib: Dripstone Fluid Lib 2.0.1
            porting_lib_accessors: Porting Lib Accessors 2.1.1305+1.19.2
            porting_lib_base: Porting Lib Base 2.1.1305+1.19.2
                mm: Manningham Mills 2.3
                porting_lib_lazy_registration: Porting Lib Lazy Register 2.1.1305+1.19.2
                porting_lib_model_generators: Porting Lib Model Generators 2.1.1305+1.19.2
                porting_lib_models: Porting Lib Models 2.1.1305+1.19.2
                serialization_hooks: Serialization Hooks 0.3.26
            porting_lib_entity: Porting Lib Entity 2.1.1305+1.19.2
            porting_lib_extensions: Porting Lib Extensions 2.1.1305+1.19.2
            porting_lib_fake_players: Porting Lib Fake Players 2.1.1305+1.19.2
            porting_lib_networking: Porting Lib Networking 2.1.1305+1.19.2
            porting_lib_obj_loader: Porting Lib Obj Loader 2.1.1305+1.19.2
            porting_lib_transfer: Porting Lib Transfer 2.1.1305+1.19.2
                porting_lib_attributes: Porting Lib Attributes 2.1.1305+1.19.2
                porting_lib_constants: Porting Lib Constants 2.1.1305+1.19.2
            reach-entity-attributes: Reach Entity Attributes 2.3.0
            registrate-fabric: Registrate for Fabric 1.1.58-MC1.19.2
        doapi: Lets Do Api 1.1.0
            blue_endless_jankson: jankson 1.2.1
            terraform-wood-api-v1: Terraform Wood API (v1) 4.2.0
        dungeons_arise: When Dungeons Arise 2.1.54
        endrem: End Remastered 5.2.0
        estrogen: Create: Estrogen 4.1.0+1.19.2-fabric
            jukeboxfix: Jukeboxfix 1.0.0
        explorify: Explorify 1.6.1
        fabric-api: Fabric API 0.77.0+1.19.2
            fabric-api-base: Fabric API Base 0.4.15+8f4e8eb390
            fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.14+93d8cb8290
            fabric-biome-api-v1: Fabric Biome API (v1) 9.1.1+16f1e31390
            fabric-block-api-v1: Fabric Block API (v1) 1.0.2+e415d50e90
            fabric-command-api-v1: Fabric Command API (v1) 1.2.16+f71b366f90
            fabric-command-api-v2: Fabric Command API (v2) 2.2.1+413cbbc790
            fabric-commands-v0: Fabric Commands (v0) 0.2.33+df3654b390
            fabric-containers-v0: Fabric Containers (v0) 0.1.42+df3654b390
            fabric-content-registries-v0: Fabric Content Registries (v0) 3.5.2+7c6cd14d90
            fabric-convention-tags-v1: Fabric Convention Tags 1.3.0+4bc6e26290
            fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.8+aeb40ebe90
            fabric-data-generation-api-v1: Fabric Data Generation API (v1) 5.3.9+413cbbc790
            fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.35+0d0f210290
            fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.4+9244241690
            fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.34+562bff6e90
            fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.36+df3654b390
            fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.24+b6b6abb490
            fabric-item-api-v1: Fabric Item API (v1) 1.6.6+b7d1888890
            fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.39+9244241690
            fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.4+1b46dc7890
            fabric-loot-api-v2: Fabric Loot API (v2) 1.1.13+83a8659290
            fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.16+9e7660c690
            fabric-message-api-v1: Fabric Message API (v1) 5.0.7+93d8cb8290
            fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.24+33fbc73890
            fabric-networking-api-v1: Fabric Networking API (v1) 1.2.12+def3f86d90
            fabric-networking-v0: Fabric Networking (v0) 0.3.29+df3654b390
            fabric-object-builder-api-v1: Fabric Object Builder API (v1) 4.2.2+d8ef690890
            fabric-particles-v1: Fabric Particles (v1) 1.1.0+ee641e7390
            fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.2+413cbbc790
            fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.33+9244241690
            fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.19+6e0787e690
            fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.11+4d0d570390
            fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.1.2+aae9039d90
            fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.8.4+edbdcddb90
            fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.8+1cc24b1b90
            fabric-transfer-api-v1: Fabric Transfer API (v1) 2.1.6+413cbbc790
            fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.3.3+08b73de490
        fabric-language-kotlin: Fabric Language Kotlin 1.11.0+kotlin.2.0.0
            org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.0.0
            org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.0.0
            org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.0.0
            org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.0.0
            org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.24.0
            org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.8.1
            org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.8.1
            org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.6.0
            org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.6.3
            org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.6.3
            org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.6.3
        fabricloader: Fabric Loader 0.15.11
            mixinextras: MixinExtras 0.3.5
        geckolib3: Geckolib 3.1.40
            com_eliotlash_mclib_mclib: mclib 20
        hardcorerevival: Hardcore Revival 9.0.2
        java: Java HotSpot(TM) 64-Bit Server VM 17
        jei: Just Enough Items 11.6.0.1019
        lithium: Lithium 0.11.1
        majruszlibrary: Majrusz Library 7.0.5-backport.1
        majruszsdifficulty: Majrusz's Progressive Difficulty 1.9.9-backport.1
        minecraft: Minecraft 1.19.2
        moborigins: Mob Origins 1.10.0
        modernfix: ModernFix 5.18.0+mc1.19.2
        origins: Origins 1.7.1
            apoli: Apoli 2.6.1
                additionalentityattributes: Additionalentityattributes 1.0.0+1.19
                calio: Calio 1.7.0
                playerabilitylib: Pal 1.6.0
        origins-classes: Origins: Classes 1.4.0
        patchouli: Patchouli 1.19.2-77-FABRIC
            fiber: fiber 0.23.0-2
        player-animator: Player Animator 1.0.2
        resourcefulconfig: Resourcefulconfig 1.0.20
        resourcefullib: Resourceful Lib 1.1.24
        shield_overhaul: Shield Overhaul 1.0.3
        simplyswords: Simply Swords 1.47.0-1.19.2
        sophisticatedbackpacks: Sophisticated Backpacks 3.19.5+mc1.19.2-SNAPSHOT-build.103
            forgeconfigapiport: Forge Config API Port 4.2.11
            porting_lib_common: Porting Lib Common 2.1.1305+1.19.2
            porting_lib_loot: Porting Lib Loot 2.1.1305+1.19.2
            porting_lib_model_loader: Porting Lib Model Loader 2.1.1305+1.19.2
            team_reborn_energy: Energy 2.3.0
        sophisticatedcore: Sophisticated Core 0.5.109+mc1.19.2-SNAPSHOT-build.103
        soulsweapons: Marium's Soulslike Weaponry 1.1.3-1.19.2-fabric
        sync: Sync (Fabric) 4.3
            crowdin-translate: CrowdinTranslate 1.4+1.19-pre2
            smart-recipes: Smart Recipes 0.2.1+1.19
        trinkets: Trinkets 3.4.2
        vinery: Vinery 1.3.12
        xaerominimap: Xaero's Minimap 24.2.0
        xaeroworldmap: Xaero's World Map 1.38.8
    Server Running: true
    Data Packs: vanilla, Fabric Mods, file/My Pack 1.0.0.zip, file/OMG_ITS_DONE_No_need_to_unzip.zip
    World Generation: Experimental
    Is Modded: Definitely; Server brand changed to 'fabric'
    Type: Dedicated Server (map_server.txt)

Additional Information

No response

Viruszhx commented 3 weeks ago

I tried using the mods in a single player world and it worked

Kir-Antipov commented 3 weeks ago

That's strange. I guess something has changed within Fabric since the last version was published.

https://github.com/Kir-Antipov/sync-fabric/blob/e821350f37576909751053ec39fba3f15b852689/src/main/java/dev/kir/sync/api/shell/ShellState.java#L319-L320

Both the field and its initialization should be eliminated outside of the client environment. It worked just fine previously. However, it seems that now only the field is eliminated, and the assignment is still present in the constructor, causing the game to crash. I'm unsure if this new behavior is intentional or not.

The mod is pending a rewrite anyways, so I would approach this quite differently now.