Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/all-plugins/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"label": "Stuff in all plugins",
"position": 2
"position": 3
}
54 changes: 0 additions & 54 deletions docs/all-plugins/custom-gui-slots.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/all-plugins/math.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ These are the most commonly used mathematical expressions within eco plugins. To
| `max` | Returns the highest value (`min(10,2 * 10)` returns `20`) |
## Examples

In EcoSkills, you might want to provide players with a mining speed multiplier, capping it at 3.0x: `multiplier: 'max(3, (%level% * 0.1))'`. This ensures that the player gains a 0.10x mining speed boost per level, up to a maximum of 3.0x.
In EcoSkills, you might want to provide players with a mining speed multiplier, capping it at 3.0x: `multiplier: 'min(3, (%level% * 0.1))'`. This ensures that the player gains a 0.10x mining speed boost per level, up to a maximum of 3.0x.

In EcoQuests, you might want players to collect a random amount of Coal Ore to complete the task: `xp: 'random(32,128)'` would randomise the task requirements between 32 ores and 128 ores.
57 changes: 54 additions & 3 deletions docs/all-plugins/pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 8
## Custom Pages
Custom pages are used in most of the plugins, and understanding how to correctly configure a GUI page is important to creating your menus.

## How to make a page
### How to make a page

Pages consist of three key components, a mask, a pattern, and sometimes a page number. A pattern is the layout of the background or filler items. Think of the pattern section as the GUI, with 9 columns and up to 6 rows.

