xenondevs / Nova

Nova is a server-side modding framework for Paper servers that aims to streamline adding custom content like items, blocks, guis, and more, without client-side modifications, using resource pack tricks.
Other
361 stars 37 forks source link

Minecraft tile entity blocks can't be used as hitbox of Nova block #396

Closed nklyshko closed 2 weeks ago

nklyshko commented 1 month ago

Agreements

Check for plugin incompatibilites

There are no other plugins running on my server.

Plugin Version, Server Software, Server Version

Nova: 0.16.1, git-Paper-497 (MC: 1.20.4)

Nova Addons and Versions

Logistics v0.2.8, Machines v0.4.5, Simple-Upgrades v1.3

Expected behavior

The hitbox-block synced with nova-block directions and nova tile entity works correctly.

Observed/Actual behavior

  1. The hitbox-block is not synced with nova-block direction. On screenshot lock of vanilla chest block model and lock of nova block model can be seen at same time. 2024-07-06_18 55 14

  2. The nova-block behavior completely broken, the right click event is not handled by Nova and vanilla chest is opened. 2024-07-06_18 55 19

  3. The block break event is not handled correctly by Nova and after the break the Nova block model remains spawned (rendered). 2024-07-06_18 55 26

Steps to reproduce

  1. Define "hitbox": "chest" (probably can be reproduced with any type of vanilla tile entity block) in block section in materials.json. Example:
    "gold_chest": {
    "item": "block/gold_chest",
    "block": {
      "directions": "nesw",
      "hitbox": "chest"
    }
    }
  2. Make a Nova block with tile entity
    class GoldChest(blockState: NovaTileEntityState) : TileEntity(blockState) ...

Server log

System Info: Java 22 (OpenJDK 64-Bit Server VM 22) Host: Linux 6.1.92-1-MANJARO (amd64) Loading libraries, please wait... [18:50:59 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD] [18:51:03 INFO]: Loaded 1174 recipes [18:51:03 INFO]: Loaded 1271 advancements [18:51:05 INFO]: Starting minecraft server version 1.20.4 [18:51:05 INFO]: Loading properties [18:51:05 INFO]: This server is running Paper version git-Paper-497 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: d8d54d9 on ver/1.20.4) [18:51:06 INFO]: Server Ping Player Sample Count: 12 [18:51:06 INFO]: Using 4 threads for Netty based IO [18:51:06 WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future. We recommend installing the spark profiler as a replacement: https://spark.lucko.me/ For more information please visit: https://github.com/PaperMC/Paper/issues/8948 [18:51:06 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 2 worker threads, and gen parallelism of 2 threads [18:51:06 INFO]: Default game type: SURVIVAL [18:51:06 INFO]: Generating keypair [18:51:07 INFO]: Starting Minecraft server on *:25565 [18:51:07 INFO]: Using epoll channel type [18:51:07 INFO]: Paper: Using libdeflate (Linux x86_64) compression from Velocity. [18:51:07 INFO]: Paper: Using OpenSSL 3.0.x (Linux x86_64) cipher from Velocity. [18:51:07 INFO]: [Nova] Loading 2 libraries... [18:51:07 INFO]: [Nova] Loaded library /home/nikitak/Minecraft/Server/Dev_1.20/libraries/xyz/xenondevs/configurate/configurate-yaml/4.2.0-SNAPSHOT/configurate-yaml-4.2.0-SNAPSHOT.jar [18:51:07 INFO]: [Nova] Loaded library /home/nikitak/Minecraft/Server/Dev_1.20/libraries/xyz/xenondevs/configurate/configurate-core/4.2.0-SNAPSHOT/configurate-core-4.2.0-SNAPSHOT.jar [18:51:07 INFO]: [Nova] Loaded library /home/nikitak/Minecraft/Server/Dev_1.20/libraries/io/leangen/geantyref/geantyref/1.3.14/geantyref-1.3.14.jar [18:51:07 INFO]: [Nova] Loaded library /home/nikitak/Minecraft/Server/Dev_1.20/libraries/xyz/xenondevs/configurate/configurate-extra-kotlin/4.2.0-SNAPSHOT/configurate-extra-kotlin-4.2.0-SNAPSHOT.jar [18:51:07 INFO]: [Nova] Loaded library /home/nikitak/Minecraft/Server/Dev_1.20/libraries/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.20/kotlin-stdlib-common-1.8.20.jar [18:51:07 INFO]: [Nova] Loading server plugin Nova v0.16.1 [18:51:07 INFO]: Server permissions file permissions.yml is empty, ignoring it [18:51:07 INFO]: [Nova] Enabling Nova v0.16.1 [18:51:08 WARN]: [Nova] Running in dev mode! Never use this on a production server! [18:51:08 INFO]: [Nova] Extracting default config [18:51:09 INFO]: [Nova] Registering packet handlers [18:51:09 INFO]: [Nova] Loading Addons... [18:51:09 INFO]: [Nova] [Logistics] Loaded Logistics [logistics] v0.2.8 [18:51:09 INFO]: [Nova] [Ironchests] Loaded Ironchests [ironchests] v0.1-alpha [18:51:09 INFO]: [Nova] [Simple-Upgrades] Loaded Simple-Upgrades [simple_upgrades] v1.3 [18:51:09 INFO]: [Nova] [Machines] Loaded Machines [machines] v0.4.5 [18:51:09 INFO]: [Nova] Applying patches... [18:51:10 ERROR]: [STDERR] [sun.instrument.InstrumentationImpl] WARNING: A Java agent has been loaded dynamically (/home/nikitak/Minecraft/Server/Dev_1.20/libraries/net/bytebuddy/byte-buddy-agent/1.12.20/byte-buddy-agent-1.12.20.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release [18:51:16 INFO]: [Nova] Extracting configs [18:51:17 INFO]: [Nova] Initializing Addons... [18:51:17 INFO]: [Nova] [Ironchests] Initializing Ironchests [ironchests] v0.1-alpha [18:51:17 INFO]: [Nova] [Simple-Upgrades] Initializing Simple-Upgrades [simple_upgrades] v1.3 [18:51:17 INFO]: [Nova] [Machines] Initializing Machines [machines] v0.4.5 [18:51:17 INFO]: [Nova] [Logistics] Initializing Logistics [logistics] v0.2.8 [18:51:18 INFO]: [Nova] Building resource pack [18:51:19 INFO]: [Nova] Tasks (18): [18:51:19 INFO]: [Nova] PRE_WORLD (13): [18:51:19 INFO]: [Nova] ExtractTask#extractAll [18:51:19 INFO]: [Nova] MaterialContent#write [18:51:19 INFO]: [Nova] ArmorContent#write [18:51:19 INFO]: [Nova] GuiContent#write [18:51:19 INFO]: [Nova] LanguageContent#loadLangFiles [18:51:19 INFO]: [Nova] TextureIconContent#write [18:51:19 INFO]: [Nova] AtlasContent#write [18:51:19 INFO]: [Nova] SoundOverrides#write [18:51:19 INFO]: [Nova] FontContent#discoverAllFonts [18:51:19 INFO]: [Nova] BarOverlayTask#requestMovedFonts [18:51:19 INFO]: [Nova] MoveCharactersContent#write [18:51:19 INFO]: [Nova] EnchantmentContent#createBackgroundChars [18:51:19 INFO]: [Nova] MovedFontContent#write [18:51:19 INFO]: [Nova] POST_WORLD (5): [18:51:19 INFO]: [Nova] WailaContent#write [18:51:19 INFO]: [Nova] CharSizeCalculator#calculateCharSizes [18:51:19 INFO]: [Nova] EnchantmentContent#write [18:51:19 INFO]: [Nova] LanguageContent#write [18:51:19 INFO]: [Nova] FontContent#write [18:51:19 INFO]: [Nova] Asset packs (5): logistics, ironchests, simple_upgrades, machines, nova [18:51:19 INFO]: [Nova] Running pre-world pack tasks [18:51:25 INFO]: [Nova] Creating moved fonts [18:51:25 INFO]: [Nova] Creating a bitmap font for nova:gui_0 [18:51:25 INFO]: [Nova] Creating a bitmap font for nova:texture_icons_0 [18:51:25 INFO]: [Nova] Creating a bitmap font for minecraft:default [18:51:25 INFO]: [Nova] Creating a bitmap font for minecraft:uniform [18:51:25 INFO]: [Nova] Creating a bitmap font for nova:bossbar [18:51:25 INFO]: [Nova] Creating a bitmap font for nova:move [18:51:25 INFO]: [Nova] Creating a bitmap font for minecraft:include/space [18:51:25 INFO]: [Nova] Creating a bitmap font for minecraft:include/default [18:51:25 INFO]: [Nova] Creating a bitmap font for minecraft:include/unifont [18:51:27 INFO]: [Nova] Pre-world resource pack building done [18:51:28 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE! [18:51:28 WARN]: The server will make no attempt to authenticate usernames. Beware. [18:51:28 WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose. [18:51:28 WARN]: To change this, set "online-mode" to "true" in the server.properties file. [18:51:28 INFO]: Preparing level "world" [18:51:29 INFO]: Preparing start region for dimension minecraft:overworld [18:51:29 INFO]: Time elapsed: 333 ms [18:51:29 INFO]: Preparing start region for dimension minecraft:the_nether [18:51:31 INFO]: Time elapsed: 1936 ms [18:51:31 INFO]: Preparing start region for dimension minecraft:the_end [18:51:31 INFO]: Time elapsed: 147 ms [18:51:32 INFO]: Running delayed init tasks [18:51:32 INFO]: [Nova] Loading item categories [18:51:32 INFO]: [Nova] Continuing to build resource pack [18:51:32 INFO]: [Nova] Running post-world pack tasks [18:51:32 INFO]: [Nova] Calculating char sizes... [18:51:32 INFO]: [Nova] Loading recipes 18:51:34 INFO: [Nova] Indexing recipes 18:51:34 INFO: [Nova] Running legacy conversions... 18:51:34 INFO: [Nova] Legacy conversions finished. 18:51:34 INFO: [Nova] Starting network threads

[18:51:34 WARN]: Can't keep up! Is the server overloaded? Running 2908ms or 58 ticks behind 18:51:34 INFO: Timings Reset [18:51:35 INFO]: [Nova] Initializing WorldDataManager [18:51:35 INFO]: [Nova] Using backing states: NoteBlockBackingState, RedMushroomBlockBackingState, BrownMushroomBlockBackingState, MushroomStemBackingState [18:51:39 INFO]: [Nova] Packing zip... [18:51:43 INFO]: [Nova] ResourcePack created. [18:51:43 INFO]: [Nova] Time breakdown (Top 5): [18:51:43 INFO]: [Nova] CharSizeCalculator#calculateCharSizes: 5.484848639s [18:51:43 INFO]: [Nova] MovedFontContent#write: 2.809236173s [18:51:43 INFO]: [Nova] LanguageContent#loadLangFiles: 1.932625942s [18:51:43 INFO]: [Nova] MaterialContent#write: 1.445859262s [18:51:43 INFO]: [Nova] ExtractTask#extractAll: 1.193543410s [18:51:43 INFO]: [ktor.application] Autoreload is disabled because the development mode is off. [18:51:43 INFO]: [ktor.application] Application started in 0.095 seconds. [18:51:43 INFO]: [ktor.application] Responding at http://0.0.0.0:8085 [18:51:43 INFO]: [Nova] [Ironchests] Enabling Ironchests [ironchests] v0.1-alpha [18:51:43 INFO]: [Nova] [Simple-Upgrades] Enabling Simple-Upgrades [simple_upgrades] v1.3 [18:51:43 INFO]: [Nova] [Machines] Enabling Machines [machines] v0.4.5 [18:51:43 INFO]: [Nova] [Logistics] Enabling Logistics [logistics] v0.2.8 [18:51:43 INFO]: [Nova] Done loading [18:52:12 INFO]: UUID of player CraftCoderr is 842d002e-2493-3b28-a3a8-5ab05dc151c9 [18:52:13 INFO]: CraftCoderr joined the game [18:52:13 INFO]: CraftCoderr[/127.0.0.1:48046] logged in with entity id 336 at ([world]132.69110217873606, 89.0, -203.9796793007158) [18:52:47 INFO]: CraftCoderr issued server command: /nova items [18:52:59 INFO]: CraftCoderr has made the advancement [Wind power] [18:54:40 INFO]: CraftCoderr lost connection: Disconnected [18:54:40 INFO]: CraftCoderr left the game [18:54:44 INFO]: UUID of player CraftCoderr is 842d002e-2493-3b28-a3a8-5ab05dc151c9 [18:54:44 INFO]: CraftCoderr joined the game [18:54:45 INFO]: CraftCoderr[/127.0.0.1:56974] logged in with entity id 715 at ([world]135.89366586281875, 89.0, -208.62544688474432)

[18:58:08 INFO]: Stopping server [18:58:08 INFO]: [Nova] Disabling Nova v0.16.1 [18:58:08 INFO]: [Nova] [Ironchests] Disabling Ironchests [ironchests] v0.1-alpha [18:58:08 INFO]: [Nova] [Simple-Upgrades] Disabling Simple-Upgrades [simple_upgrades] v1.3 [18:58:08 INFO]: [Nova] [Machines] Disabling Machines [machines] v0.4.5 [18:58:08 INFO]: [Nova] [Logistics] Disabling Logistics [logistics] v0.2.8 [18:58:09 INFO]: [Nova] Unloading networks [18:58:09 INFO]: [Nova] Removing active abilities [18:58:09 INFO]: [Nova] Saving force-loaded chunks [18:58:09 INFO]: [Nova] Saving attachments [18:58:09 INFO]: [Nova] Despawning fake entities [18:58:09 INFO]: [Nova] Unregistering packet handlers [18:58:09 INFO]: Saving players [18:58:09 INFO]: CraftCoderr lost connection: Server closed [18:58:09 INFO]: CraftCoderr left the game [18:58:09 INFO]: Saving worlds [18:58:09 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [18:58:09 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world' [18:58:09 INFO]: [ChunkHolderManager] Halted chunk system for world 'world' [18:58:09 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world' [18:58:09 INFO]: [ChunkHolderManager] Saved 58 block chunks, 151 entity chunks, 0 poi chunks in world 'world' in 0.38s [18:58:10 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [18:58:10 INFO]: Saving chunks for level 'ServerLevel[world_nether]'/minecraft:the_nether [18:58:10 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_nether' [18:58:10 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_nether' [18:58:10 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_nether' [18:58:10 INFO]: [ChunkHolderManager] Saved 0 block chunks, 19 entity chunks, 0 poi chunks in world 'world_nether' in 0.01s [18:58:10 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [18:58:10 INFO]: Saving chunks for level 'ServerLevel[world_the_end]'/minecraft:the_end [18:58:10 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_the_end' [18:58:10 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_the_end' [18:58:10 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_the_end' [18:58:10 INFO]: [ChunkHolderManager] Saved 10 block chunks, 10 entity chunks, 0 poi chunks in world 'world_the_end' in 0.02s [18:58:10 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [18:58:10 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved [18:58:10 INFO]: Flushing Chunk IO [18:58:10 INFO]: Closing Thread Pool [18:58:10 INFO]: Closing Server

Errors

No response

Additional context

No response

nklyshko commented 2 weeks ago

Fixed in Nova 0.17