Skip to content
Draft
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
.vitepress/cache
.vitepress/dist
.vitepress/dist
.idea/
14 changes: 10 additions & 4 deletions .vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,16 @@ export default defineConfig({
],
'/alloy-forgery/': [
{ text: 'Home', link: '/alloy-forgery/home' },
{ text: 'Adding Recipes and Fuels', link: '/alloy-forgery/adding-recipes-and-fuels' },
{ text: 'How to build a Forge', link: '/alloy-forgery/building-a-forge' },
{ text: 'Recipe Adaptation', link: '/alloy-forgery/recipe-adaptation' },
{ text: 'Defining new Forges though Data', link: '/alloy-forgery/defining-a-forge' },
{ text: 'Building an Alloy Forge', link: '/alloy-forgery/building-a-forge' },
{ text: 'Recipe Adapters', link: '/alloy-forgery/recipe-adapters' },
{
text: 'Developer',
items: [
{ text: 'Quick Start', link: '/alloy-forgery/developer/quick-start', },
{ text: 'Adding Recipes', link: '/alloy-forgery/developer/recipes' },
{ text: 'Adding Fuels', link: '/alloy-forgery/developer/fuels' },
]
},
],
},

Expand Down
12 changes: 5 additions & 7 deletions alloy-forgery/building-a-forge.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# How to build a Forge
# Building an Alloy Forge

*Up to date as of 2.0.22*

You can currently make an Alloy Forge out of 5 materials: Bricks, Stone Bricks, Blackstone, Deepslate, and End Stone. Alloy Forges are dynamically generated. You can add more of these through data, which is explained [on this page.](defining-a-forge.md)

The basic shape of a forge looks like this:
The shape of an Alloy Forge is mostly freeform. The basic shape of a forge looks like this:
![an image showing how to construct an Alloy Forge in 3 steps. Layer one is a 3x3 base. Layer two is the forge controller block in the front, and one block on each side, leaving the corners and the middle empty. Step three is the same as step two, but with a block instead of a controller](../assets/alloy-forgery/forge_structure.png)

It has a 3x3 bottom, and is shaped like a chimney. You can put more blocks around it, even covering the top.
As long as you build the basic shape, you can expand and build onto it in any way you'd like. Feel free to fill in the chimney, or add extra blocks on the corners. These don't need to respect the required material(s) for the Forge to be valid.

## Forge Controller

Expand All @@ -31,8 +28,9 @@ Mods and modpacks can add their own Alloy Forges, but by default you can make a

A forge can by default be fueled by vanilla materials. Currently they accept the following list:

- Coal and Blocks of Coal
- Coal
- Charcoal
- Blocks of Coal
- Blaze Rods
- Lava Bucket

Expand Down
32 changes: 0 additions & 32 deletions alloy-forgery/defining-a-forge.md

This file was deleted.

32 changes: 32 additions & 0 deletions alloy-forgery/developer/fuels.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Adding Fuels

Alloy Forgery loads fuels from a specific folder in data. The path is `data/<namespace>/alloy_forge_fuels`, and in here you put your fuel definition. A fuel file does not require a specific name, and can hold multiple different fuels. Currently, we only support items for fuels, tags are not accepted. An example is provided below:

```JSON
{
"fuels": [
{
"item": "minecraft:lava_bucket",
"return_item": "minecraft:bucket",
"fuel": 24000
},
{
"item": "minecraft:coal",
"fuel": 1000
},
{
"item": "minecraft:charcoal",
"fuel": 1000
},
{
"item": "minecraft:blaze_rod",
"fuel": 2000
},
{
"item": "minecraft:coal_block",
"fuel": 9000
}
]
}
```
The special field `return_item` is optional, and is used for returning an Item after being deposited into the Alloy Forge. An example is returning an Empty Bucket after inserting a Lava Bucket.
42 changes: 42 additions & 0 deletions alloy-forgery/developer/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Quick Start

## Setup - Modpacks

Due to limitations with needing to register new blocks way before datapacks are loaded, modpacks are recommended to use the provided `moddata` folder for creating new Alloy Forges. When Alloy Forgery is loaded for the first time it generates this folder in the `.minecraft` directory. Under the `moddata` folder you can create new forge controllers, and override existing ones.

To get started create enough folders so you can navigate to `moddata/custom_content/alloy_forge/controller`. Then, create a new `bedrock_forge.json` file inside.

Next up you might want to do the following:

