# Resource Pack Overrides Every texture Lectern draws is an ordinary Minecraft texture, so any resource pack can replace it. Put your version at the same path inside your pack and the client picks it up next time resources reload. Nothing to configure, and no restart. ## Restyling the toasts Toasts are the little notification cards that pop in near the top of the screen. They're 162 by 70 pixels, sitting about 15% of the way down, and they pop in and out with a small animation. To restyle every toast on your server, replace this one file: ``` assets/lectern/textures/toast/vanilla.png ``` It's a **256 by 256 PNG with transparency**. Bigger works fine too, 512 or 1024, and gets scaled down cleanly. ### Where things sit in that file Lectern reads four regions out of the image. Keep them where they are or the toast will look wrong. All numbers are pixels within the 256x256 image: | Part | Found at | Size | What it is | |---|---|---|---| | Body | `(0, 0)` | 162 x 40 | The main panel | | Banner | `(0, 40)` | 162 x 14 | The stripe along the top | | Plaque | `(0, 108)` | 9 x 14 | Small badge in the bottom right | | Icon frame | `(0, 82)` | 26 x 26 | The ring around the item icon | Everything else in the image is unused. Leave it blank, or put extra designs there and point individual toasts at them. > [!info] This layout matches the FancyToasts mod's "task" colourway. Other rows in a FancyToasts-format image (banners at v=54 and v=68, frames at u=26 and u=52) are reserved for banner variants later. Right now Lectern always uses the row at v=40 and the column at u=0. ### Giving one toast its own look A plugin can point a single toast at a different image: ```java Toast.withBackdrop("Welcome!", "Server joined.", "minecraft:diamond", "lectern:textures/toast/welcome.png"); ``` Then put your file here: ``` assets/lectern/textures/toast/welcome.png ``` Same 256x256 layout as above. You can use your own namespace: a file at `assets/my-server/textures/toast/foo.png` is referred to as `my-server:textures/toast/foo.png`. ### Toast icons A toast's icon can be an item like `minecraft:diamond`, or a texture of your own. Custom ones are drawn at 16 by 16 inside the frame, and live under `assets/<namespace>/textures/`. ## The animation The pop-in, the hold and the pop-out are built into the client. There's no file to override and no setting to change: | Phase | How long | What happens | |---|---|---| | Pop-in | 220 ms | Grows from 60% to full size while fading in and sliding down | | Hold | the rest | Sits still, centred | | Pop-out | 220 ms | Shrinks slightly and fades away | A toast lasts 5 seconds by default. A plugin can set its own length per toast. ## Everything else you can restyle Same rules: match the path, ship it in your pack. | What | Where it lives | Notes | |---|---|---| | Built-in toast icons | `assets/lectern/textures/toast/icons/{looking,success}.png` | 16 x 16 | | Explosion shockwave ring | `assets/lectern/textures/particle/explosion_shockwave.png` | 64 x 64, white on transparent. Lectern colours it for you | | Explosion spark | `assets/lectern/textures/particle/explosion_spark.png` | 16 x 16 dot | | Explosion smoke | `assets/lectern/textures/particle/explosion_smoke.png` | 32 x 32 blob | Draw the explosion textures white. Lectern tints them at runtime, so a coloured source fights with that. ## Seeing your changes ``` /reloadclient ``` Or press **F3 + T**, which reloads all client resources. Either way it's instant, and nothing needs restarting. ## Related Pages - [[Lectern/Server Owners/Overview]], what Lectern does - [[Lectern/Server Owners/Configuration]], the config file