Paladin's Furniture

Paladin's Furniture

5M Downloads

When using Valkyrien Skies and Eureka! Ships mods, the server crashes when disassembling a ship if it has the Simple Ceiling Lights placed on it

neptunecentury opened this issue ยท 2 comments

commented

Bug Description

I've been using your mod for quite a while now, and I absolutely love it. So, I decided to try and add it to my Valkyrien Skies modded server. While it mostly works, I found an issue that causes the server to crash when attempting to disassemble a ship. I know this probably isn't a priority, but it would really be great if it could be fixed.

Here's a basic rundown of the issue. When adding a simple ceiling light to an assembled ship, everything works fine. When I want to disassemble the ship, then the server crashes with this:

---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 2024-08-13 22:58:07
Description: Ticking block entity

java.lang.IllegalArgumentException: Cannot get property class_2753{name=facing, clazz=class net.minecraft.class_2350, values=[north, south, west, east]} as it does not exist in Block{pfm:simple_light}
	at net.minecraft.class_2688.method_11654(class_2688.java:98)
	at net.minecraft.class_2383.method_9598(class_2383.java:16)
	at net.minecraft.class_4970$class_4971.method_26186(class_4970.java:953)
	at org.valkyrienskies.mod.util.RelocationUtilKt.relocateBlock(RelocationUtilKt.java:52)
	at org.valkyrienskies.mod.util.RelocationUtilKt.relocateBlock(RelocationUtilKt.java:116)
	at org.valkyrienskies.eureka.util.ShipAssembler.unfillShip$lambda$7(ShipAssembler.java:155)
	at org.valkyrienskies.core.impl.chunk_tracking.ShipActiveChunksSet.forEach(Unknown Source)
	at org.valkyrienskies.eureka.util.ShipAssembler.unfillShip(ShipAssembler.java:130)
	at org.valkyrienskies.eureka.blockentity.ShipHelmBlockEntity.disassemble(ShipHelmBlockEntity.java:147)
	at org.valkyrienskies.eureka.blockentity.ShipHelmBlockEntity.tick(ShipHelmBlockEntity.java:109)
	at org.valkyrienskies.eureka.block.ShipHelmBlock.getTicker$lambda$1(ShipHelmBlock.java:147)
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716)
	at net.minecraft.class_1937.method_18471(class_1937.java:470)
	at net.minecraft.class_3218.method_18765(class_3218.java:390)
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897)
	at net.minecraft.class_3176.method_3813(class_3176.java:283)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
	at java.base/java.lang.Thread.run(Thread.java:1583)


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

-- Head --
Thread: Server thread
Stacktrace:
	at net.minecraft.class_2688.method_11654(class_2688.java:98)
	at net.minecraft.class_2383.method_9598(class_2383.java:16)
	at net.minecraft.class_4970$class_4971.method_26186(class_4970.java:953)
	at org.valkyrienskies.mod.util.RelocationUtilKt.relocateBlock(RelocationUtilKt.java:52)
	at org.valkyrienskies.mod.util.RelocationUtilKt.relocateBlock(RelocationUtilKt.java:116)
	at org.valkyrienskies.eureka.util.ShipAssembler.unfillShip$lambda$7(ShipAssembler.java:155)
	at org.valkyrienskies.core.impl.chunk_tracking.ShipActiveChunksSet.forEach(Unknown Source)
	at org.valkyrienskies.eureka.util.ShipAssembler.unfillShip(ShipAssembler.java:130)
	at org.valkyrienskies.eureka.blockentity.ShipHelmBlockEntity.disassemble(ShipHelmBlockEntity.java:147)
	at org.valkyrienskies.eureka.blockentity.ShipHelmBlockEntity.tick(ShipHelmBlockEntity.java:109)
	at org.valkyrienskies.eureka.block.ShipHelmBlock.getTicker$lambda$1(ShipHelmBlock.java:147)
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716)
	at net.minecraft.class_1937.method_18471(class_1937.java:470)
	at net.minecraft.class_3218.method_18765(class_3218.java:390)

-- Block entity being ticked --
Details:
	Name: vs_eureka:ship_helm // org.valkyrienskies.eureka.blockentity.ShipHelmBlockEntity
	Block: Block{vs_eureka:dark_oak_ship_helm}[facing=east]
	Block location: World: (-28563451,85,12290058), Section: (at 5,5,10 in -1785216,5,768128; chunk contains blocks -28563456,-64,12290048 to -28563441,319,12290063), Region: (-55788,24004; contains chunks -1785216,768128 to -1785185,768159, blocks -28563456,-64,12290048 to -28562945,319,12290559)
	Block: Block{vs_eureka:dark_oak_ship_helm}[facing=east]
	Block location: World: (-28563451,85,12290058), Section: (at 5,5,10 in -1785216,5,768128; chunk contains blocks -28563456,-64,12290048 to -28563441,319,12290063), Region: (-55788,24004; contains chunks -1785216,768128 to -1785185,768159, blocks -28563456,-64,12290048 to -28562945,319,12290559)
Stacktrace:
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716)
	at net.minecraft.class_1937.method_18471(class_1937.java:470)
	at net.minecraft.class_3218.method_18765(class_3218.java:390)
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897)
	at net.minecraft.class_3176.method_3813(class_3176.java:283)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
	at java.base/java.lang.Thread.run(Thread.java:1583)

-- Affected level --
Details:
	All players: 1 total; [class_3222['neptunecentury'/108, l='ServerLevel[world]', x=1081.54, y=82.55, z=610.22]]
	Chunk stats: 10342
	Level dimension: minecraft:overworld
	Level spawn location: World: (877,75,683), Section: (at 13,11,11 in 54,4,42; chunk contains blocks 864,-64,672 to 879,319,687), Region: (1,1; contains chunks 32,32 to 63,63, blocks 512,-64,512 to 1023,319,1023)
	Level time: 28648814 game time, 76329 day time
	Level name: world
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Level weather: Rain time: 86434 (now: false), thunder time: 3069 (now: false)
	Known server brands: fabric
	Removed feature flags: 
	Level was modded: true
	Level storage version: 0x04ABD - Anvil
Stacktrace:
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897)
	at net.minecraft.class_3176.method_3813(class_3176.java:283)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
	at java.base/java.lang.Thread.run(Thread.java:1583)