- Add a new [Forge Controller](#controllers).
- Potentially add a new [Tier](#Tiers).
- Add a [Tier Binding](#tier-bindings) between your Forge Controller and a new/existing tier.

## Setup - Mods

TODO - The following:
- Adding AF to development environment for local testing
- Use built-in datapack instead of `moddata`

## Resources

## Controllers

## Tiers

| Property | Type | Description |
|--|--|--|
|`tier`|b|Number which|
|`speed_multiplier`|b|c|
|`fuel_consumption_multiplier`|b|c|
|`fuel_capacity`|b|c|
|`parent_tier`|Identifier|Example: `alloy_forgery:common_tier`|

## Tier Bindings

## Next Steps

TODO - Summarize, and link to the following:

- Adding new recipes
- Adding new fuels
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Creating a recipe

TODO - This is out-of-date as of 1.21.4. Update the data structures.

When creating an Alloy Forge recipe you want to use the `alloy_forgery:forging` type.
The recipe can be placed anywhere under `data/<namespace>/recipes` in your data.
Here is an example of a recipe:
Expand Down Expand Up @@ -136,36 +139,4 @@ The initial Item ID here is the input to be replaced. Supported settings:
| `item` | The ID of the returned item. |
| `count` | Custom stack counts (optional) |

In the lower example, the initial item (copper ore) is what is being checked for, and the second item (sand) is returned once the recipe completes.

# Adding new fuels
Alloy Forgery loads fuel from a specific folder in data. The path is `data/<namespace>/alloy_forge_fuels`, and in here you put your fuel definition. A fuel file does not require a specific name, and can hold multiple different fuels. Currently, we only support items for fuels, tags are not accepted. An example is provided below:

```JSON
{
"fuels": [
{
"item": "minecraft:lava_bucket",
"return_item": "minecraft:bucket",
"fuel": 24000
},
{
"item": "minecraft:coal",
"fuel": 1000
},
{
"item": "minecraft:charcoal",
"fuel": 1000
},
{
"item": "minecraft:blaze_rod",
"fuel": 2000
},
{
"item": "minecraft:coal_block",
"fuel": 9000
}
]
}
```
The special field `return_item` is optional, and is intended for when you want to do something similar to returning an empty bucket after using a lava bucket with the forge.
In the lower example, the initial item (copper ore) is what is being checked for, and the second item (sand) is returned once the recipe completes.
14 changes: 10 additions & 4 deletions alloy-forgery/home.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,17 @@ project: alloy-forgery

# Alloy Forgery

Alloy Forgery is a mod all about forging metals.
Alloy Forgery is a mod all about blasting ores and forging alloys.

If you are a player looking for info on how to make an Alloy Forge, see the ["Building a Forge"](building-a-forge.md) section. We recommend a mod like Roughly Enough Items or EMI to view alloy recipes.
**Note:** This documentation is up-to-date as of Alloy Forgery 3.0.0. For older versions, we suggest seeing the [legacy documentation](https://docs.wispforest.io/legacy/alloy-forgery/home/ "Click here to go to the legacy Alloy Forgery documentation.").

By default, Alloy Forgery provides no new materials, but it does provide recipes for smelting ores into extra ingots. It also supports a handful of mods out of the box, [which you can see here.](https://github.com/wisp-forest/alloy-forgery/tree/1.20/src/main/resources/data/alloy_forgery/recipes/compat)
## Overview

Furthermore, if you need any assistance on finding out how to create a Datapack in general, you can see Datapack Tutorial for help with such.
TODO - Summary of playing Alloy Forgery. Something like

- Collect materials
- Create Forge Controller
- Build multiblock
- Smelt ores

By default, Alloy Forgery provides no new materials, but it does provide recipes for smelting ores into extra ingots. It also supports a handful of mods out of the box, [which you can see here.](https://github.com/wisp-forest/alloy-forgery/tree/1.21.10-multiloader/fabric/src/generated/resources/data/alloy_forgery/recipe/compat)
26 changes: 0 additions & 26 deletions alloy-forgery/recipe-adaptation.md

This file was deleted.

40 changes: 40 additions & 0 deletions alloy-forgery/recipe-adapters.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Recipe Adapters

Since 2.1.0, Alloy Forgery added a system to adapt existing recipes to Alloy Forging recipes.
By default Alloy Forgery provides an adapter for Blast Furnace recipes.

## Recipe Tags

You might not want some recipes to be automatically converted by Alloy Forgery. As such, you can use the included **Recipe tag** system to further configure the adapters.
These follow the same format as any other tag, and should be placed within the `{your_namespace_here}/tags/recipe/` folder within your datapack.

Example:

```json
{
"values": [
"minecraft:copper_ingot_from_blasting_copper_ore"
]
}
```

## Blast Furnace Adapter

By default, Alloy Forgery attempts to adapt all Blast Furnace recipes to work within the Alloy Forge. It also adds an override for the rare tier (tier 3) forges with increased outputs. This System can be further configured via recipe tags or the config.

### Tags

Included are some tags that are used to adjust the behavior of the recipe adapter:
- `alloy_forge:blacklisted_blasting_recipes`: prevents the recipe from being adapted into an Alloy Forgery recipe entirely.
- `alloy_forge:blacklisted_increased_blasting_outputs`: prevents the adapted recipe from gaining increased output when smelted inside an Alloy Forge

### Config

In the Alloy Forgery config file you can configure the following settings:

| Option | Value | Description |
|--------|-------|-------------|
| `allowBlastingFurnaceAdaption` | Boolean | Enables/Disables the Blast Furnace Adapter entirely. Default:`true` |
| `allowHigherTierOutput` | Boolean | Overrides the increased yield from **ALL** adapted recipes Recipes. Default:`true` |
| `baseInputAmount` | Integer | Adjusts the required input amount for the adapted Blasting Recipe. Such functions as a multiplier for both the input and output meaning that with the default value of '2', the required amount needed to craft is '2' with an output of '2'. Default:`2` |
| `higherTierOutputIncrease` | Integer | Decides how much increased output the rare tier override provides. Default:`1` |