diff --git a/FactoryMod-20140619.jar b/FactoryMod-20140619.jar
new file mode 100644
index 00000000..366633e0
Binary files /dev/null and b/FactoryMod-20140619.jar differ
diff --git a/FactoryMod.jar b/FactoryMod.jar
deleted file mode 100644
index 1a4860f7..00000000
Binary files a/FactoryMod.jar and /dev/null differ
diff --git a/config.yml b/config.yml
index 8bb38e16..63411151 100644
--- a/config.yml
+++ b/config.yml
@@ -88,6 +88,7 @@ printing_presses:
Charcoal:
material: 'COAL'
durability: 1
+ fuel_time: 5
costs:
construction:
"Iron block":
@@ -108,10 +109,11 @@ printing_presses:
plates:
"Iron ingot":
material: 'IRON_INGOT'
- amount: 4
+ amount: 1
"Gold nugget":
material: "GOLD_NUGGET"
amount: 1
+ set_page_time: 5
repair:
"Iron block":
material: 'IRON_BLOCK'
@@ -130,10 +132,11 @@ printing_presses:
durability: 0
amount: 1
pages_per_lot: 32
+ page_lead: 6
pamphlet_lot:
Paper:
material: 'PAPER'
- amount: 8
+ amount: 4
Ink:
material: 'INK_SACK'
durability: 0
@@ -147,8 +150,7 @@ printing_presses:
material: 'INK_SACK'
durability: 2
amount: 6
- security_notes_per_lot: 64
-
+ security_notes_per_lot: 128
crafting:
disable:
enable:
@@ -191,6493 +193,3886 @@ crafting:
Double Stone Slab:
material: DOUBLE_STEP
production_factories:
- Bakery:
- name: Bakery
+ Stone_Imbuer:
fuel:
Charcoal:
material: COAL
durability: 1
inputs:
- Baked Potato:
- material: BAKED_POTATO
- amount: 512
- Cookie:
- material: COOKIE
- amount: 1024
- Bread:
- material: BREAD
- amount: 256
- Pumpkin Pie:
- material: PUMPKIN_PIE
- amount: 192
+ Cobblestone:
+ material: COBBLESTONE
+ amount: 512
recipes:
- - Baked_Potato
- - Cookie
- - Bread
- - Bake_Cake
- - Bake_Pumpkin_Pie
- repair_multiple: 26
+ - Smelt_Stone
+ - Stone_Knife
+ - Blast_Furnace
+ - Burn_Lump_Charcoal_Dark_Oak
+ - Burn_Lump_Charcoal_Acacia
+ - Burn_Lump_Charcoal_Jungle
+ - Burn_Lump_Charcoal_Birch
+ - Burn_Lump_Charcoal_Spruce
+ - Burn_Lump_Charcoal_Oak
+ repair_multiple: 205
repair_inputs:
- Baked Potato:
- material: BAKED_POTATO
- amount: 2
- Cookie:
- material: COOKIE
- amount: 4
- Bread:
- material: BREAD
- Pumpkin Pie:
- material: PUMPKIN_PIE
- Black_Wool_Processing:
- name: Black Wool Processing
+ Cobblestone:
+ material: COBBLESTONE
+ amount: 6
+ Iron_Imbuer:
fuel:
- Charcoal:
+ Lump Charcoal:
material: COAL
durability: 1
+ lore: Lump Charcoal
inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Black Wool:
- material: WOOL
- amount: 20
- durability: 15
+ Iron:
+ material: IRON
+ amount: 512
recipes:
- - Dye_Black_Wool_Blue
- - Dye_Black_Wool_Gray
- - Dye_Black_Wool_Brown
- - Dye_Black_Wool_Purple
- - Dye_Black_Wool_Yellow
- - Dye_Black_Wool_Magenta
- - Dye_Black_Wool_Pink
- - Dye_Black_Wool_Cyan
- - Dye_Black_Wool_Orange
- - Dye_Black_Wool_Green
- - Dye_Black_Wool_White
- - Dye_Black_Wool_Light_Gray
- - Dye_Black_Wool_Light_Blue
- - Dye_Black_Wool_Red
- - Dye_Black_Wool_Lime
- repair_multiple: 2
+ - Smelt_Iron
+ - Iron_hammer
+ - Faceting machine
+ - Burn_Briquette_Dark_Oak
+ - Burn_Briquette_Acacia
+ - Burn_Briquette_Jungle
+ - Burn_Briquette_Birch
+ - Burn_Briquette_Spruce
+ - Burn_Briquette_Oak
+ repair_multiple: 205
repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Black Wool:
- material: WOOL
- durability: 15
- Brown_Wool_Processing:
- name: Brown Wool Processing
+ Iron:
+ material: IRON
+ amount: 6
+ Diamond_Imbuer:
fuel:
- Charcoal:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Brown Wool:
- material: WOOL
- amount: 20
- durability: 12
+ Diamond:
+ material: DIAMOND
+ amount: 512
recipes:
- - Dye_Brown_Wool_Blue
- - Dye_Brown_Wool_Gray
- - Dye_Brown_Wool_Purple
- - Dye_Brown_Wool_Yellow
- - Dye_Brown_Wool_Black
- - Dye_Brown_Wool_Magenta
- - Dye_Brown_Wool_Pink
- - Dye_Brown_Wool_Cyan
- - Dye_Brown_Wool_Orange
- - Dye_Brown_Wool_Green
- - Dye_Brown_Wool_White
- - Dye_Brown_Wool_Light_Gray
- - Dye_Brown_Wool_Light_Blue
- - Dye_Brown_Wool_Red
- - Dye_Brown_Wool_Lime
- repair_multiple: 2
+ - Smelt_Diamond_Ore
+ - Diamond_Drill_Heads
+ - Faceting_Machine
+ - Burn_White_Charcoal_Dark_Oak
+ - Burn_White_Charcoal_Acacia
+ - Burn_White_Charcoal_Jungle
+ - Burn_White_Charcoal_Birch
+ - Burn_White_Charcoal_Spruce
+ - Burn_White_Charcoal_Oak
+ - OBSIDIAN_GENERATOR
+ repair_multiple: 205
repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Brown Wool:
- material: WOOL
- durability: 12
- Charcoal_Smelter:
- name: Charcoal Burner
+ Diamond:
+ material: DIAMOND
+ amount: 6
+ Leather_Tanner:
fuel:
- Charcoal:
+ Lump Charcoal:
material: COAL
durability: 1
+ lore: Lump Charcoal
inputs:
- Charcoal:
- material: COAL
- amount: 600
- durability: 1
+ Stone knife:
+ material: FLINT
+ amount: 12
+ lore: Stone knife
recipes:
- - Smelt_Oak_Wood
- - Smelt_Spruce_Wood
- - Smelt_Birch_Wood
- - Smelt_Jungle_Wood
- - Burn_Acacia_Wood
- - Burn_Dark_Oak_Wood
- repair_multiple: 60
+ - LEATHER_BOOTS_RANK_0
+ - LEATHER_BOOTS_RANK_1
+ - LEATHER_BOOTS_RANK_2
+ - LEATHER_BOOTS_RANK_3
+ - LEATHER_BOOTS_RANK_4
+ - LEATHER_CHESTPLATE_RANK_0
+ - LEATHER_CHESTPLATE_RANK_1
+ - LEATHER_CHESTPLATE_RANK_2
+ - LEATHER_CHESTPLATE_RANK_3
+ - LEATHER_CHESTPLATE_RANK_4
+ - LEATHER_HELMET_RANK_0
+ - LEATHER_HELMET_RANK_1
+ - LEATHER_HELMET_RANK_2
+ - LEATHER_HELMET_RANK_3
+ - LEATHER_HELMET_RANK_4
+ - LEATHER_LEGGINGS_RANK_0
+ - LEATHER_LEGGINGS_RANK_1
+ - LEATHER_LEGGINGS_RANK_2
+ - LEATHER_LEGGINGS_RANK_3
+ - LEATHER_LEGGINGS_RANK_4
+ repair_multiple: 26
repair_inputs:
- Charcoal:
- material: COAL
- durability: 1
- Diamond_Axe_Smithy:
- name: Diamond Axe Smithy
+ Stone knife:
+ material: FLINT
+ amount: 2
+ lore: Stone knife
+ Iron_Refiner:
fuel:
- Charcoal:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
inputs:
- Diamond:
- material: DIAMOND
- amount: 64
+ Blast furnace:
+ material: CLAY_BRICK
+ amount: 16
+ lore: Blast furnace
+ Iron hammer:
+ material: BONE
+ amount: 16
+ lore: Iron hammer
recipes:
- - Diamond_Axe
- repair_multiple: 7
+ - IRON_BOOTS_RANK_0
+ - IRON_BOOTS_RANK_1
+ - IRON_BOOTS_RANK_2
+ - IRON_BOOTS_RANK_3
+ - IRON_BOOTS_RANK_4
+ - IRON_CHESTPLATE_RANK_0
+ - IRON_CHESTPLATE_RANK_1
+ - IRON_CHESTPLATE_RANK_2
+ - IRON_CHESTPLATE_RANK_3
+ - IRON_CHESTPLATE_RANK_4
+ - IRON_HELMET_RANK_0
+ - IRON_HELMET_RANK_1
+ - IRON_HELMET_RANK_2
+ - IRON_HELMET_RANK_3
+ - IRON_HELMET_RANK_4
+ - IRON_LEGGINGS_RANK_0
+ - IRON_LEGGINGS_RANK_1
+ - IRON_LEGGINGS_RANK_2
+ - IRON_LEGGINGS_RANK_3
+ - IRON_LEGGINGS_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Boots_Smithy:
- name: Diamond Boots Smithy
+ Blast furnace:
+ material: CLAY_BRICK
+ amount: 4
+ lore: Blast furnace
+ Diamond_Cutter:
fuel:
- Charcoal:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
inputs:
- Diamond:
+ Faceting machine:
+ material: WATCH
+ amount: 32
+ lore: Faceting machine
+ Diamond drill heads:
material: DIAMOND
- amount: 160
+ amount: 16
+ lore: Diamond drill heads
recipes:
- - Diamond_Boots
- repair_multiple: 16
+ - DIAMOND_BOOTS_RANK_0
+ - DIAMOND_BOOTS_RANK_1
+ - DIAMOND_BOOTS_RANK_2
+ - DIAMOND_BOOTS_RANK_3
+ - DIAMOND_BOOTS_RANK_4
+ - DIAMOND_CHESTPLATE_RANK_0
+ - DIAMOND_CHESTPLATE_RANK_1
+ - DIAMOND_CHESTPLATE_RANK_2
+ - DIAMOND_CHESTPLATE_RANK_3
+ - DIAMOND_CHESTPLATE_RANK_4
+ - DIAMOND_HELMET_RANK_0
+ - DIAMOND_HELMET_RANK_1
+ - DIAMOND_HELMET_RANK_2
+ - DIAMOND_HELMET_RANK_3
+ - DIAMOND_HELMET_RANK_4
+ - DIAMOND_LEGGINGS_RANK_0
+ - DIAMOND_LEGGINGS_RANK_1
+ - DIAMOND_LEGGINGS_RANK_2
+ - DIAMOND_LEGGINGS_RANK_3
+ - DIAMOND_LEGGINGS_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Cauldron:
- name: Diamond Cauldron
+ Faceting machine:
+ material: WATCH
+ amount: 8
+ lore: Faceting machine
+ Stone_Grinder:
fuel:
- Charcoal:
+ Lump Charcoal:
material: COAL
durability: 1
+ lore: Limp Charcoal
inputs:
- Diamond:
- material: DIAMOND
- amount: 50
+ Stone knife:
+ material: FLINT
+ lore: Stone knife
+ amount: 12
recipes:
- - Diamond_XP_Bottle_0
- - Diamond_XP_Bottle_1
- - Diamond_XP_Bottle_2
- - Diamond_XP_Bottle_3
- repair_multiple: 5
+ - STONE_SWORD_RANK_0
+ - STONE_SWORD_RANK_1
+ - STONE_SWORD_RANK_2
+ - STONE_SWORD_RANK_3
+ - STONE_SWORD_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Chestplate_Smithy:
- name: Diamond Chestplate Smithy
+ Stone knife:
+ material: FLINT
+ amount: 2
+ lore: Stone knife
+ Iron_Forger:
fuel:
- Charcoal:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
inputs:
- Diamond:
- material: DIAMOND
- amount: 320
+ Blast furnace:
+ material: CLAY_BRICK
+ lore: Blast furnace
+ amount: 16
+ Iron hammer:
+ material: BONE
+ amount: 16
+ lore: Iron hammer
recipes:
- - Diamond_Chestplate
- repair_multiple: 32
+ - IRON_SWORD_RANK_0
+ - IRON_SWORD_RANK_1
+ - IRON_SWORD_RANK_2
+ - IRON_SWORD_RANK_3
+ - IRON_SWORD_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Helmet_Smithy:
- name: Diamond Helmet Smithy
+ Blast furnace:
+ material: CLAY_BRICK
+ amount: 4
+ lore: Blast furnace
+ Diamond_Polisher:
fuel:
- Charcoal:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
inputs:
- Diamond:
+ Faceting machine:
+ material: WATCH
+ lore: Faceting machine
+ amount: 32
+ Diamond drill heads:
material: DIAMOND
- amount: 192
+ amount: 16
+ lore: Diamond drill heads
recipes:
- - Diamond_Helmet
- repair_multiple: 20
+ - DIAMOND_SWORD_RANK_0
+ - DIAMOND_SWORD_RANK_1
+ - DIAMOND_SWORD_RANK_2
+ - DIAMOND_SWORD_RANK_3
+ - DIAMOND_SWORD_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Hoe_Smithy:
- name: Diamond Hoe Smithy
+ Faceting machine:
+ material: WATCH
+ amount: 8
+ lore: Faceting machine
+ Stone_Anvil:
fuel:
Charcoal:
material: COAL
durability: 1
inputs:
- Diamond:
- material: DIAMOND
- amount: 32
+ Stone knife:
+ material: FLINT
+ lore: Stone knife
+ amount: 12
recipes:
- - Diamond_Hoe
- repair_multiple: 4
+ - STONE_PICKAXE_RANK_0
+ - STONE_PICKAXE_RANK_1
+ - STONE_PICKAXE_RANK_2
+ - STONE_PICKAXE_RANK_3
+ - STONE_PICKAXE_RANK_4
+ - STONE_AXE_RANK_0
+ - STONE_AXE_RANK_1
+ - STONE_AXE_RANK_2
+ - STONE_AXE_RANK_3
+ - STONE_AXE_RANK_4
+ - STONE_SHOVEL_RANK_0
+ - STONE_SHOVEL_RANK_1
+ - STONE_SHOVEL_RANK_2
+ - STONE_SHOVEL_RANK_3
+ - STONE_SHOVEL_RANK_4
+ - STONE_HOE_RANK_0
+ - STONE_HOE_RANK_1
+ - STONE_HOE_RANK_2
+ - STONE_HOE_RANK_3
+ - STONE_HOE_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Leggings_Smithy:
- name: Diamond Leggings Smithy
+ Stone knife:
+ material: FLINT
+ amount: 2
+ lore: Stone knife
+ Iron_Anvil:
fuel:
Charcoal:
material: COAL
durability: 1
inputs:
- Diamond:
- material: DIAMOND
- amount: 256
+ Blast furnace:
+ material: CLAY_BRICK
+ lore: Blast furnace
+ amount: 16
recipes:
- - Diamond_Leggings
+ - IRON_PICKAXE_RANK_0
+ - IRON_PICKAXE_RANK_1
+ - IRON_PICKAXE_RANK_2
+ - IRON_PICKAXE_RANK_3
+ - IRON_PICKAXE_RANK_4
+ - IRON_AXE_RANK_0
+ - IRON_AXE_RANK_1
+ - IRON_AXE_RANK_2
+ - IRON_AXE_RANK_3
+ - IRON_AXE_RANK_4
+ - IRON_SHOVEL_RANK_0
+ - IRON_SHOVEL_RANK_1
+ - IRON_SHOVEL_RANK_2
+ - IRON_SHOVEL_RANK_3
+ - IRON_SHOVEL_RANK_4
+ - IRON_HOE_RANK_0
+ - IRON_HOE_RANK_1
+ - IRON_HOE_RANK_2
+ - IRON_HOE_RANK_3
+ - IRON_HOE_RANK_4
repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Pickaxe_Smithy:
- name: Diamond Pickaxe Smithy
+ Blast furnace:
+ material: CLAY_BRICK
+ amount: 4
+ lore: Blast furnace
+ Diamond_Anvil:
fuel:
Charcoal:
material: COAL
durability: 1
inputs:
- Diamond:
- material: DIAMOND
- amount: 96
+ Faceting machine:
+ material: WATCH
+ lore: Faceting machine
+ amount: 32
+ Iron hammer:
+ material: IRONE_HOE
+ lore: Iron hammer
+ amount: 6
recipes:
- - Diamond_Pickaxe
- repair_multiple: 10
+ - DIAMOND_PICKAXE_RANK_0
+ - DIAMOND_PICKAXE_RANK_1
+ - DIAMOND_PICKAXE_RANK_2
+ - DIAMOND_PICKAXE_RANK_3
+ - DIAMOND_PICKAXE_RANK_4
+ - DIAMOND_AXE_RANK_0
+ - DIAMOND_AXE_RANK_1
+ - DIAMOND_AXE_RANK_2
+ - DIAMOND_AXE_RANK_3
+ - DIAMOND_AXE_RANK_4
+ - DIAMOND_SHOVEL_RANK_0
+ - DIAMOND_SHOVEL_RANK_1
+ - DIAMOND_SHOVEL_RANK_2
+ - DIAMOND_SHOVEL_RANK_3
+ - DIAMOND_SHOVEL_RANK_4
+ - DIAMOND_HOE_RANK_0
+ - DIAMOND_HOE_RANK_1
+ - DIAMOND_HOE_RANK_2
+ - DIAMOND_HOE_RANK_3
+ - DIAMOND_HOE_RANK_4
+ repair_multiple: 26
repair_inputs:
- Diamond:
- material: DIAMOND
- Diamond_Spade_Smithy:
- name: Diamond Spade Smithy
+ Faceting machine:
+ material: WATCH
+ amount: 8
+ lore: Faceting machine
+ Aspect_Factory:
+ name: Arcane Elementizer
fuel:
Charcoal:
material: COAL
durability: 1
inputs:
- Diamond:
- material: DIAMOND
- amount: 48
+ Netherbrick:
+ material: NETHER_BRICK
+ amount: 1536
+ Redstone:
+ material: REDSTONE
+ amount: 1152
+ Netherquartz:
+ material: QUARTZ
+ amount: 576
recipes:
- - Diamond_Spade
- repair_multiple: 5
+ - Forge_Aspect_of_Terra
+ - Forge_Aspect_of_End
+ - Forge_Aspect_of_Nether
+ - Craft_Eye_of_Ender
+ repair_multiple: 26
repair_inputs:
- Diamond:
+ Nether Brick:
+ material: NETHER_BRICK
+ amount: 6
+ Redstone:
+ material: REDSTONE
+ amount: 5
+ Netherquartz:
+ material: QUARTZ
+ amount: 2
+nether_factory:
+ name: Nether Factory
+ fuel:
+ Charcoal:
+ material: COAL
+ durability: 1
+ costs:
+ construction:
+ Aspect of Nether:
+ material: MAGMA_CREAM
+ amount: 8
+ display_name: Aspect of Nether
+ lore: A concentrated essence of the Nether
+ Aspect of Terra:
material: DIAMOND
- Diamond_Sword_Smithy:
- name: Diamond Sword Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ amount: 8
+ display_name: Aspect of Terra
+ lore: A concentrated essence of Terra
+ Aspect of END:
+ material: FLINT
+ amount: 8
+ display_name: Aspect of End
+ lore: A concentrated essence of the End
+ repair:
+ Diamond block:
+ material: DIAMOND_BLOCK
+ amount: 1
+ repair_multiple: 1
+ fuel_time: 10
+ repair_time: 12
+ scaling_radius: 5000
+ cost_scaling_radius: 5000
+ use_fuel_on_teleport: false
+production_recipes:
+ Forge_Aspect_of_Terra:
+ name: Forge Aspect of Terra
+ production_time: 64
inputs:
- Diamond:
- material: DIAMOND
- amount: 80
- recipes:
- - Diamond_Sword
- repair_multiple: 8
- repair_inputs:
- Diamond:
+ Emerald Block:
+ material: EMERALD_BLOCK
+ amount: 24
+ Diamond Block:
+ material: DIAMOND_BLOCK
+ amount: 24
+ Gold Ore:
+ material: GOLD_ORE
+ amount: 8
+ Slime Ball:
+ material: SLIME_BALL
+ amount: 8
+ Anvil:
+ material: ANVIL
+ amount: 8
+ outputs:
+ Aspect of Terra:
material: DIAMOND
- Glass_Smelter:
- name: Glass Smelter
- fuel:
- Charcoal:
+ amount: 1
+ display_name: Aspect of Terra
+ lore: A concentrated essence of Terra
+ Forge_Aspect_of_End:
+ name: Forge Aspect of End
+ production_time: 64
+ inputs:
+ Ender Pearl:
+ material: ENDER_PEARL
+ amount: 256
+ Ender Chest:
+ material: ENDER_CHEST
+ amount: 256
+ Endstone:
+ material: ENDER_STONE
+ amount: 1024
+ outputs:
+ Aspect of End:
+ material: FLINT
+ amount: 1
+ display_name: Aspect of End
+ lore: A concentrated essence of the End
+ Smelt_Stone:
+ name: Smelt Stone
+ production_time: 16
+ inputs:
+ Cobblestone:
+ material: COBBLESTONE
+ amount: 256
+ outputs:
+ Stone:
+ material: Stone
+ amount: 512
+ Smelt_Iron:
+ name: Smelt Iron
+ production_time: 16
+ inputs:
+ Iron Ore:
+ material: IRON_ORE
+ amount: 64
+ outputs:
+ Iron:
+ material: IRON
+ amount: 128
+ Smelt_Diamond_Ore:
+ name: Smelt Diamond Ore
+ production_time: 16
+ inputs:
+ Diamond Ore:
+ material: DIAMOND_ORE
+ amount: 16
+ outputs:
+ Diamond:
+ material: DIAMOND
+ amount: 48
+
+ Burn_Lump_Charcoal_Oak:
+ name: Smelt Stone
+ production_time: 16
+ inputs:
+ Oak Wood:
+ material: LOG
+ amount: 256
+ outputs:
+ Lump Charcoal:
material: COAL
durability: 1
+ lore: Lump Charcoal
+ amount: 512
+ Burn_Lump_Charcoal_Spruce:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Sand:
- material: SAND
- amount: 2048
- Charcoal:
- material: COAL
+ Spruce Wood:
+ material: LOG
amount: 256
durability: 1
- recipes:
- - Smelt_Glass
- - Smelt_Sandstone
- - Smelt_Glass_panes
- - Smelt_Bottles
- - Smelt_Red_sand
- - Smelt_Glass_From_Sandstone
- repair_multiple: 26
- repair_inputs:
- Sand:
- material: SAND
- amount: 8
- Charcoal:
+ outputs:
+ Lump Charcoal:
material: COAL
durability: 1
- Nether_Brick_Smelter:
- name: Nether Brick Smelter
- fuel:
+ lore: Lump Charcoal
+ amount: 512
+ Burn_Lump_Charcoal_Birch:
+ name: Smelt Stone
+ production_time: 16
+ inputs:
+ Birch Wood:
+ material: LOG
+ amount: 256
+ durability: 2
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_Lump_Charcoal_Jungle:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Netherrack:
- material: NETHERRACK
- amount: 2048
- Charcoal:
- material: COAL
+ Jungle Wood:
+ material: LOG
amount: 256
- durability: 1
- recipes:
- - Smelt_Nether_bricks
- repair_multiple: 26
- repair_inputs:
- Netherrack:
- material: NETHERRACK
- amount: 8
- Charcoal:
+ durability: 3
+ outputs:
+ Lump Charcoal:
material: COAL
durability: 1
- Kiln:
- name: Kiln
- fuel:
+ lore: Lump Charcoal
+ amount: 512
+ Burn_Lump_Charcoal_Acacia:
+ name: Smelt Stone
+ production_time: 16
+ inputs:
+ Acacia Wood:
+ material: LOG_2
+ amount: 256
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_Lump_Charcoal_Dark_Oak:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Clay:
- material: CLAY
- amount: 1280
- Charcoal:
- material: COAL
+ Dark Oak Wood:
+ material: LOG_2
amount: 256
durability: 1
- recipes:
- - Bake_clay_blocks
- - Bake_bricks
- - Bake_pots
- repair_multiple: 26
- repair_inputs:
- Clay:
- material: CLAY
- amount: 8
- Charcoal:
- material: COAL
- durability: 1
- Gold_Axe_Smithy:
- name: Gold Axe Smithy
- fuel:
- Charcoal:
+ outputs:
+ Lump Charcoal:
material: COAL
durability: 1
+ lore: Lump Charcoal
+ amount: 512
+ Burn_Briquette_Oak:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 64
- recipes:
- - Gold_Axe
- repair_multiple: 7
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Boots_Smithy:
- name: Gold Boots Smithy
- fuel:
- Charcoal:
+ Oak Wood:
+ material: LOG
+ amount: 256
+ outputs:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
+ amount: 512
+ Burn_Briquette_Spruce:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 160
- recipes:
- - Gold_Boots
- repair_multiple: 16
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Chestplate_Smithy:
- name: Gold Chestplate Smithy
- fuel:
- Charcoal:
- material: COAL
+ Spruce Wood:
+ material: LOG
+ amount: 256
durability: 1
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 320
- recipes:
- - Gold_Chestplate
- repair_multiple: 32
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Helmet_Smithy:
- name: Gold Helmet Smithy
- fuel:
- Charcoal:
+ outputs:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
+ amount: 512
+ Burn_Briquette_Birch:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 192
- recipes:
- - Gold_Helmet
- repair_multiple: 20
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Hoe_Smithy:
- name: Gold Hoe Smithy
- fuel:
+ Birch Wood:
+ material: LOG
+ amount: 256
+ durability: 2
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_Briquette_Jungle:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 32
- recipes:
- - Gold_Hoe
- repair_multiple: 4
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Leggings_Smithy:
- name: Gold Leggings Smithy
- fuel:
- Charcoal:
+ Jungle Wood:
+ material: LOG
+ amount: 256
+ durability: 3
+ outputs:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
+ amount: 512
+ Burn_Briquette_Acacia:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
+ Acacia Wood:
+ material: LOG_2
amount: 256
- recipes:
- - Gold_Leggings
- repair_multiple: 26
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Pickaxe_Smithy:
- name: Gold Pickaxe Smithy
- fuel:
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_Briquette_Dark_Oak:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 96
- recipes:
- - Gold_Pickaxe
- repair_multiple: 10
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Spade_Smithy:
- name: Gold Spade Smithy
- fuel:
- Charcoal:
- material: COAL
+ Dark Oak Wood:
+ material: LOG_2
+ amount: 256
durability: 1
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 48
- recipes:
- - Gold_Spade
- repair_multiple: 5
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gold_Sword_Smithy:
- name: Gold Sword Smithy
- fuel:
- Charcoal:
+ outputs:
+ Briquette:
material: COAL
durability: 1
+ lore: Briquette
+ amount: 512
+ Burn_White_Charcoal_Oak:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 80
- recipes:
- - Gold_Sword
- repair_multiple: 8
- repair_inputs:
- Gold Ingot:
- material: GOLD_INGOT
- Gray_Wool_Processing:
- name: Gray Wool Processing
- fuel:
- Charcoal:
+ Oak Wood:
+ material: LOG
+ amount: 256
+ outputs:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
+ amount: 512
+ Burn_White_Charcoal_Spruce:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Gray Wool:
- material: WOOL
- amount: 20
- durability: 7
- recipes:
- - Dye_Gray_Wool_Blue
- - Dye_Gray_Wool_Brown
- - Dye_Gray_Wool_Purple
- - Dye_Gray_Wool_Yellow
- - Dye_Gray_Wool_Black
- - Dye_Gray_Wool_Magenta
- - Dye_Gray_Wool_Pink
- - Dye_Gray_Wool_Cyan
- - Dye_Gray_Wool_Orange
- - Dye_Gray_Wool_Green
- - Dye_Gray_Wool_White
- - Dye_Gray_Wool_Light_Gray
- - Dye_Gray_Wool_Light_Blue
- - Dye_Gray_Wool_Red
- - Dye_Gray_Wool_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
+ Spruce Wood:
+ material: LOG
+ amount: 256
durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Gray Wool:
- material: WOOL
- durability: 7
- Grill:
- name: Bakery
- fuel:
- Charcoal:
+ outputs:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
+ amount: 512
+ Burn_White_Charcoal_Birch:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Cooked Chicken:
- material: COOKED_CHICKEN
- amount: 192
- Cooked Fish:
- material: COOKED_FISH
- amount: 16
- Cooked Salmon:
- material: COOKED_FISH
- amount: 16
- durability: 1
- Grilled Pork:
- material: GRILLED_PORK
- amount: 160
- Cooked Beef:
- material: COOKED_BEEF
- amount: 64
- recipes:
- - Cooked_Chicken
- - Cooked_Fish
- - Grilled_Pork
- - Cooked_Beef
- - Cook_Salmon
- repair_multiple: 2
- repair_inputs:
- Cooked Chicken:
- material: COOKED_CHICKEN
- amount: 10
- Cooked Fish:
- material: COOKED_FISH
- Cooked Salmon:
- material: COOKED_FISH
- durability: 1
- Grilled Pork:
- material: GRILLED_PORK
- amount: 8
- Cooked Beef:
- material: COOKED_BEEF
- amount: 4
- Iron_Axe_Smithy:
- name: Iron Axe Smithy
- fuel:
+ Birch Wood:
+ material: LOG
+ amount: 256
+ durability: 2
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_White_Charcoal_Jungle:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 64
- recipes:
- - Iron_Axe
- repair_multiple: 7
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Boots_Smithy:
- name: Iron Boots Smithy
- fuel:
- Charcoal:
+ Jungle Wood:
+ material: LOG
+ amount: 256
+ durability: 3
+ outputs:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
+ amount: 512
+ Burn_White_Charcoal_Acacia:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 160
- recipes:
- - Iron_Boots
- repair_multiple: 16
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Cauldron:
- name: Iron Cauldron
- fuel:
+ Acacia Wood:
+ material: LOG_2
+ amount: 256
+ outputs:
Charcoal:
material: COAL
+ amount: 512
durability: 1
+ Burn_White_Charcoal_Dark_Oak:
+ name: Smelt Stone
+ production_time: 16
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 200
- recipes:
- - Iron_XP_Bottle_0
- - Iron_XP_Bottle_1
- - Iron_XP_Bottle_2
- - Iron_XP_Bottle_3
- repair_multiple: 20
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Chestplate_Smithy:
- name: Iron Chestplate Smithy
- fuel:
- Charcoal:
- material: COAL
+ Dark Oak Wood:
+ material: LOG_2
+ amount: 256
durability: 1
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 320
- recipes:
- - Iron_Chestplate
- repair_multiple: 32
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Helmet_Smithy:
- name: Iron Helmet Smithy
- fuel:
- Charcoal:
+ outputs:
+ White Charcoal:
material: COAL
durability: 1
+ lore: White Charcoal
+ amount: 512
+ LEATHER_BOOTS_RANK_0:
+ name: Leather Boots Forger Rank 0
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 192
- recipes:
- - Iron_Helmet
- repair_multiple: 20
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Hoe_Smithy:
- name: Iron Hoe Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ outputs:
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 0
+ lore: Leather Boots Rank 0
+ LEATHER_BOOTS_RANK_1:
+ name: Leather Boots Forger Rank 1
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 32
- recipes:
- - Iron_Hoe
- repair_multiple: 4
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Leggings_Smithy:
- name: Iron Leggings Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 0
+ lore: Leather Boots Rank 0
+ outputs:
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 1
+ lore: Leather Boots Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ LEATHER_BOOTS_RANK_2:
+ name: Leather Boots Forger Rank 2
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 256
- recipes:
- - Iron_Leggings
- repair_multiple: 26
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Pickaxe_Smithy:
- name: Iron Pickaxe Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 1
+ lore: Leather Boots Rank 1
+ outputs:
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 2
+ lore: Leather Boots Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ LEATHER_BOOTS_RANK_3:
+ name: Leather Boots Forger Rank 3
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 96
- recipes:
- - Iron_Pickaxe
- repair_multiple: 10
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Spade_Smithy:
- name: Iron Spade Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 2
+ lore: Leather Boots Rank 2
+ outputs:
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 3
+ lore: Leather Boots Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ LEATHER_BOOTS_RANK_4:
+ name: Leather Boots Forger Rank 4
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 48
- recipes:
- - Iron_Spade
- repair_multiple: 5
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Iron_Sword_Smithy:
- name: Iron Sword Smithy
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 3
+ lore: Leather Boots Rank 3
+ outputs:
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 1
+ display_name: Leather Boots Rank 4
+ lore: Leather Boots Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ LEATHER_CHESTPLATE_RANK_0:
+ name: Leather Chestplate Forger Rank 0
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 80
- recipes:
- - Iron_Sword
- repair_multiple: 8
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- Light_Gray_Wool_Processing:
- name: Light Gray Wool Processing
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ outputs:
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 0
+ lore: Leather Chestplate Rank 0
+ LEATHER_CHESTPLATE_RANK_1:
+ name: Leather Chestplate Forger Rank 1
+ production_time: 360
inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Light Gray Wool:
- material: WOOL
- amount: 20
- durability: 8
- recipes:
- - Dye_Light_Gray_Wool_Blue
- - Dye_Light_Gray_Wool_Gray
- - Dye_Light_Gray_Wool_Brown
- - Dye_Light_Gray_Wool_Purple
- - Dye_Light_Gray_Wool_Yellow
- - Dye_Light_Gray_Wool_Black
- - Dye_Light_Gray_Wool_Magenta
- - Dye_Light_Gray_Wool_Pink
- - Dye_Light_Gray_Wool_Cyan
- - Dye_Light_Gray_Wool_Orange
- - Dye_Light_Gray_Wool_Green
- - Dye_Light_Gray_Wool_White
- - Dye_Light_Gray_Wool_Light_Blue
- - Dye_Light_Gray_Wool_Red
- - Dye_Light_Gray_Wool_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Light Gray Wool:
- material: WOOL
- durability: 8
- Pink_Wool_Processing:
- name: Pink Wool Processing
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 0
+ lore: Leather Chestplate Rank 0
+ outputs:
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 1
+ lore: Leather Chestplate Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ LEATHER_CHESTPLATE_RANK_2:
+ name: Leather Chestplate Forger Rank 2
+ production_time: 360
inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Pink Wool:
- material: WOOL
- amount: 20
- durability: 6
- recipes:
- - Dye_Pink_Wool_Blue
- - Dye_Pink_Wool_Gray
- - Dye_Pink_Wool_Brown
- - Dye_Pink_Wool_Purple
- - Dye_Pink_Wool_Yellow
- - Dye_Pink_Wool_Black
- - Dye_Pink_Wool_Magenta
- - Dye_Pink_Wool_Cyan
- - Dye_Pink_Wool_Orange
- - Dye_Pink_Wool_Green
- - Dye_Pink_Wool_White
- - Dye_Pink_Wool_Light_Gray
- - Dye_Pink_Wool_Light_Blue
- - Dye_Pink_Wool_Red
- - Dye_Pink_Wool_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Pink Wool:
- material: WOOL
- durability: 6
- Rail_Factory:
- name: Rail Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 320
- Stick:
- material: STICK
- amount: 128
- Gold Ingot:
- material: GOLD_INGOT
- amount: 192
- Redstone:
- material: REDSTONE
- amount: 32
- recipes:
- - Produce_Rail
- - Produce_Powered_Rail
- - Produce_Detector_Rail
- - Produce_Activator_Rail
- - Procuce_Minecarts
- repair_multiple: 4
- repair_inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 7
- Stick:
- material: STICK
- amount: 3
- Gold Ingot:
- material: GOLD_INGOT
- amount: 5
- Redstone:
- material: REDSTONE
- Horse_Factory:
- name: Animal Husbandry Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Iron Block:
- material: IRON_BLOCK
- amount: 64
- Hay Bale:
- material: HAY_BLOCK
- amount: 64
- Golden Apple:
- material: GOLDEN_APPLE
- amount: 64
- Slime_ball:
- material: SLIME_BALL
- amount: 16
- recipes:
- - Produce_Saddle
- - Produce_Diamond_Horse_Armor
- - Produce_Gold_Horse_Armor
- - Produce_Iron_Horse_Armor
- - Produce_Leads
- repair_multiple: 6
- repair_inputs:
- Iron Block:
- material: IRON_BLOCK
- Hay Bale:
- material: HAY_BLOCK
- Golden Apple:
- material: GOLDEN_APPLE
- amount: 1
- durability: 0
- Basic_Redstone_Factory:
- name: Basic Redstone Mechanism Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Redstone:
- material: REDSTONE
- amount: 960
- Stick:
- material: STICK
- amount: 512
- Stone:
- material: STONE
- amount: 576
- Netherquartz:
- material: QUARTZ
- amount: 256
- Glass:
- material: GLASS
- amount: 128
- recipes:
- - Produce_Redstone_Torches
- - Produce_Repeaters
- - Produce_Comparators
- - Produce_Daylight_Sensors
- repair_multiple: 10
- repair_inputs:
- Netherquartz:
- material: QUARTZ
- amount: 25
- Glass:
- material: GLASS
- amount: 12
- Redstone:
- material: REDSTONE
- amount: 9
- Advanced_Redstone_Factory:
- name: Advanced Redstone Mechanism Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Redstone:
- material: REDSTONE
- amount: 960
- Chest:
- material: CHEST
- amount: 72
- Glowstone:
- material: GLOWSTONE
- amount: 256
- Iron_Ingot:
- material: IRON_INGOT
- amount: 576
- Slime ball:
- material: SLIME_BALL
- amount: 64
- Diamond:
- material: DIAMOND
- amount: 64
- recipes:
- - Produce_Noteblocks
- - Produce_Dispensers
- - Produce_Redstone_lamps
- - Produce_Pistons
- - Produce_Sticky_Pistons
- - Produce_Jukeboxes
- - Produce_Hoppers
- repair_multiple: 10
- repair_inputs:
- Redstone:
- material: REDSTONE
- amount: 9
- Glowstone:
- material: GLOWSTONE
- amount: 2
- Iron_Ingot:
- material: IRON_INGOT
- amount: 6
- Slime ball:
- material: SLIME_BALL
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 1
+ lore: Leather Chestplate Rank 1
+ outputs:
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
amount: 1
- Carpentry_factory:
- name: Carpentry factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
+ display_name: Leather Chestplate Rank 2
+ lore: Leather Chestplate Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ LEATHER_CHESTPLATE_RANK_3:
+ name: Leather Chestplate Forger Rank 3
+ production_time: 360
inputs:
- Paper:
- material: PAPER
- amount: 384
- Chest:
- material: CHEST
- amount: 128
Leather:
- material: LEATHER
- amount: 128
- recipes:
- - Craft_Fences
- - Craft_Boats
- - Craft_Signs
- - Craft_Ladders
- - Craft_Trap_Doors
- - Craft_Item_frames
- - Craft_Bookshelfs
- repair_multiple: 10
- repair_inputs:
- Paper:
- material: PAPER
- amount: 4
- Chest:
- material: CHEST
+ material: LEATHER
+ amount: 32
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 2
+ lore: Leather Chestplate Rank 2
+ outputs:
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
amount: 1
+ display_name: Leather Chestplate Rank 3
+ lore: Leather Chestplate Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ LEATHER_CHESTPLATE_RANK_4:
+ name: Leather Chestplate Forger Rank 4
+ production_time: 360
+ inputs:
Leather:
- material: LEATHER
+ material: LEATHER
+ amount: 32
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 1
+ display_name: Leather Chestplate Rank 3
+ lore: Leather Chestplate Rank 3
+ outputs:
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
amount: 1
- Fancy_Ore_Smelter:
- name: Fancy Ore Smelter
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 1536
- durability: 4
- Redstone:
- material: REDSTONE
- amount: 1152
- Netherquartz:
- material: QUARTZ
- amount: 576
- recipes:
- - Smelt_Lapis_Lazuli_Ore
- - Smelt_Redstone_Ore
- - Smelt_Netherquartz_Ore
- repair_multiple: 26
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 6
- durability: 4
- Redstone:
- material: REDSTONE
- amount: 5
- Netherquartz:
- material: QUARTZ
- amount: 2
- Smelter:
- name: Ore Smelter
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Coal:
- material: COAL
- amount: 512
- Iron Ingot:
- material: IRON_INGOT
- amount: 384
- Gold Ingot:
- material: GOLD_INGOT
- amount: 192
- Diamond:
- material: DIAMOND
- amount: 96
- recipes:
- - Smelt_Coal_Ore
- - Smelt_Iron_Ore
- - Smelt_Gold_Ore
- - Smelt_Diamond_Ore
- repair_multiple: 10
- repair_inputs:
- Coal:
- material: COAL
- amount: 6
- Iron Ingot:
- material: IRON_INGOT
- amount: 4
- Gold Ingot:
- material: GOLD_INGOT
- amount: 2
- Diamond:
- material: DIAMOND
- Stone_Brick_Smelter:
- name: Fancy Stone Brick Smelter
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Stone Brick:
- material: SMOOTH_BRICK
- amount: 512
- Lapis Lazuli:
- material: INK_SACK
- amount: 256
- durability: 4
- recipes:
- - Smelt_Cracked_Stone_Brick
- - Smelt_Mossy_Stone_Brick
- - Smelt_Chiseled_Stone_Brick
- repair_multiple: 26
- repair_inputs:
- Stone Brick:
- material: SMOOTH_BRICK
- amount: 2
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Stone_Smelter:
- name: Stone Smelter
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Stone:
- material: STONE
- amount: 2048
- recipes:
- - Smelt_Stone
- repair_multiple: 205
- repair_inputs:
- Stone:
- material: STONE
- Bio_Lab:
- name: Bio Lab
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Oak Saplings:
- material: SAPLING
- amount: 512
- Grass:
- material: GRASS
- amount: 512
- recipes:
- - Mutate_Spruce_Saplings
- - Mutate_Birch_Saplings
- - Mutate_Jungle_Saplings
- - Mutate_Acacia_Saplings
- - Mutate_Dark_Oak_Saplings
- - Mutate_Podzol
- - Mutate_Grassless_Dirt
- repair_multiple: 10
- repair_inputs:
- Oak Saplings:
- material: SAPLING
- amount: 5
- Grass:
- material: GRASS
- amount: 5
- Explosives_Factory:
- name: Explosives Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Sulphur:
- material: SULPHUR
- amount: 384
- Sand:
- material: SAND
- amount: 384
- Blaze Powder:
- material: BLAZE_POWDER
- amount: 64
- recipes:
- - Produce_TNT
- - Produce_Fire_Charges
- repair_multiple: 10
- repair_inputs:
- Sulphur:
- material: SULPHUR
- amount: 4
- Sand:
- material: SAND
- amount: 4
- Iron_Forge_factory:
- name: Iron Forge
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 1152
- recipes:
- - Forge_Shears
- - Forge_Anvils
- - Forge_Tripwire_Hooks
- - Forge_Iron_Bars
- - Forge_Buckets
- - Forge_Iron_Doors
- - Forge_Flint_And_Steel
- repair_multiple: 10
- repair_inputs:
- IRON_INGOT:
- material: Iron Ingot
- amount: 12
- Stained_Glass_Processing:
- name: Stained Glass Processing
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Stained Glass:
- material: STAINED_GLASS
- amount: 20
- durability: 7
- Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 20
- durability: 7
- recipes:
- - Dye_Stained_Glass_Blue
- - Dye_Stained_Glass_Brown
- - Dye_Stained_Glass_Purple
- - Dye_Stained_Glass_Yellow
- - Dye_Stained_Glass_Black
- - Dye_Stained_Glass_Magenta
- - Dye_Stained_Glass_Pink
- - Dye_Stained_Glass_Cyan
- - Dye_Stained_Glass_Orange
- - Dye_Stained_Glass_Green
- - Dye_Stained_Glass_White
- - Dye_Stained_Glass_Light_Gray
- - Dye_Stained_Glass_Light_Blue
- - Dye_Stained_Glass_Red
- - Dye_Stained_Glass_Lime
- - Dye_Stained_Glass_Pane_Blue
- - Dye_Stained_Glass_Pane_Brown
- - Dye_Stained_Glass_Pane_Purple
- - Dye_Stained_Glass_Pane_Yellow
- - Dye_Stained_Glass_Pane_Black
- - Dye_Stained_Glass_Pane_Magenta
- - Dye_Stained_Glass_Pane_Pink
- - Dye_Stained_Glass_Pane_Cyan
- - Dye_Stained_Glass_Pane_Orange
- - Dye_Stained_Glass_Pane_Green
- - Dye_Stained_Glass_Pane_White
- - Dye_Stained_Glass_Pane_Light_Gray
- - Dye_Stained_Glass_Pane_Light_Blue
- - Dye_Stained_Glass_Pane_Red
- - Dye_Stained_Glass_Pane_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Stained Glass:
- material: STAINED_GLASS
- durability: 7
- Stained Glass Pane:
- material: STAINED_GLASS_PANE
- durability: 7
- Hard_Clay_Processing:
- name: Hardened Clay Processing
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- Hardened Clay:
- material: HARD_CLAY
- amount: 20
- durability: 7
- recipes:
- - Dye_Hard_Clay_Blue
- - Dye_Hard_Clay_Brown
- - Dye_Hard_Clay_Purple
- - Dye_Hard_Clay_Yellow
- - Dye_Hard_Clay_Black
- - Dye_Hard_Clay_Magenta
- - Dye_Hard_Clay_Pink
- - Dye_Hard_Clay_Cyan
- - Dye_Hard_Clay_Orange
- - Dye_Hard_Clay_Green
- - Dye_Hard_Clay_White
- - Dye_Hard_Clay_Light_Gray
- - Dye_Hard_Clay_Light_Blue
- - Dye_Hard_Clay_Red
- - Dye_Hard_Clay_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- Hardened Clay:
- material: HARD_CLAY
- durability: 7
- Crystallisation_Factory:
- name: Crystallisation Factory
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Ice:
- material: ICE
- amount: 2048
- Charcoal:
- material: COAL
- amount: 256
- durability: 1
- recipes:
- - Compact_Ice
- repair_multiple: 10
- repair_inputs:
- Ice:
- material: ICE
- amount: 20
- Charcoal:
- material: COAL
- durability: 1
- White_Wool_Processing:
- name: White Wool Processing
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 20
- durability: 4
- Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 20
- durability: 3
- Purple Dye:
- material: INK_SACK
- amount: 20
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- amount: 20
- durability: 11
- Ink Sack:
- material: INK_SACK
- amount: 20
- Magenta Dye:
- material: INK_SACK
- amount: 20
- durability: 13
- Pink Dye:
- material: INK_SACK
- amount: 20
- durability: 9
- Cyan Dye:
- material: INK_SACK
- amount: 20
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 20
- durability: 14
- Cactus Green:
- material: INK_SACK
- amount: 20
- durability: 2
- Bone Meal:
- material: INK_SACK
- amount: 20
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 20
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 20
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 20
- durability: 1
- Lime Dye:
- material: INK_SACK
- amount: 20
- durability: 10
- White Wool:
- material: WOOL
- amount: 20
- recipes:
- - Dye_White_Wool_Blue
- - Dye_White_Wool_Gray
- - Dye_White_Wool_Brown
- - Dye_White_Wool_Purple
- - Dye_White_Wool_Yellow
- - Dye_White_Wool_Black
- - Dye_White_Wool_Magenta
- - Dye_White_Wool_Pink
- - Dye_White_Wool_Cyan
- - Dye_White_Wool_Orange
- - Dye_White_Wool_Green
- - Dye_White_Wool_Light_Gray
- - Dye_White_Wool_Light_Blue
- - Dye_White_Wool_Red
- - Dye_White_Wool_Lime
- repair_multiple: 2
- repair_inputs:
- Lapis Lazuli:
- material: INK_SACK
- durability: 4
- Gray Dye:
- material: INK_SACK
- durability: 8
- Cocoa:
- material: INK_SACK
- durability: 3
- Purple Dye:
- material: INK_SACK
- durability: 5
- Dandelion Yellow:
- material: INK_SACK
- durability: 11
- Ink Sack:
- material: INK_SACK
- Magenta Dye:
- material: INK_SACK
- durability: 13
- Pink Dye:
- material: INK_SACK
- durability: 9
- Cyan Dye:
- material: INK_SACK
- durability: 6
- Orange Dye:
- material: INK_SACK
- durability: 14
- Cactus Green:
- material: INK_SACK
- durability: 2
- Bone Meal:
- material: INK_SACK
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- durability: 12
- Rose Red:
- material: INK_SACK
- durability: 1
- Lime Dye:
- material: INK_SACK
- durability: 10
- White Wool:
- material: WOOL
- Wood_Cauldron:
- name: Wood Cauldron
- fuel:
- Charcoal:
- material: COAL
- durability: 1
- inputs:
- Stick:
- material: STICK
- amount: 1024
- recipes:
- - Wood_XP_Bottle_0
- - Wood_XP_Bottle_1
- - Wood_XP_Bottle_2
- - Wood_XP_Bottle_3
- - Wood_XP_Bottle_4
- - Wood_XP_Bottle_5
- repair_multiple: 103
- repair_inputs:
- Stick:
- material: STICK
-production_recipes:
- Wood_XP_Bottle_0:
- name: Brew XP Bottles - 1
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 24
- Wheat:
- material: WHEAT
- amount: 1280
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 24
- Baked_Potato:
- name: Bake Potato
- production_time: 24
- inputs:
- Potato:
- material: POTATO_ITEM
- amount: 192
- outputs:
- Baked Potato:
- material: BAKED_POTATO
- amount: 384
- Wood_XP_Bottle_2:
- name: Brew XP Bottles - 3
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 10
- Baked Potato:
- material: BAKED_POTATO
- amount: 1280
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 10
- Dye_Black_Wool_Cyan:
- name: Dye Black Wool Cyan
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Dye_Light_Gray_Wool_Purple:
- name: Dye Light Gray Wool Purple
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Dye_Black_Wool_Orange:
- name: Dye Black Wool Orange
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Dye_Light_Gray_Wool_Green:
- name: Dye Light Gray Wool Green
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Dye_Light_Gray_Wool_Gray:
- name: Dye Light Gray Wool Gray
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Smelt_Diamond_Ore:
- name: Smelt Diamond Ore
- production_time: 1
- inputs:
- Diamond Ore:
- material: DIAMOND_ORE
- amount: 16
- outputs:
- Diamond:
- material: DIAMOND
- amount: 48
- Diamond_XP_Bottle_0:
- name: Brew XP Bottles - 1
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 128
- Carrot:
- material: CARROT_ITEM
- amount: 96
- Melon Block:
- material: MELON_BLOCK
- amount: 32
- Cactus:
- material: CACTUS
- amount: 256
- Red Rose:
- material: RED_ROSE
- amount: 8
- Rotten Flesh:
- material: ROTTEN_FLESH
- amount: 128
- Red Mushroom:
- material: RED_MUSHROOM
- amount: 32
- Vine:
- material: VINE
- amount: 32
- Bread:
- material: BREAD
- amount: 128
- Grilled Pork:
- material: GRILLED_PORK
- amount: 32
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 128
- Dye_Brown_Wool_Orange:
- name: Dye Brown Wool Orange
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Smelt_Jungle_Wood:
- name: Burn Jungle Wood
- production_time: 24
- inputs:
- Jungle Wood:
- material: LOG
- amount: 256
- durability: 3
- outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Burn_Acacia_Wood:
- name: Burn Acacia Wood
- production_time: 24
- inputs:
- Acacia Wood:
- material: LOG_2
- amount: 256
- outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Burn_Dark_Oak_Wood:
- name: Burn Dark Oak Wood
- production_time: 24
- inputs:
- Dark Oak Wood:
- material: LOG_2
- amount: 256
- durability: 1
- outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Diamond_Boots:
- name: Forge Diamond Boots.
- production_time: 20
+ display_name: Leather Chestplate Rank 4
+ lore: Leather Chestplate Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ LEATHER_HELMET_RANK_0:
+ name: Leather Helmet Forger Rank 0
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 20
- outputs:
- Diamond Boots:
- material: DIAMOND_BOOTS
- amount: 15
- Dye_Gray_Wool_Black:
- name: Dye Gray Wool Black
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Ink Sack:
- material: INK_SACK
- amount: 4
- outputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Dye_Black_Wool_Brown:
- name: Dye Black Wool Brown
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Cocoa:
- material: INK_SACK
- amount: 4
- durability: 3
+ Leather:
+ material: LEATHER
+ amount: 32
outputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Iron_Boots:
- name: Forge Iron Boots.
- production_time: 20
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 0
+ lore: Leather Helmet Rank 0
+ LEATHER_HELMET_RANK_1:
+ name: Leather Helmet Forger Rank 1
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 20
- outputs:
- Iron Boots:
- material: IRON_BOOTS
- amount: 15
- Dye_Pink_Wool_Brown:
- name: Dye Pink Wool Brown
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Cocoa:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Gold_Spade:
- name: Forge Gold Spade.
- production_time: 5
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 0
+ lore: Leather Helmet Rank 0
+ outputs:
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 1
+ lore: Leather Helmet Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ LEATHER_HELMET_RANK_2:
+ name: Leather Helmet Forger Rank 2
+ production_time: 360
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 5
- outputs:
- Gold Spade:
- material: GOLD_SPADE
- amount: 15
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 1
+ lore: Leather Helmet Rank 1
+ outputs:
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 2
+ lore: Leather Helmet Rank 2
enchantments:
- Unbreaking 3:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
type: DURABILITY
- level: 3
- Silk Touch 1:
- type: SILK_TOUCH
level: 1
- probability: 0.1
- Efficiency 1:
- type: DIG_SPEED
- level: 1
- probability: 0.3
- Efficiency 2:
- type: DIG_SPEED
- level: 2
- probability: 0.2
- Efficiency 3:
- type: DIG_SPEED
+ LEATHER_HELMET_RANK_3:
+ name: Leather Helmet Forger Rank 3
+ production_time: 360
+ inputs:
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 2
+ lore: Leather Helmet Rank 2
+ outputs:
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 3
+ lore: Leather Helmet Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 3
- probability: 0.1
- Efficiency 4:
- type: DIG_SPEED
- level: 4
- probability: 0.05
- Efficiency 5:
- type: DIG_SPEED
- level: 5
- probability: 0.01
- Dye_Black_Wool_Gray:
- name: Dye Black Wool Gray
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Dye_Gray_Wool_Light_Gray:
- name: Dye Gray Wool Light Gray
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Dye_White_Wool_Cyan:
- name: Dye White Wool Cyan
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Diamond_Hoe:
- name: Forge Diamond Hoe.
- production_time: 10
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ LEATHER_HELMET_RANK_4:
+ name: Leather Helmet Forger Rank 4
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 10
- outputs:
- Diamond Hoe:
- material: DIAMOND_HOE
- amount: 30
- Gold_Chestplate:
- name: Forge Gold Chestplate.
- production_time: 40
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 40
- outputs:
- Gold Chestplate:
- material: GOLD_CHESTPLATE
- amount: 15
- durability: -218
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 3
+ lore: Leather Helmet Rank 3
+ outputs:
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 1
+ display_name: Leather Helmet Rank 4
+ lore: Leather Helmet Rank 4
enchantments:
- Unbreaking 3:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Blast Protection 1:
- type: PROTECTION_EXPLOSIONS
+ LEATHER_LEGGINGS_RANK_0:
+ name: Leather Leggings Forger Rank 0
+ production_time: 360
+ inputs:
+ Leather:
+ material: LEATHER
+ amount: 32
+ outputs:
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 0
+ lore: Leather Leggings Rank 0
+ LEATHER_LEGGINGS_RANK_1:
+ name: Leather Leggings Forger Rank 1
+ production_time: 360
+ inputs:
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 0
+ lore: Leather Leggings Rank 0
+ outputs:
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 1
+ lore: Leather Leggings Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 1
- probability: 0.5
- Blast Protection 2:
- type: PROTECTION_EXPLOSIONS
+ LEATHER_LEGGINGS_RANK_2:
+ name: Leather Leggings Forger Rank 2
+ production_time: 360
+ inputs:
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 1
+ lore: Leather Leggings Rank 1
+ outputs:
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 2
+ lore: Leather Leggings Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 2
- probability: 0.4
- Blast Protection 3:
- type: PROTECTION_EXPLOSIONS
- level: 3
- probability: 0.3
- Blast Protection 4:
- type: PROTECTION_EXPLOSIONS
- level: 4
- probability: 0.4
- Fire Protection 1:
- type: PROTECTION_FIRE
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.5
- Fire Protection 2:
- type: PROTECTION_FIRE
- level: 2
- probability: 0.4
- Fire Protection 3:
- type: PROTECTION_FIRE
+ LEATHER_LEGGINGS_RANK_3:
+ name: Leather Leggings Forger Rank 3
+ production_time: 360
+ inputs:
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 2
+ lore: Leather Leggings Rank 2
+ outputs:
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 3
+ lore: Leather Leggings Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 3
- probability: 0.3
- Fire Protection 4:
- type: PROTECTION_FIRE
- level: 4
- probability: 0.4
- Projectile Protection 1:
- type: PROTECTION_PROJECTILE
- level: 1
- probability: 0.5
- Projectile Protection 2:
- type: PROTECTION_PROJECTILE
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Projectile Protection 3:
- type: PROTECTION_PROJECTILE
- level: 3
- probability: 0.3
- Projectile Protection 4:
- type: PROTECTION_PROJECTILE
- level: 4
- probability: 0.4
- Dye_Light_Gray_Wool_Light_Blue:
- name: Dye Light Gray Wool Light Blue
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Dye_Brown_Wool_Cyan:
- name: Dye Brown Wool Cyan
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Iron_XP_Bottle_1:
- name: Brew XP Bottles - 2
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 14
- Carrot:
- material: CARROT_ITEM
- amount: 256
- Nether Wart:
- material: NETHER_STALK
- amount: 256
- Baked Potato:
- material: BAKED_POTATO
- amount: 256
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 14
- Dye_White_Wool_Red:
- name: Dye White Wool Red
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Dye_Brown_Wool_Purple:
- name: Dye Brown Wool Purple
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Dye_White_Wool_Purple:
- name: Dye White Wool Purple
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Wood_XP_Bottle_4:
- name: Brew XP Bottles - 5
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 14
- Carrot:
- material: CARROT_ITEM
- amount: 1280
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 14
- Wood_XP_Bottle_5:
- name: Brew XP Bottles - 6
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 24
- Hay Bale:
- material: HAY_BLOCK
- amount: 143
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 24
- Dye_Light_Gray_Wool_Orange:
- name: Dye Light Gray Wool Orange
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Dye_Black_Wool_Yellow:
- name: Dye Black Wool Yellow
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Dye_Light_Gray_Wool_Pink:
- name: Dye Light Gray Wool Pink
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dye_Light_Gray_Wool_Brown:
- name: Dye Light Gray Wool Brown
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Cocoa:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Smelt_Spruce_Wood:
- name: Burn Spruce Wood
- production_time: 24
- inputs:
- Spruce Wood:
- material: LOG
- amount: 256
- durability: 1
- outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Dye_Brown_Wool_Magenta:
- name: Dye Brown Wool Magenta
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Dye_White_Wool_Brown:
- name: Dye White Wool Brown
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Cocoa:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Dye_Gray_Wool_Lime:
- name: Dye Gray Wool Lime
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Dye_Light_Gray_Wool_Black:
- name: Dye Light Gray Wool Black
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Ink Sack:
- material: INK_SACK
- amount: 4
- outputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Dye_Brown_Wool_Yellow:
- name: Dye Brown Wool Yellow
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Dye_Pink_Wool_White:
- name: Dye Pink Wool White
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Wool:
- material: WOOL
- amount: 64
- Smelt_Coal_Ore:
- name: Smelt Coal Ore
- production_time: 12
+ LEATHER_LEGGINGS_RANK_4:
+ name: Leather Leggings Forger Rank 4
+ production_time: 360
inputs:
- Coal Ore:
- material: COAL_ORE
- amount: 128
- outputs:
- Coal:
- material: COAL
- amount: 384
- Dye_Brown_Wool_Green:
- name: Dye Brown Wool Green
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
+ Leather:
+ material: LEATHER
+ amount: 32
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 3
+ lore: Leather Leggings Rank 3
+ outputs:
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 1
+ display_name: Leather Leggings Rank 4
+ lore: Leather Leggings Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ IRON_BOOTS_RANK_0:
+ name: Iron Boots Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Leather Boots:
+ material: LEATHER_BOOTS
+ amount: 2
+ display_name: Leather Boots Rank 4
+ lore: Leather Boots Rank 4
outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Dye_Light_Gray_Wool_Lime:
- name: Dye Light Gray Wool Lime
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 0
+ lore: Iron Boots Rank 0
+ IRON_BOOTS_RANK_1:
+ name: Iron Boots Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 0
+ lore: Iron Boots Rank 0
outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Smelt_Birch_Wood:
- name: Burn Birch Wood
- production_time: 24
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 1
+ lore: Iron Boots Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ IRON_BOOTS_RANK_2:
+ name: Iron Boots Forger Rank 2
+ production_time: 360
inputs:
- Birch Wood:
- material: LOG
- amount: 256
- durability: 2
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 1
+ lore: Iron Boots Rank 1
outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Diamond_Sword:
- name: Forge Diamond Sword.
- production_time: 10
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 2
+ lore: Iron Boots Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ IRON_BOOTS_RANK_3:
+ name: Iron Boots Forger Rank 3
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 10
- outputs:
- Diamond Sword:
- material: DIAMOND_SWORD
- amount: 15
- Dye_Pink_Wool_Orange:
- name: Dye Pink Wool Orange
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Dye_Black_Wool_Blue:
- name: Dye Black Wool Blue
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Dye_Black_Wool_Magenta:
- name: Dye Black Wool Magenta
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 2
+ lore: Iron Boots Rank 2
outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Iron_Helmet:
- name: Forge Iron Helmet.
- production_time: 25
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 3
+ lore: Iron Boots Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ IRON_BOOTS_RANK_4:
+ name: Iron Boots Forger Rank 4
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 25
- outputs:
- Iron Helmet:
- material: IRON_HELMET
- amount: 15
- Dye_Gray_Wool_Cyan:
- name: Dye Gray Wool Cyan
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Cooked_Chicken:
- name: Grill Raw Chicken
- production_time: 6
- inputs:
- Raw Chicken:
- material: RAW_CHICKEN
- amount: 64
- outputs:
- Cooked Chicken:
- material: COOKED_CHICKEN
- amount: 128
- Dye_Brown_Wool_Pink:
- name: Dye Brown Wool Pink
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dye_Black_Wool_White:
- name: Dye Black Wool White
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Wool:
- material: WOOL
- amount: 64
- Dye_Gray_Wool_Pink:
- name: Dye Gray Wool Pink
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dye_White_Wool_Pink:
- name: Dye White Wool Pink
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dye_Light_Gray_Wool_Yellow:
- name: Dye Light Gray Wool Yellow
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Dye_Pink_Wool_Green:
- name: Dye Pink Wool Green
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Dye_White_Wool_Black:
- name: Dye White Wool Black
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Ink Sack:
- material: INK_SACK
- amount: 4
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 3
+ lore: Iron Boots Rank 3
outputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Dye_Gray_Wool_Blue:
- name: Dye Gray Wool Blue
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Gold_Pickaxe:
- name: Forge Gold Pickaxe.
- production_time: 15
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 15
- outputs:
- Gold Pickaxe:
- material: GOLD_PICKAXE
- amount: 15
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 1
+ display_name: Iron Boots Rank 4
+ lore: Iron Boots Rank 4
enchantments:
- Unbreaking 3:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Silk Touch 1:
- type: SILK_TOUCH
- level: 1
- probability: 0.1
- Efficiency 1:
- type: DIG_SPEED
- level: 1
- probability: 0.3
- Efficiency 2:
- type: DIG_SPEED
- level: 2
- probability: 0.2
- Efficiency 3:
- type: DIG_SPEED
- level: 3
- probability: 0.1
- Efficiency 4:
- type: DIG_SPEED
- level: 4
- probability: 0.05
- Efficiency 5:
- type: DIG_SPEED
- level: 5
- probability: 0.01
- Dye_Pink_Wool_Blue:
- name: Dye Pink Wool Blue
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Dye_Light_Gray_Wool_Cyan:
- name: Dye Light Gray Wool Cyan
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Dye_Pink_Wool_Magenta:
- name: Dye Pink Wool Magenta
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Dye_Light_Gray_Wool_Blue:
- name: Dye Light Gray Wool Blue
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Dye_White_Wool_Orange:
- name: Dye White Wool Orange
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Cooked_Beef:
- name: Cook Beef
- production_time: 6
- inputs:
- Raw Beef:
- material: RAW_BEEF
- amount: 64
- outputs:
- Cooked Beef:
- material: COOKED_BEEF
- amount: 128
- Cook_Salmon:
- name: Cook Salmon
- production_time: 6
- inputs:
- Raw Salmon:
- material: RAW_FISH
- amount: 64
- durability: 1
- outputs:
- Cooked Salmon:
- material: COOKED_FISH
- amount: 128
- durability: 1
- Produce_TNT:
- name: Produce TNT
- production_time: 128
- inputs:
- Sulphur:
- material: SULPHUR
- amount: 128
- Sand:
- material: SAND
- amount: 128
- outputs:
- TNT:
- material: TNT
- amount: 64
- Produce_Fire_Charges:
- name: Produce Fire Charges
- production_time: 128
- inputs:
- Sulphur:
- material: SULPHUR
- amount: 16
- Blaze Powder:
- material: BLAZE_POWDER
- amount: 16
+ IRON_CHESTPLATE_RANK_0:
+ name: Iron Chestplate Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Leather Chestplate:
+ material: LEATHER_CHESTPLATE
+ amount: 2
+ display_name: Leather Chestplate Rank 4
+ lore: Leather Chestplate Rank 4
outputs:
- Fire Charge:
- material: FIRE_CHARGE
- amount: 128
- Dye_White_Wool_Green:
- name: Dye White Wool Green
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 0
+ lore: Iron Chestplate Rank 0
+ IRON_CHESTPLATE_RANK_1:
+ name: Iron Chestplate Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 0
+ lore: Iron Chestplate Rank 0
outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Wood_XP_Bottle_3:
- name: Brew XP Bottles - 4
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 1
+ lore: Iron Chestplate Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ IRON_CHESTPLATE_RANK_2:
+ name: Iron Chestplate Forger Rank 2
+ production_time: 360
inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 8
- Cookie:
- material: COOKIE
- amount: 1280
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 1
+ lore: Iron Chestplate Rank 1
outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 8
- Iron_Chestplate:
- name: Forge Iron Chestplate.
- production_time: 40
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 2
+ lore: Iron Chestplate Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ IRON_CHESTPLATE_RANK_3:
+ name: Iron Chestplate Forger Rank 3
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 40
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 2
+ lore: Iron Chestplate Rank 2
outputs:
Iron Chestplate:
material: IRON_CHESTPLATE
- amount: 15
- Dye_Black_Wool_Red:
- name: Dye Black Wool Red
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
+ amount: 1
+ display_name: Iron Chestplate Rank 3
+ lore: Iron Chestplate Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ IRON_CHESTPLATE_RANK_4:
+ name: Iron Chestplate Forger Rank 4
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 3
+ lore: Iron Chestplate Rank 3
outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Gold_Leggings:
- name: Forge Gold Leggings.
- production_time: 35
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 35
- outputs:
- Gold Leggings:
- material: GOLD_LEGGINGS
- amount: 15
- durability: -218
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 1
+ display_name: Iron Chestplate Rank 4
+ lore: Iron Chestplate Rank 4
enchantments:
- Unbreaking 3:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Blast Protection 1:
- type: PROTECTION_EXPLOSIONS
+ IRON_HELMET_RANK_0:
+ name: Iron Helmet Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Leather Helmet:
+ material: LEATHER_HELMET
+ amount: 2
+ display_name: Leather Helmet Rank 4
+ lore: Leather Helmet Rank 4
+ outputs:
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 0
+ lore: Iron Helmet Rank 0
+ IRON_HELMET_RANK_1:
+ name: Iron Helmet Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 0
+ lore: Iron Helmet Rank 0
+ outputs:
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 1
+ lore: Iron Helmet Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 1
- probability: 0.5
- Blast Protection 2:
- type: PROTECTION_EXPLOSIONS
+ IRON_HELMET_RANK_2:
+ name: Iron Helmet Forger Rank 2
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 1
+ lore: Iron Helmet Rank 1
+ outputs:
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 2
+ lore: Iron Helmet Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 2
- probability: 0.4
- Blast Protection 3:
- type: PROTECTION_EXPLOSIONS
- level: 3
- probability: 0.3
- Blast Protection 4:
- type: PROTECTION_EXPLOSIONS
- level: 4
- probability: 0.4
- Fire Protection 1:
- type: PROTECTION_FIRE
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.5
- Fire Protection 2:
- type: PROTECTION_FIRE
- level: 2
- probability: 0.4
- Fire Protection 3:
- type: PROTECTION_FIRE
+ IRON_HELMET_RANK_3:
+ name: Iron Helmet Forger Rank 3
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 2
+ lore: Iron Helmet Rank 2
+ outputs:
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 3
+ lore: Iron Helmet Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
level: 3
- probability: 0.3
- Fire Protection 4:
- type: PROTECTION_FIRE
- level: 4
- probability: 0.4
- Projectile Protection 1:
- type: PROTECTION_PROJECTILE
- level: 1
- probability: 0.5
- Projectile Protection 2:
- type: PROTECTION_PROJECTILE
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Projectile Protection 3:
- type: PROTECTION_PROJECTILE
- level: 3
- probability: 0.3
- Projectile Protection 4:
- type: PROTECTION_PROJECTILE
- level: 4
- probability: 0.4
- Dye_White_Wool_Light_Gray:
- name: Dye White Wool Light Gray
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Dye_Gray_Wool_Green:
- name: Dye Gray Wool Green
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Diamond_Chestplate:
- name: Forge Diamond Chestplate.
- production_time: 40
+ IRON_HELMET_RANK_4:
+ name: Iron Helmet Forger Rank 4
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 40
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 3
+ lore: Iron Helmet Rank 3
outputs:
- Diamond Chestplate:
- material: DIAMOND_CHESTPLATE
- amount: 15
- Dye_Light_Gray_Wool_Magenta:
- name: Dye Light Gray Wool Magenta
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 1
+ display_name: Iron Helmet Rank 4
+ lore: Iron Helmet Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ IRON_LEGGINGS_RANK_0:
+ name: Iron Leggings Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Leather Leggings:
+ material: LEATHER_LEGGINGS
+ amount: 2
+ display_name: Leather Leggings Rank 4
+ lore: Leather Leggings Rank 4
outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Dye_Brown_Wool_Light_Gray:
- name: Dye Brown Wool Light Gray
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 0
+ lore: Iron Leggings Rank 0
+ IRON_LEGGINGS_RANK_1:
+ name: Iron Leggings Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 0
+ lore: Iron Leggings Rank 0
outputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Iron_Leggings:
- name: Forge Iron Leggings.
- production_time: 35
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 1
+ lore: Iron Leggings Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ IRON_LEGGINGS_RANK_2:
+ name: Iron Leggings Forger Rank 2
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 35
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 1
+ lore: Iron Leggings Rank 1
outputs:
Iron Leggings:
material: IRON_LEGGINGS
- amount: 15
- Diamond_XP_Bottle_1:
- name: Brew XP Bottles - 2
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 128
- Nether Wart:
- material: NETHER_STALK
- amount: 64
- Melon Block:
- material: MELON_BLOCK
- amount: 32
- Sugar Cane:
- material: SUGAR_CANE
- amount: 128
- Yellow Flower:
- material: YELLOW_FLOWER
- amount: 16
- Rotten Flesh:
- material: ROTTEN_FLESH
- amount: 128
- Brown Mushroom:
- material: BROWN_MUSHROOM
- amount: 64
- Vine:
- material: VINE
- amount: 32
- Baked Potato:
- material: BAKED_POTATO
- amount: 256
- Cooked Chicken:
- material: COOKED_CHICKEN
- amount: 16
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 128
- Diamond_XP_Bottle_2:
- name: Brew XP Bottles - 3
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 128
- Wheat:
- material: WHEAT
- amount: 128
- Cocoa:
- material: INK_SACK
- amount: 16
- durability: 3
- Pumpkin:
- material: PUMPKIN
- amount: 128
- Cactus:
- material: CACTUS
- amount: 256
- Red Rose:
- material: RED_ROSE
- amount: 8
- Spider Eye:
- material: SPIDER_EYE
- amount: 32
- Red Mushroom:
- material: RED_MUSHROOM
- amount: 16
- Grass:
- material: LONG_GRASS
- amount: 32
- durability: 1
- Cooked Fish:
- material: COOKED_FISH
- amount: 16
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 128
- Diamond_XP_Bottle_3:
- name: Brew XP Bottles - 4
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 128
- Nether Wart:
- material: NETHER_STALK
- amount: 64
- Pumpkin:
- material: PUMPKIN
- amount: 128
- Sugar Cane:
- material: SUGAR_CANE
- amount: 128
- Yellow Flower:
- material: YELLOW_FLOWER
- amount: 16
- Spider Eye:
- material: SPIDER_EYE
- amount: 32
- Brown Mushroom:
- material: BROWN_MUSHROOM
- amount: 64
- Grass:
- material: LONG_GRASS
- amount: 64
- durability: 1
- Cookie:
- material: COOKIE
- amount: 256
- Cooked Beef:
- material: COOKED_BEEF
- amount: 32
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 128
- Dye_White_Wool_Gray:
- name: Dye White Wool Gray
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Iron_Spade:
- name: Forge Iron Spade.
- production_time: 5
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 5
- outputs:
- Iron Spade:
- material: IRON_SPADE
- amount: 15
- Dye_Brown_Wool_Light_Blue:
- name: Dye Brown Wool Light Blue
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Dye_White_Wool_Lime:
- name: Dye White Wool Lime
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Dye_Black_Wool_Light_Gray:
- name: Dye Black Wool Light Gray
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Dye_White_Wool_Blue:
- name: Dye White Wool Blue
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Dye_Brown_Wool_White:
- name: Dye Brown Wool White
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Wool:
- material: WOOL
- amount: 64
- Dye_Pink_Wool_Purple:
- name: Dye Pink Wool Purple
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Dye_Pink_Wool_Cyan:
- name: Dye Pink Wool Cyan
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Wool:
- material: WOOL
- amount: 64
- durability: 9
- Dye_Light_Gray_Wool_Red:
- name: Dye Light Gray Wool Red
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Iron_Axe:
- name: Forge Iron Axe.
- production_time: 15
+ amount: 1
+ display_name: Iron Leggings Rank 2
+ lore: Iron Leggings Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ IRON_LEGGINGS_RANK_3:
+ name: Iron Leggings Forger Rank 3
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 15
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 2
+ lore: Iron Leggings Rank 2
outputs:
- Iron Axe:
- material: IRON_AXE
- amount: 30
- Bake_Cookie:
- name: Bake Cocoa
- production_time: 24
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 3
+ lore: Iron Leggings Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ IRON_LEGGINGS_RANK_4:
+ name: Iron Leggings Forger Rank 4
+ production_time: 360
inputs:
- Wheat:
- material: WHEAT
- amount: 256
- Cocoa:
- material: INK_SACK
- amount: 128
- durability: 3
- outputs:
- Cookie:
- material: COOKIE
- amount: 2048
- Dye_White_Wool_Light_Blue:
- name: Dye White Wool Light Blue
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Dye_White_Wool_Yellow:
- name: Dye White Wool Yellow
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Dye_Light_Gray_Wool_White:
- name: Dye Light Gray Wool White
- inputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 3
+ lore: Iron Leggings Rank 3
outputs:
- White Wool:
- material: WOOL
- amount: 64
- Bake_Bread:
- name: Bake Wheat
- production_time: 24
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 1
+ display_name: Iron Leggings Rank 4
+ lore: Iron Leggings Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_BOOTS_RANK_0:
+ name: Diamond Boots Forger Rank 0
+ production_time: 360
inputs:
- Wheat:
- material: WHEAT
- amount: 384
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Boots:
+ material: IRON_BOOTS
+ amount: 2
+ display_name: Iron Boots Rank 4
+ lore: Iron Boots Rank 4
outputs:
- Bread:
- material: BREAD
- amount: 256
- Bake_Cake:
- name: Bake Cake
- production_time: 24
- inputs:
- Sugar:
- material: SUGAR
- amount: 36
- Egg:
- material: EGG
- amount: 13
- Wheat:
- material: WHEAT
- amount: 54
- Milk Bucket:
- material: MILK_BUCKET
- amount: 18
- Bake_Pumpkin_Pie:
- name: Bake Pumpkin Pie
- production_time: 24
- inputs:
- Sugar:
- material: SUGAR
- amount: 192
- Egg:
- material: EGG
- amount: 192
- Pumpkin:
- material: PUMPKIN
- amount: 192
- outputs:
- Pumpkin_Pie:
- material: PUMPKIN_PIE
- amount: 256
- Smelt_Glass:
- name: Smelt Glass
- production_time: 48
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 0
+ lore: Diamond Boots Rank 0
+ DIAMOND_BOOTS_RANK_1:
+ name: Diamond Boots Forger Rank 1
+ production_time: 360
inputs:
- Sand:
- material: SAND
- amount: 256
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 0
+ lore: Diamond Boots Rank 0
outputs:
- Glass:
- material: GLASS
- amount: 768
- Smelt_Nether_bricks:
- name: Smelt Nether bricks
- production_time: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 1
+ lore: Diamond Boots Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ DIAMOND_BOOTS_RANK_2:
+ name: Diamond Boots Forger Rank 2
+ production_time: 360
inputs:
- Netherrack:
- material: NETHERRACK
- amount: 512
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 1
+ lore: Diamond Boots Rank 1
outputs:
- Nether bricks:
- material: NETHER_BRICK_ITEM
- amount: 1024
- Bake_clay_blocks:
- name: Bake Clay Blocks
- production_time: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 2
+ lore: Diamond Boots Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_BOOTS_RANK_3:
+ name: Diamond Boots Forger Rank 3
+ production_time: 360
inputs:
- Clay:
- material: CLAY
- amount: 512
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 2
+ lore: Diamond Boots Rank 2
outputs:
- Hardened Clay:
- material: HARD_CLAY
- amount: 1024
- Bake_bricks:
- name: Bake Bricks
- production_time: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 3
+ lore: Diamond Boots Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_BOOTS_RANK_4:
+ name: Diamond Boots Forger Rank 4
+ production_time: 360
inputs:
- Clay:
- material: CLAY_BALL
- amount: 512
- outputs:
- Bricks:
- material: CLAY_BRICK
- amount: 1024
- Bake_pots:
- name: Bake Flowerpots
- production_time: 5
- inputs:
- Clay:
- material: CLAY_BALL
- amount: 64
- outputs:
- Flower Pots:
- material: FLOWER_POT
- amount: 64
- Smelt_Sandstone:
- name: Smelt Sandstone
- production_time: 32
- inputs:
- Sand:
- material: SAND
- amount: 512
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 3
+ lore: Diamond Boots Rank 3
outputs:
- Sandstone:
- material: SANDSTONE
- amount: 384
- Smelt_Glass_Panes:
- name: Smelt Glass Panes
- production_time: 32
- inputs:
- Sand:
- material: GLASS
- amount: 192
- outputs:
- Glass Pane:
- material: GLASS_PANE
- amount: 768
- Smelt_Bottles:
- name: Smelt Bottles
- production_time: 64
+ Diamond Boots:
+ material: DIAMOND_BOOTS
+ amount: 1
+ display_name: Diamond Boots Rank 4
+ lore: Diamond Boots Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_CHESTPLATE_RANK_0:
+ name: Diamond Chestplate Forger Rank 0
+ production_time: 360
inputs:
- Sand:
- material: SAND
- amount: 256
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Chestplate:
+ material: IRON_CHESTPLATE
+ amount: 2
+ display_name: Iron Chestplate Rank 4
+ lore: Iron Chestplate Rank 4
outputs:
- Bottle:
- material: GLASS_BOTTLE
- amount: 768
- Smelt_Red_Sand:
- name: Smelt Red Sand
- production_time: 16
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 0
+ lore: Diamond Chestplate Rank 0
+ DIAMOND_CHESTPLATE_RANK_1:
+ name: Diamond Chestplate Forger Rank 1
+ production_time: 360
inputs:
- Sand:
- material: SAND
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 0
+ lore: Diamond Chestplate Rank 0
outputs:
- Red Sand:
- material: SAND
- amount: 64
- durability: 1
- Smelt_Glass_From_Sandstone:
- name: Smelt Glass From Sandstone
- production_time: 32
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 1
+ lore: Diamond Chestplate Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ DIAMOND_CHESTPLATE_RANK_2:
+ name: Diamond Chestplate Forger Rank 2
+ production_time: 360
inputs:
- Sandstone:
- material: SANDSTONE
- amount: 512
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 1
+ lore: Diamond Chestplate Rank 1
outputs:
- Glass:
- material: GLASS
- amount: 768
- production_time: 6
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 2
+ lore: Diamond Chestplate Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_CHESTPLATE_RANK_3:
+ name: Diamond Chestplate Forger Rank 3
+ production_time: 360
inputs:
- Lapis Ore:
- material: LAPIS_ORE
- amount: 32
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 2
+ lore: Diamond Chestplate Rank 2
outputs:
- Lapis Lazuli:
- material: INK_SACK
- amount: 512
- durability: 4
- Smelt_Redstone_Ore:
- name: Smelt Redstone Ore
- production_time: 16
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 3
+ lore: Diamond Chestplate Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_CHESTPLATE_RANK_4:
+ name: Diamond Chestplate Forger Rank 4
+ production_time: 360
inputs:
- Redstone Ore:
- material: REDSTONE_ORE
- amount: 128
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 3
+ lore: Diamond Chestplate Rank 3
outputs:
- Redstone:
- material: REDSTONE
- amount: 1024
- Smelt_Netherquartz_Ore:
- name: Smelt Netherquartz ore
- production_time: 6
+ Diamond Chestplate:
+ material: DIAMOND_CHESTPLATE
+ amount: 1
+ display_name: Diamond Chestplate Rank 4
+ lore: Diamond Chestplate Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_HELMET_RANK_0:
+ name: Diamond Helmet Forger Rank 0
+ production_time: 360
inputs:
- Netherquartz ore:
- material: QUARTZ_ORE
- amount: 64
- outputs:
- Quartz:
- material: QUARTZ
- amount: 192
- Dye_Brown_Wool_Gray:
- name: Dye Brown Wool Gray
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Helmet:
+ material: IRON_HELMET
+ amount: 2
+ display_name: Iron Helmet Rank 4
+ lore: Iron Helmet Rank 4
outputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Diamond_Helmet:
- name: Forge Diamond Helmet.
- production_time: 25
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 0
+ lore: Diamond Helmet Rank 0
+ DIAMOND_HELMET_RANK_1:
+ name: Diamond Helmet Forger Rank 1
+ production_time: 360
inputs:
Diamond:
- material: DIAMOND
- amount: 25
+ material: DIAMOND
+ amount: 32
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 0
+ lore: Diamond Helmet Rank 0
outputs:
Diamond Helmet:
material: DIAMOND_HELMET
- amount: 15
- Produce_Rail:
- name: Produce Rails
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 128
- Stick:
- material: STICK
- amount: 16
+ amount: 1
+ display_name: Diamond Helmet Rank 1
+ lore: Diamond Helmet Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ DIAMOND_HELMET_RANK_2:
+ name: Diamond Helmet Forger Rank 2
+ production_time: 360
+ inputs:
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 1
+ lore: Diamond Helmet Rank 1
outputs:
- Rail:
- material: RAILS
- amount: 576
- Produce_Redstone_Torches:
- name: Produce Redstone Torches
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 2
+ lore: Diamond Helmet Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_HELMET_RANK_3:
+ name: Diamond Helmet Forger Rank 3
+ production_time: 360
inputs:
- Redstone:
- material: REDSTONE
- amount: 128
- Stick:
- material: STICK
- amount: 128
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 2
+ lore: Diamond Helmet Rank 2
outputs:
- Redstone Torches:
- material: REDSTONE_TORCH_ON
- amount: 256
- Produce_Repeaters:
- name: Produce Repeaters
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 3
+ lore: Diamond Helmet Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_HELMET_RANK_4:
+ name: Diamond Helmet Forger Rank 4
+ production_time: 360
inputs:
- Redstone:
- material: REDSTONE
- amount: 128
- Stone:
- material: STONE
- amount: 128
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 3
+ lore: Diamond Helmet Rank 3
outputs:
- Redstone Torches:
- material: DIODE
- amount: 96
- Produce_Comparators:
- name: Produce Comparators
+ Diamond Helmet:
+ material: DIAMOND_HELMET
+ amount: 1
+ display_name: Diamond Helmet Rank 4
+ lore: Diamond Helmet Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_LEGGINGS_RANK_0:
+ name: Diamond Leggings Forger Rank 0
+ production_time: 360
inputs:
- Redstone:
- material: REDSTONE
- amount: 32
- Stone:
- material: STONE
- amount: 128
- Netherquartz:
- material: QUARTZ
- amount: 24
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Leggings:
+ material: IRON_LEGGINGS
+ amount: 2
+ display_name: Iron Leggings Rank 4
+ lore: Iron Leggings Rank 4
outputs:
- Comparators:
- material: REDSTONE_COMPARATOR
- amount: 32
- Produce_Daylight_Sensors:
- name: Produce Daylight Sensors
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 0
+ lore: Diamond Leggings Rank 0
+ DIAMOND_LEGGINGS_RANK_1:
+ name: Diamond Leggings Forger Rank 1
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 4
- Glass:
- material: GLASS
- amount: 64
- Netherquartz:
- material: QUARTZ
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 0
+ lore: Diamond Leggings Rank 0
outputs:
- Daylight sensors:
- material: DAYLIGHT_DETECTOR
- amount: 32
- Produce_Noteblocks:
- name: Produce Noteblocks
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 1
+ lore: Diamond Leggings Rank 1
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 1
+ DIAMOND_LEGGINGS_RANK_2:
+ name: Diamond Leggings Forger Rank 2
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 48
- Redstone:
- material: REDSTONE
- amount: 32
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 1
+ lore: Diamond Leggings Rank 1
outputs:
- Noteblocks:
- material: NOTE_BLOCK
- amount: 64
- Produce_Dispensers:
- name: Produce Dispensers
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 2
+ lore: Diamond Leggings Rank 2
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_LEGGINGS_RANK_3:
+ name: Diamond Leggings Forger Rank 3
+ production_time: 360
inputs:
- Cobblestone:
- material: COBBLESTONE
- amount: 320
- Redstone:
- material: REDSTONE
- amount: 32
- String:
- material: STRING
- amount: 128
- Chest:
- material: CHEST
- amount: 4
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 2
+ lore: Diamond Leggings Rank 2
outputs:
- Dispensers:
- material: DISPENSER
- amount: 64
- Produce_Redstone_lamps:
- name: Produce Redstone lamps
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 3
+ lore: Diamond Leggings Rank 3
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_LEGGINGS_RANK_4:
+ name: Diamond Leggings Forger Rank 4
+ production_time: 360
inputs:
- Glowstone:
- material: GLOWSTONE
- amount: 128
- Redstone:
- material: REDSTONE
- amount: 256
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 3
+ lore: Diamond Leggings Rank 3
outputs:
- Redstone lamps:
- material: REDSTONE_LAMP_OFF
- amount: 128
- Produce_Pistons:
- name: Produce Pistons
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 128
- Chest:
- material: CHEST
- amount: 32
- Cobblestone:
- material: COBBLESTONE
- amount: 320
- Redstone:
- material: REDSTONE
- amount: 48
+ Diamond Leggings:
+ material: DIAMOND_LEGGINGS
+ amount: 1
+ display_name: Diamond Leggings Rank 4
+ lore: Diamond Leggings Rank 4
+ enchantments:
+ Protection:
+ type: PROTECTION_ENVIRONMENTAL
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ STONE_SWORD_RANK_0:
+ name: Stone Sword Forger Rank 0
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
outputs:
- Pistons:
- material: PISTON_BASE
- amount: 128
- Produce_Sticky_Pistons:
- name: Produce Sticky Pistons
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 0
+ lore: Stone Sword Rank 0
+ STONE_SWORD_RANK_1:
+ name: Stone Sword Forger Rank 1
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 32
- Chest:
- material: CHEST
- amount: 8
- Redstone:
- material: REDSTONE
- amount: 12
- Slime Ball:
- material: SLIME_BALL
- amount: 16
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 0
+ lore: Stone Sword Rank 0
+ outputs:
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 1
+ lore: Stone Sword Rank 1
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 1
+ STONE_SWORD_RANK_2:
+ name: Stone Sword Forger Rank 2
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 1
+ lore: Stone Sword Rank 1
+ outputs:
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 2
+ lore: Stone Sword Rank 2
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 2
+ STONE_SWORD_RANK_3:
+ name: Stone Sword Forger Rank 3
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 2
+ lore: Stone Sword Rank 2
+ outputs:
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 3
+ lore: Stone Sword Rank 3
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 3
+ STONE_SWORD_RANK_4:
+ name: Stone Sword Forger Rank 4
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 3
+ lore: Stone Sword Rank 3
+ outputs:
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 4
+ lore: Stone Sword Rank 4
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 4
+ STONE_SWORD_RANK_5:
+ name: Stone Sword Forger Rank 5
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 4
+ lore: Stone Sword Rank 4
+ outputs:
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 1
+ display_name: Stone Sword Rank 5
+ lore: Stone Sword Rank 5
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 5
+ IRON_SWORD_RANK_0:
+ name: Iron Sword Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Stone Sword:
+ material: STONE_SWORD
+ amount: 2
+ display_name: Stone Sword Rank 4
+ lore: Stone Sword Rank 4
+ outputs:
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 0
+ lore: Iron Sword Rank 0
+ IRON_SWORD_RANK_1:
+ name: Iron Sword Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 0
+ lore: Iron Sword Rank 0
outputs:
- Pistons:
- material: PISTON_STICKY_BASE
- amount: 32
- Produce_Jukeboxes:
- name: Produce Jukeboxes
- production_time: 16
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 1
+ lore: Iron Sword Rank 1
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 1
+ IRON_SWORD_RANK_2:
+ name: Iron Sword Forger Rank 2
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 32
- Diamond:
- material: DIAMOND
- amount: 48
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 1
+ lore: Iron Sword Rank 1
outputs:
- Jukebox:
- material: JUKEBOX
- amount: 64
- Produce_Hoppers:
- name: Produce_Hoppers
- production_time: 16
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 2
+ lore: Iron Sword Rank 2
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 2
+ IRON_SWORD_RANK_3:
+ name: Iron Sword Forger Rank 3
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 32
- Iron Ingot:
- material: IRON_INGOT
- amount: 192
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 2
+ lore: Iron Sword Rank 2
outputs:
- Hopper:
- material: HOPPER
- amount: 64
- Smelt_Gold_Ore:
- name: Smelt Gold Ore
- production_time: 3
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 3
+ lore: Iron Sword Rank 3
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 3
+ IRON_SWORD_RANK_4:
+ name: Iron Sword Forger Rank 4
+ production_time: 360
inputs:
- Gold Ore:
- material: GOLD_ORE
- amount: 32
- outputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 224
- Dye_Gray_Wool_Brown:
- name: Dye Gray Wool Brown
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Cocoa:
- material: INK_SACK
- amount: 4
- durability: 3
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 3
+ lore: Iron Sword Rank 3
outputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Iron_Pickaxe:
- name: Forge Iron Pickaxe.
- production_time: 15
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 4
+ lore: Iron Sword Rank 4
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 4
+ IRON_SWORD_RANK_5:
+ name: Iron Sword Forger Rank 5
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 15
- outputs:
- Iron Pickaxe:
- material: IRON_PICKAXE
- amount: 15
- Dye_Black_Wool_Pink:
- name: Dye Black Wool Pink
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dye_Gray_Wool_Orange:
- name: Dye Gray Wool Orange
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 4
+ lore: Iron Sword Rank 4
outputs:
- Orange Wool:
- material: WOOL
- amount: 64
- durability: 1
- Smelt_Cracked_Stone_Brick:
- name: Smelt Cracked Stone Brick
- production_time: 64
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 1
+ display_name: Iron Sword Rank 5
+ lore: Iron Sword Rank 5
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 5
+ DIAMOND_SWORD_RANK_0:
+ name: Diamond Sword Forger Rank 0
+ production_time: 360
inputs:
- Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 32
- durability: 4
- Flint:
- material: FLINT
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Sword:
+ material: IRON_SWORD
+ amount: 2
+ display_name: Iron Sword Rank 4
+ lore: Iron Sword Rank 4
outputs:
- Cracked Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- durability: 2
- Iron_XP_Bottle_0:
- name: Brew XP Bottles - 1
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 0
+ lore: Diamond Sword Rank 0
+ DIAMOND_SWORD_RANK_1:
+ name: Diamond Sword Forger Rank 1
+ production_time: 360
inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 24
- Carrot:
- material: CARROT_ITEM
- amount: 256
- Cactus:
- material: CACTUS
- amount: 256
- Bread:
- material: BREAD
- amount: 256
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 24
- Iron_XP_Bottle_3:
- name: Brew XP Bottles - 4
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 42
- Nether Wart:
- material: NETHER_STALK
- amount: 256
- Melon Block:
- material: MELON_BLOCK
- amount: 64
- Sugar Cane:
- material: SUGAR_CANE
- amount: 64
- Cookie:
- material: COOKIE
- amount: 512
- Baked Potato:
- material: BAKED_POTATO
- amount: 64
- Grilled Pork:
- material: GRILLED_PORK
- amount: 64
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 42
- Iron_XP_Bottle_2:
- name: Brew XP Bottles - 3
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 42
- Carrot:
- material: CARROT_ITEM
- amount: 128
- Cocoa:
- material: INK_SACK
- amount: 64
- durability: 3
- Pumpkin:
- material: PUMPKIN
- amount: 64
- Cactus:
- material: CACTUS
- amount: 64
- Bread:
- material: BREAD
- amount: 64
- Cooked Beef:
- material: COOKED_BEEF
- amount: 32
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 0
+ lore: Diamond Sword Rank 0
outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 42
- Diamond_Leggings:
- name: Forge Diamond Leggings.
- production_time: 35
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 1
+ lore: Diamond Sword Rank 1
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 1
+ DIAMOND_SWORD_RANK_2:
+ name: Diamond Sword Forger Rank 2
+ production_time: 360
inputs:
Diamond:
- material: DIAMOND
- amount: 35
- outputs:
- Diamond Leggings:
- material: DIAMOND_LEGGINGS
- amount: 15
- Dye_Gray_Wool_Red:
- name: Dye Gray Wool Red
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Dye_Pink_Wool_Light_Gray:
- name: Dye Pink Wool Light Gray
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
+ material: DIAMOND
+ amount: 32
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 1
+ lore: Diamond Sword Rank 1
outputs:
- Light Gray Wool:
- material: WOOL
- amount: 64
- durability: 8
- Iron_Sword:
- name: Forge Iron Sword.
- production_time: 10
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 2
+ lore: Diamond Sword Rank 2
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 2
+ DIAMOND_SWORD_RANK_3:
+ name: Diamond Sword Forger Rank 3
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 10
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 2
+ lore: Diamond Sword Rank 2
outputs:
- Iron Sword:
- material: IRON_SWORD
- amount: 15
- Dye_Gray_Wool_Purple:
- name: Dye Gray Wool Purple
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Dye_Black_Wool_Green:
- name: Dye Black Wool Green
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 3
+ lore: Diamond Sword Rank 3
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 3
+ DIAMOND_SWORD_RANK_4:
+ name: Diamond Sword Forger Rank 4
+ production_time: 360
+ inputs:
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 3
+ lore: Diamond Sword Rank 3
outputs:
- Green Wool:
- material: WOOL
- amount: 64
- durability: 13
- Dye_Brown_Wool_Red:
- name: Dye Brown Wool Red
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 4
+ lore: Diamond Sword Rank 4
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 4
+ DIAMOND_SWORD_RANK_5:
+ name: Diamond Sword Forger Rank 5
+ production_time: 360
+ inputs:
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 4
+ lore: Diamond Sword Rank 4
outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Dye_Pink_Wool_Light_Blue:
- name: Dye Pink Wool Light Blue
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
+ Diamond Sword:
+ material: DIAMOND_SWORD
+ amount: 1
+ display_name: Diamond Sword Rank 5
+ lore: Diamond Sword Rank 5
+ enchantments:
+ Sharpness:
+ type: DAMAGE_ALL
+ level: 5
+ OBSIDIAN_GENERATOR:
+ name: Obsidian Generator
+ production_time: 300
+ inputs:
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Gold_Hoe:
- name: Forge Gold Hoe.
- production_time: 10
+ Obsidian:
+ material: OBSIDIAN
+ amount: 3200
+ STONE_PICKAXE_RANK_0:
+ name: Stone Pickaxe Forger Rank 0
+ production_time: 360
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 10
+ Stone:
+ material: STONE
+ amount: 32
outputs:
- Gold Hoe:
- material: GOLD_HOE
- amount: 30
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 0
+ lore: Stone Pickaxe Rank 0
+ STONE_PICKAXE_RANK_1:
+ name: Stone Pickaxe Forger Rank 1
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 0
+ lore: Stone Pickaxe Rank 0
+ outputs:
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 1
+ lore: Stone Pickaxe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ STONE_PICKAXE_RANK_2:
+ name: Stone Pickaxe Forger Rank 2
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 1
+ lore: Stone Pickaxe Rank 1
+ outputs:
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 2
+ lore: Stone Pickaxe Rank 2
enchantments:
- Unbreaking 3:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
type: DURABILITY
+ level: 1
+ STONE_PICKAXE_RANK_3:
+ name: Stone Pickaxe Forger Rank 3
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 2
+ lore: Stone Pickaxe Rank 2
+ outputs:
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 3
+ lore: Stone Pickaxe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 3
- Gold_Sword:
- name: Forge Gold Sword.
- production_time: 10
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ STONE_PICKAXE_RANK_4:
+ name: Stone Pickaxe Forger Rank 4
+ production_time: 360
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 10
- outputs:
- Gold Sword:
- material: GOLD_SWORD
- amount: 15
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 3
+ lore: Stone Pickaxe Rank 3
+ outputs:
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 1
+ display_name: Stone Pickaxe Rank 4
+ lore: Stone Pickaxe Rank 4
enchantments:
- Unbreaking 3:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Bane of the Anthropods 1:
- type: DAMAGE_ARTHROPODS
+ STONE_AXE_RANK_0:
+ name: Stone Axe Forger Rank 0
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ outputs:
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 0
+ lore: Stone Axe Rank 0
+ STONE_AXE_RANK_1:
+ name: Stone Axe Forger Rank 1
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 0
+ lore: Stone Axe Rank 0
+ outputs:
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 1
+ lore: Stone Axe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 1
- probability: 0.4
- Bane of the Anthropods 2:
- type: DAMAGE_ARTHROPODS
+ STONE_AXE_RANK_2:
+ name: Stone Axe Forger Rank 2
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 1
+ lore: Stone Axe Rank 1
+ outputs:
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 2
+ lore: Stone Axe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 2
- probability: 0.3
- Bane of the Anthropods 3:
- type: DAMAGE_ARTHROPODS
- level: 3
- probability: 0.2
- Bane of the Anthropods 4:
- type: DAMAGE_ARTHROPODS
- level: 4
- probability: 0.1
- Bane of the Anthropods 5:
- type: DAMAGE_ARTHROPODS
- level: 5
- probability: 0.3
- Smite 1:
- type: DAMAGE_UNDEAD
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.4
- Smite 2:
- type: DAMAGE_UNDEAD
- level: 2
- probability: 0.3
- Smite 3:
- type: DAMAGE_UNDEAD
+ STONE_AXE_RANK_3:
+ name: Stone Axe Forger Rank 3
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 2
+ lore: Stone Axe Rank 2
+ outputs:
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 3
+ lore: Stone Axe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 3
- probability: 0.2
- Smite 4:
- type: DAMAGE_UNDEAD
- level: 4
- probability: 0.1
- Smite 5:
- type: DAMAGE_UNDEAD
- level: 5
- probability: 0.05
- Looting 1:
- type: LOOT_BONUS_MOBS
- level: 1
- probability: 0.5
- Looting 2:
- type: LOOT_BONUS_MOBS
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Looting 3:
- type: LOOT_BONUS_MOBS
- level: 3
- probability: 0.3
- Smelt_Chiseled_Stone_Brick:
- name: Smelt Chiseled Stone Brick
- production_time: 64
+ STONE_AXE_RANK_4:
+ name: Stone Axe Forger Rank 4
+ production_time: 360
inputs:
- Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 32
- durability: 4
- Gravel:
- material: GRAVEL
- amount: 64
- outputs:
- Chiseled Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- durability: 3
- Diamond_Pickaxe:
- name: Forge Diamond Pickaxe.
- production_time: 15
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 3
+ lore: Stone Axe Rank 3
+ outputs:
+ Stone Axe:
+ material: STONE_AXE
+ amount: 1
+ display_name: Stone Axe Rank 4
+ lore: Stone Axe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ STONE_SHOVEL_RANK_0:
+ name: Stone Shovel Forger Rank 0
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 15
+ Stone:
+ material: STONE
+ amount: 32
outputs:
- Diamond Pickaxe:
- material: DIAMOND_PICKAXE
- amount: 15
- Smelt_Mossy_Stone_Brick:
- name: Smelt Mossy Stone Brick
- production_time: 64
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 0
+ lore: Stone Shovel Rank 0
+ STONE_SHOVEL_RANK_1:
+ name: Stone Shovel Forger Rank 1
+ production_time: 360
inputs:
- Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 32
- durability: 4
- Vine:
- material: VINE
- amount: 64
- outputs:
- Mossy Stone Brick:
- material: SMOOTH_BRICK
- amount: 64
- durability: 1
- Dye_White_Wool_Magenta:
- name: Dye White Wool Magenta
- inputs:
- White Wool:
- material: WOOL
- amount: 64
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Iron_Hoe:
- name: Forge Iron Hoe.
- production_time: 10
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 0
+ lore: Stone Shovel Rank 0
+ outputs:
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 1
+ lore: Stone Shovel Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ STONE_SHOVEL_RANK_2:
+ name: Stone Shovel Forger Rank 2
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 10
- outputs:
- Iron Hoe:
- material: IRON_HOE
- amount: 30
- Wood_XP_Bottle_1:
- name: Brew XP Bottles - 2
- inputs:
- Glass Bottle:
- material: GLASS_BOTTLE
- amount: 10
- Nether Wart:
- material: NETHER_STALK
- amount: 1280
- outputs:
- Exp Bottle:
- material: EXP_BOTTLE
- amount: 10
- Dye_Pink_Wool_Gray:
- name: Dye Pink Wool Gray
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Dye_Pink_Wool_Red:
- name: Dye Pink Wool Red
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Wool:
- material: WOOL
- amount: 64
- durability: 14
- Dye_Black_Wool_Purple:
- name: Dye Black Wool Purple
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Wool:
- material: WOOL
- amount: 64
- durability: 10
- Dye_Gray_Wool_Light_Blue:
- name: Dye Gray Wool Light Blue
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Smelt_Coal:
- name: Burn Coal
- production_time: 24
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 1
+ lore: Stone Shovel Rank 1
+ outputs:
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 2
+ lore: Stone Shovel Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ STONE_SHOVEL_RANK_3:
+ name: Stone Shovel Forger Rank 3
+ production_time: 360
inputs:
- Coal:
- material: COAL
- amount: 256
- outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Gold_Axe:
- name: Forge Gold Axe.
- production_time: 15
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 2
+ lore: Stone Shovel Rank 2
+ outputs:
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 3
+ lore: Stone Shovel Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ STONE_SHOVEL_RANK_4:
+ name: Stone Shovel Forger Rank 4
+ production_time: 360
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 15
- outputs:
- Gold Axe:
- material: GOLD_AXE
- amount: 30
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 3
+ lore: Stone Shovel Rank 3
+ outputs:
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 1
+ display_name: Stone Shovel Rank 4
+ lore: Stone Shovel Rank 4
enchantments:
- Unbreaking 3:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Silk Touch 1:
- type: SILK_TOUCH
- level: 1
- probability: 0.1
- Efficiency 1:
+ STONE_HOE_RANK_0:
+ name: Stone Hoe Forger Rank 0
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ outputs:
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 0
+ lore: Stone Hoe Rank 0
+ STONE_HOE_RANK_1:
+ name: Stone Hoe Forger Rank 1
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 0
+ lore: Stone Hoe Rank 0
+ outputs:
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 1
+ lore: Stone Hoe Rank 1
+ enchantments:
+ Efficiency:
type: DIG_SPEED
level: 1
- probability: 0.3
- Efficiency 2:
+ STONE_HOE_RANK_2:
+ name: Stone Hoe Forger Rank 2
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 1
+ lore: Stone Hoe Rank 1
+ outputs:
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 2
+ lore: Stone Hoe Rank 2
+ enchantments:
+ Efficiency:
type: DIG_SPEED
level: 2
- probability: 0.2
- Efficiency 3:
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ STONE_HOE_RANK_3:
+ name: Stone Hoe Forger Rank 3
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 2
+ lore: Stone Hoe Rank 2
+ outputs:
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 3
+ lore: Stone Hoe Rank 3
+ enchantments:
+ Efficiency:
type: DIG_SPEED
level: 3
- probability: 0.1
- Efficiency 4:
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ STONE_HOE_RANK_4:
+ name: Stone Hoe Forger Rank 4
+ production_time: 360
+ inputs:
+ Stone:
+ material: STONE
+ amount: 32
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 3
+ lore: Stone Hoe Rank 3
+ outputs:
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 1
+ display_name: Stone Hoe Rank 4
+ lore: Stone Hoe Rank 4
+ enchantments:
+ Efficiency:
type: DIG_SPEED
level: 4
- probability: 0.05
- Efficiency 5:
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ IRON_PICKAXE_RANK_0:
+ name: Iron Pickaxe Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Stone Pickaxe:
+ material: STONE_PICKAXE
+ amount: 2
+ display_name: Stone Pickaxe Rank 4
+ lore: Stone Pickaxe Rank 4
+ outputs:
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 0
+ lore: Iron Pickaxe Rank 0
+ IRON_PICKAXE_RANK_1:
+ name: Iron Pickaxe Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 0
+ lore: Iron Pickaxe Rank 0
+ outputs:
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 1
+ lore: Iron Pickaxe Rank 1
+ enchantments:
+ Efficiency:
type: DIG_SPEED
- level: 5
- probability: 0.01
- Bane of the Anthropods 1:
- type: DAMAGE_ARTHROPODS
level: 1
- probability: 0.4
- Bane of the Anthropods 2:
- type: DAMAGE_ARTHROPODS
+ IRON_PICKAXE_RANK_2:
+ name: Iron Pickaxe Forger Rank 2
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 1
+ lore: Iron Pickaxe Rank 1
+ outputs:
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 2
+ lore: Iron Pickaxe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 2
- probability: 0.3
- Bane of the Anthropods 3:
- type: DAMAGE_ARTHROPODS
- level: 3
- probability: 0.2
- Bane of the Anthropods 4:
- type: DAMAGE_ARTHROPODS
- level: 4
- probability: 0.1
- Bane of the Anthropods 5:
- type: DAMAGE_ARTHROPODS
- level: 5
- probability: 0.3
- Smite 1:
- type: DAMAGE_UNDEAD
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.4
- Smite 2:
- type: DAMAGE_UNDEAD
- level: 2
- probability: 0.3
- Smite 3:
- type: DAMAGE_UNDEAD
+ IRON_PICKAXE_RANK_3:
+ name: Iron Pickaxe Forger Rank 3
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 2
+ lore: Iron Pickaxe Rank 2
+ outputs:
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 3
+ lore: Iron Pickaxe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 3
- probability: 0.2
- Smite 4:
- type: DAMAGE_UNDEAD
- level: 4
- probability: 0.1
- Smite 5:
- type: DAMAGE_UNDEAD
- level: 5
- probability: 0.05
- Looting 1:
- type: LOOT_BONUS_MOBS
- level: 1
- probability: 0.5
- Looting 2:
- type: LOOT_BONUS_MOBS
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Looting 3:
- type: LOOT_BONUS_MOBS
- level: 3
- probability: 0.3
- Cooked_Fish:
- name: Grill Raw Fish
- production_time: 6
- inputs:
- Raw Fish:
- material: RAW_FISH
- amount: 64
- outputs:
- Cooked Fish:
- material: COOKED_FISH
- amount: 128
- Dye_Pink_Wool_Black:
- name: Dye Pink Wool Black
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Ink Sack:
- material: INK_SACK
- amount: 4
- outputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Diamond_Spade:
- name: Forge Diamond Spade.
- production_time: 5
+ IRON_PICKAXE_RANK_4:
+ name: Iron Pickaxe Forger Rank 4
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 5
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 3
+ lore: Iron Pickaxe Rank 3
outputs:
- Diamond Spade:
- material: DIAMOND_SPADE
- amount: 15
- Dye_Pink_Wool_Yellow:
- name: Dye Pink Wool Yellow
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Smelt_Iron_Ore:
- name: Smelt Iron Ore
- production_time: 12
- inputs:
- Iron Ore:
- material: IRON_ORE
- amount: 128
- outputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 224
- Produce_Powered_Rail:
- name: Produce Powered Rails
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 72
- Redstone:
- material: REDSTONE
- amount: 8
- Stick:
- material: STICK
- amount: 8
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 1
+ display_name: Iron Pickaxe Rank 4
+ lore: Iron Pickaxe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ IRON_AXE_RANK_0:
+ name: Iron Axe Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Stone Axe:
+ material: STONE_AXE
+ amount: 2
+ display_name: Stone Axe Rank 4
+ lore: Stone Axe Rank 4
outputs:
- Powered Rail:
- material: POWERED_RAIL
- amount: 128
- Produce_Detector_Rail:
- name: Produce Detector Rails
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 18
- Redstone:
- material: REDSTONE
- amount: 2
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 0
+ lore: Iron Axe Rank 0
+ IRON_AXE_RANK_1:
+ name: Iron Axe Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 0
+ lore: Iron Axe Rank 0
outputs:
- Detector Rail:
- material: DETECTOR_RAIL
- amount: 32
- Produce_Activator_Rail:
- name: Produce Activator Rails
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 1
+ lore: Iron Axe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ IRON_AXE_RANK_2:
+ name: Iron Axe Forger Rank 2
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 18
- Redstone:
- material: REDSTONE
- amount: 2
- Stick:
- material: STICK
- amount: 8
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 1
+ lore: Iron Axe Rank 1
outputs:
- Activator Rail:
- material: ACTIVATOR_RAIL
- amount: 32
- Produce_Minecarts:
- name: Produce Minecarts
- production_time: 16
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 64
- outputs:
- Minecart:
- material: MINECART
- amount: 27
- Gold_Helmet:
- name: Forge Gold Helmet.
- production_time: 25
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 25
- outputs:
- Gold Helmet:
- material: GOLD_HELMET
- amount: 15
- durability: -218
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 2
+ lore: Iron Axe Rank 2
enchantments:
- Unbreaking 3:
- type: DURABILITY
- level: 3
- Respiration 1:
- type: OXYGEN
- level: 1
- probability: 0.5
- Respiration 2:
- type: OXYGEN
- level: 2
- probability: 0.4
- Respiration 3:
- type: OXYGEN
- level: 3
- probability: 0.3
- Blast Protection 1:
- type: PROTECTION_EXPLOSIONS
- level: 1
- probability: 0.5
- Blast Protection 2:
- type: PROTECTION_EXPLOSIONS
+ Efficiency:
+ type: DIG_SPEED
level: 2
- probability: 0.4
- Blast Protection 3:
- type: PROTECTION_EXPLOSIONS
- level: 3
- probability: 0.3
- Blast Protection 4:
- type: PROTECTION_EXPLOSIONS
- level: 4
- probability: 0.4
- Fire Protection 1:
- type: PROTECTION_FIRE
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.5
- Fire Protection 2:
- type: PROTECTION_FIRE
- level: 2
- probability: 0.4
- Fire Protection 3:
- type: PROTECTION_FIRE
+ IRON_AXE_RANK_3:
+ name: Iron Axe Forger Rank 3
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 2
+ lore: Iron Axe Rank 2
+ outputs:
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 3
+ lore: Iron Axe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 3
- probability: 0.3
- Fire Protection 4:
- type: PROTECTION_FIRE
- level: 4
- probability: 0.4
- Projectile Protection 1:
- type: PROTECTION_PROJECTILE
- level: 1
- probability: 0.5
- Projectile Protection 2:
- type: PROTECTION_PROJECTILE
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Projectile Protection 3:
- type: PROTECTION_PROJECTILE
- level: 3
- probability: 0.3
- Projectile Protection 4:
- type: PROTECTION_PROJECTILE
- level: 4
- probability: 0.4
- Dye_Brown_Wool_Black:
- name: Dye Brown Wool Black
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Ink Sack:
- material: INK_SACK
- amount: 4
+ IRON_AXE_RANK_4:
+ name: Iron Axe Forger Rank 4
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 3
+ lore: Iron Axe Rank 3
outputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Dye_Brown_Wool_Lime:
- name: Dye Brown Wool Lime
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Gold_Boots:
- name: Forge Gold Boots.
- production_time: 20
- inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 20
- outputs:
- Gold Boots:
- material: GOLD_BOOTS
- amount: 15
- durability: -218
+ Iron Axe:
+ material: IRON_AXE
+ amount: 1
+ display_name: Iron Axe Rank 4
+ lore: Iron Axe Rank 4
enchantments:
- Unbreaking 3:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
type: DURABILITY
level: 3
- Blast Protection 1:
- type: PROTECTION_EXPLOSIONS
+ IRON_SHOVEL_RANK_0:
+ name: Iron Shovel Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Stone Shovel:
+ material: STONE_SHOVEL
+ amount: 2
+ display_name: Stone Shovel Rank 4
+ lore: Stone Shovel Rank 4
+ outputs:
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 0
+ lore: Iron Shovel Rank 0
+ IRON_SHOVEL_RANK_1:
+ name: Iron Shovel Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 0
+ lore: Iron Shovel Rank 0
+ outputs:
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 1
+ lore: Iron Shovel Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 1
- probability: 0.5
- Blast Protection 2:
- type: PROTECTION_EXPLOSIONS
+ IRON_SHOVEL_RANK_2:
+ name: Iron Shovel Forger Rank 2
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 1
+ lore: Iron Shovel Rank 1
+ outputs:
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 2
+ lore: Iron Shovel Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 2
- probability: 0.4
- Blast Protection 3:
- type: PROTECTION_EXPLOSIONS
- level: 3
- probability: 0.3
- Blast Protection 4:
- type: PROTECTION_EXPLOSIONS
- level: 4
- probability: 0.4
- Feather Falling 1:
- type: PROTECTION_FALL
+ Unbreaking:
+ type: DURABILITY
level: 1
- probability: 0.5
- Feather Falling 2:
- type: PROTECTION_FALL
- level: 2
- probability: 0.4
- Feather Falling 3:
- type: PROTECTION_FALL
+ IRON_SHOVEL_RANK_3:
+ name: Iron Shovel Forger Rank 3
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 2
+ lore: Iron Shovel Rank 2
+ outputs:
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 3
+ lore: Iron Shovel Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 3
- probability: 0.3
- Feather Falling 4:
- type: PROTECTION_FALL
- level: 4
- probability: 0.4
- Fire Protection 1:
- type: PROTECTION_FIRE
- level: 1
- probability: 0.5
- Fire Protection 2:
- type: PROTECTION_FIRE
+ Unbreaking:
+ type: DURABILITY
level: 2
- probability: 0.4
- Fire Protection 3:
- type: PROTECTION_FIRE
- level: 3
- probability: 0.3
- Fire Protection 4:
- type: PROTECTION_FIRE
+ IRON_SHOVEL_RANK_4:
+ name: Iron Shovel Forger Rank 4
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 3
+ lore: Iron Shovel Rank 3
+ outputs:
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 1
+ display_name: Iron Shovel Rank 4
+ lore: Iron Shovel Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
level: 4
- probability: 0.4
- Projectile Protection 1:
- type: PROTECTION_PROJECTILE
- level: 1
- probability: 0.5
- Projectile Protection 2:
- type: PROTECTION_PROJECTILE
- level: 2
- probability: 0.4
- Projectile Protection 3:
- type: PROTECTION_PROJECTILE
+ Unbreaking:
+ type: DURABILITY
level: 3
- probability: 0.3
- Projectile Protection 4:
- type: PROTECTION_PROJECTILE
- level: 4
- probability: 0.4
- Dye_Gray_Wool_Yellow:
- name: Dye Gray Wool Yellow
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Wool:
- material: WOOL
- amount: 64
- durability: 4
- Dye_Pink_Wool_Lime:
- name: Dye Pink Wool Lime
- inputs:
- Pink Wool:
- material: WOOL
- amount: 64
- durability: 6
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Dye_Gray_Wool_Magenta:
- name: Dye Gray Wool Magenta
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
+ IRON_HOE_RANK_0:
+ name: Iron Hoe Forger Rank 0
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Stone Hoe:
+ material: STONE_HOE
+ amount: 2
+ display_name: Stone Hoe Rank 4
+ lore: Stone Hoe Rank 4
outputs:
- Magenta Wool:
- material: WOOL
- amount: 64
- durability: 2
- Dye_Brown_Wool_Blue:
- name: Dye Brown Wool Blue
- inputs:
- Brown Wool:
- material: WOOL
- amount: 64
- durability: 12
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Wool:
- material: WOOL
- amount: 64
- durability: 11
- Dye_Black_Wool_Lime:
- name: Dye Black Wool Lime
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 0
+ lore: Iron Hoe Rank 0
+ IRON_HOE_RANK_1:
+ name: Iron Hoe Forger Rank 1
+ production_time: 360
+ inputs:
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 0
+ lore: Iron Hoe Rank 0
outputs:
- Lime Wool:
- material: WOOL
- amount: 64
- durability: 5
- Smelt_Stone:
- name: Smelt Stone
- production_time: 80
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 1
+ lore: Iron Hoe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ IRON_HOE_RANK_2:
+ name: Iron Hoe Forger Rank 2
+ production_time: 360
inputs:
- Cobblestone:
- material: COBBLESTONE
- amount: 640
- outputs:
- Stone:
- material: STONE
- amount: 854
- Grilled_Pork:
- name: Grill Pork
- production_time: 6
- inputs:
- Pork:
- material: PORK
- amount: 64
- outputs:
- Grilled Pork:
- material: GRILLED_PORK
- amount: 128
- Dye_Black_Wool_Light_Blue:
- name: Dye Black Wool Light Blue
- inputs:
- Black Wool:
- material: WOOL
- amount: 64
- durability: 15
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Wool:
- material: WOOL
- amount: 64
- durability: 3
- Dye_Gray_Wool_White:
- name: Dye Gray Wool White
- inputs:
- Gray Wool:
- material: WOOL
- amount: 64
- durability: 7
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 1
+ lore: Iron Hoe Rank 1
outputs:
- White Wool:
- material: WOOL
- amount: 64
- Diamond_Axe:
- name: Forge Diamond Axe.
- production_time: 15
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 2
+ lore: Iron Hoe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ IRON_HOE_RANK_3:
+ name: Iron Hoe Forger Rank 3
+ production_time: 360
inputs:
- Diamond:
- material: DIAMOND
- amount: 15
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 2
+ lore: Iron Hoe Rank 2
outputs:
- Diamond Axe:
- material: DIAMOND_AXE
- amount: 30
- Smelt_Oak_Wood:
- name: Burn Oak Wood
- production_time: 24
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 3
+ lore: Iron Hoe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ IRON_HOE_RANK_4:
+ name: Iron Hoe Forger Rank 4
+ production_time: 360
inputs:
- Oak Wood:
- material: LOG
- amount: 256
+ Iron:
+ material: IRON
+ amount: 32
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 3
+ lore: Iron Hoe Rank 3
outputs:
- Charcoal:
- material: COAL
- amount: 512
- durability: 1
- Produce_Saddle:
- name: Produce Saddles
- production_time: 20
- inputs:
- Diamond:
- material: DIAMOND
- amount: 16
- Leather:
- material: LEATHER
- amount: 64
- White Wool:
- material: WOOL
- amount: 64
- outputs:
- Saddle:
- material: SADDLE
- amount: 8
- Produce_Diamond_Horse_Armor:
- name: Produce Diamond Horse Armor
- production_time: 20
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 1
+ display_name: Iron Hoe Rank 4
+ lore: Iron Hoe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_PICKAXE_RANK_0:
+ name: Diamond Pickaxe Forger Rank 0
+ production_time: 360
inputs:
Diamond:
- material: DIAMOND
- amount: 64
+ material: DIAMOND
+ amount: 32
+ Iron Pickaxe:
+ material: IRON_PICKAXE
+ amount: 2
+ display_name: Iron Pickaxe Rank 4
+ lore: Iron Pickaxe Rank 4
outputs:
- Diamond Horse Armor:
- material: DIAMOND_BARDING
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
amount: 1
- Produce_Gold_Horse_Armor:
- name: Produce Gold Horse Armor
- production_time: 20
+ display_name: Diamond Pickaxe Rank 0
+ lore: Diamond Pickaxe Rank 0
+ DIAMOND_PICKAXE_RANK_1:
+ name: Diamond Pickaxe Forger Rank 1
+ production_time: 360
inputs:
- Gold Ingot:
- material: GOLD_INGOT
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 0
+ lore: Diamond Pickaxe Rank 0
outputs:
- Gold Horse Armor:
- material: GOLD_BARDING
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
amount: 1
- Produce_Iron_Horse_Armor:
- name: Produce Iron Horse Armor
- production_time: 20
+ display_name: Diamond Pickaxe Rank 1
+ lore: Diamond Pickaxe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ DIAMOND_PICKAXE_RANK_2:
+ name: Diamond Pickaxe Forger Rank 2
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 1
+ lore: Diamond Pickaxe Rank 1
outputs:
- Iron Horse Armor:
- material: IRON_BARDING
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
amount: 1
- Produce_Leads:
- name: Produce Leads
- inputs:
- Slime_Ball:
- material: SLIME_BALL
- amount: 4
- String:
- material: STRING
- amount: 16
- outputs:
- Lead:
- material: LEASH
- amount: 8
- Craft_Fences:
- name: Craft Fences
- production_time: 16
+ display_name: Diamond Pickaxe Rank 2
+ lore: Diamond Pickaxe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_PICKAXE_RANK_3:
+ name: Diamond Pickaxe Forger Rank 3
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 12
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 2
+ lore: Diamond Pickaxe Rank 2
outputs:
- Fence:
- material: FENCE
- amount: 256
- Craft_Signs:
- name: Craft Signs
- production_time: 16
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 3
+ lore: Diamond Pickaxe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_PICKAXE_RANK_4:
+ name: Diamond Pickaxe Forger Rank 4
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 8
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 3
+ lore: Diamond Pickaxe Rank 3
outputs:
- Sign:
- material: SIGN
- amount: 64
- Craft_Boats:
- name: Craft Boats
- production_time: 16
+ Diamond Pickaxe:
+ material: DIAMOND_PICKAXE
+ amount: 1
+ display_name: Diamond Pickaxe Rank 4
+ lore: Diamond Pickaxe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_AXE_RANK_0:
+ name: Diamond Axe Forger Rank 0
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 8
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Axe:
+ material: IRON_AXE
+ amount: 2
+ display_name: Iron Axe Rank 4
+ lore: Iron Axe Rank 4
outputs:
- Boat:
- material: BOAT
- amount: 27
- Craft_Ladders:
- name: Craft Ladders
- production_time: 16
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 0
+ lore: Diamond Axe Rank 0
+ DIAMOND_AXE_RANK_1:
+ name: Diamond Axe Forger Rank 1
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 8
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 0
+ lore: Diamond Axe Rank 0
outputs:
- Ladder:
- material: LADDER
- amount: 256
- Craft_Trap_Doors:
- name: Craft Trap Doors
- production_time: 16
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 1
+ lore: Diamond Axe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ DIAMOND_AXE_RANK_2:
+ name: Diamond Axe Forger Rank 2
+ production_time: 360
inputs:
- Chest:
- material: CHEST
- amount: 48
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 1
+ lore: Diamond Axe Rank 1
outputs:
- Trap Door:
- material: TRAP_DOOR
- amount: 256
- Craft_Item_Frames:
- name: Craft Item Frames
- production_time: 32
- inputs:
- Chest:
- material: CHEST
- amount: 8
- Leather:
- material: LEATHER
- amount: 48
- outputs:
- Item Frames:
- material: ITEM_FRAMES
- amount: 64
- Craft_Bookshelfs:
- name: Craft Bookshelfs
- production_time: 32
- inputs:
- Chest:
- material: CHEST
- amount: 8
- Leather:
- material: LEATHER
- amount: 48
- Paper:
- material: STRING
- amount: 192
- outputs:
- Bookshelf:
- material: BOOKSHELF
- amount: 64
- Forge_Shears:
- name: Forge Shears
- production_time: 8
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 18
- outputs:
- Shears:
- material: SHEARS
- amount: 18
- Forge_Anvils:
- name: Forge Anvils
- production_time: 64
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 2
+ lore: Diamond Axe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_AXE_RANK_3:
+ name: Diamond Axe Forger Rank 3
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 256
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 2
+ lore: Diamond Axe Rank 2
outputs:
- Anvil:
- material: ANVIL
- amount: 16
- Forge_Tripwire_Hooks:
- name: Forge Tripwire Hooks
- production_time: 16
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 3
+ lore: Diamond Axe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_AXE_RANK_4:
+ name: Diamond Axe Forger Rank 4
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 16
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 3
+ lore: Diamond Axe Rank 3
outputs:
- Tripwire Hook:
- material: TRIPWIRE_HOOK
- amount: 64
- Forge_Iron_Bars:
- name: Forge Iron Bars
- production_time: 32
+ Diamond Axe:
+ material: DIAMOND_AXE
+ amount: 1
+ display_name: Diamond Axe Rank 4
+ lore: Diamond Axe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_SHOVEL_RANK_0:
+ name: Diamond Shovel Forger Rank 0
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 24
- outputs:
- Iron Bars:
- material: IRON_FENCE
- amount: 256
- Forge_Buckets:
- name: Forge Buckets
- production_time: 32
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 96
- outputs:
- Bucket:
- material: BUCKET
- amount: 64
- Forge_Iron_Doors:
- name: Forge Iron Doors
- production_time: 16
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Shovel:
+ material: IRON_SHOVEL
+ amount: 2
+ display_name: Iron Shovel Rank 4
+ lore: Iron Shovel Rank 4
+ outputs:
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 0
+ lore: Diamond Shovel Rank 0
+ DIAMOND_SHOVEL_RANK_1:
+ name: Diamond Shovel Forger Rank 1
+ production_time: 360
inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 54
- outputs:
- Iron Door:
- material: IRON_DOOR
- amount: 18
- Forge_Flint_And_Steel:
- name: Forge Flint and Steel
- production_time: 8
- inputs:
- Iron Ingot:
- material: IRON_INGOT
- amount: 9
- outputs:
- Flint and Steel:
- material: FLINT_AND_STEEL
- amount: 18
- Dye_White_Stained_Glass:
- name: Dye White Stained Glass
- inputs:
- White Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 0
- Dye_Orange_Stained_Glass:
- name: Dye Orange Stained Glass
- inputs:
- Orange Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 1
- Dye_Magenta_Stained_Glass:
- name: Dye Magenta Stained Glass
- inputs:
- Magenta Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 2
- Dye_Light_Blue_Stained_Glass:
- name: Dye Light Blue Stained Glass
- inputs:
- Light Blue Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 3
- Dye_Yellow_Stained_Glass:
- name: Dye Yellow Stained Glass
- inputs:
- Yellow Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 4
- Dye_Lime_Stained_Glass:
- name: Dye Lime Stained Glass
- inputs:
- Lime Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 5
- Dye_Pink_Stained_Glass:
- name: Dye Pink Stained Glass
- inputs:
- Pink Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 6
- Dye_Gray_Stained_Glass:
- name: Dye Gray Stained Glass
- inputs:
- Gray Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 7
- Dye_Light_Gray_Stained_Glass:
- name: Dye Light Gray Stained Glass
- inputs:
- Light Gray Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 8
- Dye_Cyan_Stained_Glass:
- name: Dye Cyan Stained Glass
- inputs:
- Cyan Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 9
- Dye_Purple_Stained_Glass:
- name: Dye Purple Stained Glass
- inputs:
- Purple Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 10
- Dye_Blue_Stained_Glass:
- name: Dye Blue Stained Glass
- inputs:
- Blue Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 11
- Dye_Brown_Stained_Glass:
- name: Dye Brown Stained Glass
- inputs:
- Brown Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Coco Beans:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 12
- Dye_Green_Stained_Glass:
- name: Dye Green Stained Glass
- inputs:
- Green Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 13
- Dye_Red_Stained_Glass:
- name: Dye Red Stained Glass
- inputs:
- Red Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 14
- Dye_Black_Stained_Glass:
- name: Dye Black Stained Glass
- inputs:
- Black Stained Glass:
- material: STAINED_GLASS
- amount: 64
- Ink Sack:
- material: INK_SACK
- amount: 4
- durability: 0
- outputs:
- Black Stained Glass:
- material: STAINED_GLASS
- amount: 64
- durability: 15
- Dye_White_Stained_Glass_Pane:
- name: Dye White Stained Glass Pane
- inputs:
- White Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 0
- Dye_Orange_Stained_Glass_Pane:
- name: Dye Orange Stained Glass Pane
- inputs:
- Orange Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 1
- Dye_Magenta_Stained_Glass_Pane:
- name: Dye Magenta Stained Glass Pane
- inputs:
- Magenta Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 2
- Dye_Light_Blue_Stained_Glass_Pane:
- name: Dye Light Blue Stained Glass Pane
- inputs:
- Light Blue Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 3
- Dye_Yellow_Stained_Glass_Pane:
- name: Dye Yellow Stained Glass Pane
- inputs:
- Yellow Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 4
- Dye_Lime_Stained_Glass_Pane:
- name: Dye Lime Stained Glass Pane
- inputs:
- Lime Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 5
- Dye_Pink_Stained_Glass_Pane:
- name: Dye Pink Stained Glass Pane
- inputs:
- Pink Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 6
- Dye_Gray_Stained_Glass_Pane:
- name: Dye Gray Stained Glass Pane
- inputs:
- Gray Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 7
- Dye_Light_Gray_Stained_Glass_Pane:
- name: Dye Light Gray Stained Glass Pane
- inputs:
- Light Gray Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 8
- Dye_Cyan_Stained_Glass_Pane:
- name: Dye Cyan Stained Glass Pane
- inputs:
- Cyan Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 9
- Dye_Purple_Stained_Glass_Pane:
- name: Dye Purple Stained Glass Pane
- inputs:
- Purple Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 10
- Dye_Blue_Stained_Glass_Pane:
- name: Dye Blue Stained Glass Pane
- inputs:
- Blue Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 11
- Dye_Brown_Stained_Glass_Pane:
- name: Dye Brown Stained Glass Pane
- inputs:
- Brown Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Coco Beans:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 12
- Dye_Green_Stained_Glass_Pane:
- name: Dye Green Stained Glass Pane
- inputs:
- Green Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 13
- Dye_Red_Stained_Glass_Pane:
- name: Dye Red Stained Glass Pane
- inputs:
- Red Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- durability: 14
- Dye_Black_Stained_Glass_Pane:
- name: Dye Black Stained Glass Pane
- inputs:
- Black Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Ink Sack:
- material: INK_SACK
- amount: 4
- durability: 0
- outputs:
- Black Stained Glass Pane:
- material: STAINED_GLASS_PANE
- amount: 64
- Dye_White_Stained_Clay:
- name: Dye White Stained Clay
- inputs:
- White Stained Clay:
- material: HARD_CLAY
- amount: 64
- Bone Meal:
- material: INK_SACK
- amount: 4
- durability: 15
- outputs:
- White Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 0
- Dye_Orange_Stained_Clay:
- name: Dye Orange Stained Clay
- inputs:
- Orange Stained Clay:
- material: HARD_CLAY
- amount: 64
- Orange Dye:
- material: INK_SACK
- amount: 4
- durability: 14
- outputs:
- Orange Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 1
- Dye_Magenta_Stained_Clay:
- name: Dye Magenta Stained Clay
- inputs:
- Magenta Stained Clay:
- material: HARD_CLAY
- amount: 64
- Magenta Dye:
- material: INK_SACK
- amount: 4
- durability: 13
- outputs:
- Magenta Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 2
- Dye_Light_Blue_Stained_Clay:
- name: Dye Light Blue Stained Clay
- inputs:
- Light Blue Stained Clay:
- material: HARD_CLAY
- amount: 64
- Light Blue Dye:
- material: INK_SACK
- amount: 4
- durability: 12
- outputs:
- Light Blue Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 3
- Dye_Yellow_Stained_Clay:
- name: Dye Yellow Stained Clay
- inputs:
- Yellow Stained Clay:
- material: HARD_CLAY
- amount: 64
- Dandelion Yellow:
- material: INK_SACK
- amount: 4
- durability: 11
- outputs:
- Yellow Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 4
- Dye_Lime_Stained_Clay:
- name: Dye Lime Stained Clay
- inputs:
- Lime Stained Clay:
- material: HARD_CLAY
- amount: 64
- Lime Dye:
- material: INK_SACK
- amount: 4
- durability: 10
- outputs:
- Lime Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 5
- Dye_Pink_Stained_Clay:
- name: Dye Pink Stained Clay
- inputs:
- Pink Stained Clay:
- material: HARD_CLAY
- amount: 64
- Pink Dye:
- material: INK_SACK
- amount: 4
- durability: 9
- outputs:
- Pink Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 6
- Dye_Gray_Stained_Clay:
- name: Dye Gray Stained Clay
- inputs:
- Gray Stained Clay:
- material: HARD_CLAY
- amount: 64
- Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 8
- outputs:
- Gray Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 7
- Dye_Light_Gray_Stained_Clay:
- name: Dye Light Gray Stained Clay
- inputs:
- Light Gray Stained Clay:
- material: HARD_CLAY
- amount: 64
- Light Gray Dye:
- material: INK_SACK
- amount: 4
- durability: 7
- outputs:
- Light Gray Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 8
- Dye_Cyan_Stained_Clay:
- name: Dye Cyan Stained Clay
- inputs:
- Cyan Stained Clay:
- material: HARD_CLAY
- amount: 64
- Cyan Dye:
- material: INK_SACK
- amount: 4
- durability: 6
- outputs:
- Cyan Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 9
- Dye_Purple_Stained_Clay:
- name: Dye Purple Stained Clay
- inputs:
- Purple Stained Clay:
- material: HARD_CLAY
- amount: 64
- Purple Dye:
- material: INK_SACK
- amount: 4
- durability: 5
- outputs:
- Purple Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 10
- Dye_Blue_Stained_Clay:
- name: Dye Blue Stained Clay
- inputs:
- Blue Stained Clay:
- material: HARD_CLAY
- amount: 64
- Lapis Lazuli:
- material: INK_SACK
- amount: 4
- durability: 4
- outputs:
- Blue Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 11
- Dye_Brown_Stained_Clay:
- name: Dye Brown Stained Clay
- inputs:
- Brown Stained Clay:
- material: HARD_CLAY
- amount: 64
- Coco Beans:
- material: INK_SACK
- amount: 4
- durability: 3
- outputs:
- Brown Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 12
- Dye_Green_Stained_Clay:
- name: Dye Green Stained Clay
- inputs:
- Green Stained Clay:
- material: HARD_CLAY
- amount: 64
- Cactus Green:
- material: INK_SACK
- amount: 4
- durability: 2
- outputs:
- Green Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 13
- Dye_Red_Stained_Clay:
- name: Dye Red Stained Clay
- inputs:
- Red Stained Clay:
- material: HARD_CLAY
- amount: 64
- Rose Red:
- material: INK_SACK
- amount: 4
- durability: 1
- outputs:
- Red Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 14
- Dye_Black_Stained_Clay:
- name: Dye Black Stained Clay
- inputs:
- Black Stained Clay:
- material: HARD_CLAY
- amount: 64
- Ink Sack:
- material: INK_SACK
- amount: 4
- durability: 0
- outputs:
- Black Stained Clay:
- material: HARD_CLAY
- amount: 64
- durability: 15
- durability: 15
- Mutate_Spruce_Saplings:
- name: Mutate Spruce Saplings
- production_time: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 0
+ lore: Diamond Shovel Rank 0
+ outputs:
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 1
+ lore: Diamond Shovel Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ DIAMOND_SHOVEL_RANK_2:
+ name: Diamond Shovel Forger Rank 2
+ production_time: 360
inputs:
- Oak Sapling:
- material: SAPLING
- amount: 64
- outputs:
- Spruce Sapling:
- material: SAPLING
- amount: 64
- durability: 1
- Mutate_Birch_Saplings:
- name: Mutate Birch Saplings
- production_time: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 1
+ lore: Diamond Shovel Rank 1
+ outputs:
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 2
+ lore: Diamond Shovel Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_SHOVEL_RANK_3:
+ name: Diamond Shovel Forger Rank 3
+ production_time: 360
inputs:
- Oak Sapling:
- material: SAPLING
- amount: 64
- outputs:
- Spruce Sapling:
- material: SAPLING
- amount: 64
- durability: 2
- Mutate_Jungle_Saplings:
- name: Mutate Jungle Saplings
- production_time: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 2
+ lore: Diamond Shovel Rank 2
+ outputs:
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 3
+ lore: Diamond Shovel Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_SHOVEL_RANK_4:
+ name: Diamond Shovel Forger Rank 4
+ production_time: 360
inputs:
- Oak Sapling:
- material: SAPLING
- amount: 64
- outputs:
- Spruce Sapling:
- material: SAPLING
- amount: 64
- durability: 3
- Mutate_Acacia_Saplings:
- name: Mutate Acacia Saplings
- production_time: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 3
+ lore: Diamond Shovel Rank 3
+ outputs:
+ Diamond Shovel:
+ material: DIAMOND_SHOVEL
+ amount: 1
+ display_name: Diamond Shovel Rank 4
+ lore: Diamond Shovel Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
+ DIAMOND_HOE_RANK_0:
+ name: Diamond Hoe Forger Rank 0
+ production_time: 360
inputs:
- Oak Sapling:
- material: SAPLING
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Iron Hoe:
+ material: IRON_HOE
+ amount: 2
+ display_name: Iron Hoe Rank 4
+ lore: Iron Hoe Rank 4
outputs:
- Spruce Sapling:
- material: SAPLING
- amount: 64
- durability: 4
- Mutate_Dark_Oak_Saplings:
- name: Mutate Dark Oak Saplings
- production_time: 64
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 0
+ lore: Diamond Hoe Rank 0
+ DIAMOND_HOE_RANK_1:
+ name: Diamond Hoe Forger Rank 1
+ production_time: 360
inputs:
- Oak Sapling:
- material: SAPLING
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 0
+ lore: Diamond Hoe Rank 0
outputs:
- Spruce Sapling:
- material: SAPLING
- amount: 64
- durability: 5
- Mutate_Grassless_Dirt:
- name: Mutate Grassless Dirt
- production_time: 16
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 1
+ lore: Diamond Hoe Rank 1
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 1
+ DIAMOND_HOE_RANK_2:
+ name: Diamond Hoe Forger Rank 2
+ production_time: 360
inputs:
- Grass:
- material: GRASS
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 1
+ lore: Diamond Hoe Rank 1
outputs:
- Grassless Dirt:
- material: DIRT
- amount: 64
- durability: 1
- Mutate_Podzol:
- name: Mutate Podzol
- production_time: 16
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 2
+ lore: Diamond Hoe Rank 2
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 2
+ Unbreaking:
+ type: DURABILITY
+ level: 1
+ DIAMOND_HOE_RANK_3:
+ name: Diamond Hoe Forger Rank 3
+ production_time: 360
inputs:
- Grass:
- material: GRASS
- amount: 64
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 2
+ lore: Diamond Hoe Rank 2
outputs:
- Podzol:
- material: DIRT
- amount: 64
- durability: 2
- Compact_Ice:
- name: Compact Ice
- production_time: 32
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 3
+ lore: Diamond Hoe Rank 3
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 3
+ Unbreaking:
+ type: DURABILITY
+ level: 2
+ DIAMOND_HOE_RANK_4:
+ name: Diamond Hoe Forger Rank 4
+ production_time: 360
inputs:
- Ice:
- material: ICE
- amount: 576
+ Diamond:
+ material: DIAMOND
+ amount: 32
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 3
+ lore: Diamond Hoe Rank 3
outputs:
- Packed_Ice:
- material: PACKED_ICE
- amount: 576
-
+ Diamond Hoe:
+ material: DIAMOND_HOE
+ amount: 1
+ display_name: Diamond Hoe Rank 4
+ lore: Diamond Hoe Rank 4
+ enchantments:
+ Efficiency:
+ type: DIG_SPEED
+ level: 4
+ Unbreaking:
+ type: DURABILITY
+ level: 3
diff --git a/plugin.yml b/plugin.yml
index 2f5e8694..aac4e6e3 100644
--- a/plugin.yml
+++ b/plugin.yml
@@ -1,4 +1,4 @@
name: FactoryMod
main: com.github.igotyou.FactoryMod.FactoryModPlugin
author: igotyou
-version: 1.0
\ No newline at end of file
+version: 1.1
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..b35753c9
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,53 @@
+
+ 4.0.0
+ com.github.igotyou
+ FactoryMod
+ jar
+ 1.0-SNAPSHOT
+ FactoryMod
+ https://github.com/ttk2/FactoryMod
+
+
+ 1.7
+ 1.7
+
+
+
+ ${basedir}/src
+
+
+
+ ${basedir}
+
+ *.yml
+ license.txt
+
+
+
+
+
+
+
+ org.bukkit
+ bukkit
+ 1.7.2-R0.3
+ provided
+
+
+ com.untamedears
+ Citadel
+ [2.5,)
+ provided
+
+
+
+
+
+ bukkit-repo
+ http://repo.bukkit.org/content/groups/public/
+
+
+
diff --git a/src/com/github/igotyou/FactoryMod/FactoryModPlugin.java b/src/com/github/igotyou/FactoryMod/FactoryModPlugin.java
index 18b8c275..0f95fe05 100644
--- a/src/com/github/igotyou/FactoryMod/FactoryModPlugin.java
+++ b/src/com/github/igotyou/FactoryMod/FactoryModPlugin.java
@@ -1,362 +1,206 @@
package com.github.igotyou.FactoryMod;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import org.bukkit.Bukkit;
-import org.bukkit.Material;
-import org.bukkit.configuration.file.FileConfiguration;
-import org.bukkit.inventory.Recipe;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.plugin.java.JavaPlugin;
-import org.bukkit.inventory.meta.ItemMeta;
-import org.bukkit.configuration.ConfigurationSection;
+import org.bukkit.Location;
+import org.bukkit.block.Chest;
+import org.bukkit.block.Furnace;
+import org.bukkit.inventory.Inventory;
-import com.github.igotyou.FactoryMod.FactoryObject.FactoryType;
import com.github.igotyou.FactoryMod.interfaces.Properties;
-import com.github.igotyou.FactoryMod.listeners.FactoryModListener;
-import com.github.igotyou.FactoryMod.listeners.RedstoneListener;
-import com.github.igotyou.FactoryMod.managers.FactoryModManager;
-import com.github.igotyou.FactoryMod.properties.PrintingPressProperties;
-import com.github.igotyou.FactoryMod.properties.ProductionProperties;
-import com.github.igotyou.FactoryMod.recipes.ProductionRecipe;
-import com.github.igotyou.FactoryMod.recipes.ProbabilisticEnchantment;
-import com.github.igotyou.FactoryMod.utility.ItemList;
-import com.github.igotyou.FactoryMod.utility.NamedItemStack;
-import org.bukkit.inventory.ShapedRecipe;
-import org.bukkit.inventory.ShapelessRecipe;
+import java.util.Date;
-
-public class FactoryModPlugin extends JavaPlugin
+//original file:
+/**
+ * MachineObject.java
+ * Purpose: Basic object base for machines to extend
+ *
+ * @author MrTwiggy
+ * @version 0.1 1/14/13
+ */
+//edited version:
+/**
+ * FactoryObject.java
+ * Purpose basic object base for factories to extend
+ * @author igotyou
+ *
+ */
+public class FactoryObject
{
-
- FactoryModManager manager;
- public static HashMap productionProperties;
- public static HashMap productionRecipes;
- public PrintingPressProperties printingPressProperties;
-
- public static final String VERSION = "v1.0"; //Current version of plugin
- public static final String PLUGIN_NAME = "FactoryMod"; //Name of plugin
- public static final String PLUGIN_PREFIX = PLUGIN_NAME + " " + VERSION + ": ";
- public static final String PRODUCTION_SAVES_FILE = "productionSaves"; // The production saves file name
- public static final int TICKS_PER_SECOND = 20; //The number of ticks per second
- public static final String PRINTING_PRESSES_SAVE_FILE = "pressSaves";
-
- public static int PRODUCER_UPDATE_CYCLE;
- public static boolean PRODUCTION_ENEABLED;
- public static int SAVE_CYCLE;
- public static Material CENTRAL_BLOCK_MATERIAL;
- public static boolean RETURN_BUILD_MATERIALS;
- public static boolean CITADEL_ENABLED;
- public static Material FACTORY_INTERACTION_MATERIAL;
- public static boolean DESTRUCTIBLE_FACTORIES;
- public static boolean DISABLE_EXPERIENCE;
- public static long DISREPAIR_PERIOD;
- public static long REPAIR_PERIOD;
- public static boolean REDSTONE_START_ENABLED;
- public static boolean LEVER_OUTPUT_ENABLED;
-
- public void onEnable()
+ //the diffrent factory types, NOTE: these are not the sub-factory types, these are the main types.
+ public enum FactoryType
{
- //load the config.yml
- initConfig();
- //create the main manager
- manager = new FactoryModManager(this);
- //register the events(this should be moved...)
- registerEvents();
+ PRODUCTION,
+ PRINTING_PRESS
}
- public void onDisable()
- {
- //call the disable method, this will save the data etc.
- manager.onDisable();
- }
- public void registerEvents()
- {
- try
- {
- getServer().getPluginManager().registerEvents(new FactoryModListener(manager), this);
- getServer().getPluginManager().registerEvents(new RedstoneListener(manager, manager.getProductionManager()), this);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
+ protected Location factoryLocation; // Current location of factory center
+ protected Location factoryInventoryLocation; //Current location of factory inventory(normmaly a chest)
+ protected Location factoryPowerSourceLocation;//Current location of factory power source(normmaly a furnace)
+ protected boolean active; // Whether factory is currently active
+ protected Inventory factoryInventory; // The inventory of the factory
+ protected Inventory factoryPowerInventory;//The inventory of the power source.
+ protected FactoryType factoryType; // The type this factory is
+ protected String subFactoryType;//the SUBfactory type(the ones loaded from the config file)
+ protected Properties factoryProperties; // The properties of this factory type and tier
+ protected boolean upgraded; // Whether the tier has recently upgraded
- public void initConfig()
+ /**
+ * Constructor
+ */
+ public FactoryObject(Location factoryLocation, Location factoryInventoryLocation, Location factoryPowerSource,
+ FactoryType factoryType, String subFactoryType)
{
- productionProperties = new HashMap();
- productionRecipes = new HashMap();
- FileConfiguration config = getConfig();
- if(getConfig().getDefaults().getBoolean("copy_defaults", true))
+ this.factoryLocation = factoryLocation;
+ this.factoryInventoryLocation = factoryInventoryLocation;
+ this.factoryPowerSourceLocation = factoryPowerSource;
+ this.active = false;
+ this.factoryType = factoryType;
+ this.subFactoryType = subFactoryType;
+ this.upgraded = false;
+ if (this.isWhole())
{
- saveResource("config.yml",true);
+ initializeInventory();
}
- this.saveDefaultConfig();
- reloadConfig();
- config = getConfig();
- //how often should the managers save?
- SAVE_CYCLE = config.getInt("general.save_cycle",15)*60*20;
- //what's the material of the center block of factorys?
- CENTRAL_BLOCK_MATERIAL = Material.getMaterial(config.getString("general.central_block"));
- //Return the build materials upon destruction of factory.
- RETURN_BUILD_MATERIALS = config.getBoolean("general.return_build_materials",false);
- //is citadel enabled?
- CITADEL_ENABLED = config.getBoolean("general.citadel_enabled",true);
- //what's the tool that we use to interact with the factorys?
- FACTORY_INTERACTION_MATERIAL = Material.getMaterial(config.getString("general.factory_interaction_material","STICK"));
- //If factories are removed upon destruction of their blocks
- DESTRUCTIBLE_FACTORIES=config.getBoolean("general.destructible_factories",false);
- //Check if XP drops should be disabled
- DISABLE_EXPERIENCE=config.getBoolean("general.disable_experience",false);
- //How frequently factories are updated
- PRODUCER_UPDATE_CYCLE = config.getInt("production_general.update_cycle",20);
- //Period of days before a factory is removed after it falls into disrepair
- DISREPAIR_PERIOD= config.getLong("general.disrepair_period",14)*24*60*60*1000;
- //The length of time it takes a factory to go to 0% health
- REPAIR_PERIOD = config.getLong("production_general.repair_period",28)*24*60*60*1000;
- //Disable recipes which result in the following items
- //Do we output the running state with a lever?
- LEVER_OUTPUT_ENABLED = config.getBoolean("general.lever_output_enabled",true);
- //Do we allow factories to be started with redstone?
- REDSTONE_START_ENABLED = config.getBoolean("general.redstone_start_enabled",true);
- int g = 0;
- Iterator disabledRecipes=config.getStringList("crafting.disable").iterator();
- while(disabledRecipes.hasNext())
- {
- ItemStack recipeItemStack = new ItemStack(Material.getMaterial(disabledRecipes.next()));
- List tempList = getServer().getRecipesFor(recipeItemStack);
- for (int itterator = 0; itterator < tempList.size(); itterator ++)
- {
- removeRecipe(tempList.get(itterator));
- g++;
- }
+ updateProperties();
+ }
- }
- //Enable the following recipes
- ConfigurationSection configCraftingEnable=config.getConfigurationSection("crafting.enable");
- for (String recipeName:configCraftingEnable.getKeys(false))
- {
- ConfigurationSection configSection=configCraftingEnable.getConfigurationSection(recipeName);
- Recipe recipe;
- List shape=configSection.getStringList("shape");
- NamedItemStack output=getItems(configSection.getConfigurationSection("output")).get(0);
- if(shape.isEmpty())
- {
- ShapelessRecipe shapelessRecipe=new ShapelessRecipe(output);
- for (ItemStack input:getItems(configSection.getConfigurationSection("inputs")))
- {
- shapelessRecipe.addIngredient(input.getAmount(),input.getType(),input.getDurability());
- }
- recipe=shapelessRecipe;
- }
- else
- {
- ShapedRecipe shapedRecipe=new ShapedRecipe(output);
- shapedRecipe.shape(shape.toArray(new String[shape.size()]));
- for(String inputKey:configSection.getConfigurationSection("inputs").getKeys(false))
- {
- ItemStack input=getItems(configSection.getConfigurationSection("inputs."+inputKey)).get(0);
- shapedRecipe.setIngredient(inputKey.charAt(0),input.getType(),input.getDurability());
- }
- recipe=shapedRecipe;
- }
- Bukkit.addRecipe(recipe);
- }
-
- //Import recipes from config.yml
- ConfigurationSection configProdRecipes=config.getConfigurationSection("production_recipes");
- //Temporary Storage array to store where recipes should point to each other
- HashMap outputRecipes=new HashMap();
- Iterator recipeTitles=configProdRecipes.getKeys(false).iterator();
- while (recipeTitles.hasNext())
- {
- //Section header in recipe file, also serves as unique identifier for the recipe
- //All spaces are replaced with udnerscores so they don't disrupt saving format
- //There should be a check for uniqueness of this identifier...
- String title=recipeTitles.next();
- ConfigurationSection configSection=configProdRecipes.getConfigurationSection(title);
- title=title.replaceAll(" ","_");
- //Display name of the recipe, Deafult of "Default Name"
- String recipeName = configSection.getString("name","Default Name");
- //Production time of the recipe, default of 1
- int productionTime=configSection.getInt("production_time",2);
- //Inputs of the recipe, empty of there are no inputs
- ItemList inputs = getItems(configSection.getConfigurationSection("inputs"));
- //Inputs of the recipe, empty of there are no inputs
- ItemList upgrades = getItems(configSection.getConfigurationSection("upgrades"));
- //Outputs of the recipe, empty of there are no inputs
- ItemList outputs = getItems(configSection.getConfigurationSection("outputs"));
- //Enchantments of the recipe, empty of there are no inputs
- List enchantments=getEnchantments(configSection.getConfigurationSection("enchantments"));
- //Whether this recipe can only be used once
- boolean useOnce = configSection.getBoolean("use_once");
- ProductionRecipe recipe = new ProductionRecipe(title,recipeName,productionTime,inputs,upgrades,outputs,enchantments,useOnce,new ItemList());
- productionRecipes.put(title,recipe);
- //Store the titles of the recipes that this should point to
- ArrayList currentOutputRecipes=new ArrayList();
- currentOutputRecipes.addAll(configSection.getStringList("output_recipes"));
- outputRecipes.put(recipe,currentOutputRecipes);
- }
- //Once ProductionRecipe objects have been created correctly insert different pointers
- Iterator recipeIterator=outputRecipes.keySet().iterator();
- while (recipeIterator.hasNext())
- {
- ProductionRecipe recipe=recipeIterator.next();
- Iterator outputIterator=outputRecipes.get(recipe).iterator();
- while(outputIterator.hasNext())
- {
- recipe.addOutputRecipe(productionRecipes.get(outputIterator.next()));
- }
- }
-
-
- //Import factories from config.yml
- ConfigurationSection configProdFactories=config.getConfigurationSection("production_factories");
- Iterator factoryTitles=configProdFactories.getKeys(false).iterator();
- while(factoryTitles.hasNext())
+ /**
+ * Constructor
+ */
+ public FactoryObject(Location factoryLocation, Location factoryInventoryLocation, Location factoryPowerSource,
+ boolean active, FactoryType factoryType, String subFactoryType)
+ {
+ this.factoryLocation = factoryLocation;
+ this.factoryInventoryLocation = factoryInventoryLocation;
+ this.factoryPowerSourceLocation = factoryPowerSource;
+ this.active = active;
+ this.factoryType = factoryType;
+ this.subFactoryType = subFactoryType;
+ this.upgraded = false;
+ if (this.isWhole())
{
- String title=factoryTitles.next();
- ConfigurationSection configSection=configProdFactories.getConfigurationSection(title);
- title=title.replaceAll(" ","_");
- String factoryName=configSection.getString("name","Default Name");
- //Uses overpowered getItems method for consistency, should always return a list of size=1
- //If no fuel is found, default to charcoal
- ItemList fuel=getItems(configSection.getConfigurationSection("fuel"));
- if(fuel.isEmpty())
- {
- fuel=new ItemList();
- fuel.add(new NamedItemStack(Material.getMaterial("COAL"),1,(short)1,"Charcoal"));
- }
- int fuelTime=configSection.getInt("fuel_time",2);
- ItemList inputs=getItems(configSection.getConfigurationSection("inputs"));
- ItemList repairs=getItems(configSection.getConfigurationSection("repair_inputs"));
- List factoryRecipes=new ArrayList();
- Iterator ouputRecipeIterator=configSection.getStringList("recipes").iterator();
- while (ouputRecipeIterator.hasNext())
- {
- factoryRecipes.add(productionRecipes.get(ouputRecipeIterator.next()));
- }
- int repair=configSection.getInt("repair_multiple",0);
- //Create repair recipe
- productionRecipes.put(title+"REPAIR",new ProductionRecipe(title+"REPAIR","Repair Factory",1,repairs));
- factoryRecipes.add(productionRecipes.get(title+"REPAIR"));
- ProductionProperties productionProperty = new ProductionProperties(inputs, factoryRecipes, fuel, fuelTime, factoryName, repair);
- productionProperties.put(title, productionProperty);
+ initializeInventory();
}
-
- ConfigurationSection configPrintingPresses=config.getConfigurationSection("printing_presses");
- printingPressProperties = PrintingPressProperties.fromConfig(this, configPrintingPresses);
+ updateProperties();
}
- private List getEnchantments(ConfigurationSection configEnchantments)
+ /**
+ * Constructor
+ */
+ public FactoryObject(Location factoryLocation, Location factoryInventoryLocation, Location factoryPowerSource,
+ boolean active, int tierLevel, FactoryType factoryType, Inventory factoryInventory,
+ String subFactoryType)
{
- List enchantments=new ArrayList();
- if(configEnchantments!=null)
- {
- Iterator names=configEnchantments.getKeys(false).iterator();
- while (names.hasNext())
- {
- String name=names.next();
- ConfigurationSection configEnchantment=configEnchantments.getConfigurationSection(name);
- String type=configEnchantment.getString("type");
- if (type!=null)
- {
- int level=configEnchantment.getInt("level",1);
- double probability=configEnchantment.getDouble("probability",1.0);
- ProbabilisticEnchantment enchantment=new ProbabilisticEnchantment(name,type,level,probability);
- enchantments.add(enchantment);
- }
- }
- }
- return enchantments;
+ this.factoryLocation = factoryLocation;
+ this.factoryInventoryLocation = factoryInventoryLocation;
+ this.factoryPowerSourceLocation = factoryPowerSource;
+ this.active = active;
+ this.factoryType = factoryType;
+ this.subFactoryType = subFactoryType;
+ this.factoryInventory = factoryInventory;
+ updateProperties();
}
-
- public ItemList getItems(ConfigurationSection configItems)
+
+ /**
+ * Initializes the inventory for this factory
+ */
+ //Due to non-destructable factories this will not have been called on reconstructed factories
+ //however I am unable to find a use for this method in the current code, so it doesn't
+ //seem to be an issue right now, maybe the calls in the constructor should be gotten rid of
+ //all methods that get the inventory reinitialize the contents.
+ public void initializeInventory()
{
- ItemList items=new ItemList();
- if(configItems!=null)
+ switch(factoryType)
{
- for(String commonName:configItems.getKeys(false))
- {
-
- ConfigurationSection configItem= configItems.getConfigurationSection(commonName);
- String materialName=configItem.getString("material");
- Material material = Material.getMaterial(materialName);
- //only proceeds if an acceptable material name was provided
- if(material!=null)
- {
- int amount=configItem.getInt("amount",1);
- short durability=(short)configItem.getInt("durability",0);
- String displayName=configItem.getString("display_name");
- String lore=configItem.getString("lore");
- items.add(createItemStack(material,amount,durability,displayName,lore,commonName));
- }
- }
+ case PRODUCTION:
+ Chest chestBlock = (Chest)factoryInventoryLocation.getBlock().getState();
+ factoryInventory = chestBlock.getInventory();
+ Furnace furnaceBlock = (Furnace)factoryPowerSourceLocation.getBlock().getState();
+ factoryPowerInventory = furnaceBlock.getInventory();
+ break;
+ default:
+ break;
}
- return items;
}
- private NamedItemStack createItemStack(Material material,int stackSize,short durability,String name,String loreString,String commonName)
+ /**
+ * Updates the current properties for the factory.
+ */
+ public void updateProperties()
{
- NamedItemStack namedItemStack= new NamedItemStack(material, stackSize, durability,commonName);
- if(name!=null||loreString!=null)
- {
- ItemMeta meta=namedItemStack.getItemMeta();
- if (name!=null)
- meta.setDisplayName(name);
- if (loreString!=null)
- {
- List lore = new ArrayList();
- lore.add(loreString);
- meta.setLore(lore);
- }
- namedItemStack.setItemMeta(meta);
- }
- return namedItemStack;
-
+ factoryProperties = FactoryModPlugin.getProperties(factoryType, subFactoryType);
}
- private void removeRecipe(Recipe removalRecipe)
+ /**
+ * Returns the user-friendly name for this factory type
+ */
+ public String factoryName()
{
- Iterator itterator = getServer().recipeIterator();
- while (itterator.hasNext())
+ switch (factoryType)
{
- Recipe recipe = itterator.next();
- if (recipe.getResult().getType() == removalRecipe.getResult().getType())
- {
- itterator.remove();
- }
+ case PRODUCTION:
+ return "Production";
+ default:
+ return null;
}
}
- public static Properties getProperties(FactoryType factoryType, String subFactoryType)
+ /**
+ * returns the factory Inventory(normally a chest), updates the inventory variable aswell.
+ */
+ public Inventory getInventory()
{
- switch(factoryType)
- {
- case PRODUCTION:
- return FactoryModPlugin.productionProperties.get(subFactoryType);
- default:
- return null;
- }
+ Chest chestBlock = (Chest)factoryInventoryLocation.getBlock().getState();
+ factoryInventory = chestBlock.getInventory();
+ return factoryInventory;
}
- public static int getMaxTiers(FactoryType factoryType)
+ /**
+ * Returns the power Source inventory, updates it aswell.
+ */
+ public Inventory getPowerSourceInventory()
{
- // TODO Auto-generated method stub
- return 0;
+ Furnace furnaceBlock = (Furnace)factoryPowerSourceLocation.getBlock().getState();
+ factoryPowerInventory = furnaceBlock.getInventory();
+ return factoryPowerInventory;
}
-
- public static void sendConsoleMessage(String message)
+
+ /**
+ * Returns the sub-factory type of the factory.
+ */
+ public String getSubFactoryType()
{
- Bukkit.getLogger().info(FactoryModPlugin.PLUGIN_PREFIX + message);
+ return subFactoryType;
}
-
- public PrintingPressProperties getPrintingPressProperties() {
- return printingPressProperties;
+
+
+ /**
+ * returns if the factory is on or not.
+ */
+ public boolean getActive()
+ {
+ return active;
+ }
+
+ /**
+ * returns true if all factory blocks are occupied with the correct blocks
+ */
+ public boolean isWhole()
+ {
+ //Check if power source exists
+ if(factoryPowerSourceLocation.getBlock().getType().getId()== 61 || factoryPowerSourceLocation.getBlock().getType().getId()== 62)
+ {
+ //Check inventory location
+ if(factoryInventoryLocation.getBlock().getType().getId()== 54)
+ {
+ //Check Interaction block location
+ if(factoryLocation.getBlock().getType().getId()==FactoryModPlugin.CENTRAL_BLOCK_MATERIAL.getId())
+ {
+ return true;
+ }
+ }
+ }
+ return false;
}
}
diff --git a/src/com/github/igotyou/FactoryMod/FactoryObject.java b/src/com/github/igotyou/FactoryMod/FactoryObject.java
index d55d102a..0f95fe05 100644
--- a/src/com/github/igotyou/FactoryMod/FactoryObject.java
+++ b/src/com/github/igotyou/FactoryMod/FactoryObject.java
@@ -203,4 +203,4 @@ public boolean isWhole()
}
return false;
}
-}
\ No newline at end of file
+}
diff --git a/src/com/github/igotyou/FactoryMod/Factorys/BaseFactory.java b/src/com/github/igotyou/FactoryMod/Factorys/BaseFactory.java
index 0d7e9a84..1f651a3f 100644
--- a/src/com/github/igotyou/FactoryMod/Factorys/BaseFactory.java
+++ b/src/com/github/igotyou/FactoryMod/Factorys/BaseFactory.java
@@ -441,7 +441,7 @@ public void destroy(Location destroyLocation)
/*
* Repairs the factory
*/
- private void repair(int amountRepaired)
+ protected void repair(int amountRepaired)
{
currentRepair-=amountRepaired;
if(currentRepair<0)
diff --git a/src/com/github/igotyou/FactoryMod/Factorys/NetherFactory.java b/src/com/github/igotyou/FactoryMod/Factorys/NetherFactory.java
new file mode 100644
index 00000000..0ff2fe92
--- /dev/null
+++ b/src/com/github/igotyou/FactoryMod/Factorys/NetherFactory.java
@@ -0,0 +1,605 @@
+package com.github.igotyou.FactoryMod.Factorys;
+
+import static com.untamedears.citadel.Utility.getReinforcement;
+import static com.untamedears.citadel.Utility.isReinforced;
+
+import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.ItemStack;
+
+import com.github.igotyou.FactoryMod.FactoryModPlugin;
+import com.github.igotyou.FactoryMod.managers.NetherFactoryManager;
+import com.github.igotyou.FactoryMod.properties.NetherFactoryProperties;
+import com.github.igotyou.FactoryMod.utility.InteractionResponse;
+import com.github.igotyou.FactoryMod.utility.InteractionResponse.InteractionResult;
+import com.github.igotyou.FactoryMod.utility.ItemList;
+import com.github.igotyou.FactoryMod.utility.NamedItemStack;
+import com.untamedears.citadel.entity.PlayerReinforcement;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class NetherFactory extends BaseFactory
+{
+
+ private NetherFactoryProperties netherFactoryProperties;//the properties of the production factory
+ private Location netherTeleportPlatform;
+ private Location overworldTeleportPlatform;
+ private NetherOperationMode mode;
+ private NetherFactoryManager netherManager;
+ public NetherOperationMode getMode() {
+ return mode;
+ }
+
+ /**
+ * Constructor called when creating portal
+ */
+ public NetherFactory (Location factoryLocation, Location factoryInventoryLocation, Location factoryPowerSource, Location nTeleportPlatform, Location oTeleportPlatform,
+ NetherFactoryProperties netherFactoryProperties, NetherFactoryManager netherManager)
+ {
+ super(factoryLocation, factoryInventoryLocation, factoryPowerSource, FactoryType.NETHER_FACTORY, "Nether factory");
+ this.netherTeleportPlatform = nTeleportPlatform;
+ this.overworldTeleportPlatform = oTeleportPlatform;
+ this.netherFactoryProperties = netherFactoryProperties;
+ this.mode = NetherOperationMode.REPAIR;
+ this.netherManager = netherManager;
+ }
+
+ /**
+ * Constructor
+ */
+ public NetherFactory (Location factoryLocation, Location factoryInventoryLocation, Location factoryPowerSource, Location nTeleportPlatform, Location oTeleportPlatform,
+ boolean active, double currentMaintenance,
+ long timeDisrepair, NetherOperationMode mode, NetherFactoryProperties netherFactoryProperties,
+ NetherFactoryManager netherManager)
+ {
+ super(factoryLocation, factoryInventoryLocation, factoryPowerSource, FactoryType.NETHER_FACTORY, active, "Nether factory", 0 , 0, currentMaintenance, timeDisrepair);
+ this.netherFactoryProperties = netherFactoryProperties;
+ this.netherTeleportPlatform = nTeleportPlatform;
+ this.overworldTeleportPlatform = oTeleportPlatform;
+ this.mode = mode;
+ this.netherManager = netherManager;
+ }
+
+ @Override
+ public boolean isRepairing() {
+ return mode == NetherOperationMode.REPAIR;
+ }
+
+ @Override
+ public void destroy(Location destroyLocation)
+ {
+ if (destroyLocation.equals(overworldTeleportPlatform) || destroyLocation.equals(netherTeleportPlatform))
+ {
+ powerOff();
+ }
+ else if (destroyLocation.equals(factoryLocation) || destroyLocation.equals(factoryInventoryLocation) || destroyLocation.equals(factoryPowerSourceLocation))
+ {
+ powerOff();
+ currentRepair=getMaxRepair();
+ timeDisrepair=System.currentTimeMillis();
+ }
+ }
+
+ /**
+ * Returns either a success or error message.
+ * Called by the blockListener when a player left clicks the center block, with the InteractionMaterial
+ */
+ @Override
+ public void update()
+ {
+ if (mode == NetherOperationMode.REPAIR)
+ {
+ //if factory is turned on
+ if (active)
+ {
+ //if the materials required to produce the current recipe are in the factory inventory
+ if (checkHasMaterials())
+ {
+ //if the factory has been working for less than the required time for the recipe
+ if (currentProductionTimer < getProductionTime())
+ {
+ //if the factory power source inventory has enough fuel for at least 1 energyCycle
+ if (isFuelAvailable())
+ {
+ //if the time since fuel was last consumed is equal to how often fuel needs to be consumed
+ if (currentEnergyTimer == getEnergyTime()-1)
+ {
+ //remove one fuel.
+ getFuel().removeFrom(getPowerSourceInventory());
+ //0 seconds since last fuel consumption
+ currentEnergyTimer = 0;
+ fuelConsumed();
+ }
+ //if we don't need to consume fuel, just increment the energy timer
+ else
+ {
+ currentEnergyTimer++;
+ }
+ //increment the production timer
+ currentProductionTimer ++;
+ postUpdate();
+ }
+ //if there is no fuel Available turn off the factory
+ else
+ {
+ powerOff();
+ }
+ }
+
+ //if the production timer has reached the recipes production time remove input from chest, and add output material
+ else if (currentProductionTimer >= getProductionTime())
+ {
+ consumeInputs();
+ produceOutputs();
+ //Repairs the factory
+ repair(getRepairs().removeMaxFrom(getInventory(),(int)currentRepair));
+ recipeFinished();
+
+ currentProductionTimer = 0;
+ powerOff();
+ }
+ }
+ else
+ {
+ powerOff();
+ }
+ }
+ }
+ else if (mode == NetherOperationMode.TELEPORT)
+ {
+ if(!isFuelAvailable())
+ {
+ togglePower();
+ }
+ }
+ }
+
+ public List getTeleportationBlockResponse(Player player, Location clickedBlock)
+ {
+ List responses=new ArrayList();
+ //does the player have acsess to the nether factory via ciatdel?
+ if ((!FactoryModPlugin.CITADEL_ENABLED || (FactoryModPlugin.CITADEL_ENABLED && !isReinforced(factoryLocation))) ||
+ (((PlayerReinforcement) getReinforcement(factoryLocation)).isAccessible(player)))
+ {
+ if (mode == NetherOperationMode.TELEPORT)
+ {
+ if (active)
+ {
+ if (isFuelAvailable() || !netherFactoryProperties.getUseFuelOnTeleport())
+ {
+ Location playerLocation = player.getLocation();
+ if ( playerLocation.getBlockX() == clickedBlock.getBlockX()
+ && (playerLocation.getBlockY()-1) == clickedBlock.getBlockY()
+ && playerLocation.getBlockZ() == clickedBlock.getBlockZ())
+ {
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Commencing teleportation..."));
+ if (clickedBlock.getWorld().getName().equalsIgnoreCase(FactoryModPlugin.WORLD_NAME))
+ {
+ if (FactoryModPlugin.REMOVE_BLOCK_ABOVE_TELEPORT_PLATFORM_ON_TELEPORT)
+ {
+ removeBlocksAboveTeleportPlatform(netherTeleportPlatform);
+ }
+ Location destination = new Location(netherTeleportPlatform.getWorld(), netherTeleportPlatform.getX(), netherTeleportPlatform.getY(), netherTeleportPlatform.getZ(), playerLocation.getYaw(), playerLocation.getPitch());
+ destination.add(0.5, 1.5, 0.5);
+ player.teleport(destination);
+ if (netherFactoryProperties.getUseFuelOnTeleport())
+ {
+ getFuel().removeFrom(getPowerSourceInventory());
+ }
+ }
+ else if (clickedBlock.getWorld().getName().equalsIgnoreCase(FactoryModPlugin.NETHER_NAME))
+ {
+ if (FactoryModPlugin.REMOVE_BLOCK_ABOVE_TELEPORT_PLATFORM_ON_TELEPORT)
+ {
+ removeBlocksAboveTeleportPlatform(overworldTeleportPlatform);
+ }
+ Location destination = new Location(overworldTeleportPlatform.getWorld(), overworldTeleportPlatform.getX(), overworldTeleportPlatform.getY(), overworldTeleportPlatform.getZ(), playerLocation.getYaw(), playerLocation.getPitch());
+ destination.add(0.5, 1.5, 0.5);
+ player.teleport(destination);
+ if (netherFactoryProperties.getUseFuelOnTeleport())
+ {
+ getFuel().removeFrom(getPowerSourceInventory());
+ }
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, you must stand on the teleportation block!"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is missing fuel! ("+getFuel().getMultiple(1).toString()+")"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is turned off!"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is not in teleport mode."));
+ }
+ return responses;
+ }
+ else
+ {
+ //is the player potentialy holding a security note/ticket?
+ ItemStack itemInHand = player.getItemInHand();
+ if (itemInHand.getType() == Material.PAPER)
+ {
+ if (isInTicketMode())
+ {
+ int ticketCheck = checkTicket(itemInHand);
+ if (ticketCheck > 0)
+ {
+ if (mode == NetherOperationMode.TELEPORT)
+ {
+ if (active)
+ {
+ if (isFuelAvailable())
+ {
+ Location playerLocation = player.getLocation();
+ if ( playerLocation.getBlockX() == clickedBlock.getBlockX()
+ && (playerLocation.getBlockY()-1) == clickedBlock.getBlockY()
+ && playerLocation.getBlockZ() == clickedBlock.getBlockZ())
+ {
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Commencing teleportation..."));
+ if (clickedBlock.getWorld().getName().equalsIgnoreCase(FactoryModPlugin.WORLD_NAME))
+ {
+ if (FactoryModPlugin.REMOVE_BLOCK_ABOVE_TELEPORT_PLATFORM_ON_TELEPORT)
+ {
+ removeBlocksAboveTeleportPlatform(netherTeleportPlatform);
+ }
+ Location destination = new Location(netherTeleportPlatform.getWorld(), netherTeleportPlatform.getX(), netherTeleportPlatform.getY(), netherTeleportPlatform.getZ(), playerLocation.getYaw(), playerLocation.getPitch());
+ destination.add(0.5, 1.5, 0.5);
+ player.teleport(destination);
+ if (ticketCheck == 2)
+ {
+ transferTicket(player, itemInHand);
+ }
+ if (netherFactoryProperties.getUseFuelOnTeleport())
+ {
+ getFuel().removeFrom(getPowerSourceInventory());
+ }
+ }
+ else if (clickedBlock.getWorld().getName().equalsIgnoreCase(FactoryModPlugin.NETHER_NAME))
+ {
+ if (FactoryModPlugin.REMOVE_BLOCK_ABOVE_TELEPORT_PLATFORM_ON_TELEPORT)
+ {
+ removeBlocksAboveTeleportPlatform(overworldTeleportPlatform);
+ }
+ Location destination = new Location(overworldTeleportPlatform.getWorld(), overworldTeleportPlatform.getX(), overworldTeleportPlatform.getY(), overworldTeleportPlatform.getZ(), playerLocation.getYaw(), playerLocation.getPitch());
+ destination.add(0.5, 1.5, 0.5);
+ player.teleport(destination);
+ if (ticketCheck == 2)
+ {
+ transferTicket(player, itemInHand);
+ }
+ if (netherFactoryProperties.getUseFuelOnTeleport())
+ {
+ getFuel().removeFrom(getPowerSourceInventory());
+ }
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, you must stand on the teleportation block!"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is missing fuel! ("+getFuel().getMultiple(1).toString()+")"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is turned off!"));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Can't teleport, factory is not in teleport mode."));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "Your ticket does not match any in the factory."));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "You don't have permission to use this factory."));
+ }
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "You don't have permission to use this factory."));
+ }
+ }
+ return responses;
+ }
+
+ @Override
+ public List getCentralBlockResponse()
+ {
+ List responses=new ArrayList();
+ //Is the factory off
+ if (!active)
+ {
+ //is the recipe is initiated
+ if (mode == null)
+ {
+ mode = NetherOperationMode.REPAIR;
+ }
+ else
+ {
+ mode = mode.getNext();
+ }
+
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "-----------------------------------------------------"));
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Switched mode to: " + mode.getDescription()+"."));
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Next mode is: "+mode.getNext().getDescription()+"."));
+ }
+ else
+ {
+ responses.add(new InteractionResponse(InteractionResult.FAILURE, "You can't change modes while the nether factory is on! Turn it off first."));
+ }
+ return responses;
+ }
+
+ @Override
+ public ItemList getFuel() {
+ return netherFactoryProperties.getFuel();
+ }
+
+ /**
+ * Returns the factory's properties
+ */
+ public NetherFactoryProperties getProperties()
+ {
+ return netherFactoryProperties;
+ }
+
+ @Override
+ public List getChestResponse()
+ {
+ List responses=new ArrayList();
+ String status=active ? "On" : "Off";
+ //Name: Status with XX% health.
+ int maxRepair = netherFactoryProperties.getRepair();
+ boolean maintenanceActive = maxRepair!=0;
+ int health =(!maintenanceActive) ? 100 : (int) Math.round(100*(1-currentRepair/(maxRepair)));
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, netherFactoryProperties.getName()+": "+status+" with "+String.valueOf(health)+"% health."));
+ //Current mode: mode description
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Current mode: " + mode.getDescription()));
+ //Overworld side teleport platform is at X: Y: Z:
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Overworld side teleport platform is:" + overworldTeleportPlatform.getBlockX() + " Y:" + overworldTeleportPlatform.getBlockY() + " Z:" + overworldTeleportPlatform.getBlockZ()));
+ //Nether side teleport platform is at X: Y: Z:
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS, "Nether side teleport platform is:" + netherTeleportPlatform.getBlockX() + " Y:" + netherTeleportPlatform.getBlockY() + " Z:" + netherTeleportPlatform.getBlockZ()));
+ //[Will repair XX% of the factory]
+ if(!getRepairs().isEmpty()&&maintenanceActive)
+ {
+ int amountAvailable=getRepairs().amountAvailable(getInventory());
+ int amountRepaired=amountAvailable>currentRepair ? (int) Math.ceil(currentRepair) : amountAvailable;
+ int percentRepaired=(int) (( (double) amountRepaired)/netherFactoryProperties.getRepair()*100);
+ responses.add(new InteractionResponse(InteractionResult.SUCCESS,"Will repair "+String.valueOf(percentRepaired)+"% of the factory with "+getRepairs().getMultiple(amountRepaired).toString()+"."));
+ }
+ return responses;
+ }
+
+ protected void recipeFinished() {
+ }
+
+ @Override
+ public ItemList getInputs() {
+ if(mode == NetherOperationMode.REPAIR)
+ {
+ return new ItemList();
+ }
+ else
+ {
+ return new ItemList();
+ }
+ }
+
+ @Override
+ public ItemList getOutputs() {
+ return new ItemList();
+ }
+
+ @Override
+ public ItemList getRepairs() {
+ ItemList repairMaterials = new ItemList();
+ switch(mode) {
+ case REPAIR:
+ repairMaterials.addAll(netherFactoryProperties.getRepairMaterials());
+ repairMaterials = repairMaterials.getMultiple(netherManager.getScalingFactor(factoryLocation));
+ break;
+ default:
+ break;
+ }
+ return repairMaterials;
+ }
+
+ @Override
+ public double getEnergyTime() {
+ return netherFactoryProperties.getEnergyTime();
+ }
+
+ @Override
+ public double getProductionTime() {
+ switch(mode) {
+ case REPAIR:
+ return netherFactoryProperties.getRepairTime();
+ default:
+ return 1;
+ }
+ }
+
+ @Override
+ public int getMaxRepair() {
+ return netherFactoryProperties.getRepair();
+ }
+
+ public Location getNetherTeleportPlatform()
+ {
+ return netherTeleportPlatform;
+ }
+
+
+ public Location getOverworldTeleportPlatform()
+ {
+ return overworldTeleportPlatform;
+ }
+
+ @Override
+ public boolean isWhole(boolean initCall)
+ {
+ //Check if power source exists
+ if(factoryPowerSourceLocation.getBlock().getType().getId()== 61 || factoryPowerSourceLocation.getBlock().getType().getId()== 62)
+ {
+ //Check inventory location
+ if(factoryInventoryLocation.getBlock().getType().getId()== 54)
+ {
+ //Check Interaction block location
+ if(factoryLocation.getBlock().getType()==FactoryModPlugin.CENTRAL_BLOCK_MATERIAL)
+ {
+ if (netherTeleportPlatform == null && overworldTeleportPlatform == null && initCall)
+ {
+ return true;
+ }
+ else
+ {
+ if (netherTeleportPlatform.getBlock().getType() == FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL)
+ {
+ if (overworldTeleportPlatform.getBlock().getType() == FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL)
+ {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ public boolean isInTicketMode()
+ {
+ for (ItemStack itemSlot : getInventory().getContents())
+ {
+ if (itemSlot != null && itemSlot.getType() == Material.PAPER)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public int checkTicket(ItemStack ticket)
+ {
+ int amount = 0;
+ for(ItemStack itemStack: getInventory().getContents())
+ {
+ if (itemStack == null)
+ {
+ continue;
+ }
+ if (itemStack.isSimilar(ticket))
+ {
+ amount = amount+itemStack.getAmount();
+ }
+ }
+ if (amount == 1)
+ {
+ return 1;
+ }
+ else if (amount >= 2)
+ {
+ return 2;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public void removeBlocksAboveTeleportPlatform(Location teleportPlatform)
+ {
+ Location netherLocation1 = teleportPlatform.clone();
+ netherLocation1.add(0, 1, 0);
+ Location netherLocation2 = teleportPlatform.clone();
+ netherLocation2.add(0, 2, 0);
+ Location netherLocation3 = teleportPlatform.clone();
+ netherLocation3.add(0, 3, 0);
+ netherLocation1.getBlock().setType(Material.AIR);
+ netherLocation1.getBlock().getState().update(true);
+ netherLocation2.getBlock().setType(Material.AIR);
+ netherLocation2.getBlock().getState().update(true);
+ netherLocation3.getBlock().setType(Material.AIR);
+ netherLocation3.getBlock().getState().update(true);
+ }
+
+ public void regenerateTeleportBlock(Location location)
+ {
+ if (location.equals(overworldTeleportPlatform))
+ {
+ netherTeleportPlatform.getBlock().setType(FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL);
+ netherTeleportPlatform.getBlock().getState().update(true);
+ }
+ else if(location.equals(netherTeleportPlatform))
+ {
+ overworldTeleportPlatform.getBlock().setType(FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL);
+ overworldTeleportPlatform.getBlock().getState().update(true);
+ }
+
+ }
+
+ public void transferTicket(Player player, ItemStack ticket)
+ {
+ ItemStack clonedTicket = ticket.clone();
+ clonedTicket.setAmount(1);
+ ticket.setAmount(ticket.getAmount()-1);
+ player.setItemInHand(ticket);
+ getInventory().addItem(clonedTicket);
+ }
+
+ public enum NetherOperationMode {
+ REPAIR(0, "Repair"),
+ TELEPORT(1, "Teleport");
+
+ private static final int MAX_ID = 2;
+ private int id;
+ private String description;
+
+ private NetherOperationMode(int id, String description) {
+ this.id = id;
+ this.description = description;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static NetherOperationMode byId(int id) {
+ for (NetherOperationMode mode : NetherOperationMode.values()) {
+ if (mode.getId() == id)
+ return mode;
+ }
+ return null;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public NetherOperationMode getNext() {
+ int nextId = (getId() + 1) % MAX_ID;
+ return NetherOperationMode.byId(nextId);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/com/github/igotyou/FactoryMod/listeners/FactoryModListener.java b/src/com/github/igotyou/FactoryMod/listeners/FactoryModListener.java
index 20d0b4e8..c46b8d7a 100644
--- a/src/com/github/igotyou/FactoryMod/listeners/FactoryModListener.java
+++ b/src/com/github/igotyou/FactoryMod/listeners/FactoryModListener.java
@@ -18,6 +18,7 @@
import org.bukkit.event.player.PlayerInteractEvent;
import com.github.igotyou.FactoryMod.FactoryModPlugin;
+import com.github.igotyou.FactoryMod.Factorys.NetherFactory;
import com.github.igotyou.FactoryMod.Factorys.PrintingPress;
import com.github.igotyou.FactoryMod.Factorys.ProductionFactory;
import com.github.igotyou.FactoryMod.interfaces.Factory;
@@ -27,6 +28,7 @@
import com.github.igotyou.FactoryMod.utility.InteractionResponse;
import com.github.igotyou.FactoryMod.utility.InteractionResponse.InteractionResult;
import com.untamedears.citadel.entity.PlayerReinforcement;
+
import org.bukkit.event.entity.ExpBottleEvent;
import org.bukkit.event.player.PlayerExpChangeEvent;
@@ -247,6 +249,49 @@ else if (clicked.getType() == Material.CHEST)
}
}
+ else if (clicked.getType() == FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL)
+ {
+ if (factoryMan.factoryExistsAt(clicked.getLocation()))
+ {
+ if(factoryMan.getFactory(clicked.getLocation()).getClass() == NetherFactory.class)
+ {
+ NetherFactory netherFactory = (NetherFactory) factoryMan.getFactory(clicked.getLocation());
+ if (FactoryModPlugin.REGENERATE_TELEPORT_BLOCK_ON_TELEPORT)
+ {
+ netherFactory.regenerateTeleportBlock(clicked.getLocation());
+ }
+ if(factoryMan.factoryWholeAt(clicked.getLocation()))
+ {
+ //toggle the recipe, and print the returned message.
+ InteractionResponse.messagePlayerResults(player, netherFactory.getTeleportationBlockResponse(player, clicked.getLocation()));
+ e.setCancelled(true);
+ }
+ }
+ }
+ }
+ }
+ else if (player.getItemInHand().getType() == Material.PAPER)
+ {
+ if (clicked.getType() == FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL)
+ {
+ if (factoryMan.factoryExistsAt(clicked.getLocation()))
+ {
+ if(factoryMan.getFactory(clicked.getLocation()).getClass() == NetherFactory.class)
+ {
+ NetherFactory netherFactory = (NetherFactory) factoryMan.getFactory(clicked.getLocation());
+ if (FactoryModPlugin.REGENERATE_TELEPORT_BLOCK_ON_TELEPORT)
+ {
+ netherFactory.regenerateTeleportBlock(clicked.getLocation());
+ }
+ if(factoryMan.factoryWholeAt(clicked.getLocation()))
+ {
+ //toggle the recipe, and print the returned message.
+ InteractionResponse.messagePlayerResults(player, netherFactory.getTeleportationBlockResponse(player, clicked.getLocation()));
+ e.setCancelled(true);
+ }
+ }
+ }
+ }
}
}
/* Section commented out since there exists range of bugs that circumvent
diff --git a/src/com/github/igotyou/FactoryMod/listeners/NoteStackListener.java b/src/com/github/igotyou/FactoryMod/listeners/NoteStackListener.java
new file mode 100644
index 00000000..3333f81b
--- /dev/null
+++ b/src/com/github/igotyou/FactoryMod/listeners/NoteStackListener.java
@@ -0,0 +1,194 @@
+package com.github.igotyou.FactoryMod.listeners;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.bukkit.Material;
+import org.bukkit.block.Block;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.Action;
+import org.bukkit.event.inventory.PrepareItemCraftEvent;
+import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.ShapelessRecipe;
+import org.bukkit.inventory.meta.ItemMeta;
+
+import sun.misc.Regexp;
+
+import com.github.igotyou.FactoryMod.FactoryModPlugin;
+
+public class NoteStackListener implements Listener {
+ private FactoryModPlugin plugin;
+ private static final Pattern stackableRegexp = Pattern.compile("^(ยง2.*?)( \\(x([1-9][0-9]*)\\))?$");
+ private static final Pattern nameRegexp = Pattern.compile("^(.*?)( ยง2x([1-9][0-9]*))?$");
+ private static final int SCALE_FACTOR = 4;
+ private static final int MAX_SCALE = 64;
+
+ public NoteStackListener(FactoryModPlugin plugin) {
+ this.plugin = plugin;
+ }
+
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
+ public void playerInteractionEvent(PlayerInteractEvent e)
+ {
+ Block clicked = e.getClickedBlock();
+ Player player = e.getPlayer();
+
+ ItemStack item = player.getItemInHand();
+ if (item == null) return;
+ if (!item.getType().equals(Material.PAPER)) return;
+
+ //if the player left clicked a block
+ if (e.getAction().equals(Action.LEFT_CLICK_BLOCK))
+ {
+ if (clicked.getType().equals(Material.ENCHANTMENT_TABLE)) {
+ // Break notes
+ int multiplier = getMultiplier(player.getItemInHand());
+ if (multiplier >= SCALE_FACTOR) {
+ int count = item.getAmount() * SCALE_FACTOR;
+ int newMultiplier = multiplier / SCALE_FACTOR;
+ player.setItemInHand(new ItemStack(Material.AIR));
+ ItemStack newMultipleStack = setMultiplier(item, newMultiplier);
+
+ while (count > 0) {
+ ItemStack toAdd = new ItemStack(newMultipleStack);
+ if (count > 64) {
+ toAdd.setAmount(64);
+ } else {
+ toAdd.setAmount(count);
+ }
+ // Try to add to hand first when breaking over 64
+ if (count > 64 && player.getItemInHand() == null || player.getItemInHand().getType().equals(Material.AIR)) {
+ player.setItemInHand(toAdd);
+ } else {
+ Map overflow = player.getInventory().addItem(toAdd);
+ if (overflow != null && overflow.size() > 0) {
+ for (ItemStack spill : overflow.values()) {
+ player.getWorld().dropItem(player.getLocation(), spill);
+ }
+ }
+ }
+ count = count - 64;
+ }
+
+ player.updateInventory();
+ }
+ }
+ } else if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
+ if (clicked.getType().equals(Material.ENCHANTMENT_TABLE)) {
+ // Combine notes
+ int multiplier = getMultiplier(item);
+ if (multiplier > 0 && item.getAmount() >= SCALE_FACTOR) {
+ int count = item.getAmount() / SCALE_FACTOR;
+ int residual = item.getAmount() - count * SCALE_FACTOR;
+ int newMultiplier = multiplier * SCALE_FACTOR;
+ if (newMultiplier > MAX_SCALE) {
+ return;
+ }
+ if (residual > 0) {
+ ItemStack singleRemainder = new ItemStack(item);
+ singleRemainder.setAmount(residual);
+ player.setItemInHand(singleRemainder);
+ } else {
+ player.setItemInHand(new ItemStack(Material.AIR));
+ }
+ ItemStack newMultipleStack = setMultiplier(item, newMultiplier);
+
+ while (count > 0) {
+ ItemStack toAdd = new ItemStack(newMultipleStack);
+ if (count > 64) {
+ toAdd.setAmount(64);
+ } else {
+ toAdd.setAmount(count);
+ }
+ // Try to add to hand first
+ Map overflow = player.getInventory().addItem(toAdd);
+ if (overflow != null && overflow.size() > 0) {
+ for (ItemStack spill : overflow.values()) {
+ player.getWorld().dropItem(player.getLocation(), spill);
+ }
+ }
+ count = count - 64;
+ }
+
+ e.setCancelled(true);
+ player.updateInventory();
+ }
+ }
+ }
+ }
+
+ private int getMultiplier(ItemStack item) {
+ List lore = item.getItemMeta().getLore();
+ if (item.getType().equals(Material.PAPER)) {
+ if (lore != null && lore.size() > 0) {
+ String lastLore = lore.get(lore.size() - 1);
+ Matcher matcher = stackableRegexp.matcher(lastLore);
+ if (matcher.find()) {
+ String digits = matcher.group(3);
+ if (digits != null) {
+ return Integer.parseInt(digits);
+ } else {
+ return 1;
+ }
+ }
+ return 0;
+ } else {
+ return 0;
+ }
+ } else {
+ return 0;
+ }
+ }
+
+ private ItemStack setMultiplier(ItemStack item, int multiplier) {
+ String name = item.getItemMeta().getDisplayName();
+ List lore = item.getItemMeta().getLore();
+ if (item.getType().equals(Material.PAPER)) {
+ if (name != null) {
+ Matcher matcher = nameRegexp.matcher(name);
+ if (matcher.find()) {
+ String newName;
+ if (multiplier == 1) {
+ newName = matcher.group(1);
+ } else {
+ newName = matcher.group(1) + " ยง2x" + Integer.toString(multiplier);
+ }
+
+ ItemMeta newMeta = item.getItemMeta().clone();
+ newMeta.setDisplayName(newName);
+ item = new ItemStack(item);
+ item.setItemMeta(newMeta);
+ }
+ }
+
+ if (lore != null && lore.size() > 0) {
+ String lastLore = lore.get(lore.size() - 1);
+ Matcher matcher = stackableRegexp.matcher(lastLore);
+ List newLore = new ArrayList();
+ if (matcher.find()) {
+ for (int i = 0; i < lore.size() - 1; i++) {
+ newLore.add(lore.get(i));
+ }
+ if (multiplier == 1) {
+ newLore.add(matcher.group(1));
+ } else {
+ newLore.add(matcher.group(1) + " (x" + Integer.toString(multiplier) + ")");
+ }
+
+ ItemMeta newMeta = item.getItemMeta().clone();
+ newMeta.setLore(newLore);
+ item = new ItemStack(item);
+ item.setItemMeta(newMeta);
+ }
+ }
+ }
+ return item;
+ }
+}
diff --git a/src/com/github/igotyou/FactoryMod/managers/FactoryModManager.java b/src/com/github/igotyou/FactoryMod/managers/FactoryModManager.java
index 2e327ece..ceff2ab7 100644
--- a/src/com/github/igotyou/FactoryMod/managers/FactoryModManager.java
+++ b/src/com/github/igotyou/FactoryMod/managers/FactoryModManager.java
@@ -64,6 +64,7 @@ private void initializeManagers()
//if (FactoryModPlugin.PRODUCTION_ENEABLED)
//{
initializeProductionManager();
+ initializeNetherFactoryManager();
initializePrintingPressManager();
//}
}
@@ -88,6 +89,13 @@ private void initializePrintingPressManager()
managers.add(printingMan);
}
+ private void initializeNetherFactoryManager()
+ {
+ NetherFactoryManager netherMan = new NetherFactoryManager(plugin);
+
+ managers.add(netherMan);
+ }
+
/**
* When plugin disabled, this is called.
*/
diff --git a/src/com/github/igotyou/FactoryMod/managers/NetherFactoryManager.java b/src/com/github/igotyou/FactoryMod/managers/NetherFactoryManager.java
new file mode 100644
index 00000000..dd4a3765
--- /dev/null
+++ b/src/com/github/igotyou/FactoryMod/managers/NetherFactoryManager.java
@@ -0,0 +1,407 @@
+package com.github.igotyou.FactoryMod.managers;
+
+import static com.untamedears.citadel.Utility.isReinforced;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.World;
+import org.bukkit.block.Block;
+import org.bukkit.block.Chest;
+import org.bukkit.inventory.Inventory;
+
+import com.github.igotyou.FactoryMod.FactoryModPlugin;
+import com.github.igotyou.FactoryMod.Factorys.NetherFactory;
+import com.github.igotyou.FactoryMod.Factorys.NetherFactory.NetherOperationMode;
+import com.github.igotyou.FactoryMod.interfaces.Factory;
+import com.github.igotyou.FactoryMod.interfaces.Manager;
+import com.github.igotyou.FactoryMod.properties.NetherFactoryProperties;
+import com.github.igotyou.FactoryMod.utility.InteractionResponse;
+import com.github.igotyou.FactoryMod.utility.InteractionResponse.InteractionResult;
+import com.github.igotyou.FactoryMod.utility.ItemList;
+import com.github.igotyou.FactoryMod.utility.NamedItemStack;
+
+import java.util.Iterator;
+
+//original file:
+/**
+* Manager.java
+* Purpose: Interface for Manager objects for basic manager functionality
+*
+* @author MrTwiggy
+* @version 0.1 1/08/13
+*/
+//edited version:
+/**
+* Manager.java
+* Purpose: Interface for Manager objects for basic manager functionality
+* @author igotyou
+*
+*/
+
+public class NetherFactoryManager implements Manager
+{
+ private FactoryModPlugin plugin;
+ private List netherFactorys;
+ private long repairTime;
+
+ public NetherFactoryManager(FactoryModPlugin plugin)
+ {
+ this.plugin = plugin;
+ netherFactorys = new ArrayList();
+ //Set maintenance clock to 0
+ updateFactorys();
+ }
+
+ public void save(File file) throws IOException
+ {
+ //Takes difference between last repair update and current one and scales repair accordingly
+ updateRepair(System.currentTimeMillis()-repairTime);
+ repairTime=System.currentTimeMillis();
+ FileOutputStream fileOutputStream = new FileOutputStream(file);
+ ObjectOutputStream oos = new ObjectOutputStream(fileOutputStream);
+ int version = 1;
+ oos.writeInt(version);
+ oos.writeInt(netherFactorys.size());
+ for (NetherFactory factory : netherFactorys)
+ {
+ Location centerlocation = factory.getCenterLocation();
+ Location inventoryLocation = factory.getInventoryLocation();
+ Location powerLocation = factory.getPowerSourceLocation();
+ Location netherTeleportPlatformLocation = factory.getNetherTeleportPlatform();
+ Location overworldTeleportPlatformLocation = factory.getOverworldTeleportPlatform();
+
+ oos.writeUTF(centerlocation.getWorld().getName());
+
+ oos.writeInt(centerlocation.getBlockX());
+ oos.writeInt(centerlocation.getBlockY());
+ oos.writeInt(centerlocation.getBlockZ());
+
+ oos.writeInt(inventoryLocation.getBlockX());
+ oos.writeInt(inventoryLocation.getBlockY());
+ oos.writeInt(inventoryLocation.getBlockZ());
+
+ oos.writeInt(powerLocation.getBlockX());
+ oos.writeInt(powerLocation.getBlockY());
+ oos.writeInt(powerLocation.getBlockZ());
+
+ oos.writeInt(overworldTeleportPlatformLocation.getBlockX());
+ oos.writeInt(overworldTeleportPlatformLocation.getBlockY());
+ oos.writeInt(overworldTeleportPlatformLocation.getBlockZ());
+
+ oos.writeUTF(netherTeleportPlatformLocation.getWorld().getName());
+ oos.writeInt(netherTeleportPlatformLocation.getBlockX());
+ oos.writeInt(netherTeleportPlatformLocation.getBlockY());
+ oos.writeInt(netherTeleportPlatformLocation.getBlockZ());
+
+ oos.writeBoolean(factory.getActive());
+ oos.writeInt(factory.getMode().getId());
+ oos.writeDouble(factory.getCurrentRepair());
+ oos.writeLong(factory.getTimeDisrepair());
+
+ }
+ oos.flush();
+ fileOutputStream.close();
+ }
+
+ public void load(File file) throws IOException
+ {
+ try {
+ repairTime=System.currentTimeMillis();
+ FileInputStream fileInputStream = new FileInputStream(file);
+ ObjectInputStream ois = new ObjectInputStream(fileInputStream);
+ int version = ois.readInt();
+ assert(version == 1);
+ int count = ois.readInt();
+ int i = 0;
+ for (i = 0; i < count; i++)
+ {
+ String worldName = ois.readUTF();
+ World world = plugin.getServer().getWorld(worldName);
+
+ Location centerLocation = new Location(world, ois.readInt(), ois.readInt(), ois.readInt());
+ Location inventoryLocation = new Location(world, ois.readInt(), ois.readInt(), ois.readInt());
+ Location powerLocation = new Location(world, ois.readInt(), ois.readInt(), ois.readInt());
+ Location overworldTeleportPlatformLocation = new Location(world, ois.readInt(), ois.readInt(), ois.readInt());
+
+ String worldName2 = ois.readUTF();
+ World world2 = plugin.getServer().getWorld(worldName2);
+
+ Location netherTeleportPlatformLocation = new Location(world2, ois.readInt(), ois.readInt(), ois.readInt());
+
+ boolean active = ois.readBoolean();
+ NetherOperationMode mode = NetherFactory.NetherOperationMode.byId(ois.readInt());
+ double currentRepair = ois.readDouble();
+ long timeDisrepair = ois.readLong();
+
+ NetherFactory factory = new NetherFactory(centerLocation, inventoryLocation, powerLocation, netherTeleportPlatformLocation, overworldTeleportPlatformLocation,
+ active, currentRepair, timeDisrepair,
+ mode,
+ plugin.getNetherFactoryProperties(), this);
+ addFactory(factory);
+ }
+ fileInputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void updateFactorys()
+ {
+ plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ for (NetherFactory factory: netherFactorys)
+ {
+ factory.update();
+ }
+ }
+ }, 0L, FactoryModPlugin.PRODUCER_UPDATE_CYCLE);
+ }
+
+ public InteractionResponse createFactory(Location factoryLocation, Location inventoryLocation, Location powerSourceLocation)
+ {
+ NetherFactoryProperties netherFactoryProperties = plugin.getNetherFactoryProperties();
+ Block inventoryBlock = inventoryLocation.getBlock();
+ Chest chest = (Chest) inventoryBlock.getState();
+ Inventory chestInventory = chest.getInventory();
+ ItemList constructionMaterials = netherFactoryProperties.getConstructionMaterials();
+ if(constructionMaterials.oneIn(chestInventory))
+ {
+ if (factoryLocation.getWorld().getName().equalsIgnoreCase(FactoryModPlugin.WORLD_NAME))
+ {
+ if (factoryLocation.getBlock().getType().equals(FactoryModPlugin.CENTRAL_BLOCK_MATERIAL))
+ {
+ if (!factoryExistsAt(factoryLocation))
+ {
+ double scalingFactor = getScalingFactor(factoryLocation);
+ if (scalingFactor < 10000)
+ {
+ constructionMaterials = constructionMaterials.getMultiple(scalingFactor);
+ boolean hasMaterials = constructionMaterials.allIn(chestInventory);
+ if (hasMaterials)
+ {
+ boolean markerFound = false;
+ Location markerLocation = factoryLocation.clone();
+ int blockY = markerLocation.getBlockY();
+ for (int centerY = blockY-plugin.NETHER_MARKER_MAX_DISTANCE; centerY <= blockY+plugin.NETHER_MARKER_MAX_DISTANCE && !markerFound; centerY++)
+ {
+ markerLocation.setY(centerY);
+ Location oneUp = markerLocation.clone();
+ oneUp.setY(centerY+1);
+ if (markerLocation.getBlock().getType() == FactoryModPlugin.NETHER_FACTORY_MARKER_MATERIAL && oneUp.getBlock().getType() == FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL)
+ {
+ markerFound = true;
+ }
+ }
+ if (markerFound)
+ {
+ int nether_scale = FactoryModPlugin.NETHER_SCALE;
+ boolean locationOk = false;
+ int startX = Math.round(factoryLocation.getBlockX()/nether_scale);
+ int startY = factoryLocation.getBlockY();
+ int startZ = Math.round(factoryLocation.getBlockZ()/nether_scale);
+ Location netherLocation = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), startX,startY,startZ);
+ Location netherLocation1 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), startX,startY+1,startZ);
+ Location netherLocation2 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), startX,startY+2,startZ);
+ Location netherLocation3 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), startX,startY+3,startZ);
+ if (FactoryModPlugin.CITADEL_ENABLED && (isReinforced(netherLocation) || isReinforced(netherLocation1) || isReinforced(netherLocation2) || isReinforced(netherLocation3)))
+ {
+ for(int scanX = startX-1; scanX <= startX+1 && !locationOk; scanX++)
+ {
+
+ for(int scanZ = startZ-1; scanZ <= startZ+1 && !locationOk; scanZ++)
+ {
+ for(int scanY = startY; scanY <= 250 && !locationOk; scanY++)
+ {
+ netherLocation = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), scanX,scanY,scanZ);
+ netherLocation1 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), scanX,scanY+1,scanZ);
+ netherLocation2 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), scanX,scanY+2,scanZ);
+ netherLocation3 = new Location(Bukkit.getWorld(FactoryModPlugin.NETHER_NAME), scanX,scanY+3,scanZ);
+ if(!isReinforced(netherLocation) && !isReinforced(netherLocation1) && !isReinforced(netherLocation2) && !isReinforced(netherLocation3))
+ {
+ locationOk = true;
+
+ }
+ }
+ }
+ }
+ }
+ if (!factoryExistsAt(netherLocation))
+ {
+ netherLocation.getBlock().setType(FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL);
+ netherLocation.getBlock().getState().update(true);
+ netherLocation1.getBlock().setType(Material.AIR);
+ netherLocation1.getBlock().getState().update(true);
+ netherLocation2.getBlock().setType(Material.AIR);
+ netherLocation2.getBlock().getState().update(true);
+ netherLocation3.getBlock().setType(Material.AIR);
+ netherLocation3.getBlock().getState().update(true);
+ if(netherLocation.getBlock().getType() != (FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL) &&
+ netherLocation1.getBlock().getType() != Material.AIR &&
+ netherLocation2.getBlock().getType() != Material.AIR &&
+ netherLocation3.getBlock().getType() != Material.AIR)
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "For some reason the nether side obsidian block did not generate...blame bukkit");
+ }
+ Location oneUp = markerLocation.clone();
+ oneUp.add(0,1,0);
+ NetherFactory netherFactory = new NetherFactory(factoryLocation, inventoryLocation, powerSourceLocation, netherLocation, oneUp, plugin.getNetherFactoryProperties(), this);
+ if (constructionMaterials.removeFrom(netherFactory.getInventory()))
+ {
+ addFactory(netherFactory);
+ return new InteractionResponse(InteractionResult.SUCCESS, "Successfully created " + netherFactoryProperties.getName());
+ }
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "There is a other " + netherFactoryProperties.getName() + " too close.");
+ }
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "No marker found. Place a " + FactoryModPlugin.NETHER_FACTORY_MARKER_MATERIAL + " 1-20 blocks above the center block of the nether factory with a " + FactoryModPlugin.NETHER_FACTORY_TELEPORT_PLATFORM_MATERIAL + " right above.");
+ }
+ }
+ return new InteractionResponse(InteractionResult.FAILURE, "Not enough materials in chest! You need " + constructionMaterials.toString());
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "Factory is too close to a other nether factory!");
+ }
+ }
+ return new InteractionResponse(InteractionResult.FAILURE, "There is already a " + netherFactoryProperties.getName() + " there!");
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "Wrong center block!");
+ }
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, netherFactoryProperties.getName() + "'s can only be built in the overworld");
+ }
+ }
+ return new InteractionResponse(InteractionResult.FAILURE, "No factory was identified!");
+ }
+
+ public InteractionResponse addFactory(Factory factory)
+ {
+ NetherFactory netherFactory = (NetherFactory) factory;
+ if (netherFactory.getCenterLocation().getBlock().getType().equals(FactoryModPlugin.CENTRAL_BLOCK_MATERIAL) &&
+ (!factoryExistsAt(netherFactory.getCenterLocation())
+ || !factoryExistsAt(netherFactory.getInventoryLocation())
+ || !factoryExistsAt(netherFactory.getPowerSourceLocation())
+ || !factoryExistsAt(netherFactory.getNetherTeleportPlatform())
+ || !factoryExistsAt(netherFactory.getOverworldTeleportPlatform()) ))
+ {
+ netherFactorys.add(netherFactory);
+ return new InteractionResponse(InteractionResult.SUCCESS, "");
+ }
+ else
+ {
+ return new InteractionResponse(InteractionResult.FAILURE, "");
+ }
+ }
+
+ public NetherFactory getFactory(Location factoryLocation)
+ {
+ for (NetherFactory factory : netherFactorys)
+ {
+ if (factory.getCenterLocation().equals(factoryLocation)
+ || factory.getInventoryLocation().equals(factoryLocation)
+ || factory.getPowerSourceLocation().equals(factoryLocation)
+ || factory.getNetherTeleportPlatform().equals(factoryLocation)
+ || factory.getOverworldTeleportPlatform().equals(factoryLocation))
+ return factory;
+ }
+ return null;
+ }
+
+ public boolean factoryExistsAt(Location factoryLocation)
+ {
+ boolean returnValue = false;
+ if (getFactory(factoryLocation) != null)
+ {
+ returnValue = true;
+ }
+ return returnValue;
+ }
+
+ public boolean factoryWholeAt(Location factoryLocation)
+ {
+ boolean returnValue = false;
+ if (getFactory(factoryLocation) != null)
+ {
+ returnValue = getFactory(factoryLocation).isWhole(false);
+ }
+ return returnValue;
+ }
+
+ public void removeFactory(Factory factory)
+ {
+ netherFactorys.remove((NetherFactory)factory);
+ }
+
+ public void updateRepair(long time)
+ {
+ for (NetherFactory factory: netherFactorys)
+ {
+ factory.updateRepair(time/((double)FactoryModPlugin.REPAIR_PERIOD));
+ }
+ long currentTime=System.currentTimeMillis();
+ Iterator itr=netherFactorys.iterator();
+ while(itr.hasNext())
+ {
+ NetherFactory factory=itr.next();
+ if(currentTime>(factory.getTimeDisrepair()+FactoryModPlugin.DISREPAIR_PERIOD))
+ {
+ itr.remove();
+ }
+ }
+ }
+
+ public String getSavesFileName()
+ {
+ return FactoryModPlugin.NETHER_FACTORY_SAVE_FILE;
+ }
+
+ public double getScalingFactor(Location location)
+ {
+ double scalingFactor = 1;
+ NetherFactoryProperties properties = plugin.getNetherFactoryProperties();
+ for (NetherFactory factory : netherFactorys)
+ {
+ Location factoryLoc = factory.getCenterLocation();
+ if(factory.getCenterLocation().equals(location))
+ {
+ continue;
+ }
+ //the distance function uses square root, which is quite expensive, let's check if it's even realistic that it's within range first.
+ if ((location.getBlockX()-factoryLoc.getBlockX()) < properties.getScalingRadius() || (location.getBlockX()-factoryLoc.getBlockX()) > -(properties.getScalingRadius()))
+ {
+ if ((location.getBlockZ()-factoryLoc.getBlockZ()) < properties.getScalingRadius() || (location.getBlockZ()-factoryLoc.getBlockZ()) > -(properties.getScalingRadius()))
+ {
+ double distance = location.distance(factoryLoc);
+ if (distance <= properties.getScalingRadius())
+ {
+ scalingFactor = scalingFactor * Math.exp(1/(distance/properties.getCostScalingRadius()));
+ }
+ }
+ }
+ }
+ return scalingFactor;
+ }
+
+}
\ No newline at end of file
diff --git a/src/com/github/igotyou/FactoryMod/managers/PrintingPressManager.java b/src/com/github/igotyou/FactoryMod/managers/PrintingPressManager.java
index a9b99d7d..464cdfaa 100644
--- a/src/com/github/igotyou/FactoryMod/managers/PrintingPressManager.java
+++ b/src/com/github/igotyou/FactoryMod/managers/PrintingPressManager.java
@@ -254,7 +254,7 @@ public boolean factoryWholeAt(Location factoryLocation)
boolean returnValue = false;
if (getFactory(factoryLocation) != null)
{
- returnValue = getFactory(factoryLocation).isWhole();
+ returnValue = getFactory(factoryLocation).isWhole(false);
}
return returnValue;
}
diff --git a/src/com/github/igotyou/FactoryMod/managers/ProductionManager.java b/src/com/github/igotyou/FactoryMod/managers/ProductionManager.java
index 05a7e5a8..99cdf929 100644
--- a/src/com/github/igotyou/FactoryMod/managers/ProductionManager.java
+++ b/src/com/github/igotyou/FactoryMod/managers/ProductionManager.java
@@ -1,338 +1,284 @@
-package com.github.igotyou.FactoryMod.managers;
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.github.igotyou.FactoryMod.utility;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
+import com.github.igotyou.FactoryMod.FactoryModPlugin;
+import com.github.igotyou.FactoryMod.recipes.ProbabilisticEnchantment;
+import com.github.igotyou.FactoryMod.recipes.ProductionRecipe;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
+import java.util.ListIterator;
import java.util.Map;
-import java.util.Set;
-
-import org.bukkit.Location;
+import java.util.Random;
import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.block.Chest;
+import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemStack;
-import com.github.igotyou.FactoryMod.FactoryModPlugin;
-import com.github.igotyou.FactoryMod.Factorys.ProductionFactory;
-import com.github.igotyou.FactoryMod.interfaces.Factory;
-import com.github.igotyou.FactoryMod.interfaces.Manager;
-import com.github.igotyou.FactoryMod.interfaces.Recipe;
-import com.github.igotyou.FactoryMod.properties.ProductionProperties;
-import com.github.igotyou.FactoryMod.utility.InteractionResponse;
-import com.github.igotyou.FactoryMod.utility.InteractionResponse.InteractionResult;
-import com.github.igotyou.FactoryMod.recipes.ProductionRecipe;
-import com.github.igotyou.FactoryMod.utility.ItemList;
-import com.github.igotyou.FactoryMod.utility.NamedItemStack;
-import java.util.Iterator;
-
-//original file:
/**
-* Manager.java
-* Purpose: Interface for Manager objects for basic manager functionality
-*
-* @author MrTwiggy
-* @version 0.1 1/08/13
-*/
-//edited version:
-/**
-* Manager.java
-* Purpose: Interface for Manager objects for basic manager functionality
-* @author igotyou
-*
-*/
-
-public class ProductionManager implements Manager
-{
- private FactoryModPlugin plugin;
- private List producers;
- private long repairTime;
-
- public ProductionManager(FactoryModPlugin plugin)
- {
- this.plugin = plugin;
- producers = new ArrayList();
- //Set maintenance clock to 0
- updateFactorys();
- }
-
- public void save(File file) throws IOException
+ *
+ * @author Brian Landry
+ */
+public class ItemList extends ArrayList {
+ public boolean exactlyIn(Inventory inventory)
{
- //Takes difference between last repair update and current one and scales repair accordingly
- updateRepair(System.currentTimeMillis()-repairTime);
- repairTime=System.currentTimeMillis();
- FileOutputStream fileOutputStream = new FileOutputStream(file);
- BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
- for (ProductionFactory production : producers)
+ boolean returnValue=true;
+ //Checks that the ItemList ItemStacks are contained in the inventory
+ for(ItemStack itemStack:this)
{
- //order: subFactoryType world recipe1,recipe2 central_x central_y central_z inventory_x inventory_y inventory_z power_x power_y power_z active productionTimer energyTimer current_Recipe_number
-
- Location centerlocation = production.getCenterLocation();
- Location inventoryLoctation = production.getInventoryLocation();
- Location powerLocation = production.getPowerSourceLocation();
-
-
-
- bufferedWriter.append(production.getSubFactoryType());
- bufferedWriter.append(" ");
-
- List recipes=production.getRecipes();
- for (int i = 0; i < recipes.size(); i++)
- {
- bufferedWriter.append(String.valueOf(recipes.get(i).getTitle()));
- bufferedWriter.append(",");
- }
- bufferedWriter.append(" ");
-
- bufferedWriter.append(centerlocation.getWorld().getName());
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(centerlocation.getBlockX()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(centerlocation.getBlockY()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(centerlocation.getBlockZ()));
- bufferedWriter.append(" ");
-
- bufferedWriter.append(Integer.toString(inventoryLoctation.getBlockX()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(inventoryLoctation.getBlockY()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(inventoryLoctation.getBlockZ()));
- bufferedWriter.append(" ");
-
- bufferedWriter.append(Integer.toString(powerLocation.getBlockX()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(powerLocation.getBlockY()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(powerLocation.getBlockZ()));
- bufferedWriter.append(" ");
-
- bufferedWriter.append(Boolean.toString(production.getActive()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(production.getProductionTimer()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(production.getEnergyTimer()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Integer.toString(production.getCurrentRecipeNumber()));
- bufferedWriter.append(" ");
- bufferedWriter.append(Double.toString(production.getCurrentRepair()));
- bufferedWriter.append(" ");
- bufferedWriter.append(String.valueOf(production.getTimeDisrepair()));
- bufferedWriter.append("\n");
+ returnValue=returnValue&&(amountAvailable(inventory,itemStack)==itemStack.getAmount());
}
- bufferedWriter.flush();
- fileOutputStream.close();
- }
-
- public void load(File file) throws IOException
- {
- repairTime=System.currentTimeMillis();
- FileInputStream fileInputStream = new FileInputStream(file);
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
- String line;
- while ((line = bufferedReader.readLine()) != null)
+ //Checks that inventory has not ItemStacks in addition to the ones in the itemList
+ for(ItemStack invItemStack:inventory.getContents())
{
- String parts[] = line.split(" ");
-
- //order: subFactoryType world recipe1,recipe2 central_x central_y central_z inventory_x inventory_y inventory_z power_x power_y power_z active productionTimer energyTimer current_Recipe_number
- String subFactoryType = parts[0];
- String recipeNames[] = parts[1].split(",");
-
- Location centerLocation = new Location(plugin.getServer().getWorld(parts[2]), Integer.parseInt(parts[3]), Integer.parseInt(parts[4]), Integer.parseInt(parts[5]));
- Location inventoryLocation = new Location(plugin.getServer().getWorld(parts[2]), Integer.parseInt(parts[6]), Integer.parseInt(parts[7]), Integer.parseInt(parts[8]));
- Location powerLocation = new Location(plugin.getServer().getWorld(parts[2]), Integer.parseInt(parts[9]), Integer.parseInt(parts[10]), Integer.parseInt(parts[11]));
- boolean active = Boolean.parseBoolean(parts[12]);
- int productionTimer = Integer.parseInt(parts[13]);
- int energyTimer = Integer.parseInt(parts[14]);
- int currentRecipeNumber = Integer.parseInt(parts[15]);
- double currentRepair = Double.parseDouble(parts[16]);
- long timeDisrepair = Long.parseLong(parts[17]);
- if(FactoryModPlugin.productionProperties.containsKey(subFactoryType))
+ if(invItemStack!=null)
{
- Set recipes=new HashSet();
-
- // TODO: Give default recipes for subfactory type
- ProductionProperties properties = FactoryModPlugin.productionProperties.get(subFactoryType);
- recipes.addAll(properties.getRecipes());
-
- for(String name:recipeNames)
+ boolean itemPresent=false;
+ for(ItemStack itemStack:this)
{
- if(FactoryModPlugin.productionRecipes.containsKey(name))
+ if(itemStack.isSimilar(invItemStack))
{
- recipes.add(FactoryModPlugin.productionRecipes.get(name));
+ itemPresent=true;
}
}
-
- ProductionFactory production = new ProductionFactory(centerLocation, inventoryLocation, powerLocation, subFactoryType, active, productionTimer, energyTimer, new ArrayList(recipes), currentRecipeNumber, currentRepair,timeDisrepair);
- addFactory(production);
+ returnValue=returnValue&&itemPresent;
}
}
- fileInputStream.close();
+ return returnValue;
}
-
- public void updateFactorys()
+ public boolean oneIn(Inventory inventory)
{
- plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
+ if(this.isEmpty())
+ {
+ return true;
+ }
+ else
{
- @Override
- public void run()
+ for(ItemStack itemStack:this)
{
- for (ProductionFactory production: producers)
+ if (amountAvailable(inventory, itemStack)>=itemStack.getAmount())
{
- production.update();
+ return true;
}
}
- }, 0L, FactoryModPlugin.PRODUCER_UPDATE_CYCLE);
+ return false;
+ }
}
-
- public InteractionResponse createFactory(Location factoryLocation, Location inventoryLocation, Location powerSourceLocation)
+ public boolean allIn(Inventory inventory)
{
- if (!factoryExistsAt(factoryLocation))
+ for(ItemStack itemStack:this)
{
- HashMap properties = plugin.productionProperties;
- Block inventoryBlock = inventoryLocation.getBlock();
- Chest chest = (Chest) inventoryBlock.getState();
- Inventory chestInventory = chest.getInventory();
- String subFactoryType = null;
- for (Map.Entry entry : properties.entrySet())
+ if (amountAvailable(inventory, itemStack) inputs = entry.getValue().getInputs();
- if(inputs.exactlyIn(chestInventory))
- {
- subFactoryType = entry.getKey();
- }
+ return false;
}
- if (subFactoryType != null)
+ }
+ return true;
+ }
+
+ public boolean removeFrom(Inventory inventory)
+ {
+ boolean returnValue=true;
+ if(allIn(inventory))
+ {
+ for(ItemStack itemStack:this)
{
- ProductionFactory production = new ProductionFactory(factoryLocation, inventoryLocation, powerSourceLocation,subFactoryType);
- if (properties.get(subFactoryType).getInputs().allIn(production.getInventory()))
- {
- addFactory(production);
- properties.get(subFactoryType).getInputs().removeFrom(production.getInventory());
- return new InteractionResponse(InteractionResult.SUCCESS, "Successfully created " + production.getProductionFactoryProperties().getName());
- }
+ returnValue=returnValue&&removeItemStack(inventory,itemStack);
}
- return new InteractionResponse(InteractionResult.FAILURE, "Incorrect materials in chest! Stacks must match perfectly.");
}
- return new InteractionResponse(InteractionResult.FAILURE, "There is already a factory there!");
+ else
+ {
+ returnValue=false;
+ }
+ return returnValue;
}
-
- public InteractionResponse createFactory(Location factoryLocation, Location inventoryLocation, Location powerSourceLocation, int productionTimer, int energyTimer)
+ public int removeMaxFrom(Inventory inventory,int maxAmount)
{
- if (!factoryExistsAt(factoryLocation))
+ int amountRemoved=0;
+ while(size()!=0&&allIn(inventory)&&amountRemoved<=maxAmount)
{
- HashMap properties = plugin.productionProperties;
- Block inventoryBlock = inventoryLocation.getBlock();
- Chest chest = (Chest) inventoryBlock.getState();
- Inventory chestInventory = chest.getInventory();
- String subFactoryType = null;
- boolean hasMaterials = true;
- for (Map.Entry entry : properties.entrySet())
+ if(removeFrom(inventory))
{
- ItemList inputs = entry.getValue().getInputs();
- if(!inputs.allIn(chestInventory))
- {
- hasMaterials = false;
- }
- if (hasMaterials == true)
- {
- subFactoryType = entry.getKey();
- }
+ amountRemoved++;
}
- if (hasMaterials && subFactoryType != null)
+ }
+ return amountRemoved;
+ }
+ public ItemList removeOneFrom(Inventory inventory)
+ {
+ ItemList itemList=new ItemList();
+ for(NamedItemStack itemStack:this)
+ {
+ if(removeItemStack(inventory,itemStack))
{
- ProductionFactory production = new ProductionFactory(factoryLocation, inventoryLocation, powerSourceLocation,subFactoryType);
- if (properties.get(subFactoryType).getInputs().removeFrom(production.getInventory()))
- {
- addFactory(production);
- return new InteractionResponse(InteractionResult.SUCCESS, "Successfully created " + subFactoryType + " production factory");
- }
+ itemList.add(itemStack.clone());
+ break;
}
- return new InteractionResponse(InteractionResult.FAILURE, "Not enough materials in chest!");
}
- return new InteractionResponse(InteractionResult.FAILURE, "There is already a factory there!");
+ return itemList;
}
-
- public InteractionResponse addFactory(Factory factory)
+ public ItemList getDifference(Inventory inventory)
{
- ProductionFactory production = (ProductionFactory) factory;
- if (production.getCenterLocation().getBlock().getType().equals(Material.WORKBENCH) && (!factoryExistsAt(production.getCenterLocation()))
- || !factoryExistsAt(production.getInventoryLocation()) || !factoryExistsAt(production.getPowerSourceLocation()))
+ ItemList missingItems=new ItemList();
+ for(NamedItemStack itemStack:this)
{
- producers.add(production);
- return new InteractionResponse(InteractionResult.SUCCESS, "");
+ int difference=itemStack.getAmount()-amountAvailable(inventory, itemStack);
+ if (difference>0)
+ {
+ NamedItemStack clonedItemStack=itemStack.clone();
+ clonedItemStack.setAmount(difference);
+ missingItems.add(clonedItemStack);
+ }
}
- else
+ return missingItems;
+ }
+ public int amountAvailable(Inventory inventory)
+ {
+ int amountAvailable=0;
+ for(ItemStack itemStack:this)
{
- return new InteractionResponse(InteractionResult.FAILURE, "");
+ int currentAmountAvailable=amountAvailable(inventory,itemStack);
+ amountAvailable=amountAvailable>currentAmountAvailable ? amountAvailable : currentAmountAvailable;
}
+ return amountAvailable;
}
-
- public ProductionFactory getFactory(Location factoryLocation)
+ public void putIn(Inventory inventory)
+ {
+ putIn(inventory,new ArrayList());
+ }
+ public void putIn(Inventory inventory,List probabilisticEnchaments)
{
- for (ProductionFactory production : producers)
+ for(ItemStack itemStack:this)
{
- if (production.getCenterLocation().equals(factoryLocation) || production.getInventoryLocation().equals(factoryLocation)
- || production.getPowerSourceLocation().equals(factoryLocation))
- return production;
+ int maxStackSize=itemStack.getMaxStackSize();
+ int amount=itemStack.getAmount();
+ while(amount>maxStackSize)
+ {
+ ItemStack itemClone=itemStack.clone();
+ Map enchantments=getEnchantments(probabilisticEnchaments);
+ for(Enchantment enchantment:enchantments.keySet())
+ {
+ if(enchantment.canEnchantItem(itemStack))
+ {
+ itemClone.addUnsafeEnchantment(enchantment,enchantments.get(enchantment));
+ }
+ }
+ itemClone.setAmount(maxStackSize);
+ inventory.addItem(itemClone);
+ amount-=maxStackSize;
+ }
+ ItemStack itemClone=itemStack.clone();
+ Map enchantments=getEnchantments(probabilisticEnchaments);
+ for(Enchantment enchantment:enchantments.keySet())
+ {
+ if(enchantment.canEnchantItem(itemStack))
+ {
+ itemClone.addUnsafeEnchantment(enchantment,enchantments.get(enchantment));
+ }
+ }
+ itemClone.setAmount(amount);
+ inventory.addItem(itemClone);
}
- return null;
}
- public boolean factoryExistsAt(Location factoryLocation)
+ public HashMap getEnchantments(List probabilisticEnchaments)
{
- boolean returnValue = false;
- if (getFactory(factoryLocation) != null)
+ HashMap enchantments = new HashMap();
+ Random rand = new Random();
+ for(int i=0;i=rand.nextDouble())
+ {
+ enchantments.put(probabilisticEnchaments.get(i).getEnchantment(),probabilisticEnchaments.get(i).getLevel());
+ }
}
- return returnValue;
+ return enchantments;
}
- public boolean factoryWholeAt(Location factoryLocation)
+ public String toString()
{
- boolean returnValue = false;
- if (getFactory(factoryLocation) != null)
+ String returnString="";
+ for(int i=0;i itr=producers.iterator();
- while(itr.hasNext())
+ return totalMaterial;
+ }
+ //Removes an itemstacks worth of material from an inventory
+ private boolean removeItemStack(Inventory inventory,ItemStack itemStack)
+ {
+ int materialsToRemove = itemStack.getAmount();
+ ListIterator iterator = inventory.iterator();
+ while(iterator.hasNext())
{
- ProductionFactory producer=itr.next();
- if(currentTime>(producer.getTimeDisrepair()+FactoryModPlugin.DISREPAIR_PERIOD))
+ ItemStack currentItemStack = iterator.next();
+ if (itemStack.isSimilar(currentItemStack))
{
- itr.remove();
+ if (materialsToRemove <= 0)
+ {
+ break;
+ }
+ if(currentItemStack.getAmount() == materialsToRemove)
+ {
+ iterator.set(new ItemStack(Material.AIR, 0));
+ materialsToRemove = 0;
+ }
+ else if(currentItemStack.getAmount() > materialsToRemove)
+ {
+ ItemStack temp = currentItemStack.clone();
+ temp.setAmount(currentItemStack.getAmount() - materialsToRemove);
+ iterator.set(temp);
+ materialsToRemove = 0;
+ }
+ else
+ {
+ int inStack = currentItemStack.getAmount();
+ iterator.set(new ItemStack(Material.AIR, 0));
+ materialsToRemove -= inStack;
+ }
}
- }
+ }
+ return materialsToRemove == 0;
}
-
- public String getSavesFileName()
+ public ItemList getMultiple(int multiplier)
{
- return FactoryModPlugin.PRODUCTION_SAVES_FILE;
+ ItemList multipliedItemList=new ItemList();
+ for (NamedItemStack itemStack:this)
+ {
+ NamedItemStack itemStackClone=itemStack.clone();
+ itemStackClone.setAmount(itemStack.getAmount()*multiplier);
+ multipliedItemList.add(itemStackClone);
+ }
+ return multipliedItemList;
}
-
}
diff --git a/src/com/github/igotyou/FactoryMod/properties/NetherFactoryProperties.java b/src/com/github/igotyou/FactoryMod/properties/NetherFactoryProperties.java
new file mode 100644
index 00000000..b5378da8
--- /dev/null
+++ b/src/com/github/igotyou/FactoryMod/properties/NetherFactoryProperties.java
@@ -0,0 +1,119 @@
+package com.github.igotyou.FactoryMod.properties;
+
+
+import org.bukkit.Material;
+import org.bukkit.configuration.ConfigurationSection;
+
+import com.github.igotyou.FactoryMod.FactoryModPlugin;
+import com.github.igotyou.FactoryMod.utility.ItemList;
+import com.github.igotyou.FactoryMod.utility.NamedItemStack;
+
+
+public class NetherFactoryProperties
+{
+ private ItemList constructionMaterials;
+ private ItemList fuel;
+ private ItemList repairMaterials;
+ private int energyTime;
+ private String name;
+ private int repair;
+ private double repairTime;
+ private int scalingMode;
+ private int scalingRadius;
+ private int costScalingRadius;
+ private boolean useFuelOnTeleport;
+
+ public NetherFactoryProperties(ItemList constructionMaterials, ItemList fuel, ItemList repairMaterials,
+ int energyTime, String name,int repair, double repairTime, int scalingRadius, boolean useFuelOnTeleport, int costScalingRadius)
+ {
+ this.constructionMaterials = constructionMaterials;
+ this.fuel = fuel;
+ this.repairMaterials = repairMaterials;
+ this.energyTime = energyTime;
+ this.name = name;
+ this.repair=repair;
+ this.repairTime=repairTime;
+ this.scalingRadius = scalingRadius;
+ this.costScalingRadius = costScalingRadius;
+ this.useFuelOnTeleport = useFuelOnTeleport;
+ }
+
+ public int getRepair()
+ {
+ return repair;
+ }
+
+ public int getScalingRadius()
+ {
+ return scalingRadius;
+ }
+
+ public int getCostScalingRadius()
+ {
+ return costScalingRadius;
+ }
+
+ //0 == no scaling, 1==linear scaling, 2==exponential scaling
+ public int getScalingMode()
+ {
+ return scalingMode;
+ }
+
+ public ItemList getConstructionMaterials()
+ {
+ return constructionMaterials;
+ }
+
+ public ItemList getFuel()
+ {
+ return fuel;
+ }
+
+ public ItemList getRepairMaterials()
+ {
+ return repairMaterials;
+ }
+
+ public int getEnergyTime()
+ {
+ return energyTime;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public static NetherFactoryProperties fromConfig(FactoryModPlugin plugin, ConfigurationSection configNetherFactory)
+ {
+ ItemList nfFuel=plugin.getItems(configNetherFactory.getConfigurationSection("fuel"));
+ if(nfFuel.isEmpty())
+ {
+ nfFuel=new ItemList();
+ nfFuel.add(new NamedItemStack(Material.getMaterial("COAL"),1,(short)1,"Charcoal"));
+ }
+ ConfigurationSection costs = configNetherFactory.getConfigurationSection("costs");
+ ItemList nfConstructionCost=plugin.getItems(costs.getConfigurationSection("construction"));
+ ItemList nfRepairCost=plugin.getItems(costs.getConfigurationSection("repair"));
+ int nfEnergyTime = configNetherFactory.getInt("fuel_time", 10);
+ int nfRepair = costs.getInt("repair_multiple",1);
+ String nfName = configNetherFactory.getString("name", "Nether Factory");
+ int repairTime = configNetherFactory.getInt("repair_time",12);
+ int nfScalingRadius = configNetherFactory.getInt("scaling_radius", 5000);
+ int costScalingRadius = configNetherFactory.getInt("scaling_radius", 5000);
+ boolean nfUseFuelOnTeleport = configNetherFactory.getBoolean("use_fuel_on_teleport", false);
+ return new NetherFactoryProperties(nfConstructionCost, nfFuel, nfRepairCost, nfEnergyTime, nfName, nfRepair, repairTime, nfScalingRadius,nfUseFuelOnTeleport, costScalingRadius);
+
+ }
+
+ public double getRepairTime()
+ {
+ return repairTime;
+ }
+
+ public boolean getUseFuelOnTeleport()
+ {
+ return useFuelOnTeleport;
+ }
+
+}
\ No newline at end of file
diff --git a/src/com/github/igotyou/FactoryMod/utility/InteractionResponse.java b/src/com/github/igotyou/FactoryMod/utility/InteractionResponse.java
index a0632731..2b1f8458 100644
--- a/src/com/github/igotyou/FactoryMod/utility/InteractionResponse.java
+++ b/src/com/github/igotyou/FactoryMod/utility/InteractionResponse.java
@@ -84,4 +84,4 @@ public InteractionResult getInteractionResult()
return interactionResult;
}
-}
\ No newline at end of file
+}
diff --git a/src/com/github/igotyou/FactoryMod/utility/ItemList.java b/src/com/github/igotyou/FactoryMod/utility/ItemList.java
index 8f8c6efc..68807640 100644
--- a/src/com/github/igotyou/FactoryMod/utility/ItemList.java
+++ b/src/com/github/igotyou/FactoryMod/utility/ItemList.java
@@ -219,7 +219,7 @@ private int amountAvailable(Inventory inventory, ItemStack itemStack)
for(ItemStack currentItemStack:inventory)
{
if(currentItemStack!=null)
- {
+ {
/*For some reason I can't fathom the orientaion of the comparison
* of the two ItemStacks in the following statement matters.
* It likely has to do with the fact that itemStack is a NamedItemStack
@@ -281,4 +281,25 @@ public ItemList getMultiple(int multiplier)
}
return multipliedItemList;
}
+ public ItemList getMultiple(double multiplier)
+ {
+ ItemList multipliedItemList=new ItemList();
+ for (NamedItemStack itemStack:this)
+ {
+ NamedItemStack itemStackClone=itemStack.clone();
+ long newAmount = (long) Math.round(itemStackClone.getAmount()*multiplier);
+ if (newAmount > 64)
+ {
+ for (;newAmount > 64; newAmount = newAmount-64)
+ {
+ NamedItemStack newItemStack = itemStack.clone();
+ newItemStack.setAmount(64);
+ multipliedItemList.add(newItemStack);
+ }
+ }
+ itemStackClone.setAmount((int) newAmount);
+ multipliedItemList.add(itemStackClone);
+ }
+ return multipliedItemList;
+ }
}
diff --git a/validate_config.rb b/validate_config.rb
new file mode 100644
index 00000000..7f511191
--- /dev/null
+++ b/validate_config.rb
@@ -0,0 +1,54 @@
+require 'yaml'
+
+ok = true
+
+raw = File.read('config.yml')
+
+if raw[/\t/]
+ ok = false
+ puts "Contains tabs"
+end
+
+data = YAML.load(raw)
+
+factories = data['production_factories']
+recipes = data['production_recipes']
+
+referenced_recipes = factories.values.map {|e| e['recipes']}.flatten.uniq
+
+missing_recipes = referenced_recipes - recipes.keys
+if missing_recipes.length > 0
+ ok = false
+ puts "Missing recipes:"
+ puts " " + missing_recipes.inspect
+end
+
+unused_recipes = recipes.keys - referenced_recipes
+if unused_recipes.length > 0
+ ok = false
+ puts "Unused recipes:"
+ puts " " + unused_recipes.inspect
+end
+
+factory_build_materials = factories.values.map {|e| e['inputs']}
+factory_repair_materials = factories.values.map {|e| e['repair_inputs']}
+recipe_input_materials = recipes.values.map {|e| e['inputs']}
+recipe_output_materials = recipes.values.map {|e| e['outputs']}
+
+BukkitMaterials = ["ACACIA_STAIRS", "ACTIVATOR_RAIL", "AIR", "ANVIL", "APPLE", "ARROW", "BAKED_POTATO", "BEACON", "BED", "BED_BLOCK", "BEDROCK", "BIRCH_WOOD_STAIRS", "BLAZE_POWDER", "BLAZE_ROD", "BOAT", "BONE", "BOOK", "BOOK_AND_QUILL", "BOOKSHELF", "BOW", "BOWL", "BREAD", "BREWING_STAND", "BREWING_STAND_ITEM", "BRICK", "BRICK_STAIRS", "BROWN_MUSHROOM", "BUCKET", "BURNING_FURNACE", "CACTUS", "CAKE", "CAKE_BLOCK", "CARPET", "CARROT", "CARROT_ITEM", "CARROT_STICK", "CAULDRON", "CAULDRON_ITEM", "CHAINMAIL_BOOTS", "CHAINMAIL_CHESTPLATE", "CHAINMAIL_HELMET", "CHAINMAIL_LEGGINGS", "CHEST", "CLAY", "CLAY_BALL", "CLAY_BRICK", "COAL", "COAL_BLOCK", "COAL_ORE", "COBBLE_WALL", "COBBLESTONE", "COBBLESTONE_STAIRS", "COCOA", "COMMAND", "COMMAND_MINECART", "COMPASS", "COOKED_BEEF", "COOKED_CHICKEN", "COOKED_FISH", "COOKIE", "CROPS", "DARK_OAK_STAIRS", "DAYLIGHT_DETECTOR", "DEAD_BUSH", "DETECTOR_RAIL", "DIAMOND", "DIAMOND_AXE", "DIAMOND_BARDING", "DIAMOND_BLOCK", "DIAMOND_BOOTS", "DIAMOND_CHESTPLATE", "DIAMOND_HELMET", "DIAMOND_HOE", "DIAMOND_LEGGINGS", "DIAMOND_ORE", "DIAMOND_PICKAXE", "DIAMOND_SPADE", "DIAMOND_SWORD", "DIODE", "DIODE_BLOCK_OFF", "DIODE_BLOCK_ON", "DIRT", "DISPENSER", "DOUBLE_PLANT", "DOUBLE_STEP", "DRAGON_EGG", "DROPPER", "EGG", "EMERALD", "EMERALD_BLOCK", "EMERALD_ORE", "EMPTY_MAP", "ENCHANTED_BOOK", "ENCHANTMENT_TABLE", "ENDER_CHEST", "ENDER_PEARL", "ENDER_PORTAL", "ENDER_PORTAL_FRAME", "ENDER_STONE", "EXP_BOTTLE", "EXPLOSIVE_MINECART", "EYE_OF_ENDER", "FEATHER", "FENCE", "FENCE_GATE", "FERMENTED_SPIDER_EYE", "FIRE", "FIREBALL", "FIREWORK", "FIREWORK_CHARGE", "FISHING_ROD", "FLINT", "FLINT_AND_STEEL", "FLOWER_POT", "FLOWER_POT_ITEM", "FURNACE", "GHAST_TEAR", "GLASS", "GLASS_BOTTLE", "GLOWING_REDSTONE_ORE", "GLOWSTONE", "GLOWSTONE_DUST", "GOLD_AXE", "GOLD_BARDING", "GOLD_BLOCK", "GOLD_BOOTS", "GOLD_CHESTPLATE", "GOLD_HELMET", "GOLD_HOE", "GOLD_INGOT", "GOLD_LEGGINGS", "GOLD_NUGGET", "GOLD_ORE", "GOLD_PICKAXE", "GOLD_PLATE", "GOLD_RECORD", "GOLD_SPADE", "GOLD_SWORD", "GOLDEN_APPLE", "GOLDEN_CARROT", "GRASS", "GRAVEL", "GREEN_RECORD", "GRILLED_PORK", "HARD_CLAY", "HAY_BLOCK", "HOPPER", "HOPPER_MINECART", "HUGE_MUSHROOM_1", "HUGE_MUSHROOM_2", "ICE", "INK_SACK", "IRON_AXE", "IRON_BARDING", "IRON_BLOCK", "IRON_BOOTS", "IRON_CHESTPLATE", "IRON_DOOR", "IRON_DOOR_BLOCK", "IRON_FENCE", "IRON_HELMET", "IRON_HOE", "IRON_INGOT", "IRON_LEGGINGS", "IRON_ORE", "IRON_PICKAXE", "IRON_PLATE", "IRON_SPADE", "IRON_SWORD", "ITEM_FRAME", "JACK_O_LANTERN", "JUKEBOX", "JUNGLE_WOOD_STAIRS", "LADDER", "LAPIS_BLOCK", "LAPIS_ORE", "LAVA", "LAVA_BUCKET", "LEASH", "LEATHER", "LEATHER_BOOTS", "LEATHER_CHESTPLATE", "LEATHER_HELMET", "LEATHER_LEGGINGS", "LEAVES", "LEAVES_2", "LEVER", "LOCKED_CHEST", "Deprecated.", "LOG", "LOG_2", "LONG_GRASS", "MAGMA_CREAM", "MAP", "MELON", "MELON_BLOCK", "MELON_SEEDS", "MELON_STEM", "MILK_BUCKET", "MINECART", "MOB_SPAWNER", "MONSTER_EGG", "MONSTER_EGGS", "MOSSY_COBBLESTONE", "MUSHROOM_SOUP", "MYCEL", "NAME_TAG", "NETHER_BRICK", "NETHER_BRICK_ITEM", "NETHER_BRICK_STAIRS", "NETHER_FENCE", "NETHER_STALK", "NETHER_STAR", "NETHER_WARTS", "NETHERRACK", "NOTE_BLOCK", "OBSIDIAN", "PACKED_ICE", "PAINTING", "PAPER", "PISTON_BASE", "PISTON_EXTENSION", "PISTON_MOVING_PIECE", "PISTON_STICKY_BASE", "POISONOUS_POTATO", "PORK", "PORTAL", "POTATO", "POTATO_ITEM", "POTION", "POWERED_MINECART", "POWERED_RAIL", "PUMPKIN", "PUMPKIN_PIE", "PUMPKIN_SEEDS", "PUMPKIN_STEM", "QUARTZ", "QUARTZ_BLOCK", "QUARTZ_ORE", "QUARTZ_STAIRS", "RAILS", "RAW_BEEF", "RAW_CHICKEN", "RAW_FISH", "RECORD_10", "RECORD_11", "RECORD_12", "RECORD_3", "RECORD_4", "RECORD_5", "RECORD_6", "RECORD_7", "RECORD_8", "RECORD_9", "RED_MUSHROOM", "RED_ROSE", "REDSTONE", "REDSTONE_BLOCK", "REDSTONE_COMPARATOR", "REDSTONE_COMPARATOR_OFF", "REDSTONE_COMPARATOR_ON", "REDSTONE_LAMP_OFF", "REDSTONE_LAMP_ON", "REDSTONE_ORE", "REDSTONE_TORCH_OFF", "REDSTONE_TORCH_ON", "REDSTONE_WIRE", "ROTTEN_FLESH", "SADDLE", "SAND", "SANDSTONE", "SANDSTONE_STAIRS", "SAPLING", "SEEDS", "SHEARS", "SIGN", "SIGN_POST", "SKULL", "SKULL_ITEM", "SLIME_BALL", "SMOOTH_BRICK", "SMOOTH_STAIRS", "SNOW", "SNOW_BALL", "SNOW_BLOCK", "SOIL", "SOUL_SAND", "SPECKLED_MELON", "SPIDER_EYE", "SPONGE", "SPRUCE_WOOD_STAIRS", "STAINED_CLAY", "STAINED_GLASS", "STAINED_GLASS_PANE", "STATIONARY_LAVA", "STATIONARY_WATER", "STEP", "STICK", "STONE", "STONE_AXE", "STONE_BUTTON", "STONE_HOE", "STONE_PICKAXE", "STONE_PLATE", "STONE_SPADE", "STONE_SWORD", "STORAGE_MINECART", "STRING", "SUGAR", "SUGAR_CANE", "SUGAR_CANE_BLOCK", "SULPHUR", "THIN_GLASS", "TNT", "TORCH", "TRAP_DOOR", "TRAPPED_CHEST", "TRIPWIRE", "TRIPWIRE_HOOK", "VINE", "WALL_SIGN", "WATCH", "WATER", "WATER_BUCKET", "WATER_LILY", "WEB", "WHEAT", "WOOD", "WOOD_AXE", "WOOD_BUTTON", "WOOD_DOOR", "WOOD_DOUBLE_STEP", "WOOD_HOE", "WOOD_PICKAXE", "WOOD_PLATE", "WOOD_SPADE", "WOOD_STAIRS", "WOOD_STEP", "WOOD_SWORD", "WOODEN_DOOR", "WOOL", "WORKBENCH", "WRITTEN_BOOK", "YELLOW_FLOWER"]
+
+all_materials = (
+ factory_build_materials.map {|i| i.values.map {|e| e['material']}} +
+ factory_repair_materials.map {|i| i.values.map {|e| e['material']}} +
+ recipe_input_materials.map {|i| i.values.map {|e| e['material']}} +
+ recipe_output_materials.map {|i| i.values.map {|e| e['material']}}
+).flatten.uniq.sort
+
+unknown_materials = all_materials - BukkitMaterials
+if unknown_materials.length > 0
+ ok = false
+ puts "Unknown materials:"
+ puts " " + unknown_materials.inspect
+end
+
+puts "OK" if ok