Saving sets of itemstacks in SQL
The maps table looks pretty ok. The name should probably be unique so you have the possability to skip mapid. Also, I would use the identifier mapname instead of just name which is to vauge, and also highly likely to be a reserved word (I have not checked though). Alternative design:
CREATE TABLE maps
( mapname varchar(64) not null primary key
, max_no_players int not null
, min_no_players int not null
);

You may or may not introduce a surrogate key, but then the name should still be unique (my guess):
CREATE TABLE maps
( mapid int not null primary key 
, mapname varchar(64) not null unique
, max_no_players int not null
, min_no_players int not null
);

Next, I would look at CHESTS. A chest seem to have no attributes, so I will just add a surrogate key:
CREATE TABLE chests
( chestid int not null primary key 
);

A map can contain one or more chests:
CREATE TABLE chests_in_maps
( chestid int not null
, mapid int not null
,     constraint pk_chests_in_maps 
          primary key (chestid, mapid)
,     constraint ...
          foreign key (chestid)
          references chests (chestid)
, &lt;f.k. for maps&gt;
); 

I would then continue with ITEMS and ITEMS_IN_CHESTS in a similar way. Properties for ITEMS looks like it is attributes of an ITEM.
This is by no means a complete answer, but it hopefully gives you some ideas.