1.7 fixes

This commit is contained in:
kepler155c
2017-09-30 20:34:10 -04:00
parent db2dca444f
commit 271417d9a0
6 changed files with 415 additions and 269 deletions

View File

@@ -412,16 +412,16 @@ function blockTypeDB:load()
{ 5, nil, 0, 'north-block' }, { 5, nil, 0, 'north-block' },
{ 6, nil, 0, 'east-block' }, { 6, nil, 0, 'east-block' },
{ 7, nil, 0, 'west-block' }, { 7, nil, 0, 'west-block' },
{ 8, nil, 0, 'south-block' }, { 8, nil, 0, 'south' },
{ 9, nil, 0, 'north-block' }, { 9, nil, 0, 'north' },
{ 10, nil, 0, 'east-block' }, { 10, nil, 0, 'east' },
{ 11, nil, 0, 'west-block' }, { 11, nil, 0, 'west' },
{ 12, nil, 0, 'south-block' }, { 12, nil, 0, 'south' },
{ 13, nil, 0, 'north-block' }, { 13, nil, 0, 'north' },
{ 14, nil, 0, 'east-block' }, { 14, nil, 0, 'east' },
{ 15, nil, 0, 'west-block' }, { 15, nil, 0, 'west' },
}) })
blockTypeDB:addTemp('piston', { -- piston placement is broken in 1.7 -- need to add work around blockTypeDB:addTemp('piston', {
{ 0, nil, 0, 'piston-down' }, { 0, nil, 0, 'piston-down' },
{ 1, nil, 0, 'piston-up' }, { 1, nil, 0, 'piston-up' },
{ 2, nil, 0, 'piston-north' }, { 2, nil, 0, 'piston-north' },

View File

@@ -1,41 +1,36 @@
local class = require('class') local class = require('class')
local Util = require('util') local itemDB = require('itemDB')
local Peripheral = require('peripheral') local Peripheral = require('peripheral')
local Util = require('util')
local MEProvider = class() local MEAdapter = class()
function MEProvider:init(args) function MEAdapter:init(args)
local defaults = { local defaults = {
items = { }, items = { },
name = 'ME', name = 'ME',
jobList = { },
direction = 'up',
wrapSide = 'bottom',
auto = false,
} }
Util.merge(self, defaults) Util.merge(self, defaults)
Util.merge(self, args) Util.merge(self, args)
if self.side then if self.auto then
local mep = peripheral.wrap('bottom')
if mep then
Util.merge(self, mep)
end
else
local mep = Peripheral.getByMethod('getAvailableItems') local mep = Peripheral.getByMethod('getAvailableItems')
if mep then if mep then
Util.merge(self, mep) Util.merge(self, mep)
end end
else
local mep = peripheral.wrap(self.wrapSide)
if mep then
Util.merge(self, mep)
end
end end
local sides = {
top = 'down',
bottom = 'up',
east = 'west',
west = 'east',
north = 'south',
south = 'north',
}
self.oside = sides[self.direction or self.side]
end end
function MEProvider:isValid() function MEAdapter:isValid()
return self.getAvailableItems and self.getAvailableItems() return self.getAvailableItems and self.getAvailableItems()
end end
@@ -74,7 +69,7 @@ local function convertItem(item)
item.displayName = safeString(item.displayName) item.displayName = safeString(item.displayName)
end end
function MEProvider:refresh() function MEAdapter:refresh()
self.items = self.getAvailableItems('all') self.items = self.getAvailableItems('all')
for _,v in pairs(self.items) do for _,v in pairs(self.items) do
Util.merge(v, v.item) Util.merge(v, v.item)
@@ -83,34 +78,103 @@ function MEProvider:refresh()
return self.items return self.items
end end
function MEProvider:listItems() function MEAdapter:listItems()
self:refresh() self:refresh()
return self.items return self.items
end end
function MEProvider:getItemInfo(name, damage) function MEAdapter:getItemInfo(item)
for key,i in pairs(self.items) do
for key,item in pairs(self.items) do if item.name == i.name and item.damage == i.damage and item.nbtHash == i.nbtHash then
if item.name == name and item.damage == damage then
return item return item
end end
end end
end end
function MEProvider:craft(name, damage, count) function MEAdapter:isCPUAvailable()
local cpus = self.getCraftingCPUs() or { }
local available = false
for cpu,v in pairs(cpus) do
if not v.busy then
available = true
elseif not self.jobList[cpu] then -- something else is crafting something (don't know what)
return false -- return false since we are in an unknown state
end
end
return available
end
function MEAdapter:craft(item, count)
if not self:isCPUAvailable() then
return false
end
self:refresh() self:refresh()
local item = self:getItemInfo(name, damage) local item = self:getItemInfo(item)
if item and item.is_craftable then if item and item.is_craftable then
self.requestCrafting({ id = name, dmg = damage }, count) local cpus = self.getCraftingCPUs() or { }
return true for cpu,v in pairs(cpus) do
if not v.busy then
self.requestCrafting({
id = item.name,
dmg = item.damage,
nbt_hash = item.nbtHash,
},
qty or 1,
cpu
)
os.sleep(0) -- tell it to craft, yet it doesn't show busy - try waiting a cycle...
cpus = self.getCraftingCPUs() or { }
if not cpus[cpu].busy then
-- print('sleeping again')
os.sleep(.1) -- sigh
cpus = self.getCraftingCPUs() or { }
end
-- not working :(
if cpus[cpu].busy then
self.jobList[cpu] = {
name = item.name,
damage = item.damage,
nbtHash = item.nbtHash,
count = count,
}
return true
end
break -- only need to try the first available cpu
end
end
return false
end end
end end
function MEProvider:craftItems(items) function MEAdapter:getJobList()
local cpus = self.getCraftingCPUs() or { }
for cpu,v in pairs(cpus) do
if not v.busy then
self.jobList[cpu] = nil
end
end
return self.jobList
end
function MEAdapter:isCrafting(item)
for _,v in pairs(self:getJobList()) do
if v.name == item.name and
v.damage == item.damage and
v.nbtHash == item.nbtHash then
return true
end
end
end
function MEAdapter:craftItems(items)
local cpus = self.getCraftingCPUs() or { } local cpus = self.getCraftingCPUs() or { }
local count = 0 local count = 0
@@ -130,28 +194,36 @@ function MEProvider:craftItems(items)
end end
end end
function MEProvider:provide(item, count, slot) function MEAdapter:provide(item, count, slot, direction)
return pcall(function() return pcall(function()
self.exportItem({ while count > 0 do
id = item.name, local qty = math.min(count, 64)
dmg = item.damage local s, m = self.exportItem({
}, self.oside, count, slot) id = item.name,
dmg = item.damage
}, direction or self.direction, qty, slot)
if not s or s.size ~= qty then
break
end
count = count - 64
end
end) end)
end end
function MEProvider:insert(slot, count) function MEAdapter:insert(slot, count)
local s, m = pcall(function() self.pullItem(self.oside, slot, count) end) local s, m = pcall(function() self.pullItem(self.direction, slot, count) end)
if not s and m then if not s and m then
print('MEProvider:pullItem') print('MEAdapter:pullItem')
print(m) print(m)
sleep(1) sleep(1)
s, m = pcall(function() self.pullItem(self.oside, slot, count) end) s, m = pcall(function() self.pullItem(self.direction, slot, count) end)
if not s and m then if not s and m then
print('MEProvider:pullItem') print('MEAdapter:pullItem')
print(m) print(m)
read() read()
end end
end end
end end
return MEProvider return MEAdapter

View File

@@ -5,6 +5,7 @@ local Config = require('config')
local Craft = require('turtle.craft') local Craft = require('turtle.craft')
local Event = require('event') local Event = require('event')
local itemDB = require('itemDB') local itemDB = require('itemDB')
local MEAdapater = require('meAdapter')
local Peripheral = require('peripheral') local Peripheral = require('peripheral')
local RefinedAdapter = require('refinedAdapter') local RefinedAdapter = require('refinedAdapter')
local Terminal = require('terminal') local Terminal = require('terminal')
@@ -21,20 +22,42 @@ multishell.setTitle(multishell.getCurrent(), 'Resource Manager')
local config = { local config = {
trashDirection = 'up', -- trash /chest in relation to chest trashDirection = 'up', -- trash /chest in relation to chest
inventoryDirection = { direction = 'north', wrapSide = 'back' }, inventoryDirection = { direction = 'north', wrapSide = 'back' },
chestDirection = { direction = 'down', wrapSide = 'top' }, chestDirection = { direction = 'down', wrapSide = 'top' },
} }
Config.load('chestManager', config) Config.load('chestManager', config)
local controller = RefinedAdapter()
if not controller:isValid() then
-- error('Refined storage controller not found')
controller = nil
end
---------------------------------------------------------------------- FIX ME
local inventoryAdapter = ChestAdapter(config.inventoryDirection) local inventoryAdapter = ChestAdapter(config.inventoryDirection)
local turtleChestAdapter = ChestAdapter(config.chestDirection) local turtleChestAdapter = ChestAdapter(config.chestDirection)
local duckAntenna
local controller = RefinedAdapter()
if not controller:isValid() then
controller = MEAdapater(config.inventoryDirection)
if not controller:isValid() then
controller = nil
else
inventoryAdapter = controller -- ME functions as inventory and crafting
end
end
if device.workbench then
local oppositeSide = {
[ 'left' ] = 'right',
[ 'right' ] = 'left',
}
local duckAntennaSide = oppositeSide[device.workbench.side]
duckAntenna = peripheral.wrap(duckAntennaSide)
if not duckAntenna or not duckAntenna.getAllStacks then
duckAntenna = nil
end
end
local canCraft = not not duckAntenna or turtleChestAdapter:isValid()
---------------------------------------------------------------------- FIX ME
local RESOURCE_FILE = 'usr/config/resources.db' local RESOURCE_FILE = 'usr/config/resources.db'
local RECIPES_FILE = 'usr/etc/recipes.db' local RECIPES_FILE = 'usr/etc/recipes.db'
@@ -194,7 +217,7 @@ end
local function craftItem(recipe, items, originalItem, craftList, count) local function craftItem(recipe, items, originalItem, craftList, count)
if craftingPaused or not device.workbench or not isGridClear() then if craftingPaused or not canCraft or not isGridClear() then
return return
end end
@@ -315,7 +338,7 @@ local function getAutocraftItems()
for _,res in pairs(resources) do for _,res in pairs(resources) do
if res.auto then if res.auto then
res.count = 4 -- this could be higher to increase autocrafting speed res.count = 64 -- this could be higher to increase autocrafting speed
local key = uniqueKey(res) local key = uniqueKey(res)
craftList[key] = res craftList[key] = res
end end
@@ -361,7 +384,7 @@ local function watchResources(items)
end end
if res.limit and item.count > res.limit then if res.limit and item.count > res.limit then
inventoryAdapter:provide( local s, m = inventoryAdapter:provide(
{ name = item.name, damage = item.damage }, { name = item.name, damage = item.damage },
item.count - res.limit, item.count - res.limit,
nil, nil,
@@ -587,8 +610,6 @@ local listingPage = UI.Page {
sortColumn = 'displayName', sortColumn = 'displayName',
}, },
statusBar = UI.StatusBar { statusBar = UI.StatusBar {
--backgroundColor = colors.gray,
width = UI.term.width,
filterText = UI.Text { filterText = UI.Text {
x = 2, x = 2,
value = 'Filter', value = 'Filter',
@@ -720,6 +741,20 @@ function listingPage:applyFilter()
end end
local function getTurtleInventory() local function getTurtleInventory()
if duckAntenna then
local list = duckAntenna.getAllStacks(false)
for k,v in pairs(list) do
v.name = v.id
v.damage = v.dmg
v.displayName = v.display_name
v.count = v.qty
v.maxDamage = v.max_dmg
v.maxCount = v.max_size
end
return list
end
local inventory = { } local inventory = { }
for i = 1,16 do for i = 1,16 do
local qty = turtle.getItemCount(i) local qty = turtle.getItemCount(i)
@@ -747,7 +782,7 @@ local function learnRecipe(page)
local ingredients = getTurtleInventory() local ingredients = getTurtleInventory()
if ingredients then if ingredients then
turtle.select(1) turtle.select(1)
if device.workbench and turtle.craft() then if canCraft and turtle.craft() then
recipe = getTurtleInventory() recipe = getTurtleInventory()
if recipe and recipe[1] then if recipe and recipe[1] then
clearGrid() clearGrid()

View File

@@ -14,6 +14,7 @@ local processes = { }
local parentTerm = term.current() local parentTerm = term.current()
local configFile = args[1] or syntax() local configFile = args[1] or syntax()
local defaultEnv = Util.shallowCopy(getfenv(1)) local defaultEnv = Util.shallowCopy(getfenv(1))
local running
local monitor local monitor
local exitSession local exitSession
@@ -170,16 +171,26 @@ end
function Process:drawSizers(showSizers) function Process:drawSizers(showSizers)
local sizeChars = {
'\135', '\139', '\141', '\142'
}
if Util.getVersion() < 1.8 then
sizeChars = {
'#', '#', '#', '#'
}
end
self.showSizers = showSizers self.showSizers = showSizers
self.container.setBackgroundColor(colors.black) self.container.setBackgroundColor(colors.black)
self.container.setTextColor(colors.white) self.container.setTextColor(colors.white)
if self.showSizers then if self.showSizers then
write(self.container, 1, 1, '\135') write(self.container, 1, 1, sizeChars[1])
write(self.container, self.width, 1, '\139') write(self.container, self.width, 1, sizeChars[2])
write(self.container, 1, self.height, '\141') write(self.container, 1, self.height, sizeChars[3])
write(self.container, self.width, self.height, '\142') write(self.container, self.width, self.height, sizeChars[4])
self.container.setTextColor(colors.yellow) self.container.setTextColor(colors.yellow)
write(self.container, 1, 3, '+') write(self.container, 1, 3, '+')
@@ -250,7 +261,11 @@ function Process:resume(event, ...)
if not self.filter or self.filter == event or event == "terminate" then if not self.filter or self.filter == event or event == "terminate" then
term.redirect(self.terminal) term.redirect(self.terminal)
local previous = running
running = self -- stupid shell set title
local ok, result = coroutine.resume(self.co, event, ...) local ok, result = coroutine.resume(self.co, event, ...)
running = previous
self.terminal = term.current() self.terminal = term.current()
if ok then if ok then
self.filter = result self.filter = result
@@ -269,7 +284,7 @@ function defaultEnv.multishell.getFocus()
end end
function defaultEnv.multishell.setFocus(uid) function defaultEnv.multishell.setFocus(uid)
local process, key = Util.find(processes, 'uid', uid) local process = Util.find(processes, 'uid', uid)
if process then if process then
if processes[#processes] ~= process then if processes[#processes] ~= process then
@@ -296,8 +311,8 @@ function defaultEnv.multishell.setTitle(uid, title)
end end
function defaultEnv.multishell.getCurrent() function defaultEnv.multishell.getCurrent()
if #processes > 0 then if running then
return processes[#processes].uid return running.uid
end end
end end

View File

@@ -9,7 +9,7 @@ local Util = require('util')
local storage = RefinedAdapter() local storage = RefinedAdapter()
if not storage:isValid() then if not storage:isValid() then
storage = MEAdapter() storage = MEAdapter({ auto = true })
if not storage:isValid() then if not storage:isValid() then
storage = ChestAdapter() storage = ChestAdapter()
end end

View File

@@ -159,17 +159,6 @@
[ 7 ] = "minecraft:stained_glass:8", [ 7 ] = "minecraft:stained_glass:8",
}, },
}, },
[ "minecraft:stained_glass_pane:9" ] = {
count = 16,
ingredients = {
"minecraft:stained_glass:9",
"minecraft:stained_glass:9",
"minecraft:stained_glass:9",
[ 5 ] = "minecraft:stained_glass:9",
[ 6 ] = "minecraft:stained_glass:9",
[ 7 ] = "minecraft:stained_glass:9",
},
},
[ "minecraft:wooden_slab:2" ] = { [ "minecraft:wooden_slab:2" ] = {
count = 6, count = 6,
ingredients = { ingredients = {
@@ -192,6 +181,13 @@
[ 7 ] = "minecraft:redstone:0", [ 7 ] = "minecraft:redstone:0",
}, },
}, },
[ "minecraft:light_weighted_pressure_plate:0" ] = {
count = 1,
ingredients = {
"minecraft:gold_ingot:0",
"minecraft:gold_ingot:0",
},
},
[ "minecraft:quartz_block:1" ] = { [ "minecraft:quartz_block:1" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -199,11 +195,15 @@
[ 6 ] = "minecraft:stone_slab:7", [ 6 ] = "minecraft:stone_slab:7",
}, },
}, },
[ "minecraft:light_weighted_pressure_plate:0" ] = { [ "minecraft:stained_glass_pane:9" ] = {
count = 1, count = 16,
ingredients = { ingredients = {
"minecraft:gold_ingot:0", "minecraft:stained_glass:9",
"minecraft:gold_ingot:0", "minecraft:stained_glass:9",
"minecraft:stained_glass:9",
[ 5 ] = "minecraft:stained_glass:9",
[ 6 ] = "minecraft:stained_glass:9",
[ 7 ] = "minecraft:stained_glass:9",
}, },
}, },
[ "minecraft:dye:11" ] = { [ "minecraft:dye:11" ] = {
@@ -234,15 +234,12 @@
[ 6 ] = "minecraft:end_stone:0", [ 6 ] = "minecraft:end_stone:0",
}, },
}, },
[ "minecraft:dark_oak_fence_gate:0" ] = { [ "minecraft:wooden_slab:0" ] = {
count = 1, count = 6,
ingredients = { ingredients = {
"minecraft:stick:0", [ 5 ] = "minecraft:planks:0",
"minecraft:planks:5", [ 6 ] = "minecraft:planks:0",
"minecraft:stick:0", [ 7 ] = "minecraft:planks:0",
[ 5 ] = "minecraft:stick:0",
[ 6 ] = "minecraft:planks:5",
[ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:stonebrick:3" ] = { [ "minecraft:stonebrick:3" ] = {
@@ -261,12 +258,15 @@
[ 6 ] = "minecraft:netherbrick:0", [ 6 ] = "minecraft:netherbrick:0",
}, },
}, },
[ "minecraft:wooden_slab:0" ] = { [ "minecraft:dark_oak_fence_gate:0" ] = {
count = 6, count = 1,
ingredients = { ingredients = {
[ 5 ] = "minecraft:planks:0", "minecraft:stick:0",
[ 6 ] = "minecraft:planks:0", "minecraft:planks:5",
[ 7 ] = "minecraft:planks:0", "minecraft:stick:0",
[ 5 ] = "minecraft:stick:0",
[ 6 ] = "minecraft:planks:5",
[ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:wooden_slab:5" ] = { [ "minecraft:wooden_slab:5" ] = {
@@ -321,6 +321,13 @@
[ 7 ] = "minecraft:brick_block:0", [ 7 ] = "minecraft:brick_block:0",
}, },
}, },
[ "minecraft:carpet:1" ] = {
count = 3,
ingredients = {
"minecraft:wool:1",
"minecraft:wool:1",
},
},
[ "minecraft:cobblestone_wall:0" ] = { [ "minecraft:cobblestone_wall:0" ] = {
count = 6, count = 6,
ingredients = { ingredients = {
@@ -426,15 +433,11 @@
[ 6 ] = "minecraft:stick:0", [ 6 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:jungle_fence_gate:0" ] = { [ "minecraft:wool:2" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
"minecraft:stick:0", [ 5 ] = "minecraft:dye:13",
"minecraft:planks:3", [ 6 ] = "minecraft:wool:0",
"minecraft:stick:0",
[ 5 ] = "minecraft:stick:0",
[ 6 ] = "minecraft:planks:3",
[ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:lapis_block:0" ] = { [ "minecraft:lapis_block:0" ] = {
@@ -451,13 +454,6 @@
[ 7 ] = "minecraft:dye:4", [ 7 ] = "minecraft:dye:4",
}, },
}, },
[ "minecraft:wool:2" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:dye:13",
[ 6 ] = "minecraft:wool:0",
},
},
[ "minecraft:wool:8" ] = { [ "minecraft:wool:8" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -465,6 +461,13 @@
[ 6 ] = "minecraft:dye:7", [ 6 ] = "minecraft:dye:7",
}, },
}, },
[ "minecraft:wool:4" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:dye:11",
[ 6 ] = "minecraft:wool:0",
},
},
[ "minecraft:carpet:12" ] = { [ "minecraft:carpet:12" ] = {
count = 3, count = 3,
ingredients = { ingredients = {
@@ -484,13 +487,6 @@
[ 6 ] = "minecraft:wool:15", [ 6 ] = "minecraft:wool:15",
}, },
}, },
[ "minecraft:carpet:8" ] = {
count = 3,
ingredients = {
[ 5 ] = "minecraft:wool:8",
[ 6 ] = "minecraft:wool:8",
},
},
[ "minecraft:red_sandstone:2" ] = { [ "minecraft:red_sandstone:2" ] = {
count = 4, count = 4,
ingredients = { ingredients = {
@@ -500,6 +496,13 @@
[ 6 ] = "minecraft:red_sandstone:0", [ 6 ] = "minecraft:red_sandstone:0",
}, },
}, },
[ "minecraft:carpet:8" ] = {
count = 3,
ingredients = {
[ 5 ] = "minecraft:wool:8",
[ 6 ] = "minecraft:wool:8",
},
},
[ "minecraft:birch_stairs:0" ] = { [ "minecraft:birch_stairs:0" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
@@ -511,13 +514,6 @@
[ 6 ] = "minecraft:planks:2", [ 6 ] = "minecraft:planks:2",
}, },
}, },
[ "minecraft:wool:4" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:dye:11",
[ 6 ] = "minecraft:wool:0",
},
},
[ "minecraft:gold_block:0" ] = { [ "minecraft:gold_block:0" ] = {
count = 63, count = 63,
ingredients = { ingredients = {
@@ -532,6 +528,13 @@
[ 7 ] = "minecraft:gold_block:0", [ 7 ] = "minecraft:gold_block:0",
}, },
}, },
[ "minecraft:carpet:10" ] = {
count = 3,
ingredients = {
[ 5 ] = "minecraft:wool:10",
[ 6 ] = "minecraft:wool:10",
},
},
[ "minecraft:stone:5" ] = { [ "minecraft:stone:5" ] = {
count = 2, count = 2,
ingredients = { ingredients = {
@@ -539,11 +542,15 @@
"minecraft:cobblestone:0", "minecraft:cobblestone:0",
}, },
}, },
[ "minecraft:carpet:10" ] = { [ "minecraft:jungle_fence_gate:0" ] = {
count = 3, count = 1,
ingredients = { ingredients = {
[ 5 ] = "minecraft:wool:10", "minecraft:stick:0",
[ 6 ] = "minecraft:wool:10", "minecraft:planks:3",
"minecraft:stick:0",
[ 5 ] = "minecraft:stick:0",
[ 6 ] = "minecraft:planks:3",
[ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:noteblock:0" ] = { [ "minecraft:noteblock:0" ] = {
@@ -654,6 +661,20 @@
[ 7 ] = "minecraft:stained_glass:6", [ 7 ] = "minecraft:stained_glass:6",
}, },
}, },
[ "minecraft:sea_lantern:0" ] = {
count = 1,
ingredients = {
"minecraft:prismarine_shard:0",
"minecraft:prismarine_crystals:0",
"minecraft:prismarine_shard:0",
[ 9 ] = "minecraft:prismarine_shard:0",
[ 10 ] = "minecraft:prismarine_crystals:0",
[ 11 ] = "minecraft:prismarine_shard:0",
[ 5 ] = "minecraft:prismarine_crystals:0",
[ 6 ] = "minecraft:prismarine_crystals:0",
[ 7 ] = "minecraft:prismarine_crystals:0",
},
},
[ "minecraft:spruce_fence_gate:0" ] = { [ "minecraft:spruce_fence_gate:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -665,13 +686,6 @@
[ 7 ] = "minecraft:stick:0", [ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:wool:6" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:wool:0",
[ 6 ] = "minecraft:dye:9",
},
},
[ "minecraft:quartz_block:2" ] = { [ "minecraft:quartz_block:2" ] = {
count = 2, count = 2,
ingredients = { ingredients = {
@@ -687,26 +701,19 @@
[ 7 ] = "minecraft:planks:4", [ 7 ] = "minecraft:planks:4",
}, },
}, },
[ "minecraft:wool:6" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:wool:0",
[ 6 ] = "minecraft:dye:9",
},
},
[ "minecraft:wooden_button:0" ] = { [ "minecraft:wooden_button:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
[ 6 ] = "minecraft:planks:0", [ 6 ] = "minecraft:planks:0",
}, },
}, },
[ "minecraft:sea_lantern:0" ] = {
count = 1,
ingredients = {
"minecraft:prismarine_shard:0",
"minecraft:prismarine_crystals:0",
"minecraft:prismarine_shard:0",
[ 9 ] = "minecraft:prismarine_shard:0",
[ 10 ] = "minecraft:prismarine_crystals:0",
[ 11 ] = "minecraft:prismarine_shard:0",
[ 5 ] = "minecraft:prismarine_crystals:0",
[ 6 ] = "minecraft:prismarine_crystals:0",
[ 7 ] = "minecraft:prismarine_crystals:0",
},
},
[ "minecraft:stone:4" ] = { [ "minecraft:stone:4" ] = {
count = 4, count = 4,
ingredients = { ingredients = {
@@ -716,6 +723,14 @@
[ 6 ] = "minecraft:stone:3", [ 6 ] = "minecraft:stone:3",
}, },
}, },
[ "minecraft:purpur_slab:0" ] = {
count = 6,
ingredients = {
"minecraft:purpur_block:0",
"minecraft:purpur_block:0",
"minecraft:purpur_block:0",
},
},
[ "minecraft:lever:0" ] = { [ "minecraft:lever:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -771,15 +786,13 @@
[ 7 ] = "minecraft:dye:15", [ 7 ] = "minecraft:dye:15",
}, },
}, },
[ "minecraft:iron_door:0" ] = { [ "minecraft:brick_block:0" ] = {
count = 3, count = 1,
ingredients = { ingredients = {
"minecraft:iron_ingot:0", "minecraft:brick:0",
"minecraft:iron_ingot:0", "minecraft:brick:0",
[ 9 ] = "minecraft:iron_ingot:0", [ 5 ] = "minecraft:brick:0",
[ 10 ] = "minecraft:iron_ingot:0", [ 6 ] = "minecraft:brick:0",
[ 5 ] = "minecraft:iron_ingot:0",
[ 6 ] = "minecraft:iron_ingot:0",
}, },
}, },
[ "minecraft:carpet:2" ] = { [ "minecraft:carpet:2" ] = {
@@ -800,6 +813,17 @@
[ 6 ] = "minecraft:stonebrick:0", [ 6 ] = "minecraft:stonebrick:0",
}, },
}, },
[ "minecraft:iron_door:0" ] = {
count = 3,
ingredients = {
"minecraft:iron_ingot:0",
"minecraft:iron_ingot:0",
[ 9 ] = "minecraft:iron_ingot:0",
[ 10 ] = "minecraft:iron_ingot:0",
[ 5 ] = "minecraft:iron_ingot:0",
[ 6 ] = "minecraft:iron_ingot:0",
},
},
[ "minecraft:stained_glass:6" ] = { [ "minecraft:stained_glass:6" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
@@ -828,15 +852,6 @@
[ 7 ] = "minecraft:cobblestone:0", [ 7 ] = "minecraft:cobblestone:0",
}, },
}, },
[ "minecraft:brick_block:0" ] = {
count = 1,
ingredients = {
"minecraft:brick:0",
"minecraft:brick:0",
[ 5 ] = "minecraft:brick:0",
[ 6 ] = "minecraft:brick:0",
},
},
[ "minecraft:planks:0" ] = { [ "minecraft:planks:0" ] = {
count = 4, count = 4,
ingredients = { ingredients = {
@@ -949,13 +964,6 @@
[ 7 ] = "minecraft:planks:3", [ 7 ] = "minecraft:planks:3",
}, },
}, },
[ "minecraft:carpet:6" ] = {
count = 3,
ingredients = {
[ 5 ] = "minecraft:wool:6",
[ 6 ] = "minecraft:wool:6",
},
},
[ "minecraft:paper:0" ] = { [ "minecraft:paper:0" ] = {
count = 3, count = 3,
ingredients = { ingredients = {
@@ -964,6 +972,13 @@
"minecraft:reeds:0", "minecraft:reeds:0",
}, },
}, },
[ "minecraft:carpet:6" ] = {
count = 3,
ingredients = {
[ 5 ] = "minecraft:wool:6",
[ 6 ] = "minecraft:wool:6",
},
},
[ "minecraft:birch_fence_gate:0" ] = { [ "minecraft:birch_fence_gate:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -1094,6 +1109,17 @@
[ 7 ] = "minecraft:planks:1", [ 7 ] = "minecraft:planks:1",
}, },
}, },
[ "minecraft:bow:0" ] = {
count = 1,
ingredients = {
"minecraft:string:0",
"minecraft:stick:0",
[ 7 ] = "minecraft:stick:0",
[ 9 ] = "minecraft:string:0",
[ 10 ] = "minecraft:stick:0",
[ 5 ] = "minecraft:string:0",
},
},
[ "minecraft:stained_glass:15" ] = { [ "minecraft:stained_glass:15" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
@@ -1115,28 +1141,17 @@
[ 6 ] = "minecraft:stone_slab:1", [ 6 ] = "minecraft:stone_slab:1",
}, },
}, },
[ "minecraft:wooden_pressure_plate:0" ] = {
count = 1,
ingredients = {
[ 5 ] = "minecraft:planks:0",
[ 6 ] = "minecraft:planks:0",
},
},
[ "minecraft:planks:3" ] = { [ "minecraft:planks:3" ] = {
count = 4, count = 4,
ingredients = { ingredients = {
[ 6 ] = "minecraft:log:3", [ 6 ] = "minecraft:log:3",
}, },
}, },
[ "minecraft:bow:0" ] = { [ "minecraft:wooden_pressure_plate:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
"minecraft:string:0", [ 5 ] = "minecraft:planks:0",
"minecraft:stick:0", [ 6 ] = "minecraft:planks:0",
[ 7 ] = "minecraft:stick:0",
[ 9 ] = "minecraft:string:0",
[ 10 ] = "minecraft:stick:0",
[ 5 ] = "minecraft:string:0",
}, },
}, },
[ "minecraft:wooden_door:0" ] = { [ "minecraft:wooden_door:0" ] = {
@@ -1182,6 +1197,12 @@
[ 6 ] = "minecraft:wool:5", [ 6 ] = "minecraft:wool:5",
}, },
}, },
[ "minecraft:planks:1" ] = {
count = 4,
ingredients = {
[ 6 ] = "minecraft:log:1",
},
},
[ "minecraft:enchanting_table:0" ] = { [ "minecraft:enchanting_table:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -1194,12 +1215,6 @@
[ 9 ] = "minecraft:obsidian:0", [ 9 ] = "minecraft:obsidian:0",
}, },
}, },
[ "minecraft:planks:1" ] = {
count = 4,
ingredients = {
[ 6 ] = "minecraft:log:1",
},
},
[ "minecraft:wool:13" ] = { [ "minecraft:wool:13" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -1423,15 +1438,15 @@
[ 7 ] = "minecraft:hardened_clay:0", [ 7 ] = "minecraft:hardened_clay:0",
}, },
}, },
[ "minecraft:quartz_stairs:0" ] = { [ "minecraft:acacia_stairs:0" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
"minecraft:quartz_block:0", "minecraft:planks:4",
[ 9 ] = "minecraft:quartz_block:0", [ 9 ] = "minecraft:planks:4",
[ 10 ] = "minecraft:quartz_block:0", [ 10 ] = "minecraft:planks:4",
[ 11 ] = "minecraft:quartz_block:0", [ 11 ] = "minecraft:planks:4",
[ 5 ] = "minecraft:quartz_block:0", [ 5 ] = "minecraft:planks:4",
[ 6 ] = "minecraft:quartz_block:0", [ 6 ] = "minecraft:planks:4",
}, },
}, },
[ "minecraft:stone_slab:7" ] = { [ "minecraft:stone_slab:7" ] = {
@@ -1442,15 +1457,15 @@
[ 7 ] = "minecraft:quartz_block:0", [ 7 ] = "minecraft:quartz_block:0",
}, },
}, },
[ "minecraft:acacia_stairs:0" ] = { [ "minecraft:quartz_stairs:0" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
"minecraft:planks:4", "minecraft:quartz_block:0",
[ 9 ] = "minecraft:planks:4", [ 9 ] = "minecraft:quartz_block:0",
[ 10 ] = "minecraft:planks:4", [ 10 ] = "minecraft:quartz_block:0",
[ 11 ] = "minecraft:planks:4", [ 11 ] = "minecraft:quartz_block:0",
[ 5 ] = "minecraft:planks:4", [ 5 ] = "minecraft:quartz_block:0",
[ 6 ] = "minecraft:planks:4", [ 6 ] = "minecraft:quartz_block:0",
}, },
}, },
[ "minecraft:dye:7" ] = { [ "minecraft:dye:7" ] = {
@@ -1722,18 +1737,11 @@
[ 7 ] = "minecraft:glass:0", [ 7 ] = "minecraft:glass:0",
}, },
}, },
[ "minecraft:stained_glass:13" ] = { [ "minecraft:wool:15" ] = {
count = 8, count = 1,
ingredients = { ingredients = {
"minecraft:glass:0", [ 5 ] = "minecraft:dye:0",
"minecraft:glass:0", [ 6 ] = "minecraft:wool:0",
"minecraft:glass:0",
[ 9 ] = "minecraft:glass:0",
[ 10 ] = "minecraft:glass:0",
[ 11 ] = "minecraft:glass:0",
[ 5 ] = "minecraft:glass:0",
[ 6 ] = "minecraft:dye:2",
[ 7 ] = "minecraft:glass:0",
}, },
}, },
[ "minecraft:stained_hardened_clay:9" ] = { [ "minecraft:stained_hardened_clay:9" ] = {
@@ -1797,11 +1805,15 @@
[ 7 ] = "minecraft:glass:0", [ 7 ] = "minecraft:glass:0",
}, },
}, },
[ "minecraft:trapped_chest:0" ] = { [ "minecraft:jungle_door:0" ] = {
count = 1, count = 3,
ingredients = { ingredients = {
[ 5 ] = "minecraft:chest:0", "minecraft:planks:3",
[ 6 ] = "minecraft:tripwire_hook:0", "minecraft:planks:3",
[ 9 ] = "minecraft:planks:3",
[ 10 ] = "minecraft:planks:3",
[ 5 ] = "minecraft:planks:3",
[ 6 ] = "minecraft:planks:3",
}, },
}, },
[ "minecraft:dye:9" ] = { [ "minecraft:dye:9" ] = {
@@ -1822,22 +1834,25 @@
[ 7 ] = "minecraft:stained_glass:7", [ 7 ] = "minecraft:stained_glass:7",
}, },
}, },
[ "minecraft:wool:15" ] = { [ "minecraft:trapped_chest:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
[ 5 ] = "minecraft:dye:0", [ 5 ] = "minecraft:chest:0",
[ 6 ] = "minecraft:wool:0", [ 6 ] = "minecraft:tripwire_hook:0",
}, },
}, },
[ "minecraft:jungle_door:0" ] = { [ "minecraft:stained_glass:13" ] = {
count = 3, count = 8,
ingredients = { ingredients = {
"minecraft:planks:3", "minecraft:glass:0",
"minecraft:planks:3", "minecraft:glass:0",
[ 9 ] = "minecraft:planks:3", "minecraft:glass:0",
[ 10 ] = "minecraft:planks:3", [ 9 ] = "minecraft:glass:0",
[ 5 ] = "minecraft:planks:3", [ 10 ] = "minecraft:glass:0",
[ 6 ] = "minecraft:planks:3", [ 11 ] = "minecraft:glass:0",
[ 5 ] = "minecraft:glass:0",
[ 6 ] = "minecraft:dye:2",
[ 7 ] = "minecraft:glass:0",
}, },
}, },
[ "minecraft:carpet:3" ] = { [ "minecraft:carpet:3" ] = {
@@ -1858,24 +1873,6 @@
[ 7 ] = "minecraft:stick:0", [ 7 ] = "minecraft:stick:0",
}, },
}, },
[ "minecraft:anvil:0" ] = {
count = 1,
ingredients = {
"minecraft:iron_block:0",
"minecraft:iron_block:0",
"minecraft:iron_block:0",
[ 9 ] = "minecraft:iron_ingot:0",
[ 10 ] = "minecraft:iron_ingot:0",
[ 11 ] = "minecraft:iron_ingot:0",
[ 6 ] = "minecraft:iron_ingot:0",
},
},
[ "minecraft:pumpkin_seeds:0" ] = {
count = 4,
ingredients = {
[ 6 ] = "minecraft:pumpkin:0",
},
},
[ "minecraft:stained_hardened_clay:0" ] = { [ "minecraft:stained_hardened_clay:0" ] = {
count = 8, count = 8,
ingredients = { ingredients = {
@@ -1890,6 +1887,24 @@
[ 7 ] = "minecraft:hardened_clay:0", [ 7 ] = "minecraft:hardened_clay:0",
}, },
}, },
[ "minecraft:pumpkin_seeds:0" ] = {
count = 4,
ingredients = {
[ 6 ] = "minecraft:pumpkin:0",
},
},
[ "minecraft:anvil:0" ] = {
count = 1,
ingredients = {
"minecraft:iron_block:0",
"minecraft:iron_block:0",
"minecraft:iron_block:0",
[ 9 ] = "minecraft:iron_ingot:0",
[ 10 ] = "minecraft:iron_ingot:0",
[ 11 ] = "minecraft:iron_ingot:0",
[ 6 ] = "minecraft:iron_ingot:0",
},
},
[ "minecraft:dye:10" ] = { [ "minecraft:dye:10" ] = {
count = 2, count = 2,
ingredients = { ingredients = {
@@ -1972,6 +1987,17 @@
[ 7 ] = "minecraft:glass:0", [ 7 ] = "minecraft:glass:0",
}, },
}, },
[ "minecraft:birch_door:0" ] = {
count = 3,
ingredients = {
"minecraft:planks:2",
"minecraft:planks:2",
[ 9 ] = "minecraft:planks:2",
[ 10 ] = "minecraft:planks:2",
[ 5 ] = "minecraft:planks:2",
[ 6 ] = "minecraft:planks:2",
},
},
[ "minecraft:dye:15" ] = { [ "minecraft:dye:15" ] = {
count = 3, count = 3,
ingredients = { ingredients = {
@@ -1987,17 +2013,6 @@
[ 6 ] = "minecraft:string:0", [ 6 ] = "minecraft:string:0",
}, },
}, },
[ "minecraft:birch_door:0" ] = {
count = 3,
ingredients = {
"minecraft:planks:2",
"minecraft:planks:2",
[ 9 ] = "minecraft:planks:2",
[ 10 ] = "minecraft:planks:2",
[ 5 ] = "minecraft:planks:2",
[ 6 ] = "minecraft:planks:2",
},
},
[ "minecraft:redstone_lamp:0" ] = { [ "minecraft:redstone_lamp:0" ] = {
count = 1, count = 1,
ingredients = { ingredients = {
@@ -2119,6 +2134,15 @@
[ 6 ] = "minecraft:dye:0", [ 6 ] = "minecraft:dye:0",
}, },
}, },
[ "minecraft:purpur_block:0" ] = {
count = 4,
ingredients = {
"minecraft:chorus_fruit_popped:0",
"minecraft:chorus_fruit_popped:0",
[ 5 ] = "minecraft:chorus_fruit_popped:0",
[ 6 ] = "minecraft:chorus_fruit_popped:0",
},
},
[ "minecraft:stick:0" ] = { [ "minecraft:stick:0" ] = {
count = 4, count = 4,
ingredients = { ingredients = {