@@ -499,7 +499,7 @@ private void processBlock(ChunkPair cp, int x, int y, int z, int globalX, int gl
499499 processSlabs (blockData , m , belowSeaLevel );
500500 processStackers (loc , m );
501501 processUltimateStacker (m , loc , belowSeaLevel );
502- processChests (cp , blockData );
502+ processChests (cp , cp . chunkSnapshot . getBlockType ( x , y , z ) );
503503 processSpawnerOrBlock (m , loc , belowSeaLevel );
504504 }
505505
@@ -524,9 +524,48 @@ private void processUltimateStacker(Material m, Location loc, boolean belowSeaLe
524524 }
525525 }
526526
527- private void processChests (ChunkPair cp , BlockData blockData ) {
528- if (addon .getSettings ().isIncludeChests () && blockData instanceof Container ) {
529- chestBlocks .add (cp .chunk );
527+ private void processChests (ChunkPair cp , Material material ) {
528+ if (addon .getSettings ().isIncludeChests ()) {
529+ switch (material ) {
530+ case CHEST :
531+ case TRAPPED_CHEST :
532+ case BARREL :
533+ case HOPPER :
534+ case DISPENSER :
535+ case DROPPER :
536+ case SHULKER_BOX :
537+ case WHITE_SHULKER_BOX :
538+ case ORANGE_SHULKER_BOX :
539+ case MAGENTA_SHULKER_BOX :
540+ case LIGHT_BLUE_SHULKER_BOX :
541+ case YELLOW_SHULKER_BOX :
542+ case LIME_SHULKER_BOX :
543+ case PINK_SHULKER_BOX :
544+ case GRAY_SHULKER_BOX :
545+ case LIGHT_GRAY_SHULKER_BOX :
546+ case CYAN_SHULKER_BOX :
547+ case PURPLE_SHULKER_BOX :
548+ case BLUE_SHULKER_BOX :
549+ case BROWN_SHULKER_BOX :
550+ case GREEN_SHULKER_BOX :
551+ case RED_SHULKER_BOX :
552+ case BLACK_SHULKER_BOX :
553+ case BREWING_STAND :
554+ case FURNACE :
555+ case BLAST_FURNACE :
556+ case SMOKER :
557+ case BEACON : // has an inventory slot
558+ case ENCHANTING_TABLE : // technically has an item slot
559+ case LECTERN : // stores a book
560+ case JUKEBOX : // stores a record
561+ // ✅ It's a container
562+ chestBlocks .add (cp .chunk );
563+ break ;
564+ default :
565+ // ❌ Not a container
566+ break ;
567+ }
568+
530569 }
531570 }
532571
0 commit comments