Expand All @@ -19,7 +19,7 @@ In total you could display 35 different items as "filler" items in your GUI.
A mask is the items to be shown in the pattern layout, these work from the top down. You can use the [Item Lookup System](https://plugins.auxilor.io/all-plugins/the-item-lookup-system) here to add custom items, apply names or any other of the options.
The first item in the list will represent `1` in the pattern, the second item in the list is `2`, etc..

## Example Page Config
### Example Page Config

```yaml
- page: 1
Expand All @@ -35,4 +35,55 @@ The first item in the list will represent `1` in the pattern, the second item in

This example has a surrounding layer of `gray_stained_glass_pane` and a center strip of `black_stained_glass_pane`.

![Page](https://i.imgur.com/tQLXe3F.png)
![Page](https://imgur.com/lyLo6pD)

## Custom GUI Slots
### What are custom GUI slots?

When configuring a GUI in a plugin, you might stumble across this:

```yaml
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/pages#custom-gui-slots
custom-slots: []
```

This means you can add custom items (with commands) to your GUIs for that extra layer of customizability.

### How to make a custom GUI slot

Quite simply, a GUI slot looks like this:

```yaml
custom-slots:
- row: 6
column: 9
item: ecoitems:skill_gui_item
lore: []
left-click:
- console:op %player% # Commands can start with console: to be ran by console, and use %player% as a placeholder.
- spawn # If you don't specify, then the command will be ran by the player.
right-click: []
shift-left-click: []
shift-right-click: []
```

If you have no right click / shift left click / etc.. commands to add, you can omit the sections, like this:

```yaml
custom-slots:
- row: 1
column: 5
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODU3MDVjZjg2NGRmMmMxODJlMzJjNDg2YjcxNDdjYmY3ODJhMGFhM2RmOGE2ZDYxNDUzOTM5MGJmODRmYjE1ZCJ9fX0=
right-click:
- console:eco give %player% 1000
```

And you can add as many custom slots as you want, like this:

```yaml
custom-slots:
- <slot 1>
- <slot 2>
- <slot 3>
- ...etc
```
2 changes: 1 addition & 1 deletion docs/all-plugins/prices.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Prices
title: The Price System
sidebar_position: 7
---

Expand Down
11 changes: 9 additions & 2 deletions docs/all-plugins/the-entity-lookup-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@ In each string is the key for an entity. A key looks one of two ways:
- A vanilla minecraft entity: (eg `husk`)
- An entity from another plugin: (eg `ecomobs:tarantula`)

You may also have noticed the ? in some of the keys. This means 'try to use the first entity, but if it doesn't exist, use the second entity' You can chain these together, but they're actually only useful for me to provide integrations in default configs without breaking things for people who don't use all my plugins together.
### Using entities from other plugins

You can also use || . This means 'spawn the first entity, or the second entity'. These can also be chained together: in tests, this means any of the entities can pass, and in specifying the types of entities, this means that a random entity out of the options will be spawned on each call.
| Plugin | Item Lookup Key |
|------------|------------------|
| EcoMobs | `ecomobs:<id>` |
| MythicMobs | `mythicmobs:<id>` |

#### Extra syntax
- `?` between two entities means 'try to spawn the first entity, but if it doesn't exist, spawn the second entity'. You can chain these together.
- `||` groups two entities, allowing either one of them to be spawned, at random. You can chain these together to create further randomness on spawns.

## Modifiers
Entities can have modifiers applied to them in the key. For example, lets say you're configuring a mob in EcoMobs. You want it to be a massive slime, a baby zombie, or a charged creeper, but you're not sure how to do that, because it looks like you have to just specify an entity type. Actually, in all of my plugins, wherever it asks for an entity, it's actually doing a lookup. You can specify any of the following modifiers to it:
Expand Down
4 changes: 4 additions & 0 deletions docs/all-plugins/the-item-lookup-system/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "The Item Lookup System",
"position": 1
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,7 @@ sidebar_position: 3

The item lookup system is how items are loaded from configs. It's designed to be extremely flexible and intuitive, allowing you to use custom items, stacks, enchantments, etc. wherever you want, without having to worry about what plugin they're from.

## Crafting Recipes

Crafting recipes in eco plugins often look something like this:

```yaml
recipe:
- ""
- "ecoitems:toughened_string 8 ? string 64"
- ""

- ""
- "netherite_chestplate || diamond_chestplate"
- ""

- "ecoitems:arachnid_oculus ? nether_star 2"
- ""
- "ecoitems:arachnid_oculus ? nether_star 2"
```

While it may look meaningless, this system is straightforward once you understand how it works. A crafting recipe is written as a list of 9 strings, the first three being the top row (left to right),
the second three being the middle row (left to right), and the last three being the last row (left to right).
Anywhere you need to use items, you can use this system. To look up an item, you need a key, and optional modifiers.

## Keys Explained

Expand All @@ -38,6 +18,14 @@ In each string is the key for an item. A key looks one of a few ways
- An exact item NBT tag: (e.g. `{id:"stone",Count:3,tag:{Name:"your name"}}`)
- An item tag: (e.g. `#talismans:talisman` or `#items_axes`)

#### Extra syntax

- `?` between two items means 'try to use the first item, but if it doesn't exist, use the second item'. You can chain these together.
- `||` groups two items, allowing either one of them to be used. You can chain these together.
- You can specify stack size, e.g. `string 64` would mean a full stack of string.

When using exact item NBT, you can't use `?`. `||`, or other modifiers.

### Vanilla Materials

By default, a vanilla material (e.g. `diamond_pickaxe`) will not accept custom items with the same material. For example, if you have an EcoItems item with `diamond_pickaxe` as its base material,
Expand All @@ -59,22 +47,49 @@ tags:
- "diamond_sword"
```

A list of custom item tags can be found later in this page.
### Using items from eco plugins

#### Extra syntax
| Plugin | Item Lookup Key | Item Tag |
| ------------ | ----------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| EcoArmor | `ecoarmor:set_<set>_<slot>` (Optional: `_advanced`) <br/>`ecoarmor:shard_<set>`<br/>`ecoarmor:crystal_<id>` | |
| EcoCrates | `ecocrates:<crate>_key` | |
| EcoItems | `ecoitems:<id>` | `#ecoitems:item` |
| EcoMobs | `ecomobs:<id>_spawn_egg` | |
| EcoPets | `ecopets:<id>_spawn_egg` | |
| EcoScrolls | `ecoscrolls:scroll_<id>` | `#ecoscrolls:scroll` |
| Reforges | `reforges:stone_<id>` | `#reforges:stone`<br/>`#reforges:reforged` |
| StatTrackers | `stattrackers:<id>` | |
| Talismans | `talismans:<id>` | `#talismans:talisman` |

- `?` between two items means 'try to use the first item, but if it doesn't exist, use the second item'. You can chain these together.
- `||` groups two items, allowing either one of them to be used. You can chain these together.
- You can specify stack size, e.g. `string 64` would mean a full stack of string.
### Using items from third-party plugins

When using exact item NBT, you can't use `?`. `||`, or other modifiers.
Sometimes custom item IDs are namespaced. In order to make this work, you have to specify them like `plugin:namespace__key`, where **two underscores** denote where the `:` would normally go.

| Plugin | Item Lookup Key |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| ItemsAdder | `itemsadder:<namespace>__<key>`, example below. |
| Oraxen | `oraxen:<id>`, e.g. `oraxen:alumite_pickaxe` |
| ItemBridge | `itembridge:saved__<id>` for items you've saved within ItemBridge. You can use `itembridge:<prefix>__<id>` for plugin items supported in ItemBridge. |

#### ItemsAdder

```yaml
# ** ItemsAdder configuration **
info:
namespace: my_items
items:
my_helmet:
display_name: "&9Custom Helmet"
```

ItemsAdder items are namespaced, so for example, the above would be `itemsadder:crystal_pack__alumite_pickaxe`, where `crystal_pack` is the namespace, and `alumite_pickaxe` is the item ID.

## Modifiers

Items can have modifiers applied to them. For example, lets say you're configuring the GUI for EcoSkills. You want it to be a player head with a texture, but you're not sure how to do that, because it looks like you have to just specify a material. Actually, in all eco plugins, wherever it asks for a material, it's actually doing a lookup. You can specify any of the following modifiers to it:

- **Enchantments:** You can specify an enchantment with `<enchantment>:<level>`
- Stack Quantity: You can specify a stack quantity by using the amount, e.g. `iron_ingot 32`
- **Stack Quantity:** You can specify a stack quantity by using the amount, e.g. `iron_ingot 32`
- **Skull Texture:** If the material is a player head, you can specify the texture with `texture:<base64>`. A list of skulls and textures can be found [here](https://minecraft-heads.com/).
- **Player Head:** If the material is a player head, you can specify a player using `head:<name>`. You can also use placeholders, e.g. `head:%player%`
- **Reforge:** You can specify the reforge by adding `reforge:<id>` to the key.
Expand All @@ -96,35 +111,12 @@ These modifiers are only available on **Paper 1.21+**:

So, lets say you have an EcoMobs mob, and you want it to drop a rare custom weapon with extra modifiers already applied. Without the Item Lookup system, this wouldn't be possible, but thanks to it, you can just do this: `ecoitems:enlightened_blade razor:4 unbreaking:3 criticals:2 fire_aspect:2 reforge:mighty unbreakable hide_attributes custom_model_data:2`

## Using items in eco plugins

| Plugin | Item Lookup Key |
| ------------ | ----------------------------------------------------------------------------------------------------------- |
| EcoArmor | `ecoarmor:set_<set>_<slot>` (Optional: `_advanced`) <br/>`ecoarmor:shard_<set>`<br/>`ecoarmor:crystal_<id>` |
| EcoCrates | `ecocrates:<crate>_key` |
| EcoItems | `ecoitems:<id>` |
| EcoMobs | `ecomobs:<id>_spawn_egg` |
| EcoPets | `ecopets:<id>_spawn_egg` |
| EcoScrolls | `ecoscrolls:scroll_<id>` |
| Reforges | `reforges:stone_<id>` |
| StatTrackers | `stattrackers:<id>` |
| Talismans | `talismans:<id>` |

## Using item tags in eco plugins

| Plugin | Item Tag | Description |
| ---------- | --------------------- | ------------------------------- |
| EcoItems | `#ecoitems:item` | Any EcoItems item |
| EcoScrolls | `#ecoscrolls:scroll` | Any EcoScrolls scroll |
| Reforges | `#reforges:stone` | Any reforge stone |
| Reforges | `#reforges:reforged` | Any item with a reforge present |
| Talismans | `#talismans:talisman` | Any talisman |

## Using items in MythicMobs
## Using eco plugin items in other plugins

### MythicMobs
If you want to use a lookup item in MythicMobs, just do it like this: `eco{type=<lookup_key>}`, e.g. `eco{type=ecoitems:<id>}`

## Using items in ShopGUIPlus
### ShopGUIPlus

If you want to use a lookup item in ShopGUIPlus, just do it like this:

Expand All @@ -137,25 +129,3 @@ sellPrice: 7500
slot: 27
```

## Using items from third-party plugins

Sometimes custom item IDs are namespaced. In order to make this work, you have to specify them like `plugin:namespace__key`, where **two underscores** denote where the `:` would normally go.

| Plugin | Item Lookup Key |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| ItemsAdder | `itemsadder:<namespace>__<key>`, example below. |
| Oraxen | `oraxen:<id>`, e.g. `oraxen:alumite_pickaxe` |
| ItemBridge | `itembridge:saved__<id>` for items you've saved within ItemBridge. You can use `itembridge:<prefix>__<id>` for plugin items supported in ItemBridge. |

### ItemsAdder

```yaml
# ItemsAdder configuration
info:
namespace: my_items
items:
my_helmet:
display_name: "&9Custom Helmet"
```

ItemsAdder items are namespaced, so for example, the above would be `itemsadder:crystal_pack__alumite_pickaxe`, where `crystal_pack` is the namespace, and `alumite_pickaxe` is the item ID.
31 changes: 31 additions & 0 deletions docs/all-plugins/the-item-lookup-system/recipes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: Crafting Recipes
sidebar_position: 1
---
Anywhere that you configure items for players in eco plugins, you can use the Item Lookup System to add crafting recipes for them.

EcoItems also allows you to add custom crafting recipes for any lookup item, not limited to EcoItems items. This means you can add more recipes for items from other plugins, such as EcoPets or EcoScrolls, or even vanilla items, like Enchanted Golden Apples.

Crafting recipes in eco plugins are super easy to configure, and often look something like this:

```yaml
recipe:
- "diamond"
- "emerald"
- "diamond"
- ""
- "stick"
- ""
- ""
- "stick"
- ""

# All recipes are shaped. We do not currently support shapeless recipes.
```

While it may look meaningless, this system is straightforward once you understand how it works. A crafting recipe is written as a list of 9 strings, the first three being the top row (left to right),
the second three being the middle row (left to right), and the last three being the last row (left to right).

The example recipe would look like this in-game:

![Recipe](https://imgur.com/a/26Z3f1R)
Loading