-- System Details --
Details:
	Minecraft Version: 1.20.1
	Minecraft Version ID: 1.20.1
	Operating System: Windows Server 2016 (amd64) version 10.0
	Java Version: 21.0.1, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
	Memory: 221747184 bytes (211 MiB) / 1434451968 bytes (1368 MiB) up to 6442450944 bytes (6144 MiB)
	CPUs: 8
	Processor Vendor: GenuineIntel
	Processor Name: Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
	Identifier: Intel64 Family 6 Model 94 Stepping 3
	Microarchitecture: Skylake (Client)
	Frequency (GHz): 3.50
	Number of physical packages: 1
	Number of physical CPUs: 4
	Number of logical CPUs: 8
	Graphics card #0 name: Microsoft Basic Display Adapter
	Graphics card #0 vendor: (Standard display types) (0x10de)
	Graphics card #0 VRAM (MB): 0.00
	Graphics card #0 deviceId: 0x13bb
	Graphics card #0 versionInfo: DriverVersion=10.0.14393.0
	Memory slot #0 capacity (MB): 16384.00
	Memory slot #0 clockSpeed (GHz): 2.13
	Memory slot #0 type: DDR4
	Memory slot #1 capacity (MB): 16384.00
	Memory slot #1 clockSpeed (GHz): 2.13
	Memory slot #1 type: DDR4
	Memory slot #2 capacity (MB): 16384.00
	Memory slot #2 clockSpeed (GHz): 2.13
	Memory slot #2 type: DDR4
	Memory slot #3 capacity (MB): 16384.00
	Memory slot #3 clockSpeed (GHz): 2.13
	Memory slot #3 type: DDR4
	Virtual memory max (MB): 75184.59
	Virtual memory used (MB): 11019.16
	Swap memory total (MB): 9728.00
	Swap memory used (MB): 20.17
	JVM Flags: 2 total; -Xms256M -Xmx6144M
	Fabric Mods: 
		c2me: Concurrent Chunk Management Engine 0.2.0+alpha.11.13
			c2me-base: Concurrent Chunk Management Engine (Base) 0.2.0+alpha.11.13
			c2me-fixes-chunkio-threading-issues: Concurrent Chunk Management Engine (Fixes/Chunk IO/Threading Issues) 0.2.0+alpha.11.13
			c2me-fixes-general-threading-issues: Concurrent Chunk Management Engine (Fixes/General/Threading Issues) 0.2.0+alpha.11.13
			c2me-fixes-worldgen-threading-issues: Concurrent Chunk Management Engine (Fixes/WorldGen/Threading Issues) 0.2.0+alpha.11.13
			c2me-fixes-worldgen-vanilla-bugs: Concurrent Chunk Management Engine (Fixes/WorldGen/Vanilla Bugs) 0.2.0+alpha.11.13
			c2me-notickvd: Concurrent Chunk Management Engine (No Tick View Distance) 0.2.0+alpha.11.13
			c2me-opts-allocs: Concurrent Chunk Management Engine (Optimizations/Memory Allocations) 0.2.0+alpha.11.13
			c2me-opts-chunk-access: Concurrent Chunk Management Engine (Optimizations/Chunk Access) 0.2.0+alpha.11.13
			c2me-opts-chunkio: Concurrent Chunk Management Engine (Optimizations/Chunk IO) 0.2.0+alpha.11.13
			c2me-opts-math: Concurrent Chunk Management Engine (Optimizations/Math) 0.2.0+alpha.11.13
			c2me-opts-scheduling: Concurrent Chunk Management Engine (Optimizations/Scheduling) 0.2.0+alpha.11.13
			c2me-opts-worldgen-general: Concurrent Chunk Management Engine (Optimizations/General WorldGen) 0.2.0+alpha.11.13
			c2me-opts-worldgen-vanilla: Concurrent Chunk Management Engine (Optimizations/Vanilla WorldGen) 0.2.0+alpha.11.13
			c2me-rewrites-chunk-serializer: Concurrent Chunk Management Engine (Rewrites/Chunk Serializer) 0.2.0+alpha.11.13
			c2me-rewrites-chunkio: Concurrent Chunk Management Engine (Rewrites/Chunk IO) 0.2.0+alpha.11.13
			c2me-server-utils: Concurrent Chunk Management Engine (Server Utils) 0.2.0+alpha.11.13
			c2me-threading-chunkio: Concurrent Chunk Management Engine (Threading/WorldGen) 0.2.0+alpha.11.13
			c2me-threading-lighting: Concurrent Chunk Management Engine (Threading/Lighting) 0.2.0+alpha.11.13
			c2me-threading-worldgen: Concurrent Chunk Management Engine (Threading/WorldGen) 0.2.0+alpha.11.13
			com_ibm_async_asyncutil: asyncutil 0.1.0
			net_objecthunter_exp4j: exp4j 0.4.8
			org_threadly_threadly: threadly 7.0
		create: Create 0.5.1-f-build.1417+mc1.20.1
			com_electronwill_night-config_core: core 3.6.6
			com_electronwill_night-config_toml: toml 3.6.6
			com_google_code_findbugs_jsr305: jsr305 3.0.2
			milk: Milk Lib 1.2.60
				dripstone_fluid_lib: Dripstone Fluid Lib 3.0.2
			porting_lib_accessors: Porting Lib Accessors 2.3.2+1.20.1
			porting_lib_base: Porting Lib Base 2.3.2+1.20.1
				porting_lib_attributes: Porting Lib Attributes 2.3.2+1.20.1
				porting_lib_common: Porting Lib Common 2.3.2+1.20.1
				porting_lib_config: Porting Lib Config 2.3.2+1.20.1
				porting_lib_fluids: Porting Lib Fluids 2.3.2+1.20.1
				porting_lib_lazy_registration: Porting Lib Lazy Register 2.3.2+1.20.1
				porting_lib_mixin_extensions: Porting Lib Mixin Extensions 2.3.2+1.20.1
				porting_lib_utility: Porting Lib Utility 2.3.2+1.20.1
			porting_lib_brewing: Porting Lib Brewing 2.3.2+1.20.1
				porting_lib_core: Porting Lib Core 2.3.2+1.20.1
			porting_lib_client_events: Porting Lib Client Events 2.3.2+1.20.1
			porting_lib_entity: Porting Lib Entity 2.3.2+1.20.1
			porting_lib_extensions: Porting Lib Extensions 2.3.2+1.20.1
			porting_lib_models: Porting Lib Models 2.3.2+1.20.1
			porting_lib_networking: Porting Lib Networking 2.3.2+1.20.1
			porting_lib_obj_loader: Porting Lib Obj Loader 2.3.2+1.20.1
				porting_lib_model_loader: Porting Lib Model Loader 2.3.2+1.20.1
			porting_lib_tags: Porting Lib Tags 3.0
			porting_lib_tool_actions: Porting Lib Tool Actions 2.3.2+1.20.1
			porting_lib_transfer: Porting Lib Transfer 2.3.2+1.20.1
			reach-entity-attributes: Reach Entity Attributes 2.4.0
			registrate-fabric: Registrate for Fabric 1.3.62-MC1.20.1
				porting_lib_data: Porting Lib Data 2.1.1090+1.20
				porting_lib_model_generators: Porting Lib Model Generators 2.1.1090+1.20
					porting_lib_gametest: Porting Lib GameTest 2.1.1090+1.20
					porting_lib_model_materials: Porting Lib Model Materials 2.1.1090+1.20
		create_structures: Create: Structures 1.1.0
		creativecore: CreativeCore 2.11.33
			net_minecraftforge_eventbus: eventbus 6.0.3
		dynamiclights: Dynamic Lights 1.8.3+mod
		eternaleats: Eternal Eats 1.0.6
			tf_ssf_sfort_ini_sf-ini: SF-INI 1
		fabric-api: Fabric API 0.92.2+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-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-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-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-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-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-handler-api-v1: Fabric Screen Handler API (v1) 1.3.30+1802ada577
			fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.5+8dd72ea377
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.1+1802ada577
		fabric-language-kotlin: Fabric Language Kotlin 1.12.0+kotlin.2.0.10
			org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.0.10
			org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.0.10
			org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.0.10
			org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.0.10
			org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.25.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-io-bytestring-jvm: kotlinx-io-bytestring-jvm 0.5.1
			org_jetbrains_kotlinx_kotlinx-io-core-jvm: kotlinx-io-core-jvm 0.5.1
			org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.7.1
			org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.7.1
			org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.7.1
		fabricloader: Fabric Loader 0.16.0
			mixinextras: MixinExtras 0.4.0
		fallingtree: FallingTree 4.3.4
		ferritecore: FerriteCore 6.0.1
		forgeconfigapiport: Forge Config API Port 8.0.0
		fsit: FSit 2.5.2+1.20.1
			com_charleskorn_kaml_kaml-jvm: kaml-jvm 0.54.0
			org_snakeyaml_snakeyaml-engine: snakeyaml-engine 2.6
		interiors: Create: Interiors 0.5.3+fabric-mc1.20.1
		java: Java HotSpot(TM) 64-Bit Server VM 21
		krypton: Krypton 0.2.3
			com_velocitypowered_velocity-native: velocity-native 3.2.0-SNAPSHOT
		lithium: Lithium 0.11.2
		minecraft: Minecraft 1.20.1
		nemos-blooming-blossom: Nemo's Blooming Blossom 1.2.0-1.20.1
		patchouli: Patchouli 1.20.1-84-FABRIC
			fiber: fiber 0.23.0-2
		pfm: Paladin's Furniture 1.2.1
		slabsandstairs: Frostbyte's Slabs & Stairs 1.7.2
		valkyrienskies: Valkyrien Skies 2 2.3.0-beta.5
			cloth-config: Cloth Config v11 11.1.106
				cloth-basic-math: cloth-basic-math 0.6.1
		voicechat: Simple Voice Chat 1.20.1-2.5.20
		vs_clockwork: Clockwork: Create x Valkyrien Skies 1.20.1-0.1.16-fabric-b3b22e39fe
		vs_eureka: VS Eureka Mod 1.5.1-beta.3
		waterframes: WaterFrames 2.0.14
	Server Running: true
	Player Count: 1 / 20; [class_3222['neptunecentury'/108, l='ServerLevel[world]', x=1081.54, y=82.55, z=610.22]]
	Data Packs: vanilla, fabric, pfm-data-resources
	Enabled Feature Flags: minecraft:vanilla
	World Generation: Stable
	Is Modded: Definitely; Server brand changed to 'fabric'
	Type: Dedicated Server (map_server.txt)

I'm using the latest of all mods available for 1.20.1
My understanding of the issue is that when a ship is disassembled, it has to orient it first, but this pfm:simple_light block is missing certain values it needs in order to orient itself. Other blocks seem fine like chairs, cabinets, tables, etc... I'm not sure if any other furniture blocks are missing the info, but at least the ceiling light is.

It would be super awesome if you could fix this. But, its not a huge deal, as for now i just have to remember to break all the lights before I disassemble the ship in order to prevent the crash.

Again, awesome mod! And I appreciate your hard work!

Reproduction Steps

Using Valkyrien Skies + Eureka! Ships + Paladin's Furniture Mod

  1. Create a small room out of wood planks on top of some dirt and place a simple ceiling light on the ceiling.
  2. Place a Ship Helm (from Eureka! Ships on the floor.
  3. Shift + Click the helm and click assemble.
  4. Use WASD keys to move the ship around
  5. Shift + Click the helm and try to disassemble.

At this point, the game should crash because it can't figure out the block facing values

Log File

latest.log

commented

Oof nasty bug, I'll fix the crash, but I can't promise the lights might will work if you move them away from the switches because the location is currently hardcoded, that'll have to wait until I can overhaul the system.

commented

Really appreciated! Also, the ceiling lights do work with the switches when the ship is assembled, and I can drive the ship around with the lights on! It's really cool! And the fix will def be helpful! Your furniture mod is one of the best out there.