> For the complete documentation index, see [llms.txt](https://mtgmodders.gitbook.io/etg-modding-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mtgmodders.gitbook.io/etg-modding-guide/making-a-floor/tileset.md).

# Tileset

### Difficulty: 8/10 :  <img src="/files/-MfzUfw8K_-NmT2OXaHy" alt="" data-size="original"> (due to amount of spriting/planning\&creativity)

\
Here is where the asset bundles start coming into play.&#x20;

Now we want to copy a base game tileset and resprite that, of course, we don't \*have\* to, but if you want to make your own just look at how expand did it once: <https://raw.githubusercontent.com/ApacheThunder/ExpandTheGungeon/dac3f0f977948c2461cbe8f9de34ee40857daa81/ExpandTheGungeon/ExpandObjects/ExpandDungeonCollections/ENV_Tileset_Belly.cs>

;)

### Example tileset for rat floor:

<img src="/files/-Mg-XG0e4vbHL8Cna1Gx" alt="" data-size="original">&#x20;

> light green is floor \
> dark green is the tiles that go between walls and floor tiles \
> orange is the bottom half of the wall \
> dark orange is the top half of the wall (the darker oranges is a different set of walls) \
> dark blue is the bit over the walls \
> light blue is the pit the slightly darker light blue goes outside the rooms so it isnt completely dark \
> the turquoise is used between the floor tiles and a pit \
> hot pink is the floor tiles that go around pits and the crosses show which walls go together \
> the pink in the dark green squares shows where the wall would be

### Example tileset for Gungeon Proper

<img src="/files/-Mg-YHtReOLHNzQy4W6B" alt="" data-size="original"> <br>

> the white tiles are unused tiles.

once you've got your tileset (or you can just use one of these as a placeholder) you need to place it into your assetbundle.

we are going to go back into the ModPrefabs file and add this\
`public static Texture2D ENV_Tileset_FloorName;`

and in the InitCustomPrefabs add:\
`ENV_Tileset_FloorName = ModAssets.LoadAsset("ENV_Tileset_FloorName");`<br>

Now we can access the tileset from anywhere

\
Now we need to make a new script called CustomValidTilesets.\
delete the class.

paste in:

```csharp
public enum CustomValidTilesets
    {
        GUNGEON = 1,
        CASTLEGEON = 2,
        SEWERGEON = 4,
        CATHEDRALGEON = 8,
        MINEGEON = 16,
        CATACOMBGEON = 32,
        FORGEGEON = 64,
        HELLGEON = 128,
        SPACEGEON = 256,
        PHOBOSGEON = 512,
        WESTGEON = 1024,
        OFFICEGEON = 2048,
        BELLYGEON = 4096,
        JUNGLEGEON = 8192,
        FINALGEON = 16384,
        RATGEON = 32768,
        FLOORNAMEGEON = 69696969 //DO NOT USE THIS NUMBER TO AVOID CONFLICTS
    }
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mtgmodders.gitbook.io/etg-modding-guide/making-a-floor/tileset.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
