Item trading machine. Made for modpacks. It doesn't add any recipe.
Features
- Basic station with no power requirements.
- Powered station with RF power requirements.
- Custom Trading recipe
- Indestructible variant for each station.
- Configurable consumption & progress.
- Mechanical (Create Addon) station available with companion mod.
Trading recipe
ingredients
(required). An array/list of 1 or 2 ingredients.result
(required). Single output item/blockprocessingTime
(optional). Ticks required to process. Default to 1. Powered machine has a 5x speed.biome
(optional). Biome requirement for the recipe. Default any.exclusiveTo
(optional). Required station. Defaults any. Possible values:basic
,powered
,mechanical
Example (basic input & output)
{
"type": "trading_station:trading",
"ingredients": [
{"item": "minecraft:emerald", "count": 5}
],
"result": {
"item": "minecraft:diamond",
"count": 5
},
"processingTime": 500
}
Example (output item with NBT)
{
"type": "trading_station:trading",
"ingredients": [
{"item": "minecraft:diamond", "count": 5}
],
"result": {
"item": "minecraft:enchanted_book",
"nbt": "{StoredEnchantments: [{id:\"looting\",lvl:3s}]}"
},
"processingTime": 100
}
Example (biome requirement)
{
"type": "trading_station:trading",
"result": {
"item": "minecraft:diamond_sword",
"count": 1,
"nbt": "{Damage:0,Enchantments:[{id:\"mending\",lvl:1s}]}"
},
"ingredients": [
{
"item": "minecraft:diamond",
"count": 5
}
],
"processingTime": 100,
"biome": {
"name": "minecraft:plains"
}
}
Example (exclusiveTo)
{
"type": "trading_station:trading",
"result": {
"item": "minecraft:diamond_sword",
"count": 1,
"nbt": "{Damage:0,Enchantments:[{id:\"sharpness\",lvl:1s}]}"
},
"ingredients": [
{
"item": "minecraft:diamond",
"count": 5
}
],
"processingTime": 100,
"exclusiveTo": [
"powered"
]
}
KubeJS 6.1 Integration
ServerEvents.recipes(event => {
/**
* event.recipes.tradingStationTrading(Result Item, Input Ingredients[])
* .processingTime(Int) [optional]
* .biome(Biome|BiomeTag) [optional]
* .exclusiveTo(String) [optional]
* .exclusiveTo(String[]) [optional]
**/
// Basic example
event.recipes.tradingStationTrading(Item.of('minecraft:emerald', 5),[Item.of("5x minecraft:diamond")]);
event.recipes.tradingStationTrading(Item.of('minecraft:emerald', 5),[Item.of("5x minecraft:oak_log"),Item.of("10x minecraft:birch_log")]).processingTime(100);
event.recipes.tradingStationTrading(Item.of('minecraft:emerald', 5),[Item.of("5x minecraft:diamond")]).processingTime(100);
event.recipes.tradingStationTrading(Item.of('minecraft:andesite',2),[Item.of("2x minecraft:cobblestone")]).processingTime(100);
//Enchanted book result
event.recipes.tradingStationTrading(Item.of('minecraft:enchanted_book', '{StoredEnchantments:[{id:"power",lvl:5s}]}').strongNBT(),[Item.of("minecraft:stone")]).processingTime(100)
// With biome requirement
event.recipes.tradingStationTrading(Item.of('minecraft:diamond_sword', '{Enchantments:[{id:"power",lvl:5s}]}').strongNBT(),[Item.of("5x minecraft:diamond")]).processingTime(100).biome('#minecraft:is_beach');
event.recipes.tradingStationTrading(Item.of('minecraft:diamond_sword', '{Enchantments:[{id:"mending",lvl:1s}]}').strongNBT(),[Item.of("5x minecraft:diamond")]).processingTime(100).biome('minecraft:plains');
//With exclusive to requirement
event.recipes.tradingStationTrading(Item.of('minecraft:diamond_sword', '{Enchantments:[{id:"looting",lvl:1s}]}').strongNBT(),[Item.of("5x minecraft:diamond")]).processingTime(100).exclusiveTo('powered');
event.recipes.tradingStationTrading(Item.of('minecraft:diamond_sword', '{Enchantments:[{id:"sharpness",lvl:1s}]}').strongNBT(),[Item.of("5x minecraft:diamond")]).processingTime(100).exclusiveTo(['powered','mechanical']);
})
External resources
Project members
oierbravo
Owner
Technical information
License
MIT
Client side
required
Server side
required
Project ID