Fixes and features (#987)
* - Fixed hide duping recipes. - Added quest book and field guide instances for fishing nets. - Fixed rebar support recipe crash. - Fixed red steel flask dupe. - Fixed red alloy recipe inconsistency. * - Fixed blue steel backpack block lang * - Added max vessel fluid warning to small vessels. * - Moved red steel flask recipe * - Fixed fishing nets event function * Update queststfc_tips.snbt Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> * Update en_us.json Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> * - Added item to summon armor stands with arms * - Added recipes to empty vessels and molds * - Added recipes for extracting/ forming magma blocks. * - Added recipes for extracting/ forming magma blocks. * - Nerfed steel support recipe output. --------- Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
This commit is contained in:
parent
3b9c6e32a6
commit
cf54f584b4
9 changed files with 148 additions and 55 deletions
|
|
@ -16,6 +16,11 @@
|
||||||
- Fixed assembler clay recipes so they output the correct amount (Pyritie)
|
- Fixed assembler clay recipes so they output the correct amount (Pyritie)
|
||||||
- Quest fixes/tweaks (Pyritie)
|
- Quest fixes/tweaks (Pyritie)
|
||||||
- Added aluminium, stainless steel, and titanium millstones (Pyritie)
|
- Added aluminium, stainless steel, and titanium millstones (Pyritie)
|
||||||
|
- Fixed fishing nets behavior. (Redeix)
|
||||||
|
- Added item to summon armor stands with arms. (Redeix)
|
||||||
|
- Added recipes for emptying vessels and molds. (Redeix)
|
||||||
|
- Added recipes for extracting/ forming magma blocks. (Redeix)
|
||||||
|
- Nerfed steel support recipe output. (Redeix)
|
||||||
|
|
||||||
## [0.9.5] - 08.05.2025
|
## [0.9.5] - 08.05.2025
|
||||||
### Changes
|
### Changes
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
|
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
|
||||||
"block.create.netherite_backtank": "Blue Steel Backtank",
|
|
||||||
"block.create.dark_oak_window": "Hickory Window",
|
"block.create.dark_oak_window": "Hickory Window",
|
||||||
"block.create.dark_oak_window_pane": "Hickory Window Pane",
|
"block.create.dark_oak_window_pane": "Hickory Window Pane",
|
||||||
"block.create.andesite_bars": "Metal Bars",
|
"block.create.andesite_bars": "Metal Bars",
|
||||||
|
|
@ -69,6 +68,7 @@
|
||||||
"block.create.small_granite_brick_wall": "Small Chert Brick Wall",
|
"block.create.small_granite_brick_wall": "Small Chert Brick Wall",
|
||||||
"block.create.layered_granite": "Layered Chert",
|
"block.create.layered_granite": "Layered Chert",
|
||||||
"block.create.granite_pillar": "Chert Pillar",
|
"block.create.granite_pillar": "Chert Pillar",
|
||||||
|
"block.create.netherite_backtank": "Blue Steel Backtank",
|
||||||
"item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Blue Steel Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in a _Blue Steel Diving Equipment_, too.",
|
"item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Blue Steel Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in a _Blue Steel Diving Equipment_, too.",
|
||||||
"item.create.netherite_backtank": "Blue Steel Backtank",
|
"item.create.netherite_backtank": "Blue Steel Backtank",
|
||||||
"item.create.netherite_diving_helmet": "Blue Steel Diving Helmet",
|
"item.create.netherite_diving_helmet": "Blue Steel Diving Helmet",
|
||||||
|
|
@ -89,4 +89,4 @@
|
||||||
"create.ponder.brass_funnel.text_1": "Metal Funnels can only ever extract single items.",
|
"create.ponder.brass_funnel.text_1": "Metal Funnels can only ever extract single items.",
|
||||||
"create.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels",
|
"create.ponder.cogwheel_casing.text_1": "Brass or Metal Casing can be used to decorate Cogwheels",
|
||||||
"create.ponder.shaft_casing.text_1": "Brass or Metal Casing can be used to decorate Shafts"
|
"create.ponder.shaft_casing.text_1": "Brass or Metal Casing can be used to decorate Shafts"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
BIN
kubejs/assets/tfg/textures/item/armor_stand_arms.png
Normal file
BIN
kubejs/assets/tfg/textures/item/armor_stand_arms.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 520 B |
|
|
@ -117,6 +117,20 @@ BlockEvents.rightClicked(event => {
|
||||||
if (block.id != 'tfg:decorative_vase') {return}{
|
if (block.id != 'tfg:decorative_vase') {return}{
|
||||||
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
||||||
}});
|
}});
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
BlockEvents.rightClicked(event=>{
|
||||||
|
let item = event.item
|
||||||
|
if(item.id != 'tfg:armor_stand_arms') return
|
||||||
|
let mob = event.block[event.facing].createEntity('minecraft:armor_stand')
|
||||||
|
mob.mergeNbt('{ShowArms:1b}')
|
||||||
|
mob.setPos(mob.x + 0.5, mob.y, mob.z + 0.5)
|
||||||
|
mob.setYaw(event.player.yaw + 180)
|
||||||
|
mob.spawn()
|
||||||
|
if (event.player.isCreative() == false){
|
||||||
|
item.shrink(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -131,7 +145,6 @@ function getTFGPersistentDataRoot(player)
|
||||||
}
|
}
|
||||||
return player.persistentData.getCompound("tfg:custom_data")
|
return player.persistentData.getCompound("tfg:custom_data")
|
||||||
}
|
}
|
||||||
//#endregion
|
|
||||||
|
|
||||||
//#region Fishing Net
|
//#region Fishing Net
|
||||||
const fish = [
|
const fish = [
|
||||||
|
|
@ -153,16 +166,70 @@ function getTFGPersistentDataRoot(player)
|
||||||
'crayfish'
|
'crayfish'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier.
|
||||||
|
const tiers = [
|
||||||
|
'wood',
|
||||||
|
'brass',
|
||||||
|
'rose_gold',
|
||||||
|
'sterling_silver',
|
||||||
|
'invar',
|
||||||
|
'tin_alloy',
|
||||||
|
'cupronickel',
|
||||||
|
'magnalium'
|
||||||
|
];
|
||||||
|
|
||||||
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
|
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
|
||||||
fish.forEach(fish => {
|
tiers.forEach(tier => {
|
||||||
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
fish.forEach(fish => {
|
||||||
|
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||||
|
const {item, player, server, target} = event;
|
||||||
|
|
||||||
|
if (target.type != `tfc:${fish}`) return
|
||||||
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||||
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||||
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||||
|
event.player.give(`tfc:food/${fish}`)
|
||||||
|
player.swing()
|
||||||
|
if (player.isCreative() == false){
|
||||||
|
item.damageValue++
|
||||||
|
if (item.damageValue >= item.maxDamage) {
|
||||||
|
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||||
|
item.count--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
//Shellfish Exception
|
||||||
|
shellfish.forEach(shellfish => {
|
||||||
|
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||||
|
const {item, player, server, target} = event;
|
||||||
|
|
||||||
|
if (target.type != `tfc:${shellfish}`) return
|
||||||
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||||
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||||
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||||
|
event.player.give('tfc:food/shellfish')
|
||||||
|
player.swing()
|
||||||
|
if (player.isCreative() == false){
|
||||||
|
item.damageValue++
|
||||||
|
if (item.damageValue >= item.maxDamage) {
|
||||||
|
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
||||||
|
item.count--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
//Pufferfish Exception
|
||||||
|
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
|
||||||
const {item, player, server, target} = event;
|
const {item, player, server, target} = event;
|
||||||
|
|
||||||
if (target.type != `tfc:${fish}`) return
|
if (target.type != 'tfc:pufferfish') return
|
||||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
||||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
||||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
||||||
event.player.give(`tfc:food/${fish}`)
|
event.player.give('minecraft:pufferfish')
|
||||||
player.swing()
|
player.swing()
|
||||||
if (player.isCreative() == false){
|
if (player.isCreative() == false){
|
||||||
item.damageValue++
|
item.damageValue++
|
||||||
|
|
@ -173,44 +240,4 @@ function getTFGPersistentDataRoot(player)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
//Shellfish Exception
|
|
||||||
shellfish.forEach(shellfish => {
|
|
||||||
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
|
||||||
const {item, player, server, target} = event;
|
|
||||||
|
|
||||||
if (target.type != `tfc:${shellfish}`) return
|
|
||||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
|
||||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
|
||||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
|
||||||
event.player.give('tfc:food/shellfish')
|
|
||||||
player.swing()
|
|
||||||
if (player.isCreative() == false){
|
|
||||||
item.damageValue++
|
|
||||||
if (item.damageValue >= item.maxDamage) {
|
|
||||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
|
||||||
item.count--
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
//Pufferfish Exception
|
|
||||||
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
|
||||||
const {item, player, server, target} = event;
|
|
||||||
|
|
||||||
if (target.type != 'tfc:pufferfish') return
|
|
||||||
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
|
||||||
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
|
||||||
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
|
||||||
event.player.give('minecraft:pufferfish')
|
|
||||||
player.swing()
|
|
||||||
if (player.isCreative() == false){
|
|
||||||
item.damageValue++
|
|
||||||
if (item.damageValue >= item.maxDamage) {
|
|
||||||
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
|
||||||
item.count--
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
@ -389,4 +389,12 @@ function registerTFGMiscellaneousRecipes(event) {
|
||||||
.dimension('minecraft:the_nether')
|
.dimension('minecraft:the_nether')
|
||||||
.duration(200)
|
.duration(200)
|
||||||
.EUt(16)
|
.EUt(16)
|
||||||
|
|
||||||
|
event.shapeless('1x tfg:armor_stand_arms', [
|
||||||
|
'minecraft:armor_stand'
|
||||||
|
]).id(`tfg:shapeless/armor_stand_arms`)
|
||||||
|
|
||||||
|
event.shapeless('1x minecraft:armor_stand', [
|
||||||
|
'tfg:armor_stand_arms'
|
||||||
|
]).id(`tfg:shapeless/armor_stand`)
|
||||||
}
|
}
|
||||||
|
|
@ -273,4 +273,20 @@ function registerTFGMoldRecipes(event) {
|
||||||
.duration(120)
|
.duration(120)
|
||||||
.EUt(GTValues.VA[GTValues.LV])
|
.EUt(GTValues.VA[GTValues.LV])
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//craft mold to scrub nbt
|
||||||
|
const molds = Ingredient.of('#tfc:fired_molds').itemIds;
|
||||||
|
|
||||||
|
molds.forEach(mold => {
|
||||||
|
event.shapeless(Item.of(mold), [mold])
|
||||||
|
.id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
//craft vessel to scrub nbt
|
||||||
|
const vessels = Ingredient.of('#tfc:fired_vessels').itemIds;
|
||||||
|
|
||||||
|
vessels.forEach(vessel => {
|
||||||
|
event.shapeless(Item.of(vessel), [vessel])
|
||||||
|
.id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -256,4 +256,38 @@ function registerTFGRockRecipes(event) {
|
||||||
})
|
})
|
||||||
|
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
|
//#region Magma Blocks
|
||||||
|
event.remove({id: 'gtceu:compressor/magma_block'})
|
||||||
|
event.remove({id: 'greate:splashing/obsidian'})
|
||||||
|
|
||||||
|
//magma block + stone group
|
||||||
|
const magma_blocks = [
|
||||||
|
{magma: 'minecraft:magma_block', rock: 'minecraft:blackstone'},
|
||||||
|
{magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite'},
|
||||||
|
{magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite'},
|
||||||
|
{magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro'},
|
||||||
|
{magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite'},
|
||||||
|
{magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt'},
|
||||||
|
{magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite'},
|
||||||
|
{magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite'}
|
||||||
|
];
|
||||||
|
|
||||||
|
magma_blocks.forEach(block => {
|
||||||
|
|
||||||
|
event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${block.magma}`.replace(/:/g, '/'))
|
||||||
|
.itemInputs(`1x ${block.rock}`)
|
||||||
|
.inputFluids(Fluid.of('minecraft:lava', 250))
|
||||||
|
.itemOutputs(`1x ${block.magma}`)
|
||||||
|
.duration(100)
|
||||||
|
.EUt(GTValues.VA[GTValues.ULV])
|
||||||
|
|
||||||
|
event.recipes.gtceu.extractor(`tfg:gtceu/extractor/${block.magma}`.replace(/:/g, "/"))
|
||||||
|
.itemInputs(`1x ${block.magma}`)
|
||||||
|
.outputFluids(Fluid.of('minecraft:lava', 250))
|
||||||
|
.itemOutputs(`1x ${block.rock}`)
|
||||||
|
.duration(100)
|
||||||
|
.EUt(GTValues.VA[GTValues.LV])
|
||||||
|
})
|
||||||
|
//#endregion
|
||||||
}
|
}
|
||||||
|
|
@ -185,7 +185,7 @@ function registerTFGSupportRecipes(event) {
|
||||||
.EUt(GTValues.VA[GTValues.ULV])
|
.EUt(GTValues.VA[GTValues.ULV])
|
||||||
|
|
||||||
event.recipes.tfc.anvil(
|
event.recipes.tfc.anvil(
|
||||||
'4x tfg:steel_support',
|
'1x tfg:steel_support',
|
||||||
'#forge:double_ingots/steel',
|
'#forge:double_ingots/steel',
|
||||||
[
|
[
|
||||||
'upset_last',
|
'upset_last',
|
||||||
|
|
@ -196,7 +196,7 @@ function registerTFGSupportRecipes(event) {
|
||||||
|
|
||||||
event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support')
|
event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support')
|
||||||
.circuit(4)
|
.circuit(4)
|
||||||
.itemOutputs('8x tfg:steel_support')
|
.itemOutputs('4x tfg:steel_support')
|
||||||
.itemInputs('2x #forge:double_ingots/steel')
|
.itemInputs('2x #forge:double_ingots/steel')
|
||||||
.duration(100)
|
.duration(100)
|
||||||
.EUt(GTValues.VA[GTValues.ULV])
|
.EUt(GTValues.VA[GTValues.ULV])
|
||||||
|
|
@ -204,25 +204,25 @@ function registerTFGSupportRecipes(event) {
|
||||||
event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support')
|
event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support')
|
||||||
.itemInputs('tfg:steel_support')
|
.itemInputs('tfg:steel_support')
|
||||||
.itemOutputs(
|
.itemOutputs(
|
||||||
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 1)
|
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 2)
|
||||||
)
|
)
|
||||||
.duration(GTMaterials.Steel.getMass() * 1)
|
.duration(GTMaterials.Steel.getMass() * 2)
|
||||||
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
.category(GTRecipeCategories.MACERATOR_RECYCLING)
|
||||||
.EUt(GTValues.VA[GTValues.ULV])
|
.EUt(GTValues.VA[GTValues.ULV])
|
||||||
|
|
||||||
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support')
|
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support')
|
||||||
.itemInputs('tfg:steel_support')
|
.itemInputs('tfg:steel_support')
|
||||||
.itemOutputs(
|
.itemOutputs(
|
||||||
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2)
|
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 4)
|
||||||
)
|
)
|
||||||
.duration(GTMaterials.Steel.getMass() * 1)
|
.duration(GTMaterials.Steel.getMass() * 4)
|
||||||
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
|
||||||
.EUt(GTValues.VA[GTValues.LV])
|
.EUt(GTValues.VA[GTValues.LV])
|
||||||
|
|
||||||
event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support')
|
event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support')
|
||||||
.itemInputs('tfg:steel_support')
|
.itemInputs('tfg:steel_support')
|
||||||
.outputFluids(Fluid.of('gtceu:steel', 36))
|
.outputFluids(Fluid.of('gtceu:steel', 64))
|
||||||
.duration(GTMaterials.Steel.getMass() * 1)
|
.duration(GTMaterials.Steel.getMass() * 2)
|
||||||
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
|
||||||
.EUt(GTValues.VA[GTValues.ULV])
|
.EUt(GTValues.VA[GTValues.ULV])
|
||||||
}
|
}
|
||||||
|
|
@ -161,6 +161,9 @@ const registerTFGItems = (event) => {
|
||||||
event.create('tfg:fletching')
|
event.create('tfg:fletching')
|
||||||
.translationKey('item.tfg.fletching')
|
.translationKey('item.tfg.fletching')
|
||||||
|
|
||||||
|
event.create('tfg:armor_stand_arms')
|
||||||
|
.translationKey('item.tfg.armor_stand_arms')
|
||||||
|
|
||||||
event.create('tfg:fishing_net/wood')
|
event.create('tfg:fishing_net/wood')
|
||||||
.translationKey('item.tfg.fishing_net.wood')
|
.translationKey('item.tfg.fishing_net.wood')
|
||||||
.parentModel('tfg:item/fishing_nets/wood_fishing_net')
|
.parentModel('tfg:item/fishing_nets/wood_fishing_net')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue