# FAQ

## 📦 ResourcePack

### Can I still use my own resourcepack with Nexo?

Yes, you can merge any resourcepacks into the ResourcePack generated by Nexo.\
You can do so by simply adding the .zip or folder to `Nexo/pack/external_packs`\
and the plugin will merge it into the final ResourcePack and send it to all players.\
Check out the [ResourcePack](/configuration/resourcepack.md) page for a detailed explanation

### NoteBlocks & Tripwires aren't working correctly?

Nexo uses NoteBlocks and TripWires for custom blocks, and thus disables all their vanilla behaviour.\
Noteblock-mechanic does have an option to re-enable this without losing custom blocks, if you go to Nexo/`mechanics.yml`\
If you do not care about Custom Blocks, you can also just disable the noteblock & stringblock-mechanics in `mechanics.yml`

***

## 🔧 Configuration

### How do I reference a ResourcePack file in a config?

Minecraft ResourcePacks follow a defined and consistent structure.\
ResourcePack files are also split into sub-categories; **sounds, textures, models, fonts, etc..**\
A full list of it can be found on the [Minecraft Wiki](https://minecraft.wiki/w/Resource_pack#Directory_structure), more info on ResourcePacks in [ResourcePack](/configuration/resourcepack.md)

The **namespace** is just another way to sort said sub-categories between different usecases.\
The **filepath** is the remaining path to your file itself

When you then want to make a reference to said file in say a NexoItem, this is how you do it;

{% code title="assets/nexo/textures/item/nexo\_defaults/forest\_axe.png" %}

```yaml
myitem:
  Pack:
    # assets/minecraft/models/item/paper.json
    model: minecraft:item/paper.json
    # assets/nexo/textures/item/nexo_defaults/forest_axe.png
    texture: nexo:item/nexo_defaults/forest_axe
```

{% endcode %}

Here is an example to reference a given PNG Texture **or** a JSON Model.\
This is the exact same for sounds, fonts etc. Only difference is the immediate folder after the namespace is not textures

**ItemModels:**\
assets/**NAMESPACE**/items/**PATH/FILE**.json -> `item_model: NAMESPACE:PATH/FILE`

**Models:**\
assets/**NAMESPACE**/models/**PATH/FILE**.json `model: NAMESPACE:PATH/FILE`

**Textures:**\
assets/**NAMESPACE**/textures/**PATH/FILE**.png `texture: NAMESPACE:PATH/FILE`

**Sounds:**\
assets/**NAMESPACE**/sounds/**PATH/FILE**.ogg `sound: NAMESPACE:PATH/FILE`

If your file is inside `assets/minecraft/...` , meaning your namespace is **minecraft**, specifying it in a config is optional. If no namespace is defined, it will assume you mean **minecraft**

### Why can't I hear Stone/Wood sounds?

Nexo replaces these sounds with empty ones in order to correctly play Custom Block sounds.\
Nexo will however, play a clone of the vanilla sound whenever the sound would normally play.\
Majority of the time when you cannot hear these sounds, is when you have a ResourcePack sent by Nexo, but you are on a server without Nexo. Like a Velocity/Bungee network where Server A has Nexo, but Server B does not.

The fastest fix is to disable `custom_block_sounds` in `mechanics.yml` for CustomBlock & Furniture.

### What is a Duration & how do I use it?

A duration is a dynamic way to specify time in a variety of ways.\
Normally plugins require you to specify in ticks or seconds only.\
Nexo allows you to more easily define a length of time with a Duration Format.\
An example is [Sounds](/configuration/sounds.md) which has a `duration` inside `jukebox_playable` to set the sound-length.\
The format for duration is a value + a suffix stamp for the DurationUnit. Some DurationUnits support non-integer values and will automatically format this into the correct values.

`duration: 20t` - 20 ticks\
`duration: 20ms` - 20 milliseconds\
`duration: 20.2s` - 20 seconds & 40 ticks\
`duration: 20.1m` - 20 minutes and 6 seconds\
You also have <mark style="color:yellow;">h</mark>ours, <mark style="color:yellow;">d</mark>ays, <mark style="color:yellow;">w</mark>eeks & <mark style="color:yellow;">mo</mark>nths


---

# Agent Instructions: 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:

```
GET https://docs.nexomc.com/general-usage/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
