Commit Graph

72 Commits

Author SHA1 Message Date
MineTec 0aa098ae8f simplified code: shared entity tagging, world name scheme, less boilerplate
New EntityTagUtil replaces the three copies of the tag/find/remove
logic for display and interaction entities. The pixel world naming
scheme (build, parse, recognize) now lives in one place in
PixelBlockWorld with a cached base path instead of allocating on every
event. getPixels works with int arithmetic instead of two Location
allocations per cell, setBuildingPlatform lost its copy-pasted loops
and rebuilds the flower list only once, SubCommand is an abstract base
class instead of an interface with 12 trivial getters, and dead
methods were removed.
2026-07-23 22:59:00 +02:00
MineTec a024e42b80 fixed NPE and shutdown issues, cleaned up listeners and build config
Blocks destroyed before ever being entered no longer NPE on the null
entry location (new getReturnLocation fallback), destroy no longer
mutates the stored block location, placing an item whose block UUID
already exists cancels the event with a message instead of eating the
item, and pending task chains are flushed on shutdown. Failed block
initialization now propagates instead of leaving half-built blocks
registered. Listener null checks replaced requireNonNull, listener and
method name typos fixed, and the test-server copy path in build.gradle
is now a gradle property instead of a hardcoded home directory.
2026-07-23 22:58:47 +02:00
MineTec 76ddfc95af replaced single commands with /pixelblocks root command and permissions
New /pixelblocks (alias /pb) with create, give, exit and destroyall
subcommands, each gated by a permission (exit defaults to true, the
rest to op). Fixes the args[0] crash and missing UUID validation in
give, and the offline-owner NPE plus concurrent-modification risk in
destroyall (destroy now takes a force flag that skips the ownership
check for admins). Also centralizes the item id tag in
PixelBlockItem.setBlockId and drops the overridden itemName leftover.
2026-07-23 22:57:48 +02:00
MineTec bc43519077 moved database access to a dedicated single-thread executor
SQLite I/O no longer runs on the main server thread and the shared
PreparedStatements are confined to one thread. savePixelBlock captures
a snapshot of the block data on the calling thread. Main.pixelBlocks is
now a CopyOnWriteArrayList and list mutations moved out of async chains.
Blocks that fail to initialize on startup are skipped with a proper
error log instead of being registered half-built.
2026-07-23 22:57:22 +02:00
MineTec ec74d5d8f2 removed spawn chunk radius game rule, updated dependencies, and cleaned up project files 2025-12-20 10:34:17 +01:00
Pupsi 7a41145b8c fixed banner rotation and double bed issues,
added DestroyPixelBlocksCommand
2025-07-14 19:32:22 +02:00
Pupsi 36dd0535c3 fixed more orientation errors when placing from other directions 2025-07-14 16:02:37 +02:00
Pupsi 0bfb031212 fixed some orientation errors 2025-07-14 00:06:44 +02:00
Pupsi 8851f3c032 added givepixelblock command 2025-01-01 17:58:10 +01:00
MineTec e45bbfc07b fixed crafting advancement and crafting bug 2024-12-29 16:33:38 +01:00
MineTec 224f4a9f1e fixed pixelblocks being placable in protected regions 2024-12-24 18:06:43 +01:00
Pupsi fc043a2529 changed annotation for place pixelblock listener 2024-12-24 12:20:08 +01:00
Pupsi 3ed98d0d9e changed annotation for break pixelblock listener 2024-12-24 12:17:32 +01:00
MineTec 9807f737f8 removed unnecessary logging 2024-12-19 09:43:01 +01:00
MineTec a82945909d removed dead code 2024-12-19 00:50:23 +01:00
MineTec b9cef8f567 added block rotation 2024-12-19 00:34:23 +01:00
MineTec d3c5a6c6b0 fixed race condition 2024-12-18 23:34:45 +01:00
Pupsi 8bb2d382b9 fixed various bugs 2024-12-14 14:59:42 +01:00
Pupsi 88b55d4d7c Merge pull request 'feature-remove-db' (#8) from feature-remove-db into main
Reviewed-on: #8
2024-10-19 13:25:56 +00:00
Pupsi 8a6577afa0 removed offset, fixed hitbox 2024-10-19 15:24:05 +02:00
MineTec 744f1dd6e2 fixed pixel duplication because of unloaded chunks 2024-10-15 21:25:11 +02:00
MineTec 46782b97c8 fixed flowers generational stacking on server start 2024-10-15 21:12:16 +02:00
MineTec 03c26bc2f9 code reformat 2024-10-15 20:40:45 +02:00
MineTec 796bee9696 further variable encapsulation 2024-10-15 20:37:36 +02:00
MineTec b8bcb5e580 fixed double item dropping and fixed exitWorld command 2024-10-15 20:03:14 +02:00
MineTec c3bf1943a5 refactored to not store entities 2024-10-13 18:38:05 +02:00
MineTec 2810db2e93 refactoring 2024-10-13 16:26:41 +02:00
MineTec 70c7059e43 refactored pixelblock and fully utilizing taskchains 2024-10-12 03:03:30 +02:00
MineTec 503c596616 refactored hitbox and placeholders 2024-10-12 01:00:55 +02:00
MineTec ab58b291c8 added defering of pixel spawning 2024-10-11 20:03:15 +02:00
MineTec 4bda427693 wip: refactoring with persistent storage containers 2024-10-10 22:08:48 +02:00
MineTec 9c68308eeb preventing growth outside of pixel block borders 2024-10-09 13:34:31 +02:00
MineTec 8d70c4b7b3 refactored hitbox logic to external class 2024-10-05 23:13:13 +02:00
MineTec 32e6eb259e prevent players in pixelblock wile being offline 2024-10-05 22:40:22 +02:00
MineTec 154c1cf936 changed placeholder 2024-10-05 22:24:27 +02:00
MineTec 156b7e6b61 added logging 2024-10-05 19:24:36 +02:00
MineTec 39af3589e3 restructured sql queries 2024-10-04 23:34:51 +02:00
MineTec 92a3edc0b6 added listener to exit pixelblock when leaving the server 2024-10-04 21:02:48 +02:00
MineTec ab71f09f8a added and implemented taskchain 2024-10-04 20:42:17 +02:00
MineTec 4f4a6aef10 wip: added persistent data tags on items 2024-09-03 21:35:23 +02:00
MineTec e35145f8ed changed pixelblock item and added item to recipe book 2024-08-31 19:58:57 +02:00
MineTec 2ad3f135c3 disabled spawn chunks, improving performance 2024-08-13 19:23:13 +02:00
MineTec e8a0523b68 finished code cleanup 2024-07-24 20:21:35 +02:00
MineTec 93dc9d8a80 wip: further code cleanup 2024-07-23 22:25:00 +02:00
MineTec e5e1f39989 wip: code cleanup 2024-07-22 19:14:47 +02:00
Pupsi 966f870d96 added more options for config 2024-07-20 17:01:53 +02:00
Pupsi e48413d111 added rotation 2024-07-20 16:38:13 +02:00
Pupsi 315750475a added config file 2024-07-20 15:23:36 +02:00
Pupsi ef4d9cf524 fixed placing two pixelblocks at the same location 2024-07-20 14:31:53 +02:00
Pupsi 64493124a7 fixed hitbox 2024-07-20 14:27:44 +02:00