Описание
# WikiRenderer
WikiRenderer is a heavily modified version of [Isometric Renders](https://modrinth.com/mod/isometric-renders) that allows you to create renders of game objects like parts
of world, blocks, items and entities.
These are automatically keyed to have a transparent background, and you can adjust scale, positioning and many more options right in-game in a menu.
Not only is this version of the mod also designed for modded wikis in mind, but it also has a couple of additional features targeted for use on the [Hypixel SkyBlock Wiki](https://hypixelskyblock.minecraft.wiki).
# Usage
WikiRenderer supports a multitude of render types:
- Items
- Entities and Entity Sprites
- Areas of the world, and area overhead minimaps
- Block States
- Item Tooltips
- Item Atlases
- Animated exports of items, entities, blocks states or world areas (in `.gif`, `.apng`, `.webp`, or `.mp4` formats)
- Batch exports of multiple entities, items, tooltips, or blocks as images or animations
The main command is `/wikirender`, but `/wr` also exists as an alias.
Details about the mod's features can be seen below, and exclusive features that have been added on top of [Isometric Renders](https://modrinth.com/mod/isometric-renders) will be marked with a ⭐ star emoji.
## Items
Items can be rendered in three ways:
1. Hold an item and type `/wikirender item`
2. Hover over an item in your inventory and press the render hotkey (defaults to `h`)
3. Type `/wikirender item id `, where `` is something like `minecraft:diamond`
4. ⭐ Type `/wikirender item texture `, where `` is a texture ID or base64 of a texture ID for a player head
Below is an example of an enchanted compass made using `/wikirender item id minecraft:compass[minecraft:enchantment_glint_override=true]`:

⭐ On the right is an option to speed up enchantment glint speeds. Normally, at 100% glint speed (seen in Minecraft's accessibility settings), a full loop of the glint animation takes 41.25 seconds, but this option speeds it up to 15 seconds, while barely being a noticeable difference. The `Use Enchanted Items Timings` button then sets the animation timing settings to this duration.

⭐ You can also grab the texture data of rendered layer heads with included buttons:


## Areas
Areas in the world can be rendered in three ways:
1. Select two points in the world with the hotkey (defaults to `c`), and type `/wikirender area`.
2. Type `/wikirender area pos `, where `` and `` represent coordinates.
3. ⭐ Type `/wikirender area island `, which scans outwards in mini chunks (specified by
``), not continuing past empty chunks or until the distance limit is reached.
- This is useful for rendering everything nearby you quickly, or for rendering a non-square-shaped island close to
other islands. In the latter case, simply lower `` until the surrounding islands are not hit in the
scan.
⭐ Below is an example of the Hypixel Prototype lobby, rendered using `/wikirender area island 8 200`, featuring a variety of render options on both sides of the menu:

⭐ Area renders are quite configurable. You can control block and entity visibility, override certain types of data on visible entities, modify how lighting is handled, and more.
### Minimap Renders
⭐ Area renders also feature topdown and side-view rendering modes, which allow you to create minimap images with adjustable texture resolution scaling. There is also a cave mode that lets you create underground images.


Minimap data can also be exported for use on the [Hypixel SkyBlock Wiki's Minimap Calibrator tool](https://hypixelskyblock.minecraft.wiki/w/Module:Minimap/Datasheet).
### Item Frame Minimaps
⭐ On the topic of Minimaps, you can also use area rendering and side angle viewing to render pixel-perfect maps. These are rendered using the exact same color data and brightness of the source map images.


## Entities
Entities can be rendered in four ways:
1. ⭐ Type `/wikirender player` to render yourself
2. Look at an entity and pressing the render hotkey (defaults to `h`)
3. Look at an entity and type `/wikirender entity`
4. Type `/wikirender entity `, where `` is something like `minecraft:zombie`, and `` is optional but something like `{IsBaby:1b}`
⭐ Below are examples of myself being rendered, both normally and in an optional sprite mode:


⭐ Entity renders have multiple options, such as the ability to use the live entity (useful for animated armor), freeze the arms, toggle item or enchantment visibility, and more.
⭐ Similar to player head item renders, you can also grab the texture data of rendered players, as well as player heads worn or held by rendered entities.

### Entity Lighting
⭐ Entities are lit in a way where in isometric viewing angles (`45°`, `135°`, `225°`, and `315°`), the top is 100% brightness, the left side is 80% brightness, and the right side is 60% brightness. Sprites are rendered at 100% brightness.
## Blocks
Individual blocks and block states can be rendered in three ways:
1. Look at a block and type `/wikirender block`
2. Type `/wikirender block `, where `` is something like `minecraft:cobblestone`
3. Type `/wikirender block [data]`, as seen below
Below is an example of rendering a furnace using `/wikirender block minecraft:furnace[lit=true]{Items:[{Slot:0b, Count: 1b, id: "minecraft:coal"}]}`

> Note: Waterlogged blocks currently do not render properly. For those, use a single-block area render.
## Item Tooltips
Item Tooltips can be rendered in similar ways to item renders:
1. Hold an item and type `/wikirender tooltip`
2. Hover over an item in your inventory and press the render tooltip hotkey (defaults to `k`)
3. Type `/wikirender tooltip `, where `` is something like `minecraft:diamond`
⭐ Tooltips are rendered using per-pixel resolution scaling, defaulting at 4 image pixels per font pixel.

## Batch Rendering
There are several ways to multiple render items, blocks, or tooltips at once:
### Inventories
To render every item in your inventory, press the associated hotkey (default `k`), which will open a popup allowing you to render the items, block item states, tooltips, or items in an atlas:

### Creative Tabs
To render a creative tab:
1. Type `/wikirender group item creative_tab itematlas` to render a certain tab as an atlas texture
2. Type `/wikirender group item creative_tab batch (blocks|items|tooltips)` to batch render a certain tab's items, blocks, or tooltips
Below is an example of every combat item rendered in an atlas using `/wikirender group item creative_tab minecraft:combat itematlas`:

### Tagged Items
To render items, blocks or tooltips given a select tag:
1. Type `/wikirender group item tag itematlas` to render the tag's items as an atlas texture
2. Type `/wikirender group item tag batch (blocks|items|tooltips)` to batch render the tag's items, blocks, or tooltips
Below is an example of a batch render of every flower using `/wikirender group item tag #minecraft:flowers batch items`. The left side of the screen shows 30 items remaining, and they can all be rendered by pressing the start button.

### Namespace Items
To render items, blocks or tooltips from a select namespace:
1. Type `/wikirender group item namespace itematlas` to render the namespace's items as an atlas texture
2. Type `/wikirender group item namespace batch (blocks|items|tooltips)` to batch render the namespace's items, blocks, or tooltips
Below is an example of an atlas render of every vanilla item using `/wikirender group item namespace minecraft itematlas`.

## Entity-Based Batch Rendering
⭐ There are several ways to multiple entities at once:
### Tagged Entities
⭐ To render entities given a select tag:
1. Type `/wikirender group entity tag ` to render the tag's entities
2. Type `/wikirender group entity tag nbt ` to render the tag's entities with NBT applied to each of them
3. Type `/wikirender group entity tag nbt_filter ` to render the tag's entities with NBT applied to each of them, but only rendering those with pass the filter check (see below)
Below is an example of a batch render of every aquatic Minecraft mob using `/wikirender group entity tag #minecraft:aquatic`

### Namespace Entities
⭐ To render entities given a select tag:
1. Type `/wikirender group entity namespace ` to render the namespace's entities
2. Type `/wikirender group entity namespace nbt ` to render the namespace's entities with NBT applied to each of them
3. Type `/wikirender group entity namespace nbt_filter ` to render the namespace's entities with NBT applied to each of them, but only rendering those with pass the filter check (see below)
Below is an example of a batch render of every Minecraft mob using `/wikirender group entity namespace minecraft`:

### NBT Filtering:
⭐ When rendering entities from a namespace or tag, you can filter which entities from those lists actually get used by filtering by the applied NBT. There are three filter modes to choose from:
1. `require_all_valid`: Allows an entity to render if all the provided NBT tags are valid
2. `require_one_valid`: Allows an entity to render if at least one of the provided NBT tags is valid
3. `require_none_valid`: Allows an entity to render if none of the provided NBT tags are valid
More specifically, a "valid" tag is a tag that is saved with the entity when it tries to save its NBT. Some tags are exported for all entities, regardless of if they change how they render (i.e. `Equipment` for all living entities), whereas others only get saved for specific types (i.e. `Pumpkin` for snow golems)
For example, typing `/wikirender group entity namespace minecraft nbt_filter require_one_valid {Age:-1,IsBaby:1b}` will render all baby mobs, with some extra mobs included, as seen below:
