From b5ee5db16bd7169d6d08f46d20b4e3ddfcfe39a7 Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Wed, 13 Sep 2017 20:02:26 -0400 Subject: [PATCH] upgrade item keys --- .../{chestProvider.lua => chestAdapter.lua} | 0 ...chestProvider18.lua => chestAdapter18.lua} | 37 +- sys/apis/{meProvider.lua => meAdapter.lua} | 51 +- ...refinedProvider.lua => refinedAdapter.lua} | 33 +- sys/apis/turtle/craft.lua | 24 +- sys/apis/turtle/level.lua | 7 +- sys/apps/builder.lua | 118 +- sys/apps/chestManager.lua | 72 +- sys/apps/itemsDB.lua | 40 - sys/apps/shapes.lua | 18 +- sys/apps/storageActivity.lua | 34 +- sys/apps/treefarm.lua | 35 +- sys/etc/recipes.db | 1712 ++++++++--------- sys/extensions/tl3.lua | 9 +- sys/services/gpshost.lua | 2 +- 15 files changed, 1076 insertions(+), 1116 deletions(-) rename sys/apis/{chestProvider.lua => chestAdapter.lua} (100%) rename sys/apis/{chestProvider18.lua => chestAdapter18.lua} (71%) rename sys/apis/{meProvider.lua => meAdapter.lua} (70%) rename sys/apis/{refinedProvider.lua => refinedAdapter.lua} (75%) delete mode 100644 sys/apps/itemsDB.lua diff --git a/sys/apis/chestProvider.lua b/sys/apis/chestAdapter.lua similarity index 100% rename from sys/apis/chestProvider.lua rename to sys/apis/chestAdapter.lua diff --git a/sys/apis/chestProvider18.lua b/sys/apis/chestAdapter18.lua similarity index 71% rename from sys/apis/chestProvider18.lua rename to sys/apis/chestAdapter18.lua index 195899c..4cc2d6b 100644 --- a/sys/apis/chestProvider18.lua +++ b/sys/apis/chestAdapter18.lua @@ -3,7 +3,7 @@ local Util = require('util') local itemDB = require('itemDB') local Peripheral = require('peripheral') -local ChestProvider = class() +local ChestAdapter = class() local keys = Util.transpose({ 'damage', @@ -14,7 +14,7 @@ local keys = Util.transpose({ 'nbtHash', }) -function ChestProvider:init(args) +function ChestAdapter:init(args) local defaults = { items = { }, name = 'chest', @@ -33,11 +33,11 @@ function ChestProvider:init(args) end end -function ChestProvider:isValid() +function ChestAdapter:isValid() return not not self.list end -function ChestProvider:getCachedItemDetails(item, k) +function ChestAdapter:getCachedItemDetails(item, k) local key = { item.name, item.damage, item.nbtHash } local detail = itemDB:get(key) @@ -64,12 +64,12 @@ function ChestProvider:getCachedItemDetails(item, k) end end -function ChestProvider:refresh(throttle) +function ChestAdapter:refresh(throttle) return self:listItems(throttle) end -- provide a consolidated list of items -function ChestProvider:listItems(throttle) +function ChestAdapter:listItems(throttle) self.cache = { } local items = { } @@ -82,13 +82,7 @@ function ChestProvider:listItems(throttle) if not entry then entry = self:getCachedItemDetails(v, k) if entry then - entry.dmg = entry.damage - entry.id = entry.name entry.count = 0 - entry.display_name = entry.displayName - entry.max_size = entry.maxCount - entry.nbt_hash = entry.nbtHash - entry.lname = entry.displayName:lower() self.cache[key] = entry table.insert(items, entry) end @@ -96,7 +90,6 @@ function ChestProvider:listItems(throttle) if entry then entry.count = entry.count + v.count - entry.qty = entry.count end throttle() end @@ -106,24 +99,24 @@ function ChestProvider:listItems(throttle) return items end -function ChestProvider:getItemInfo(id, dmg, nbtHash) +function ChestAdapter:getItemInfo(name, damage, nbtHash) if not self.cache then self:listItems() end - local key = table.concat({ id, dmg, nbtHash }, ':') + local key = table.concat({ name, damage, nbtHash }, ':') return self.cache[key] end -function ChestProvider:craft(id, dmg, qty) +function ChestAdapter:craft(name, damage, qty) end -function ChestProvider:craftItems(items) +function ChestAdapter:craftItems(items) end -function ChestProvider:provide(item, qty, slot, direction) +function ChestAdapter:provide(item, qty, slot, direction) local stacks = self.list() for key,stack in pairs(stacks) do - if stack.name == item.id and stack.damage == item.dmg then + if stack.name == item.name and stack.damage == item.damage then local amount = math.min(qty, stack.count) if amount > 0 then self.pushItems(direction or self.direction, key, amount, slot) @@ -136,12 +129,12 @@ function ChestProvider:provide(item, qty, slot, direction) end end -function ChestProvider:extract(slot, qty, toSlot) +function ChestAdapter:extract(slot, qty, toSlot) self.pushItems(self.direction, slot, qty, toSlot) end -function ChestProvider:insert(slot, qty) +function ChestAdapter:insert(slot, qty) self.pullItems(self.direction, slot, qty) end -return ChestProvider +return ChestAdapter diff --git a/sys/apis/meProvider.lua b/sys/apis/meAdapter.lua similarity index 70% rename from sys/apis/meProvider.lua rename to sys/apis/meAdapter.lua index 034d298..e146196 100644 --- a/sys/apis/meProvider.lua +++ b/sys/apis/meAdapter.lua @@ -1,6 +1,5 @@ local class = require('class') local Util = require('util') -local Logger = require('logger') local Peripheral = require('peripheral') local MEProvider = class() @@ -58,11 +57,28 @@ local function safeString(text) return text end +local convertNames = { + name = 'id', + damage = 'dmg', + maxCount = 'max_size', + count = 'qty', + displayName = 'display_name', + maxDamage = 'max_dmg', +} + +local function convertItem(item) + for k,v in pairs(convertNames) do + item[k] = item[v] + item[v] = nil + end + item.displayName = safeString(item.displayName) +end + function MEProvider:refresh() self.items = self.getAvailableItems('all') for _,v in pairs(self.items) do Util.merge(v, v.item) - v.name = safeString(v.display_name) + convertItem(v) end return self.items end @@ -72,25 +88,24 @@ function MEProvider:listItems() return self.items end -function MEProvider:getItemInfo(id, dmg) +function MEProvider:getItemInfo(name, damage) for key,item in pairs(self.items) do - if item.id == id and item.dmg == dmg then + if item.name == name and item.damage == damage then return item end end end -function MEProvider:craft(id, dmg, qty) +function MEProvider:craft(name, damage, count) self:refresh() - local item = self:getItemInfo(id, dmg) + local item = self:getItemInfo(name, damage) if item and item.is_craftable then - Logger.log('MEProvider', 'requested crafting for: ' .. id .. ':' .. dmg .. ' qty: ' .. qty) - self.requestCrafting({ id = id, dmg = dmg }, qty) + self.requestCrafting({ id = name, dmg = damage }, count) return true end end @@ -109,36 +124,32 @@ function MEProvider:craftItems(items) if count >= #cpus then break end - if self:craft(item.id, item.dmg, item.qty) then + if self:craft(item.name, item.damage, item.count) then count = count + 1 end end end -function MEProvider:provide(item, qty, slot) +function MEProvider:provide(item, count, slot) return pcall(function() self.exportItem({ - id = item.id, - dmg = item.dmg - }, self.oside, qty, slot) + id = item.name, + dmg = item.damage + }, self.oside, count, slot) end) end -function MEProvider:insert(slot, qty) - local s, m = pcall(function() self.pullItem(self.oside, slot, qty) end) +function MEProvider:insert(slot, count) + local s, m = pcall(function() self.pullItem(self.oside, slot, count) end) if not s and m then print('MEProvider:pullItem') print(m) - Logger.log('MEProvider', 'Insert failed, trying again') sleep(1) - s, m = pcall(function() self.pullItem(self.oside, slot, qty) end) + s, m = pcall(function() self.pullItem(self.oside, slot, count) end) if not s and m then print('MEProvider:pullItem') print(m) - Logger.log('MEProvider', 'Insert failed again') read() - else - Logger.log('MEProvider', 'Insert successful') end end end diff --git a/sys/apis/refinedProvider.lua b/sys/apis/refinedAdapter.lua similarity index 75% rename from sys/apis/refinedProvider.lua rename to sys/apis/refinedAdapter.lua index 457e1d5..f404fc5 100644 --- a/sys/apis/refinedProvider.lua +++ b/sys/apis/refinedAdapter.lua @@ -3,7 +3,7 @@ local Util = require('util') local Peripheral = require('peripheral') local itemDB = require('itemDB') -local RefinedProvider = class() +local RefinedAdapter = class() local keys = { 'damage', @@ -14,7 +14,7 @@ local keys = { 'nbtHash', } -function RefinedProvider:init(args) +function RefinedAdapter:init(args) local defaults = { items = { }, name = 'refinedStorage', @@ -28,15 +28,15 @@ function RefinedProvider:init(args) end end -function RefinedProvider:isValid() +function RefinedAdapter:isValid() return not not self.listAvailableItems end -function RefinedProvider:isOnline() +function RefinedAdapter:isOnline() return self.getNetworkEnergyStored() > 0 end -function RefinedProvider:getCachedItemDetails(item) +function RefinedAdapter:getCachedItemDetails(item) local key = { item.name, item.damage, item.nbtHash } local detail = itemDB:get(key) @@ -49,7 +49,6 @@ function RefinedProvider:getCachedItemDetails(item) return end Util.merge(detail, meta) - detail.lname = detail.displayName:lower() local t = { } for _,k in pairs(keys) do @@ -65,7 +64,7 @@ function RefinedProvider:getCachedItemDetails(item) end end -function RefinedProvider:listItems() +function RefinedAdapter:listItems() local items = { } local list @@ -80,10 +79,7 @@ function RefinedProvider:listItems() for _,v in pairs(list) do local item = self:getCachedItemDetails(v) if item then - item.display_name = item.displayName - item.id = v.name item.count = v.count - item.qty = v.count table.insert(items, item) end throttle() @@ -94,7 +90,7 @@ function RefinedProvider:listItems() return items end -function RefinedProvider:getItemInfo(fingerprint) +function RefinedAdapter:getItemInfo(fingerprint) local key = { fingerprint.name, fingerprint.damage, fingerprint.nbtHash } @@ -106,12 +102,11 @@ function RefinedProvider:getItemInfo(fingerprint) local detail = self.findItem(item) if detail then item.count = detail.count - item.qty = detail.count return item end end -function RefinedProvider:isCrafting(item) +function RefinedAdapter:isCrafting(item) for _,task in pairs(self.getCraftingTasks()) do local output = task.getPattern().outputs[1] if output.name == item.name and @@ -123,26 +118,26 @@ function RefinedProvider:isCrafting(item) return false end -function RefinedProvider:craft(item, qty) +function RefinedAdapter:craft(item, qty) local detail = self.findItem(item) if detail then return detail.craft(qty) end end -function RefinedProvider:craftItems(items) +function RefinedAdapter:craftItems(items) return false end -function RefinedProvider:provide(item, qty, slot) +function RefinedAdapter:provide(item, qty, slot) end -function RefinedProvider:extract(slot, qty) +function RefinedAdapter:extract(slot, qty) -- self.pushItems(self.direction, slot, qty) end -function RefinedProvider:insert(slot, qty) +function RefinedAdapter:insert(slot, qty) -- self.pullItems(self.direction, slot, qty) end -return RefinedProvider +return RefinedAdapter diff --git a/sys/apis/turtle/craft.lua b/sys/apis/turtle/craft.lua index 6c63d29..ae161bc 100644 --- a/sys/apis/turtle/craft.lua +++ b/sys/apis/turtle/craft.lua @@ -3,11 +3,11 @@ local Util = require('util') local Craft = { } -local function clearGrid(chestProvider) +local function clearGrid(chestAdapter) for i = 1, 16 do local count = turtle.getItemCount(i) if count > 0 then - chestProvider:insert(i, count) + chestAdapter:insert(i, count) if turtle.getItemCount(i) ~= 0 then return false end @@ -39,13 +39,13 @@ local function getItemCount(items, key) return 0 end -local function turtleCraft(recipe, qty, chestProvider) +local function turtleCraft(recipe, qty, chestAdapter) - clearGrid(chestProvider) + clearGrid(chestAdapter) for k,v in pairs(recipe.ingredients) do local item = splitKey(v) - chestProvider:provide({ id = item.name, dmg = item.damage, nbt_hash = item.nbtHash }, qty, k) + chestAdapter:provide(item, qty, k) if turtle.getItemCount(k) == 0 then -- ~= qty then -- FIX: ingredients cannot be stacked return false @@ -55,9 +55,9 @@ local function turtleCraft(recipe, qty, chestProvider) return turtle.craft() end -function Craft.craftRecipe(recipe, count, chestProvider) +function Craft.craftRecipe(recipe, count, chestAdapter) - local items = chestProvider:listItems() + local items = chestAdapter:listItems() local function sumItems(items) -- produces { ['minecraft:planks:0'] = 8 } @@ -81,7 +81,7 @@ function Craft.craftRecipe(recipe, count, chestProvider) Util.print('Crafting %d %s', icount * count - itemCount, key) if not Craft.craftRecipe(irecipe, icount * count - itemCount, - chestProvider) then + chestAdapter) then turtle.select(1) return end @@ -89,7 +89,7 @@ Util.print('Crafting %d %s', icount * count - itemCount, key) end end repeat - if not turtleCraft(recipe, math.min(count, maxCount), chestProvider) then + if not turtleCraft(recipe, math.min(count, maxCount), chestAdapter) then turtle.select(1) return false end @@ -157,10 +157,10 @@ function Craft.getCraftableAmountTest() end function Craft.craftRecipeTest(name, count) - local ChestProvider = require('chestProvider18') - local chestProvider = ChestProvider({ wrapSide = 'top', direction = 'down' }) + local ChestAdapter = require('chestAdapter18') + local chestAdapter = ChestAdapter({ wrapSide = 'top', direction = 'down' }) Craft.setRecipes(Util.readTable('usr/etc/recipes.db')) - return { Craft.craftRecipe(Craft.recipes[name], count, chestProvider) } + return { Craft.craftRecipe(Craft.recipes[name], count, chestAdapter) } end return Craft diff --git a/sys/apis/turtle/level.lua b/sys/apis/turtle/level.lua index 1901cbe..bce7145 100644 --- a/sys/apis/turtle/level.lua +++ b/sys/apis/turtle/level.lua @@ -38,6 +38,7 @@ local function dig(action) local hi = turtle.getHeadingInfo(direction) local node = { x = turtle.point.x + hi.xd, y = turtle.point.y + hi.yd, z = turtle.point.z + hi.zd } + if Point.inBox(node, box) then local key = toKey(node) @@ -57,8 +58,10 @@ local function move(action) dig(turtle.getAction('forward')) elseif action == 'up' then dig(turtle.getAction('up')) + dig(turtle.getAction('forward')) elseif action == 'down' then dig(turtle.getAction('down')) + dig(turtle.getAction('forward')) elseif action == 'back' then dig(turtle.getAction('up')) dig(turtle.getAction('down')) @@ -123,7 +126,9 @@ return function(startPt, endPt, firstPt, verbose) box.ey = math.max(startPt.y, endPt.y) box.ez = math.max(startPt.z, endPt.z) - turtle.pathfind(firstPt) + if not turtle.pathfind(firstPt) then + error('failed to reach starting point') + end turtle.setPolicy("attack", { dig = dig }, "assuredMove") diff --git a/sys/apps/builder.lua b/sys/apps/builder.lua index 02d25b3..06a0215 100644 --- a/sys/apps/builder.lua +++ b/sys/apps/builder.lua @@ -4,20 +4,20 @@ end requireInjector(getfenv(1)) -local Blocks = require('blocks') -local class = require('class') -local Event = require('event') -local MEProvider = require('meProvider') -local Message = require('message') -local Point = require('point') -local Schematic = require('schematic') -local TableDB = require('tableDB') -local UI = require('ui') -local Util = require('util') +local Blocks = require('blocks') +local class = require('class') +local Event = require('event') +local MEAdapter = require('meAdapter') +local Message = require('message') +local Point = require('point') +local Schematic = require('schematic') +local TableDB = require('tableDB') +local UI = require('ui') +local Util = require('util') -local ChestProvider = require('chestProvider') +local ChestAdapter = require('chestAdapter') if Util.getVersion() == 1.8 then - ChestProvider = require('chestProvider18') + ChestAdapter = require('chestAdapter18') end if not _G.device then @@ -45,6 +45,40 @@ local Builder = { local pistonFacings +-- Temp functions until conversion to new adapters is complete +local function convertSingleForward(item) + item.name = item.id + item.damage = item.dmg + item.count = item.count + item.maxCount = item.max_size + return item +end + +local function convertForward(t) + for _,v in pairs(t) do + convertSingleForward(v) + end + return t +end + +local function convertSingleBack(item) + if item then + item.id = item.name + item.dmg = item.damage + item.qty = item.count + item.max_size = item.maxCount + item.display_name = item.displayName + end + return item +end + +local function convertBack(t) + for _,v in pairs(t) do + convertSingleBack(v) + end + return t +end + --[[-- SubDB --]]-- subDB = TableDB({ fileName = fs.combine(BUILDER_DIR, 'sub.db'), @@ -397,7 +431,7 @@ function Builder:dumpInventory() for i = 1, 16 do local qty = turtle.getItemCount(i) if qty > 0 then - self.itemProvider:insert(i, qty) + self.itemAdapter:insert(i, qty) end if turtle.getItemCount(i) ~= 0 then success = false @@ -411,7 +445,7 @@ end function Builder:dumpInventoryWithCheck() while not self:dumpInventory() do - print('Provider is full or missing - make space or replace') + print('Storage is full or missing - make space or replace') print('Press enter to continue') turtle.setHeading(0) read() @@ -435,17 +469,17 @@ function Builder:autocraft(supplies) item.qty = item.qty + (s.need - s.qty) end - Builder.itemProvider:craftItems(t) + Builder.itemAdapter:craftItems(convertForward(t)) end function Builder:getSupplies() - self.itemProvider:refresh() + self.itemAdapter:refresh() local t = { } for _,s in ipairs(self.slots) do if s.need > 0 then - local item = self.itemProvider:getItemInfo(s.id, s.dmg) + local item = convertSingleBack(self.itemAdapter:getItemInfo(s.id, s.dmg)) if item then s.name = item.display_name @@ -459,7 +493,7 @@ function Builder:getSupplies() s.need = qty end if qty > 0 then - self.itemProvider:provide(item, qty, s.index) + self.itemAdapter:provide(convertSingleForward(item), qty, s.index) s.qty = turtle.getItemCount(s.index) end else @@ -485,7 +519,7 @@ function Builder:refuel() local fuel = subDB:getSubstitutedItem(self.fuelItem.id, self.fuelItem.dmg) - self.itemProvider:provide(fuel, 64, 1) + self.itemAdapter:provide(convertSingleForward(fuel), 64, 1) if turtle.getItemCount(1) == 0 then print('Out of fuel, add fuel to chest/ME system') turtle.setHeading(0) @@ -523,23 +557,23 @@ function Builder:inAirDropoff() turtle.goto(pt.x, pt.z, pt.y) os.sleep(.1) -- random computer is not connected error - local chestProvider = ChestProvider({ direction = 'down', wrapSide = 'top' }) + local chestAdapter = ChestAdapter({ direction = 'down', wrapSide = 'top' }) - if not chestProvider:isValid() then + if not chestAdapter:isValid() then self:log('Chests above is not valid') return false end - local oldProvider = self.itemProvider - self.itemProvider = chestProvider + local oldAdapter = self.itemAdapter + self.itemAdapter = chestAdapter if not self:dumpInventory() then self:log('Unable to dump inventory') - self.itemProvider = oldProvider + self.itemAdapter = oldAdapter return false end - self.itemProvider = oldProvider + self.itemAdapter = oldAdapter Message.broadcast('thanks', { }) @@ -563,7 +597,7 @@ function Builder:inAirResupply() return false end - local oldProvider = self.itemProvider + local oldAdapter = self.itemAdapter self:log('Requesting air supply drop for supply #: ' .. self.slotUid) while true do @@ -571,7 +605,7 @@ function Builder:inAirResupply() local _, id, msg, _ = Message.waitForMessage('gotSupplies', 1) if not msg or not msg.contents then - self.itemProvider = oldProvider + self.itemAdapter = oldAdapter return false end @@ -586,17 +620,17 @@ function Builder:inAirResupply() turtle.goto(pt.x, pt.z, pt.y) os.sleep(.1) -- random computer is not connected error - local chestProvider = ChestProvider({ direction = 'down', wrapSide = 'top' }) + local chestAdapter = ChestAdapter({ direction = 'down', wrapSide = 'top' }) - if not chestProvider:isValid() then + if not chestAdapter:isValid() then Util.print('not valid') read() end - self.itemProvider = chestProvider + self.itemAdapter = chestAdapter if not self:dumpInventory() then - self.itemProvider = oldProvider + self.itemAdapter = oldAdapter return false end self:refuel() @@ -606,7 +640,7 @@ function Builder:inAirResupply() Message.broadcast('thanks', { }) - self.itemProvider = oldProvider + self.itemAdapter = oldAdapter if #supplies == 0 then @@ -1449,7 +1483,7 @@ end function substitutionPage:enable() - self.allItems = Builder.itemProvider:refresh() + self.allItems = convertBack(Builder.itemAdapter:refresh()) self.grid.values = self.allItems for _,item in pairs(self.grid.values) do item.key = item.id .. ':' .. item.dmg @@ -1583,7 +1617,7 @@ function supplyPage:eventHandler(event) if event.type == 'craft' then local s = self.grid:getSelected() - if Builder.itemProvider:craft(s.id, s.dmg, s.need-s.qty) then + if Builder.itemAdapter:craft(s.id, s.dmg, s.need-s.qty) then local name = s.name or '' self.statusBar:timedStatus('Requested ' .. s.need-s.qty .. ' ' .. name, 3) else @@ -1708,12 +1742,12 @@ function listingPage:eventHandler(event) if event.type == 'craft' then local s = self.grid:getSelected() - local item = Builder.itemProvider:getItemInfo(s.id, s.dmg) + local item = convertSingleBack(Builder.itemAdapter:getItemInfo(s.id, s.dmg)) if item and item.is_craftable then local qty = math.max(0, s.need - item.qty) if item then - Builder.itemProvider:craft(s.id, s.dmg, qty) + Builder.itemAdapter:craft(s.id, s.dmg, qty) local name = s.name or s.key self.statusBar:timedStatus('Requested ' .. qty .. ' ' .. name, 3) end @@ -1768,11 +1802,11 @@ function listingPage:refresh(throttle) local supplyList = Builder:getBlockCounts() - Builder.itemProvider:refresh(throttle) + Builder.itemAdapter:refresh(throttle) for _,b in pairs(supplyList) do if b.need > 0 then - local item = Builder.itemProvider:getItemInfo(b.id, b.dmg) + local item = convertSingleBack(Builder.itemAdapter:getItemInfo(b.id, b.dmg)) if item then local block = blocks.blockDB:lookup(b.id, b.dmg) @@ -2054,10 +2088,10 @@ if #args < 1 then error('supply file name') end -Builder.itemProvider = MEProvider() -if not Builder.itemProvider:isValid() then - Builder.itemProvider = ChestProvider() - if not Builder.itemProvider:isValid() then +Builder.itemAdapter = MEAdapter() +if not Builder.itemAdapter:isValid() then + Builder.itemAdapter = ChestAdapter() + if not Builder.itemAdapter:isValid() then error('A chest or ME interface must be below turtle') end end diff --git a/sys/apps/chestManager.lua b/sys/apps/chestManager.lua index 32b883a..03f2a38 100644 --- a/sys/apps/chestManager.lua +++ b/sys/apps/chestManager.lua @@ -1,15 +1,15 @@ requireInjector(getfenv(1)) -local ChestProvider = require('chestProvider18') -local Config = require('config') -local Craft = require('turtle.craft') -local Event = require('event') -local itemDB = require('itemDB') -local Peripheral = require('peripheral') -local RefinedProvider = require('refinedProvider') -local Terminal = require('terminal') -local UI = require('ui') -local Util = require('util') +local ChestAdapter = require('chestAdapter18') +local Config = require('config') +local Craft = require('turtle.craft') +local Event = require('event') +local itemDB = require('itemDB') +local Peripheral = require('peripheral') +local RefinedAdapter = require('refinedAdapter') +local Terminal = require('terminal') +local UI = require('ui') +local Util = require('util') multishell.setTitle(multishell.getCurrent(), 'Resource Manager') @@ -25,14 +25,14 @@ local config = { Config.load('resourceManager', config) -local controller = RefinedProvider() +local controller = RefinedAdapter() if not controller:isValid() then -- error('Refined storage controller not found') controller = nil end -local chestProvider = ChestProvider({ direction = 'west', wrapSide = 'back' }) -local turtleChestProvider = ChestProvider({ direction = 'up', wrapSide = 'bottom' }) +local chestAdapter = ChestAdapter({ direction = 'west', wrapSide = 'back' }) +local turtleChestAdapter = ChestAdapter({ direction = 'up', wrapSide = 'bottom' }) local RESOURCE_FILE = 'usr/etc/resources.db' local RECIPES_FILE = 'sys/etc/recipes.db' @@ -195,7 +195,7 @@ local function clearGrid() for i = 1, 16 do local count = turtle.getItemCount(i) if count > 0 then - chestProvider:insert(i, count) + chestAdapter:insert(i, count) if turtle.getItemCount(i) ~= 0 then return false end @@ -224,9 +224,9 @@ local function craftItem(recipe, items, originalItem, craftList, count) local toCraft = Craft.getCraftableAmount(recipe, count, items) if toCraft > 0 then - Craft.craftRecipe(recipe, toCraft, chestProvider) + Craft.craftRecipe(recipe, toCraft, chestAdapter) clearGrid() - items = chestProvider:listItems() + items = chestAdapter:listItems() end count = count - toCraft @@ -250,7 +250,7 @@ local function craftItems(craftList, allItems) local recipe = recipes[key] if recipe then craftItem(recipe, allItems, item, craftList, item.count) - allItems = chestProvider:listItems() -- refresh counts + allItems = chestAdapter:listItems() -- refresh counts elseif item.rsControl then item.status = 'Activated' end @@ -368,7 +368,7 @@ local function watchResources(items) end if res.limit and item.count > res.limit then - chestProvider:provide({ id = res.name, dmg = res.damage, nbtHash = res.nbt_hash }, item.count - res.limit, nil, config.trashDirection) + chestAdapter:provide(res, item.count - res.limit, nil, config.trashDirection) elseif res.low and item.count < res.low then if res.ignoreDamage then @@ -701,7 +701,7 @@ function listingPage:enable() end function listingPage:refresh() - self.allItems = chestProvider:listItems() + self.allItems = chestAdapter:listItems() mergeResources(self.allItems) self:applyFilter() end @@ -733,10 +733,10 @@ local function getTurtleInventory() for i = 1,16 do local qty = turtle.getItemCount(i) if qty > 0 then - turtleChestProvider:insert(i, qty) - local items = turtleChestProvider:listItems() + turtleChestAdapter:insert(i, qty) + local items = turtleChestAdapter:listItems() _, inventory[i] = next(items) - turtleChestProvider:extract(1, qty, i) + turtleChestAdapter:extract(1, qty, i) end end return inventory @@ -759,26 +759,26 @@ local function learnRecipe(page) if device.workbench and turtle.craft() then recipe = getTurtleInventory() if recipe and recipe[1] then - recipe = recipe[1] - local key = uniqueKey(recipe) - clearGrid() - filter(recipe, { 'name', 'damage', 'nbtHash', 'count', 'maxCount' }) - - for _,ingredient in pairs(ingredients) do - filter(ingredient, { 'name', 'damage', 'nbtHash', 'count', 'maxCount' }) - --if ingredient.max_dmg > 0 then -- let's try this... - -- ingredient.dmg = 0 - --end + local key = uniqueKey(recipe[1]) + local newRecipe = { + count = recipe[1].count, + ingredients = ingredients, + } + if recipe[1].maxCount ~= 64 then + newRecipe.maxCount = recipe[1].maxCount end - recipe.ingredients = ingredients - recipes[key] = recipe + for k,ingredient in pairs(ingredients) do + ingredients[k] = uniqueKey(ingredient) + end + + recipes[key] = newRecipe Util.writeTable(RECIPES_FILE, recipes) - local displayName = getName(recipe) + local displayName = getName(recipe[1]) listingPage.statusBar.filter:setValue(displayName) listingPage.statusBar:timedStatus('Learned: ' .. displayName, 3) @@ -914,7 +914,7 @@ jobListGrid:sync() Event.onInterval(5, function() if not craftingPaused then - local items = chestProvider:listItems() + local items = chestAdapter:listItems() if Util.size(items) == 0 then jobListGrid.parent:clear() jobListGrid.parent:centeredWrite(math.ceil(jobListGrid.parent.height/2), 'No items in system') diff --git a/sys/apps/itemsDB.lua b/sys/apps/itemsDB.lua deleted file mode 100644 index a807c84..0000000 --- a/sys/apps/itemsDB.lua +++ /dev/null @@ -1,40 +0,0 @@ -requireInjector(getfenv(1)) - -local RefinedProvider = require('refinedProvider') -local TableDB = require('tableDB') - -local controller = RefinedProvider() -if not controller:isValid() then - error('Refined storage controller not found') -end - -local itemInfoDB = TableDB({ - fileName = 'items.db' -}) - -itemInfoDB:load() - -local items = controller:listItems() - -local keys = { - 'fields', - 'damage', - 'displayName', - 'maxCount', - 'maxDamage', - 'name', - 'nbtHash', - 'rawName', -} - -for _, item in pairs(items) do - - local t = { } - for _,key in pairs(keys) do - t[key] = item[key] - end - - itemInfoDB:add({ item.name, item.damage, item.nbtHash }, t) -end - -itemInfoDB:flush() diff --git a/sys/apps/shapes.lua b/sys/apps/shapes.lua index a43f6d8..5b694df 100644 --- a/sys/apps/shapes.lua +++ b/sys/apps/shapes.lua @@ -15,22 +15,22 @@ local script = [[ requireInjector(getfenv(1)) -local GPS = require('gps') -local ChestProvider = require('chestProvider18') -local Point = require('point') -local Util = require('util') +local GPS = require('gps') +local ChestAdapter = require('chestAdapter18') +local Point = require('point') +local Util = require('util') -local itemProvider +local itemAdapter function dumpInventory() for i = 1, 16 do local qty = turtle.getItemCount(i) if qty > 0 then - itemProvider:insert(i, qty) + itemAdapter:insert(i, qty) end if turtle.getItemCount(i) ~= 0 then - print('Provider is full or missing - make space or replace') + print('Adapter is full or missing - make space or replace') print('Press enter to continue') read() end @@ -43,7 +43,7 @@ local function refuel() print('Refueling') turtle.select(1) - itemProvider:provide({ id = 'minecraft:coal', dmg = 0 }, 64, 1) + itemAdapter:provide({ name = 'minecraft:coal', damage = 0 }, 64, 1) if turtle.getItemCount(1) == 0 then print('Out of fuel, add fuel to chest/ME system') turtle.status = 'waiting' @@ -73,7 +73,7 @@ local function resupply() if data.suppliesPt then pathTo(data.suppliesPt) - itemProvider = ChestProvider({ direction = 'up', wrapSide = 'bottom' }) + itemAdapter = ChestAdapter({ direction = 'up', wrapSide = 'bottom' }) dumpInventory() refuel() end diff --git a/sys/apps/storageActivity.lua b/sys/apps/storageActivity.lua index 7340c69..135ee13 100644 --- a/sys/apps/storageActivity.lua +++ b/sys/apps/storageActivity.lua @@ -1,17 +1,17 @@ requireInjector(getfenv(1)) -local ChestProvider = require('chestProvider18') +local ChestAdapter = require('chestAdapter18') local Event = require('event') -local MEProvider = require('meProvider') -local RefinedProvider = require('refinedProvider') +local MEAdapter = require('meAdapter') +local RefinedAdapter = require('refinedAdapter') local UI = require('ui') local Util = require('util') -local storage = RefinedProvider() +local storage = RefinedAdapter() if not storage:isValid() then - storage = MEProvider() + storage = MEAdapter() if not storage:isValid() then - storage = ChestProvider() + storage = ChestAdapter() end end @@ -25,11 +25,11 @@ UI:configure('StorageActivity', ...) local changedPage = UI.Page({ grid = UI.Grid({ columns = { - { heading = 'Qty', key = 'qty', width = 5 }, - { heading = 'Change', key = 'change', width = 6 }, - { heading = 'Name', key = 'display_name', width = UI.term.width - 15 }, + { heading = 'Qty', key = 'count', width = 5 }, + { heading = 'Change', key = 'change', width = 6 }, + { heading = 'Name', key = 'displayName', width = UI.term.width - 15 }, }, - sortColumn = 'display_name', + sortColumn = 'displayName', rey = -6, }), buttons = UI.Window({ @@ -77,7 +77,7 @@ function changedPage.grid:getDisplayValues(row) ind = '' end row.change = ind .. Util.toBytes(row.change) - row.qty = Util.toBytes(row.qty) + row.count = Util.toBytes(row.count) return row end @@ -132,9 +132,9 @@ function changedPage:refresh() found = false for k2,v2 in pairs(t) do if uniqueKey(v) == uniqueKey(v2) then - if v.qty ~= v2.qty then + if v.count ~= v2.count then local c = Util.shallowCopy(v2) - c.lastQty = v.qty + c.lastCount = v.count table.insert(changedItems, c) end table.remove(t, k2) @@ -145,19 +145,19 @@ function changedPage:refresh() -- New item if not found then local c = Util.shallowCopy(v) - c.lastQty = v.qty - c.qty = 0 + c.lastCount = v.count + c.count = 0 table.insert(changedItems, c) end end -- No items left for k,v in pairs(t) do - v.lastQty = 0 + v.lastCount = 0 table.insert(changedItems, v) end for k,v in pairs(changedItems) do - v.change = v.qty - v.lastQty + v.change = v.count - v.lastCount end self.grid:setValues(changedItems) diff --git a/sys/apps/treefarm.lua b/sys/apps/treefarm.lua index 5ddedf3..7d1fdbb 100644 --- a/sys/apps/treefarm.lua +++ b/sys/apps/treefarm.lua @@ -4,7 +4,7 @@ requireInjector(getfenv(1)) Requirements: Place turtle against an oak tree or oak sapling Area around turtle must be flat and can only be dirt or grass - (9 blocks in each direction from turtle) + (10 blocks in each direction from turtle) Turtle must have: crafting table, chest Turtle must have a pick equipped on the left side @@ -16,15 +16,15 @@ requireInjector(getfenv(1)) down another sapling in front of the turtle. The program will be able to survive server restarts as long as it has - created the cobble line. If the program is stopped before that time, + created the cobblestone line. If the program is stopped before that time, place the turtle in the original position before restarting the program. ]]-- -local ChestProvider = require('chestProvider18') -local Craft = require('turtle.craft') -local Level = require('turtle.level') -local Point = require('point') -local Util = require('util') +local ChestAdapter = require('chestAdapter18') +local Craft = require('turtle.craft') +local Level = require('turtle.level') +local Point = require('point') +local Util = require('util') local FUEL_BASE = 0 local FUEL_DIRE = FUEL_BASE + 10 @@ -126,18 +126,18 @@ local function craftItem(item, qty) if turtle.equip('left', 'minecraft:crafting_table') then - local chestProvider = ChestProvider({ + local chestAdapter = ChestAdapter({ wrapSide = 'top', direction = 'down', }) - if not chestProvider:isValid() then - print('invalid chestProvider') + if not chestAdapter:isValid() then + print('invalid chestAdapter') read() end -- turtle.emptyInventory(turtle.dropUp) Util.print('Crafting %d %s', (qty or 1), item) - success = Craft.craftRecipe(recipes[item], qty or 1, chestProvider) + success = Craft.craftRecipe(recipes[item], qty or 1, chestAdapter) repeat until not turtle.suckUp() end @@ -265,7 +265,7 @@ local function getCobblestone(count) turtle.select(1) turtle.digDown() turtle.down() - for i = 1, 3 do + for i = 1, 4 do if inspect(turtle.inspect) == STONE then turtle.dig() end @@ -353,7 +353,7 @@ local function createChests() return false end if state.perimeter and - turtle.getFuelLevel() > FUEL_BASE + 100 and + turtle.getFuelLevel() > FUEL_GOOD and Craft.canCraft(CHEST, 4, turtle.getSummedInventory()) then print('Adding storage') @@ -428,8 +428,8 @@ local function placeTorches() return end - if Craft.canCraft(TORCH, 4, turtle.getSummedInventory()) and - turtle.getFuelLevel() > 100 then + if turtle.getFuelLevel() > 100 and + Craft.canCraft(TORCH, 4, turtle.getSummedInventory()) then print('Placing torches') @@ -525,6 +525,7 @@ local function fell() fellTree(pt) end turtle.placeAt(pt, randomSapling()) + turtle.select(1) end) print('Used ' .. (fuel - turtle.getFuelLevel()) .. ' fuel') @@ -635,14 +636,14 @@ local function findHome() while inspect(turtle.inspectDown) ~= COBBLESTONE do pt.x = pt.x - 1 turtle.pathfind(pt) - if pt.x < -16 then + if pt.x < -20 then error('lost') end end while inspect(turtle.inspectDown) == COBBLESTONE do pt.z = pt.z - 1 turtle.pathfind(pt) - if pt.z < -16 then + if pt.z < -20 then error('lost') end end diff --git a/sys/etc/recipes.db b/sys/etc/recipes.db index c34f765..61611db 100644 --- a/sys/etc/recipes.db +++ b/sys/etc/recipes.db @@ -12,12 +12,12 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:6", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:6", }, }, [ "minecraft:trapdoor:0" ] = { @@ -26,9 +26,9 @@ "minecraft:planks:0", "minecraft:planks:0", "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", [ 6 ] = "minecraft:planks:0", [ 7 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", }, }, [ "minecraft:dark_oak_fence:0" ] = { @@ -37,16 +37,18 @@ "minecraft:planks:5", "minecraft:stick:0", "minecraft:planks:5", - [ 5 ] = "minecraft:planks:5", [ 6 ] = "minecraft:stick:0", [ 7 ] = "minecraft:planks:5", + [ 5 ] = "minecraft:planks:5", }, }, - [ "minecraft:dye:8" ] = { - count = 2, + [ "minecraft:dirt:1" ] = { + count = 4, ingredients = { - [ 5 ] = "minecraft:dye:15", - [ 6 ] = "minecraft:dye:0", + "minecraft:dirt:0", + "minecraft:gravel:0", + [ 5 ] = "minecraft:gravel:0", + [ 6 ] = "minecraft:dirt:0", }, }, [ "minecraft:carpet:4" ] = { @@ -62,12 +64,12 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:14", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:14", }, }, [ "minecraft:wooden_pressure_plate:0" ] = { @@ -77,18 +79,18 @@ [ 6 ] = "minecraft:planks:0", }, }, - [ "minecraft:hay_block:0" ] = { - count = 1, + [ "minecraft:stained_hardened_clay:1" ] = { + count = 8, ingredients = { - "minecraft:wheat:0", - "minecraft:wheat:0", - "minecraft:wheat:0", - [ 5 ] = "minecraft:wheat:0", - [ 6 ] = "minecraft:wheat:0", - [ 7 ] = "minecraft:wheat:0", - [ 9 ] = "minecraft:wheat:0", - [ 10 ] = "minecraft:wheat:0", - [ 11 ] = "minecraft:wheat:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:14", }, }, [ "minecraft:stained_hardened_clay:13" ] = { @@ -97,12 +99,12 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:2", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:2", }, }, [ "minecraft:stained_glass_pane:11" ] = { @@ -111,9 +113,9 @@ "minecraft:stained_glass:11", "minecraft:stained_glass:11", "minecraft:stained_glass:11", - [ 5 ] = "minecraft:stained_glass:11", [ 6 ] = "minecraft:stained_glass:11", [ 7 ] = "minecraft:stained_glass:11", + [ 5 ] = "minecraft:stained_glass:11", }, }, [ "minecraft:dye:10" ] = { @@ -123,15 +125,11 @@ "minecraft:dye:2", }, }, - [ "minecraft:birch_stairs:0" ] = { - count = 8, + [ "minecraft:quartz_block:1" ] = { + count = 1, ingredients = { - "minecraft:planks:2", - [ 9 ] = "minecraft:planks:2", - [ 10 ] = "minecraft:planks:2", - [ 11 ] = "minecraft:planks:2", - [ 5 ] = "minecraft:planks:2", - [ 6 ] = "minecraft:planks:2", + [ 2 ] = "minecraft:stone_slab:7", + [ 6 ] = "minecraft:stone_slab:7", }, }, [ "minecraft:carpet:12" ] = { @@ -147,9 +145,9 @@ "minecraft:stick:0", "minecraft:planks:2", "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", [ 6 ] = "minecraft:planks:2", [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", }, }, [ "minecraft:acacia_fence:0" ] = { @@ -158,9 +156,9 @@ "minecraft:planks:4", "minecraft:stick:0", "minecraft:planks:4", - [ 5 ] = "minecraft:planks:4", [ 6 ] = "minecraft:stick:0", [ 7 ] = "minecraft:planks:4", + [ 5 ] = "minecraft:planks:4", }, }, [ "minecraft:diamond_block:0" ] = { @@ -169,18 +167,12 @@ "minecraft:diamond:0", "minecraft:diamond:0", "minecraft:diamond:0", - [ 5 ] = "minecraft:diamond:0", - [ 6 ] = "minecraft:diamond:0", [ 7 ] = "minecraft:diamond:0", [ 9 ] = "minecraft:diamond:0", [ 10 ] = "minecraft:diamond:0", [ 11 ] = "minecraft:diamond:0", - }, - }, - [ "extrautils2:compressednetherrack:3" ] = { - count = 9, - ingredients = { - [ 6 ] = "extrautils2:compressednetherrack:4", + [ 5 ] = "minecraft:diamond:0", + [ 6 ] = "minecraft:diamond:0", }, }, [ "minecraft:stone:1" ] = { @@ -204,12 +196,12 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:1", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:1", }, }, [ "minecraft:stained_glass_pane:6" ] = { @@ -218,9 +210,9 @@ "minecraft:stained_glass:6", "minecraft:stained_glass:6", "minecraft:stained_glass:6", - [ 5 ] = "minecraft:stained_glass:6", [ 6 ] = "minecraft:stained_glass:6", [ 7 ] = "minecraft:stained_glass:6", + [ 5 ] = "minecraft:stained_glass:6", }, }, [ "minecraft:carpet:9" ] = { @@ -237,15 +229,13 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:glass_pane:0" ] = { - count = 16, + [ "minecraft:quartz_block:0" ] = { + count = 1, ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:glass:0", - [ 7 ] = "minecraft:glass:0", + "minecraft:quartz:0", + "minecraft:quartz:0", + [ 5 ] = "minecraft:quartz:0", + [ 6 ] = "minecraft:quartz:0", }, }, [ "minecraft:pumpkin_seeds:0" ] = { @@ -269,18 +259,11 @@ [ 6 ] = "minecraft:wool:10", }, }, - [ "minecraft:prismarine:2" ] = { - count = 1, + [ "minecraft:carpet:8" ] = { + count = 3, ingredients = { - "minecraft:prismarine_shard:0", - "minecraft:prismarine_shard:0", - "minecraft:prismarine_shard:0", - [ 5 ] = "minecraft:prismarine_shard:0", - [ 6 ] = "minecraft:dye:0", - [ 7 ] = "minecraft:prismarine_shard:0", - [ 9 ] = "minecraft:prismarine_shard:0", - [ 10 ] = "minecraft:prismarine_shard:0", - [ 11 ] = "minecraft:prismarine_shard:0", + [ 5 ] = "minecraft:wool:8", + [ 6 ] = "minecraft:wool:8", }, }, [ "minecraft:stained_glass_pane:1" ] = { @@ -289,9 +272,9 @@ "minecraft:stained_glass:1", "minecraft:stained_glass:1", "minecraft:stained_glass:1", - [ 5 ] = "minecraft:stained_glass:1", [ 6 ] = "minecraft:stained_glass:1", [ 7 ] = "minecraft:stained_glass:1", + [ 5 ] = "minecraft:stained_glass:1", }, }, [ "minecraft:cobblestone_wall:0" ] = { @@ -300,9 +283,9 @@ "minecraft:cobblestone:0", "minecraft:cobblestone:0", "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", [ 6 ] = "minecraft:cobblestone:0", [ 7 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", }, }, [ "minecraft:wooden_button:0" ] = { @@ -348,13 +331,15 @@ [ 6 ] = "minecraft:stone_slab:1", }, }, - [ "minecraft:stonebrick:0" ] = { - count = 4, + [ "minecraft:jungle_fence_gate:0" ] = { + count = 1, ingredients = { - "minecraft:stone:0", - "minecraft:stone:0", - [ 5 ] = "minecraft:stone:0", - [ 6 ] = "minecraft:stone:0", + "minecraft:stick:0", + "minecraft:planks:3", + "minecraft:stick:0", + [ 6 ] = "minecraft:planks:3", + [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", }, }, [ "minecraft:furnace:0" ] = { @@ -363,11 +348,11 @@ "minecraft:cobblestone:0", "minecraft:cobblestone:0", "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", [ 7 ] = "minecraft:cobblestone:0", [ 9 ] = "minecraft:cobblestone:0", [ 10 ] = "minecraft:cobblestone:0", [ 11 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", }, }, [ "minecraft:dye:5" ] = { @@ -388,30 +373,22 @@ [ 6 ] = "minecraft:stonebrick:0", }, }, - [ "minecraft:banner:0" ] = { - count = 1, + [ "minecraft:nether_brick_fence:0" ] = { + count = 6, ingredients = { - "minecraft:wool:15", - "minecraft:wool:15", - "minecraft:wool:15", - [ 5 ] = "minecraft:wool:15", - [ 6 ] = "minecraft:wool:15", - [ 7 ] = "minecraft:wool:15", - [ 10 ] = "minecraft:stick:0", + "minecraft:nether_brick:0", + "minecraft:nether_brick:0", + "minecraft:nether_brick:0", + [ 6 ] = "minecraft:nether_brick:0", + [ 7 ] = "minecraft:nether_brick:0", + [ 5 ] = "minecraft:nether_brick:0", }, }, - [ "minecraft:stained_glass:10" ] = { - count = 8, + [ "minecraft:wool:11" ] = { + count = 1, ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:5", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:wool:0", + [ 6 ] = "minecraft:dye:4", }, }, [ "minecraft:sign:0" ] = { @@ -420,9 +397,9 @@ "minecraft:planks:0", "minecraft:planks:0", "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", [ 6 ] = "minecraft:planks:0", [ 7 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", [ 10 ] = "minecraft:stick:0", }, }, @@ -480,15 +457,13 @@ [ 9 ] = "minecraft:stone:0", }, }, - [ "minecraft:acacia_fence_gate:0" ] = { + [ "minecraft:crafting_table:0" ] = { count = 1, ingredients = { - "minecraft:stick:0", - "minecraft:planks:4", - "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", - [ 6 ] = "minecraft:planks:4", - [ 7 ] = "minecraft:stick:0", + "minecraft:planks:0", + "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", + [ 6 ] = "minecraft:planks:0", }, }, [ "minecraft:stained_glass_pane:3" ] = { @@ -497,23 +472,9 @@ "minecraft:stained_glass:3", "minecraft:stained_glass:3", "minecraft:stained_glass:3", - [ 5 ] = "minecraft:stained_glass:3", [ 6 ] = "minecraft:stained_glass:3", [ 7 ] = "minecraft:stained_glass:3", - }, - }, - [ "minecraft:stained_glass:3" ] = { - count = 8, - ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:12", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:stained_glass:3", }, }, [ "minecraft:stick:0" ] = { @@ -529,9 +490,9 @@ "minecraft:stained_glass:0", "minecraft:stained_glass:0", "minecraft:stained_glass:0", - [ 5 ] = "minecraft:stained_glass:0", [ 6 ] = "minecraft:stained_glass:0", [ 7 ] = "minecraft:stained_glass:0", + [ 5 ] = "minecraft:stained_glass:0", }, }, [ "minecraft:wool:6" ] = { @@ -554,25 +515,12 @@ "minecraft:emerald:0", "minecraft:emerald:0", "minecraft:emerald:0", - [ 5 ] = "minecraft:emerald:0", - [ 6 ] = "minecraft:emerald:0", [ 7 ] = "minecraft:emerald:0", [ 9 ] = "minecraft:emerald:0", [ 10 ] = "minecraft:emerald:0", [ 11 ] = "minecraft:emerald:0", - }, - }, - [ "minecraft:heavy_weighted_pressure_plate:0" ] = { - count = 1, - ingredients = { - [ 5 ] = "minecraft:iron_ingot:0", - [ 6 ] = "minecraft:iron_ingot:0", - }, - }, - [ "minecraft:planks:3" ] = { - count = 4, - ingredients = { - [ 6 ] = "minecraft:log:3", + [ 5 ] = "minecraft:emerald:0", + [ 6 ] = "minecraft:emerald:0", }, }, [ "minecraft:wool:13" ] = { @@ -588,33 +536,12 @@ "minecraft:planks:0", "minecraft:planks:0", "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", - [ 6 ] = "minecraft:redstone:0", [ 7 ] = "minecraft:planks:0", [ 9 ] = "minecraft:planks:0", [ 10 ] = "minecraft:planks:0", [ 11 ] = "minecraft:planks:0", - }, - }, - [ "minecraft:sea_lantern:0" ] = { - count = 1, - ingredients = { - "minecraft:prismarine_shard:0", - "minecraft:prismarine_crystals:0", - "minecraft:prismarine_shard:0", - [ 5 ] = "minecraft:prismarine_crystals:0", - [ 6 ] = "minecraft:prismarine_crystals:0", - [ 7 ] = "minecraft:prismarine_crystals:0", - [ 9 ] = "minecraft:prismarine_shard:0", - [ 10 ] = "minecraft:prismarine_crystals:0", - [ 11 ] = "minecraft:prismarine_shard:0", - }, - }, - [ "minecraft:dye:9" ] = { - count = 2, - ingredients = { - [ 5 ] = "minecraft:dye:1", - [ 6 ] = "minecraft:dye:15", + [ 5 ] = "minecraft:planks:0", + [ 6 ] = "minecraft:redstone:0", }, }, [ "minecraft:spruce_door:0" ] = { @@ -628,18 +555,25 @@ [ 6 ] = "minecraft:planks:1", }, }, + [ "minecraft:dye:9" ] = { + count = 2, + ingredients = { + [ 5 ] = "minecraft:dye:1", + [ 6 ] = "minecraft:dye:15", + }, + }, [ "minecraft:stained_glass:15" ] = { count = 8, ingredients = { "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:0", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:0", }, }, [ "minecraft:stained_hardened_clay:5" ] = { @@ -648,78 +582,66 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", [ 5 ] = "minecraft:hardened_clay:0", [ 6 ] = "minecraft:dye:10", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", }, }, - [ "minecraft:stained_glass:12" ] = { - count = 8, + [ "minecraft:fence:0" ] = { + count = 3, + ingredients = { + "minecraft:planks:0", + "minecraft:stick:0", + "minecraft:planks:0", + [ 6 ] = "minecraft:stick:0", + [ 7 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", + }, + }, + [ "minecraft:dispenser:0" ] = { + count = 1, + ingredients = { + "minecraft:cobblestone:0", + "minecraft:cobblestone:0", + "minecraft:cobblestone:0", + [ 7 ] = "minecraft:cobblestone:0", + [ 9 ] = "minecraft:cobblestone:0", + [ 10 ] = "minecraft:redstone:0", + [ 11 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", + [ 6 ] = "minecraft:bow:0", + }, + }, + [ "minecraft:beacon:0" ] = { + count = 1, ingredients = { "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:3", [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:obsidian:0", + [ 10 ] = "minecraft:obsidian:0", + [ 11 ] = "minecraft:obsidian:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:nether_star:0", }, }, - [ "minecraft:crafting_table:0" ] = { + [ "minecraft:redstone_torch:0" ] = { count = 1, ingredients = { - "minecraft:planks:0", - "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", - [ 6 ] = "minecraft:planks:0", + [ 2 ] = "minecraft:redstone:0", + [ 6 ] = "minecraft:stick:0", }, }, - [ "minecraft:stained_hardened_clay:8" ] = { - count = 8, + [ "minecraft:snow_layer:0" ] = { + count = 6, ingredients = { - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:7", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", - }, - }, - [ "minecraft:oak_stairs:0" ] = { - count = 8, - ingredients = { - "minecraft:planks:0", - [ 9 ] = "minecraft:planks:0", - [ 10 ] = "minecraft:planks:0", - [ 11 ] = "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", - [ 6 ] = "minecraft:planks:0", - }, - }, - [ "minecraft:wool:11" ] = { - count = 1, - ingredients = { - [ 5 ] = "minecraft:wool:0", - [ 6 ] = "minecraft:dye:4", - }, - }, - [ "minecraft:stained_glass_pane:15" ] = { - count = 16, - ingredients = { - "minecraft:stained_glass:15", - "minecraft:stained_glass:15", - "minecraft:stained_glass:15", - [ 5 ] = "minecraft:stained_glass:15", - [ 6 ] = "minecraft:stained_glass:15", - [ 7 ] = "minecraft:stained_glass:15", + [ 6 ] = "minecraft:snow:0", + [ 7 ] = "minecraft:snow:0", + [ 5 ] = "minecraft:snow:0", }, }, [ "minecraft:stained_glass:2" ] = { @@ -728,26 +650,30 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:13", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:13", }, }, - [ "minecraft:lever:0" ] = { + [ "minecraft:mossy_cobblestone:0" ] = { count = 1, ingredients = { - [ 2 ] = "minecraft:stick:0", - [ 6 ] = "minecraft:cobblestone:0", + "minecraft:cobblestone:0", + "minecraft:vine:0", }, }, - [ "minecraft:carpet:13" ] = { - count = 3, + [ "minecraft:stained_glass_pane:14" ] = { + count = 16, ingredients = { - [ 5 ] = "minecraft:wool:13", - [ 6 ] = "minecraft:wool:13", + "minecraft:stained_glass:14", + "minecraft:stained_glass:14", + "minecraft:stained_glass:14", + [ 6 ] = "minecraft:stained_glass:14", + [ 7 ] = "minecraft:stained_glass:14", + [ 5 ] = "minecraft:stained_glass:14", }, }, [ "minecraft:glowstone:0" ] = { @@ -765,12 +691,12 @@ "minecraft:dye:15", "minecraft:dye:15", "minecraft:dye:15", - [ 5 ] = "minecraft:dye:15", - [ 6 ] = "minecraft:dye:15", [ 7 ] = "minecraft:dye:15", [ 9 ] = "minecraft:dye:15", [ 10 ] = "minecraft:dye:15", [ 11 ] = "minecraft:dye:15", + [ 5 ] = "minecraft:dye:15", + [ 6 ] = "minecraft:dye:15", }, }, [ "minecraft:stained_hardened_clay:3" ] = { @@ -779,43 +705,45 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:12", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:12", }, }, - [ "minecraft:nether_brick_fence:0" ] = { - count = 6, + [ "minecraft:spruce_fence:0" ] = { + count = 3, ingredients = { - "minecraft:nether_brick:0", - "minecraft:nether_brick:0", - "minecraft:nether_brick:0", - [ 5 ] = "minecraft:nether_brick:0", - [ 6 ] = "minecraft:nether_brick:0", - [ 7 ] = "minecraft:nether_brick:0", + "minecraft:planks:1", + "minecraft:stick:0", + "minecraft:planks:1", + [ 6 ] = "minecraft:stick:0", + [ 7 ] = "minecraft:planks:1", + [ 5 ] = "minecraft:planks:1", }, }, - [ "minecraft:planks:0" ] = { - count = 4, + [ "minecraft:paper:0" ] = { + count = 3, ingredients = { - [ 6 ] = "minecraft:log:0", + "minecraft:reeds:0", + "minecraft:reeds:0", + "minecraft:reeds:0", }, }, - [ "minecraft:dispenser:0" ] = { - count = 1, + [ "minecraft:stained_glass:3" ] = { + count = 8, ingredients = { - "minecraft:cobblestone:0", - "minecraft:cobblestone:0", - "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", - [ 6 ] = "minecraft:bow:0", - [ 7 ] = "minecraft:cobblestone:0", - [ 9 ] = "minecraft:cobblestone:0", - [ 10 ] = "minecraft:redstone:0", - [ 11 ] = "minecraft:cobblestone:0", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:12", }, }, [ "minecraft:redstone_lamp:0" ] = { @@ -828,11 +756,11 @@ [ 6 ] = "minecraft:glowstone:0", }, }, - [ "minecraft:redstone_torch:0" ] = { + [ "minecraft:heavy_weighted_pressure_plate:0" ] = { count = 1, ingredients = { - [ 2 ] = "minecraft:redstone:0", - [ 6 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:iron_ingot:0", + [ 6 ] = "minecraft:iron_ingot:0", }, }, [ "minecraft:wool:15" ] = { @@ -842,26 +770,40 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:planks:2" ] = { - count = 4, + [ "minecraft:stained_glass:10" ] = { + count = 8, ingredients = { - [ 6 ] = "minecraft:log:2", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:5", }, }, - [ "minecraft:iron_trapdoor:0" ] = { + [ "minecraft:tnt:0" ] = { count = 1, ingredients = { - "minecraft:iron_ingot:0", - "minecraft:iron_ingot:0", - [ 5 ] = "minecraft:iron_ingot:0", - [ 6 ] = "minecraft:iron_ingot:0", + "minecraft:gunpowder:0", + "minecraft:sand:0", + "minecraft:gunpowder:0", + [ 7 ] = "minecraft:sand:0", + [ 9 ] = "minecraft:gunpowder:0", + [ 10 ] = "minecraft:sand:0", + [ 11 ] = "minecraft:gunpowder:0", + [ 5 ] = "minecraft:sand:0", + [ 6 ] = "minecraft:gunpowder:0", }, }, - [ "minecraft:wool:7" ] = { - count = 1, + [ "minecraft:dye:7" ] = { + count = 3, ingredients = { - [ 5 ] = "minecraft:wool:0", - [ 6 ] = "minecraft:dye:8", + "minecraft:dye:15", + "minecraft:dye:15", + [ 5 ] = "minecraft:dye:0", }, }, [ "minecraft:stained_glass:14" ] = { @@ -870,32 +812,32 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:1", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:1", }, }, - [ "minecraft:jungle_fence_gate:0" ] = { + [ "minecraft:banner:0" ] = { count = 1, ingredients = { - "minecraft:stick:0", - "minecraft:planks:3", - "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", - [ 6 ] = "minecraft:planks:3", - [ 7 ] = "minecraft:stick:0", + "minecraft:wool:15", + "minecraft:wool:15", + "minecraft:wool:15", + [ 6 ] = "minecraft:wool:15", + [ 7 ] = "minecraft:wool:15", + [ 5 ] = "minecraft:wool:15", + [ 10 ] = "minecraft:stick:0", }, }, - [ "minecraft:red_sandstone:2" ] = { - count = 4, + [ "minecraft:wooden_slab:5" ] = { + count = 6, ingredients = { - "minecraft:red_sandstone:0", - "minecraft:red_sandstone:0", - [ 5 ] = "minecraft:red_sandstone:0", - [ 6 ] = "minecraft:red_sandstone:0", + [ 6 ] = "minecraft:planks:5", + [ 7 ] = "minecraft:planks:5", + [ 5 ] = "minecraft:planks:5", }, }, [ "minecraft:anvil:0" ] = { @@ -910,19 +852,29 @@ [ 6 ] = "minecraft:iron_ingot:0", }, }, - [ "minecraft:string:0" ] = { - count = 2, + [ "minecraft:stained_glass_pane:4" ] = { + count = 16, ingredients = { - "harvestcraft:cottonItem:0", - "harvestcraft:cottonItem:0", - [ 5 ] = "harvestcraft:cottonItem:0", + "minecraft:stained_glass:4", + "minecraft:stained_glass:4", + "minecraft:stained_glass:4", + [ 6 ] = "minecraft:stained_glass:4", + [ 7 ] = "minecraft:stained_glass:4", + [ 5 ] = "minecraft:stained_glass:4", }, }, - [ "minecraft:carpet:8" ] = { - count = 3, + [ "minecraft:stained_hardened_clay:4" ] = { + count = 8, ingredients = { - [ 5 ] = "minecraft:wool:8", - [ 6 ] = "minecraft:wool:8", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:11", }, }, [ "minecraft:wooden_slab:1" ] = { @@ -933,26 +885,27 @@ [ 5 ] = "minecraft:planks:1", }, }, - [ "minecraft:chest:0" ] = { + [ "minecraft:bookshelf:0" ] = { count = 1, ingredients = { "minecraft:planks:0", "minecraft:planks:0", "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", - [ 7 ] = "minecraft:planks:0", + [ 7 ] = "minecraft:book:0", [ 9 ] = "minecraft:planks:0", [ 10 ] = "minecraft:planks:0", [ 11 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:book:0", + [ 6 ] = "minecraft:book:0", }, }, - [ "minecraft:quartz_block:0" ] = { - count = 1, + [ "minecraft:stonebrick:0" ] = { + count = 4, ingredients = { - "minecraft:quartz:0", - "minecraft:quartz:0", - [ 5 ] = "minecraft:quartz:0", - [ 6 ] = "minecraft:quartz:0", + "minecraft:stone:0", + "minecraft:stone:0", + [ 5 ] = "minecraft:stone:0", + [ 6 ] = "minecraft:stone:0", }, }, [ "minecraft:ladder:0" ] = { @@ -974,29 +927,24 @@ [ 6 ] = "minecraft:tripwire_hook:0", }, }, - [ "minecraft:dark_oak_fence_gate:0" ] = { + [ "minecraft:wool:3" ] = { count = 1, ingredients = { - "minecraft:stick:0", - "minecraft:planks:5", - "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", - [ 6 ] = "minecraft:planks:5", - [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:dye:12", + [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:stained_glass:7" ] = { - count = 8, + [ "minecraft:dropper:0" ] = { + count = 1, ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:8", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", + "minecraft:cobblestone:0", + "minecraft:cobblestone:0", + "minecraft:cobblestone:0", + [ 7 ] = "minecraft:cobblestone:0", + [ 9 ] = "minecraft:cobblestone:0", + [ 10 ] = "minecraft:redstone:0", + [ 11 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", }, }, [ "minecraft:stained_hardened_clay:7" ] = { @@ -1005,12 +953,12 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:8", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:8", }, }, [ "minecraft:stained_hardened_clay:9" ] = { @@ -1019,33 +967,43 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:6", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:6", }, }, - [ "minecraft:wool:14" ] = { - count = 1, + [ "minecraft:stone:3" ] = { + count = 2, ingredients = { - [ 5 ] = "minecraft:wool:0", - [ 6 ] = "minecraft:dye:1", + "minecraft:quartz:0", + "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", + [ 6 ] = "minecraft:quartz:0", }, }, - [ "minecraft:wool:5" ] = { - count = 1, + [ "minecraft:wooden_slab:0" ] = { + count = 6, ingredients = { - [ 5 ] = "minecraft:wool:0", - [ 6 ] = "minecraft:dye:10", + [ 6 ] = "minecraft:planks:0", + [ 7 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", }, }, - [ "minecraft:quartz_block:1" ] = { + [ "minecraft:prismarine:1" ] = { count = 1, ingredients = { - [ 2 ] = "minecraft:stone_slab:7", - [ 6 ] = "minecraft:stone_slab:7", + "minecraft:prismarine_shard:0", + "minecraft:prismarine_shard:0", + "minecraft:prismarine_shard:0", + [ 7 ] = "minecraft:prismarine_shard:0", + [ 9 ] = "minecraft:prismarine_shard:0", + [ 10 ] = "minecraft:prismarine_shard:0", + [ 11 ] = "minecraft:prismarine_shard:0", + [ 5 ] = "minecraft:prismarine_shard:0", + [ 6 ] = "minecraft:prismarine_shard:0", }, }, [ "minecraft:acacia_stairs:0" ] = { @@ -1059,135 +1017,26 @@ [ 6 ] = "minecraft:planks:4", }, }, - [ "minecraft:netherrack:0" ] = { - count = 9, - ingredients = { - [ 6 ] = "extrautils2:compressednetherrack:0", - }, - }, - [ "minecraft:stained_hardened_clay:1" ] = { - count = 8, - ingredients = { - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:14", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", - }, - }, - [ "minecraft:red_sandstone:0" ] = { - count = 1, - ingredients = { - "minecraft:sand:1", - "minecraft:sand:1", - [ 5 ] = "minecraft:sand:1", - [ 6 ] = "minecraft:sand:1", - }, - }, - [ "minecraft:dirt:1" ] = { - count = 4, - ingredients = { - "minecraft:dirt:0", - "minecraft:gravel:0", - [ 5 ] = "minecraft:gravel:0", - [ 6 ] = "minecraft:dirt:0", - }, - }, - [ "minecraft:dropper:0" ] = { - count = 1, - ingredients = { - "minecraft:cobblestone:0", - "minecraft:cobblestone:0", - "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", - [ 7 ] = "minecraft:cobblestone:0", - [ 9 ] = "minecraft:cobblestone:0", - [ 10 ] = "minecraft:redstone:0", - [ 11 ] = "minecraft:cobblestone:0", - }, - }, - [ "minecraft:bow:0" ] = { - count = 1, - ingredients = { - "minecraft:string:0", - "minecraft:stick:0", - [ 9 ] = "minecraft:string:0", - [ 7 ] = "minecraft:stick:0", - [ 5 ] = "minecraft:string:0", - [ 10 ] = "minecraft:stick:0", - }, - }, - [ "minecraft:bed:0" ] = { - count = 1, - ingredients = { - "minecraft:wool:14", - "minecraft:wool:14", - "minecraft:wool:14", - [ 5 ] = "minecraft:planks:0", - [ 6 ] = "minecraft:planks:0", - [ 7 ] = "minecraft:planks:0", - }, - }, - [ "minecraft:jungle_fence:0" ] = { - count = 3, - ingredients = { - "minecraft:planks:3", - "minecraft:stick:0", - "minecraft:planks:3", - [ 5 ] = "minecraft:planks:3", - [ 6 ] = "minecraft:stick:0", - [ 7 ] = "minecraft:planks:3", - }, - }, - [ "minecraft:cauldron:0" ] = { - count = 1, + [ "minecraft:iron_bars:0" ] = { + count = 16, ingredients = { "minecraft:iron_ingot:0", + "minecraft:iron_ingot:0", + "minecraft:iron_ingot:0", + [ 6 ] = "minecraft:iron_ingot:0", [ 7 ] = "minecraft:iron_ingot:0", - [ 9 ] = "minecraft:iron_ingot:0", - [ 10 ] = "minecraft:iron_ingot:0", - [ 11 ] = "minecraft:iron_ingot:0", [ 5 ] = "minecraft:iron_ingot:0", - [ 3 ] = "minecraft:iron_ingot:0", }, }, - [ "minecraft:prismarine:1" ] = { - count = 1, + [ "minecraft:birch_fence:0" ] = { + count = 3, ingredients = { - "minecraft:prismarine_shard:0", - "minecraft:prismarine_shard:0", - "minecraft:prismarine_shard:0", - [ 5 ] = "minecraft:prismarine_shard:0", - [ 6 ] = "minecraft:prismarine_shard:0", - [ 7 ] = "minecraft:prismarine_shard:0", - [ 9 ] = "minecraft:prismarine_shard:0", - [ 10 ] = "minecraft:prismarine_shard:0", - [ 11 ] = "minecraft:prismarine_shard:0", - }, - }, - [ "minecraft:redstone_block:0" ] = { - count = 1, - ingredients = { - "minecraft:redstone:0", - "minecraft:redstone:0", - "minecraft:redstone:0", - [ 5 ] = "minecraft:redstone:0", - [ 6 ] = "minecraft:redstone:0", - [ 7 ] = "minecraft:redstone:0", - [ 9 ] = "minecraft:redstone:0", - [ 10 ] = "minecraft:redstone:0", - [ 11 ] = "minecraft:redstone:0", - }, - }, - [ "minecraft:wool:8" ] = { - count = 1, - ingredients = { - [ 5 ] = "minecraft:wool:0", - [ 6 ] = "minecraft:dye:7", + "minecraft:planks:2", + "minecraft:stick:0", + "minecraft:planks:2", + [ 6 ] = "minecraft:stick:0", + [ 7 ] = "minecraft:planks:2", + [ 5 ] = "minecraft:planks:2", }, }, [ "minecraft:dark_oak_door:0" ] = { @@ -1201,67 +1050,57 @@ [ 9 ] = "minecraft:planks:5", }, }, - [ "minecraft:stained_hardened_clay:15" ] = { - count = 8, - ingredients = { - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:0", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", - }, - }, - [ "minecraft:dye:14" ] = { - count = 2, - ingredients = { - [ 5 ] = "minecraft:dye:1", - [ 6 ] = "minecraft:dye:11", - }, - }, - [ "minecraft:planks:1" ] = { + [ "minecraft:stone:4" ] = { count = 4, ingredients = { - [ 6 ] = "minecraft:log:1", + "minecraft:stone:3", + "minecraft:stone:3", + [ 5 ] = "minecraft:stone:3", + [ 6 ] = "minecraft:stone:3", }, }, - [ "minecraft:iron_bars:0" ] = { + [ "minecraft:chest:0" ] = { + count = 1, + ingredients = { + "minecraft:planks:0", + "minecraft:planks:0", + "minecraft:planks:0", + [ 7 ] = "minecraft:planks:0", + [ 9 ] = "minecraft:planks:0", + [ 10 ] = "minecraft:planks:0", + [ 11 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", + }, + }, + [ "minecraft:bow:0" ] = { + count = 1, + ingredients = { + "minecraft:string:0", + "minecraft:stick:0", + [ 9 ] = "minecraft:string:0", + [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:string:0", + [ 10 ] = "minecraft:stick:0", + }, + }, + [ "minecraft:stained_glass_pane:15" ] = { count = 16, ingredients = { - "minecraft:iron_ingot:0", - "minecraft:iron_ingot:0", - "minecraft:iron_ingot:0", - [ 5 ] = "minecraft:iron_ingot:0", - [ 6 ] = "minecraft:iron_ingot:0", - [ 7 ] = "minecraft:iron_ingot:0", + "minecraft:stained_glass:15", + "minecraft:stained_glass:15", + "minecraft:stained_glass:15", + [ 6 ] = "minecraft:stained_glass:15", + [ 7 ] = "minecraft:stained_glass:15", + [ 5 ] = "minecraft:stained_glass:15", }, }, - [ "minecraft:stained_glass_pane:7" ] = { - count = 16, + [ "minecraft:red_sandstone:2" ] = { + count = 4, ingredients = { - "minecraft:stained_glass:7", - "minecraft:stained_glass:7", - "minecraft:stained_glass:7", - [ 5 ] = "minecraft:stained_glass:7", - [ 6 ] = "minecraft:stained_glass:7", - [ 7 ] = "minecraft:stained_glass:7", - }, - }, - [ "minecraft:carpet:5" ] = { - count = 3, - ingredients = { - [ 5 ] = "minecraft:wool:5", - [ 6 ] = "minecraft:wool:5", - }, - }, - [ "minecraft:carpet:3" ] = { - count = 3, - ingredients = { - [ 5 ] = "minecraft:wool:3", - [ 6 ] = "minecraft:wool:3", + "minecraft:red_sandstone:0", + "minecraft:red_sandstone:0", + [ 5 ] = "minecraft:red_sandstone:0", + [ 6 ] = "minecraft:red_sandstone:0", }, }, [ "minecraft:detector_rail:0" ] = { @@ -1277,15 +1116,85 @@ [ 3 ] = "minecraft:iron_ingot:0", }, }, - [ "minecraft:stained_glass_pane:9" ] = { - count = 16, + [ "minecraft:birch_stairs:0" ] = { + count = 8, 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:planks:2", + [ 9 ] = "minecraft:planks:2", + [ 10 ] = "minecraft:planks:2", + [ 11 ] = "minecraft:planks:2", + [ 5 ] = "minecraft:planks:2", + [ 6 ] = "minecraft:planks:2", + }, + }, + [ "minecraft:redstone_block:0" ] = { + count = 1, + ingredients = { + "minecraft:redstone:0", + "minecraft:redstone:0", + "minecraft:redstone:0", + [ 7 ] = "minecraft:redstone:0", + [ 9 ] = "minecraft:redstone:0", + [ 10 ] = "minecraft:redstone:0", + [ 11 ] = "minecraft:redstone:0", + [ 5 ] = "minecraft:redstone:0", + [ 6 ] = "minecraft:redstone:0", + }, + }, + [ "minecraft:wool:8" ] = { + count = 1, + ingredients = { + [ 5 ] = "minecraft:wool:0", + [ 6 ] = "minecraft:dye:7", + }, + }, + [ "minecraft:coal_block:0" ] = { + count = 1, + ingredients = { + "minecraft:coal:0", + "minecraft:coal:0", + "minecraft:coal:0", + [ 7 ] = "minecraft:coal:0", + [ 9 ] = "minecraft:coal:0", + [ 10 ] = "minecraft:coal:0", + [ 11 ] = "minecraft:coal:0", + [ 5 ] = "minecraft:coal:0", + [ 6 ] = "minecraft:coal:0", + }, + }, + [ "minecraft:stained_hardened_clay:15" ] = { + count = 8, + ingredients = { + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:0", + }, + }, + [ "minecraft:dye:14" ] = { + count = 2, + ingredients = { + [ 5 ] = "minecraft:dye:1", + [ 6 ] = "minecraft:dye:11", + }, + }, + [ "minecraft:dye:8" ] = { + count = 2, + ingredients = { + [ 5 ] = "minecraft:dye:15", + [ 6 ] = "minecraft:dye:0", + }, + }, + [ "minecraft:ender_eye:0" ] = { + count = 1, + ingredients = { + [ 5 ] = "minecraft:blaze_powder:0", + [ 6 ] = "minecraft:ender_pearl:0", }, }, [ "minecraft:end_bricks:0" ] = { @@ -1297,21 +1206,77 @@ [ 6 ] = "minecraft:end_stone:0", }, }, - [ "minecraft:stone_button:0" ] = { - count = 1, + [ "minecraft:carpet:5" ] = { + count = 3, ingredients = { - [ 6 ] = "minecraft:stone:0", + [ 5 ] = "minecraft:wool:5", + [ 6 ] = "minecraft:wool:5", }, }, - [ "minecraft:stained_glass_pane:12" ] = { + [ "minecraft:jungle_fence:0" ] = { + count = 3, + ingredients = { + "minecraft:planks:3", + "minecraft:stick:0", + "minecraft:planks:3", + [ 6 ] = "minecraft:stick:0", + [ 7 ] = "minecraft:planks:3", + [ 5 ] = "minecraft:planks:3", + }, + }, + [ "minecraft:stone_slab:1" ] = { + count = 6, + ingredients = { + [ 6 ] = "minecraft:sandstone:0", + [ 7 ] = "minecraft:sandstone:0", + [ 5 ] = "minecraft:sandstone:0", + }, + }, + [ "minecraft:stained_glass_pane:9" ] = { count = 16, ingredients = { - "minecraft:stained_glass:12", - "minecraft:stained_glass:12", - "minecraft:stained_glass:12", - [ 5 ] = "minecraft:stained_glass:12", - [ 6 ] = "minecraft:stained_glass:12", - [ 7 ] = "minecraft:stained_glass:12", + "minecraft:stained_glass:9", + "minecraft:stained_glass:9", + "minecraft:stained_glass:9", + [ 6 ] = "minecraft:stained_glass:9", + [ 7 ] = "minecraft:stained_glass:9", + [ 5 ] = "minecraft:stained_glass:9", + }, + }, + [ "minecraft:stained_glass_pane:7" ] = { + count = 16, + ingredients = { + "minecraft:stained_glass:7", + "minecraft:stained_glass:7", + "minecraft:stained_glass:7", + [ 6 ] = "minecraft:stained_glass:7", + [ 7 ] = "minecraft:stained_glass:7", + [ 5 ] = "minecraft:stained_glass:7", + }, + }, + [ "minecraft:spruce_fence_gate:0" ] = { + count = 1, + ingredients = { + "minecraft:stick:0", + "minecraft:planks:1", + "minecraft:stick:0", + [ 6 ] = "minecraft:planks:1", + [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", + }, + }, + [ "minecraft:stained_glass:7" ] = { + count = 8, + ingredients = { + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:8", }, }, [ "minecraft:stained_glass_pane:10" ] = { @@ -1320,35 +1285,9 @@ "minecraft:stained_glass:10", "minecraft:stained_glass:10", "minecraft:stained_glass:10", - [ 5 ] = "minecraft:stained_glass:10", [ 6 ] = "minecraft:stained_glass:10", [ 7 ] = "minecraft:stained_glass:10", - }, - }, - [ "extrautils2:compressednetherrack:1" ] = { - count = 9, - ingredients = { - [ 6 ] = "extrautils2:compressednetherrack:2", - }, - }, - [ "minecraft:stained_glass:8" ] = { - count = 8, - ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:7", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", - }, - }, - [ "minecraft:planks:5" ] = { - count = 4, - ingredients = { - [ 6 ] = "minecraft:log2:1", + [ 5 ] = "minecraft:stained_glass:10", }, }, [ "minecraft:wool:10" ] = { @@ -1358,39 +1297,45 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:stained_glass:5" ] = { - count = 8, + [ "minecraft:dye:6" ] = { + count = 2, ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:10", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:dye:2", + [ 6 ] = "minecraft:dye:4", }, }, - [ "minecraft:iron_block:0" ] = { - count = 1, - ingredients = { - "minecraft:iron_ingot:0", - "minecraft:iron_ingot:0", - "minecraft:iron_ingot:0", - [ 5 ] = "minecraft:iron_ingot:0", - [ 6 ] = "minecraft:iron_ingot:0", - [ 7 ] = "minecraft:iron_ingot:0", - [ 9 ] = "minecraft:iron_ingot:0", - [ 10 ] = "minecraft:iron_ingot:0", - [ 11 ] = "minecraft:iron_ingot:0", - }, - }, - [ "minecraft:torch:0" ] = { + [ "minecraft:planks:5" ] = { count = 4, ingredients = { - [ 2 ] = "minecraft:coal:1", - [ 6 ] = "minecraft:stick:0", + [ 6 ] = "minecraft:log2:1", + }, + }, + [ "minecraft:stone_button:0" ] = { + count = 1, + ingredients = { + [ 6 ] = "minecraft:stone:0", + }, + }, + [ "minecraft:sugar:0" ] = { + count = 1, + ingredients = { + [ 6 ] = "minecraft:reeds:0", + }, + }, + [ "minecraft:stone_slab:5" ] = { + count = 6, + ingredients = { + [ 6 ] = "minecraft:stonebrick:0", + [ 7 ] = "minecraft:stonebrick:0", + [ 5 ] = "minecraft:stonebrick:0", + }, + }, + [ "minecraft:stone_slab:3" ] = { + count = 6, + ingredients = { + [ 6 ] = "minecraft:cobblestone:0", + [ 7 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:cobblestone:0", }, }, [ "minecraft:stone_slab:6" ] = { @@ -1418,10 +1363,18 @@ [ 5 ] = "minecraft:dye:9", }, }, - [ "minecraft:sugar:0" ] = { - count = 1, + [ "minecraft:stained_glass:5" ] = { + count = 8, ingredients = { - [ 6 ] = "minecraft:reeds:0", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:10", }, }, [ "minecraft:carpet:6" ] = { @@ -1437,20 +1390,26 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:9", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:9", }, }, - [ "minecraft:stone_slab:5" ] = { - count = 6, + [ "minecraft:stained_glass:13" ] = { + count = 8, ingredients = { - [ 6 ] = "minecraft:stonebrick:0", - [ 7 ] = "minecraft:stonebrick:0", - [ 5 ] = "minecraft:stonebrick:0", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:2", }, }, [ "minecraft:sandstone:0" ] = { @@ -1462,18 +1421,18 @@ [ 6 ] = "minecraft:sand:0", }, }, - [ "minecraft:stained_hardened_clay:12" ] = { - count = 8, + [ "minecraft:gold_block:0" ] = { + count = 1, ingredients = { - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:3", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", + "minecraft:gold_ingot:0", + "minecraft:gold_ingot:0", + "minecraft:gold_ingot:0", + [ 7 ] = "minecraft:gold_ingot:0", + [ 9 ] = "minecraft:gold_ingot:0", + [ 10 ] = "minecraft:gold_ingot:0", + [ 11 ] = "minecraft:gold_ingot:0", + [ 5 ] = "minecraft:gold_ingot:0", + [ 6 ] = "minecraft:gold_ingot:0", }, }, [ "minecraft:stained_glass:0" ] = { @@ -1482,12 +1441,23 @@ "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:15", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:15", + }, + }, + [ "minecraft:stained_glass_pane:8" ] = { + count = 16, + ingredients = { + "minecraft:stained_glass:8", + "minecraft:stained_glass:8", + "minecraft:stained_glass:8", + [ 6 ] = "minecraft:stained_glass:8", + [ 7 ] = "minecraft:stained_glass:8", + [ 5 ] = "minecraft:stained_glass:8", }, }, [ "minecraft:wool:9" ] = { @@ -1497,20 +1467,6 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:stained_glass:11" ] = { - count = 8, - ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:4", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:glass:0", - [ 10 ] = "minecraft:glass:0", - [ 11 ] = "minecraft:glass:0", - }, - }, [ "minecraft:carpet:11" ] = { count = 3, ingredients = { @@ -1518,11 +1474,18 @@ [ 6 ] = "minecraft:wool:11", }, }, - [ "minecraft:end_rod:0" ] = { - count = 4, + [ "minecraft:stained_glass:11" ] = { + count = 8, ingredients = { - [ 2 ] = "minecraft:blaze_rod:0", - [ 6 ] = "minecraft:chorus_fruit_popped:0", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:4", }, }, [ "minecraft:carpet:7" ] = { @@ -1539,27 +1502,22 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:brick_block:0" ] = { - count = 1, + [ "minecraft:end_rod:0" ] = { + count = 4, ingredients = { - "minecraft:brick:0", - "minecraft:brick:0", - [ 5 ] = "minecraft:brick:0", - [ 6 ] = "minecraft:brick:0", + [ 2 ] = "minecraft:blaze_rod:0", + [ 6 ] = "minecraft:chorus_fruit_popped:0", }, }, - [ "minecraft:ender_chest:0" ] = { - count = 1, + [ "minecraft:sandstone_stairs:0" ] = { + count = 8, ingredients = { - "minecraft:obsidian:0", - "minecraft:obsidian:0", - "minecraft:obsidian:0", - [ 5 ] = "minecraft:obsidian:0", - [ 6 ] = "minecraft:ender_eye:0", - [ 7 ] = "minecraft:obsidian:0", - [ 9 ] = "minecraft:obsidian:0", - [ 10 ] = "minecraft:obsidian:0", - [ 11 ] = "minecraft:obsidian:0", + "minecraft:sandstone:0", + [ 9 ] = "minecraft:sandstone:0", + [ 10 ] = "minecraft:sandstone:0", + [ 11 ] = "minecraft:sandstone:0", + [ 5 ] = "minecraft:sandstone:0", + [ 6 ] = "minecraft:sandstone:0", }, }, [ "minecraft:stained_hardened_clay:11" ] = { @@ -1568,12 +1526,12 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:4", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:4", }, }, [ "minecraft:stone_stairs:0" ] = { @@ -1593,37 +1551,42 @@ "minecraft:stained_glass:2", "minecraft:stained_glass:2", "minecraft:stained_glass:2", - [ 5 ] = "minecraft:stained_glass:2", [ 6 ] = "minecraft:stained_glass:2", [ 7 ] = "minecraft:stained_glass:2", + [ 5 ] = "minecraft:stained_glass:2", }, }, [ "minecraft:hopper:0" ] = { count = 1, ingredients = { "minecraft:iron_ingot:0", + [ 7 ] = "minecraft:iron_ingot:0", [ 3 ] = "minecraft:iron_ingot:0", [ 5 ] = "minecraft:iron_ingot:0", [ 6 ] = "minecraft:chest:0", - [ 7 ] = "minecraft:iron_ingot:0", [ 10 ] = "minecraft:iron_ingot:0", }, }, + [ "minecraft:nether_brick_stairs:0" ] = { + count = 8, + ingredients = { + "minecraft:nether_brick:0", + [ 9 ] = "minecraft:nether_brick:0", + [ 10 ] = "minecraft:nether_brick:0", + [ 11 ] = "minecraft:nether_brick:0", + [ 5 ] = "minecraft:nether_brick:0", + [ 6 ] = "minecraft:nether_brick:0", + }, + }, [ "minecraft:stained_glass_pane:13" ] = { count = 16, ingredients = { "minecraft:stained_glass:13", "minecraft:stained_glass:13", "minecraft:stained_glass:13", - [ 5 ] = "minecraft:stained_glass:13", [ 6 ] = "minecraft:stained_glass:13", [ 7 ] = "minecraft:stained_glass:13", - }, - }, - [ "extrautils2:compressednetherrack:2" ] = { - count = 9, - ingredients = { - [ 6 ] = "extrautils2:compressednetherrack:3", + [ 5 ] = "minecraft:stained_glass:13", }, }, [ "minecraft:wool:12" ] = { @@ -1644,26 +1607,27 @@ [ 6 ] = "minecraft:planks:2", }, }, - [ "minecraft:nether_brick_stairs:0" ] = { - count = 8, + [ "minecraft:ender_chest:0" ] = { + count = 1, ingredients = { - "minecraft:nether_brick:0", - [ 9 ] = "minecraft:nether_brick:0", - [ 10 ] = "minecraft:nether_brick:0", - [ 11 ] = "minecraft:nether_brick:0", - [ 5 ] = "minecraft:nether_brick:0", - [ 6 ] = "minecraft:nether_brick:0", + "minecraft:obsidian:0", + "minecraft:obsidian:0", + "minecraft:obsidian:0", + [ 7 ] = "minecraft:obsidian:0", + [ 9 ] = "minecraft:obsidian:0", + [ 10 ] = "minecraft:obsidian:0", + [ 11 ] = "minecraft:obsidian:0", + [ 5 ] = "minecraft:obsidian:0", + [ 6 ] = "minecraft:ender_eye:0", }, }, - [ "minecraft:sandstone_stairs:0" ] = { - count = 8, + [ "minecraft:brick_block:0" ] = { + count = 1, ingredients = { - "minecraft:sandstone:0", - [ 9 ] = "minecraft:sandstone:0", - [ 10 ] = "minecraft:sandstone:0", - [ 11 ] = "minecraft:sandstone:0", - [ 5 ] = "minecraft:sandstone:0", - [ 6 ] = "minecraft:sandstone:0", + "minecraft:brick:0", + "minecraft:brick:0", + [ 5 ] = "minecraft:brick:0", + [ 6 ] = "minecraft:brick:0", }, }, [ "minecraft:prismarine:0" ] = { @@ -1682,51 +1646,53 @@ "minecraft:cobblestone:0", }, }, - [ "minecraft:stained_glass_pane:8" ] = { - count = 16, + [ "minecraft:torch:0" ] = { + count = 4, ingredients = { - "minecraft:stained_glass:8", - "minecraft:stained_glass:8", - "minecraft:stained_glass:8", - [ 5 ] = "minecraft:stained_glass:8", - [ 6 ] = "minecraft:stained_glass:8", - [ 7 ] = "minecraft:stained_glass:8", + [ 2 ] = "minecraft:coal:1", + [ 6 ] = "minecraft:stick:0", }, }, - [ "minecraft:gold_block:0" ] = { + [ "minecraft:iron_block:0" ] = { count = 1, ingredients = { - "minecraft:gold_ingot:0", - "minecraft:gold_ingot:0", - "minecraft:gold_ingot:0", - [ 5 ] = "minecraft:gold_ingot:0", - [ 6 ] = "minecraft:gold_ingot:0", - [ 7 ] = "minecraft:gold_ingot:0", - [ 9 ] = "minecraft:gold_ingot:0", - [ 10 ] = "minecraft:gold_ingot:0", - [ 11 ] = "minecraft:gold_ingot:0", + "minecraft:iron_ingot:0", + "minecraft:iron_ingot:0", + "minecraft:iron_ingot:0", + [ 7 ] = "minecraft:iron_ingot:0", + [ 9 ] = "minecraft:iron_ingot:0", + [ 10 ] = "minecraft:iron_ingot:0", + [ 11 ] = "minecraft:iron_ingot:0", + [ 5 ] = "minecraft:iron_ingot:0", + [ 6 ] = "minecraft:iron_ingot:0", }, }, - [ "minecraft:stained_glass:13" ] = { + [ "minecraft:stained_hardened_clay:12" ] = { + count = 8, + ingredients = { + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:3", + }, + }, + [ "minecraft:stained_glass:8" ] = { count = 8, ingredients = { "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:2", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", - }, - }, - [ "minecraft:stone_slab:3" ] = { - count = 6, - ingredients = { - [ 6 ] = "minecraft:cobblestone:0", - [ 7 ] = "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:7", }, }, [ "minecraft:stained_hardened_clay:0" ] = { @@ -1735,12 +1701,12 @@ "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:15", [ 7 ] = "minecraft:hardened_clay:0", [ 9 ] = "minecraft:hardened_clay:0", [ 10 ] = "minecraft:hardened_clay:0", [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:15", }, }, [ "minecraft:wooden_slab:4" ] = { @@ -1751,11 +1717,11 @@ [ 5 ] = "minecraft:planks:4", }, }, - [ "minecraft:dye:6" ] = { - count = 2, + [ "minecraft:carpet:3" ] = { + count = 3, ingredients = { - [ 5 ] = "minecraft:dye:2", - [ 6 ] = "minecraft:dye:4", + [ 5 ] = "minecraft:wool:3", + [ 6 ] = "minecraft:wool:3", }, }, [ "minecraft:carpet:14" ] = { @@ -1765,23 +1731,21 @@ "minecraft:wool:14", }, }, - [ "minecraft:spruce_fence_gate:0" ] = { - count = 1, + [ "minecraft:stained_glass_pane:12" ] = { + count = 16, ingredients = { - "minecraft:stick:0", - "minecraft:planks:1", - "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", - [ 6 ] = "minecraft:planks:1", - [ 7 ] = "minecraft:stick:0", + "minecraft:stained_glass:12", + "minecraft:stained_glass:12", + "minecraft:stained_glass:12", + [ 6 ] = "minecraft:stained_glass:12", + [ 7 ] = "minecraft:stained_glass:12", + [ 5 ] = "minecraft:stained_glass:12", }, }, - [ "minecraft:stone_slab:1" ] = { - count = 6, + [ "minecraft:planks:1" ] = { + count = 4, ingredients = { - [ 6 ] = "minecraft:sandstone:0", - [ 7 ] = "minecraft:sandstone:0", - [ 5 ] = "minecraft:sandstone:0", + [ 6 ] = "minecraft:log:1", }, }, [ "minecraft:spruce_stairs:0" ] = { @@ -1806,11 +1770,16 @@ [ 6 ] = "minecraft:quartz_block:0", }, }, - [ "minecraft:ender_eye:0" ] = { + [ "minecraft:cauldron:0" ] = { count = 1, ingredients = { - [ 5 ] = "minecraft:blaze_powder:0", - [ 6 ] = "minecraft:ender_pearl:0", + "minecraft:iron_ingot:0", + [ 7 ] = "minecraft:iron_ingot:0", + [ 9 ] = "minecraft:iron_ingot:0", + [ 10 ] = "minecraft:iron_ingot:0", + [ 11 ] = "minecraft:iron_ingot:0", + [ 5 ] = "minecraft:iron_ingot:0", + [ 3 ] = "minecraft:iron_ingot:0", }, }, [ "minecraft:fence_gate:0" ] = { @@ -1819,29 +1788,32 @@ "minecraft:stick:0", "minecraft:planks:0", "minecraft:stick:0", - [ 5 ] = "minecraft:stick:0", [ 6 ] = "minecraft:planks:0", [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", }, }, - [ "extrautils2:compressednetherrack:0" ] = { - count = 9, - ingredients = { - [ 6 ] = "extrautils2:compressednetherrack:1", - }, - }, - [ "minecraft:coal_block:0" ] = { + [ "minecraft:hay_block:0" ] = { count = 1, ingredients = { - "minecraft:coal:0", - "minecraft:coal:0", - "minecraft:coal:0", - [ 5 ] = "minecraft:coal:0", - [ 6 ] = "minecraft:coal:0", - [ 7 ] = "minecraft:coal:0", - [ 9 ] = "minecraft:coal:0", - [ 10 ] = "minecraft:coal:0", - [ 11 ] = "minecraft:coal:0", + "minecraft:wheat:0", + "minecraft:wheat:0", + "minecraft:wheat:0", + [ 7 ] = "minecraft:wheat:0", + [ 9 ] = "minecraft:wheat:0", + [ 10 ] = "minecraft:wheat:0", + [ 11 ] = "minecraft:wheat:0", + [ 5 ] = "minecraft:wheat:0", + [ 6 ] = "minecraft:wheat:0", + }, + }, + [ "minecraft:red_sandstone:0" ] = { + count = 1, + ingredients = { + "minecraft:sand:1", + "minecraft:sand:1", + [ 5 ] = "minecraft:sand:1", + [ 6 ] = "minecraft:sand:1", }, }, [ "minecraft:enchanting_table:0" ] = { @@ -1862,12 +1834,12 @@ "minecraft:dye:4", "minecraft:dye:4", "minecraft:dye:4", - [ 5 ] = "minecraft:dye:4", - [ 6 ] = "minecraft:dye:4", [ 7 ] = "minecraft:dye:4", [ 9 ] = "minecraft:dye:4", [ 10 ] = "minecraft:dye:4", [ 11 ] = "minecraft:dye:4", + [ 5 ] = "minecraft:dye:4", + [ 6 ] = "minecraft:dye:4", }, }, [ "minecraft:quartz_block:2" ] = { @@ -1877,13 +1849,11 @@ [ 6 ] = "minecraft:quartz_block:0", }, }, - [ "minecraft:stone:4" ] = { - count = 4, + [ "minecraft:wool:5" ] = { + count = 1, ingredients = { - "minecraft:stone:3", - "minecraft:stone:3", - [ 5 ] = "minecraft:stone:3", - [ 6 ] = "minecraft:stone:3", + [ 5 ] = "minecraft:wool:0", + [ 6 ] = "minecraft:dye:10", }, }, [ "minecraft:dye:12" ] = { @@ -1893,15 +1863,15 @@ [ 6 ] = "minecraft:dye:15", }, }, - [ "minecraft:birch_fence:0" ] = { - count = 3, + [ "minecraft:dark_oak_fence_gate:0" ] = { + count = 1, ingredients = { - "minecraft:planks:2", "minecraft:stick:0", - "minecraft:planks:2", - [ 5 ] = "minecraft:planks:2", - [ 6 ] = "minecraft:stick:0", - [ 7 ] = "minecraft:planks:2", + "minecraft:planks:5", + "minecraft:stick:0", + [ 6 ] = "minecraft:planks:5", + [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", }, }, [ "minecraft:dark_oak_stairs:0" ] = { @@ -1923,42 +1893,54 @@ [ 5 ] = "minecraft:stone:0", }, }, - [ "minecraft:wooden_slab:0" ] = { - count = 6, + [ "minecraft:glass_pane:0" ] = { + count = 16, ingredients = { + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 6 ] = "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + }, + }, + [ "minecraft:bed:0" ] = { + count = 1, + ingredients = { + "minecraft:wool:14", + "minecraft:wool:14", + "minecraft:wool:14", [ 6 ] = "minecraft:planks:0", [ 7 ] = "minecraft:planks:0", [ 5 ] = "minecraft:planks:0", }, }, - [ "minecraft:stone:3" ] = { - count = 2, - ingredients = { - "minecraft:quartz:0", - "minecraft:cobblestone:0", - [ 5 ] = "minecraft:cobblestone:0", - [ 6 ] = "minecraft:quartz:0", - }, - }, [ "minecraft:stained_glass:4" ] = { count = 8, ingredients = { "minecraft:glass:0", "minecraft:glass:0", "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:dye:11", [ 7 ] = "minecraft:glass:0", [ 9 ] = "minecraft:glass:0", [ 10 ] = "minecraft:glass:0", [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:11", }, }, - [ "minecraft:wool:3" ] = { + [ "minecraft:prismarine:2" ] = { count = 1, ingredients = { - [ 5 ] = "minecraft:dye:12", - [ 6 ] = "minecraft:wool:0", + "minecraft:prismarine_shard:0", + "minecraft:prismarine_shard:0", + "minecraft:prismarine_shard:0", + [ 7 ] = "minecraft:prismarine_shard:0", + [ 9 ] = "minecraft:prismarine_shard:0", + [ 10 ] = "minecraft:prismarine_shard:0", + [ 11 ] = "minecraft:prismarine_shard:0", + [ 5 ] = "minecraft:prismarine_shard:0", + [ 6 ] = "minecraft:dye:0", }, }, [ "minecraft:carpet:15" ] = { @@ -1968,51 +1950,40 @@ [ 6 ] = "minecraft:wool:15", }, }, - [ "minecraft:bookshelf:0" ] = { + [ "minecraft:wool:7" ] = { count = 1, ingredients = { - "minecraft:planks:0", - "minecraft:planks:0", - "minecraft:planks:0", - [ 5 ] = "minecraft:book:0", - [ 6 ] = "minecraft:book:0", - [ 7 ] = "minecraft:book:0", - [ 9 ] = "minecraft:planks:0", - [ 10 ] = "minecraft:planks:0", - [ 11 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:wool:0", + [ 6 ] = "minecraft:dye:8", }, }, - [ "minecraft:stained_hardened_clay:4" ] = { + [ "minecraft:iron_trapdoor:0" ] = { + count = 1, + ingredients = { + "minecraft:iron_ingot:0", + "minecraft:iron_ingot:0", + [ 5 ] = "minecraft:iron_ingot:0", + [ 6 ] = "minecraft:iron_ingot:0", + }, + }, + [ "minecraft:planks:2" ] = { + count = 4, + ingredients = { + [ 6 ] = "minecraft:log:2", + }, + }, + [ "minecraft:stained_glass:12" ] = { count = 8, ingredients = { - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - "minecraft:hardened_clay:0", - [ 5 ] = "minecraft:hardened_clay:0", - [ 6 ] = "minecraft:dye:11", - [ 7 ] = "minecraft:hardened_clay:0", - [ 9 ] = "minecraft:hardened_clay:0", - [ 10 ] = "minecraft:hardened_clay:0", - [ 11 ] = "minecraft:hardened_clay:0", - }, - }, - [ "minecraft:stained_glass_pane:4" ] = { - count = 16, - ingredients = { - "minecraft:stained_glass:4", - "minecraft:stained_glass:4", - "minecraft:stained_glass:4", - [ 5 ] = "minecraft:stained_glass:4", - [ 6 ] = "minecraft:stained_glass:4", - [ 7 ] = "minecraft:stained_glass:4", - }, - }, - [ "minecraft:wooden_slab:5" ] = { - count = 6, - ingredients = { - [ 6 ] = "minecraft:planks:5", - [ 7 ] = "minecraft:planks:5", - [ 5 ] = "minecraft:planks:5", + "minecraft:glass:0", + "minecraft:glass:0", + "minecraft:glass:0", + [ 7 ] = "minecraft:glass:0", + [ 9 ] = "minecraft:glass:0", + [ 10 ] = "minecraft:glass:0", + [ 11 ] = "minecraft:glass:0", + [ 5 ] = "minecraft:glass:0", + [ 6 ] = "minecraft:dye:3", }, }, [ "minecraft:stained_glass_pane:5" ] = { @@ -2021,31 +1992,23 @@ "minecraft:stained_glass:5", "minecraft:stained_glass:5", "minecraft:stained_glass:5", - [ 5 ] = "minecraft:stained_glass:5", [ 6 ] = "minecraft:stained_glass:5", [ 7 ] = "minecraft:stained_glass:5", + [ 5 ] = "minecraft:stained_glass:5", }, }, - [ "minecraft:dye:7" ] = { - count = 3, - ingredients = { - "minecraft:dye:15", - "minecraft:dye:15", - [ 5 ] = "minecraft:dye:0", - }, - }, - [ "minecraft:tnt:0" ] = { + [ "minecraft:wool:14" ] = { count = 1, ingredients = { - "minecraft:gunpowder:0", - "minecraft:sand:0", - "minecraft:gunpowder:0", - [ 5 ] = "minecraft:sand:0", - [ 6 ] = "minecraft:gunpowder:0", - [ 7 ] = "minecraft:sand:0", - [ 9 ] = "minecraft:gunpowder:0", - [ 10 ] = "minecraft:sand:0", - [ 11 ] = "minecraft:gunpowder:0", + [ 5 ] = "minecraft:wool:0", + [ 6 ] = "minecraft:dye:1", + }, + }, + [ "minecraft:lever:0" ] = { + count = 1, + ingredients = { + [ 2 ] = "minecraft:stick:0", + [ 6 ] = "minecraft:cobblestone:0", }, }, [ "minecraft:nether_brick:0" ] = { @@ -2057,49 +2020,61 @@ [ 6 ] = "minecraft:netherbrick:0", }, }, - [ "minecraft:paper:0" ] = { - count = 3, - ingredients = { - "minecraft:reeds:0", - "minecraft:reeds:0", - "minecraft:reeds:0", - }, - }, - [ "minecraft:spruce_fence:0" ] = { - count = 3, - ingredients = { - "minecraft:planks:1", - "minecraft:stick:0", - "minecraft:planks:1", - [ 5 ] = "minecraft:planks:1", - [ 6 ] = "minecraft:stick:0", - [ 7 ] = "minecraft:planks:1", - }, - }, - [ "minecraft:stained_glass_pane:14" ] = { - count = 16, - ingredients = { - "minecraft:stained_glass:14", - "minecraft:stained_glass:14", - "minecraft:stained_glass:14", - [ 5 ] = "minecraft:stained_glass:14", - [ 6 ] = "minecraft:stained_glass:14", - [ 7 ] = "minecraft:stained_glass:14", - }, - }, - [ "minecraft:mossy_cobblestone:0" ] = { + [ "minecraft:acacia_fence_gate:0" ] = { count = 1, ingredients = { - "minecraft:cobblestone:0", - "minecraft:vine:0", + "minecraft:stick:0", + "minecraft:planks:4", + "minecraft:stick:0", + [ 6 ] = "minecraft:planks:4", + [ 7 ] = "minecraft:stick:0", + [ 5 ] = "minecraft:stick:0", }, }, - [ "minecraft:snow_layer:0" ] = { - count = 6, + [ "minecraft:stained_hardened_clay:8" ] = { + count = 8, ingredients = { - [ 6 ] = "minecraft:snow:0", - [ 7 ] = "minecraft:snow:0", - [ 5 ] = "minecraft:snow:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + "minecraft:hardened_clay:0", + [ 7 ] = "minecraft:hardened_clay:0", + [ 9 ] = "minecraft:hardened_clay:0", + [ 10 ] = "minecraft:hardened_clay:0", + [ 11 ] = "minecraft:hardened_clay:0", + [ 5 ] = "minecraft:hardened_clay:0", + [ 6 ] = "minecraft:dye:7", + }, + }, + [ "minecraft:carpet:13" ] = { + count = 3, + ingredients = { + [ 5 ] = "minecraft:wool:13", + [ 6 ] = "minecraft:wool:13", + }, + }, + [ "minecraft:sea_lantern:0" ] = { + count = 1, + ingredients = { + "minecraft:prismarine_shard:0", + "minecraft:prismarine_crystals:0", + "minecraft:prismarine_shard:0", + [ 7 ] = "minecraft:prismarine_crystals: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", + }, + }, + [ "minecraft:oak_stairs:0" ] = { + count = 8, + ingredients = { + "minecraft:planks:0", + [ 9 ] = "minecraft:planks:0", + [ 10 ] = "minecraft:planks:0", + [ 11 ] = "minecraft:planks:0", + [ 5 ] = "minecraft:planks:0", + [ 6 ] = "minecraft:planks:0", }, }, [ "minecraft:wool:1" ] = { @@ -2109,18 +2084,10 @@ [ 6 ] = "minecraft:wool:0", }, }, - [ "minecraft:beacon:0" ] = { - count = 1, + [ "minecraft:planks:3" ] = { + count = 4, ingredients = { - "minecraft:glass:0", - "minecraft:glass:0", - "minecraft:glass:0", - [ 5 ] = "minecraft:glass:0", - [ 6 ] = "minecraft:nether_star:0", - [ 7 ] = "minecraft:glass:0", - [ 9 ] = "minecraft:obsidian:0", - [ 10 ] = "minecraft:obsidian:0", - [ 11 ] = "minecraft:obsidian:0", + [ 6 ] = "minecraft:log:3", }, }, [ "minecraft:sandstone:2" ] = { @@ -2132,15 +2099,10 @@ [ 6 ] = "minecraft:sandstone:0", }, }, - [ "minecraft:fence:0" ] = { - count = 3, + [ "minecraft:planks:0" ] = { + count = 4, ingredients = { - "minecraft:planks:0", - "minecraft:stick:0", - "minecraft:planks:0", - [ 5 ] = "minecraft:planks:0", - [ 6 ] = "minecraft:stick:0", - [ 7 ] = "minecraft:planks:0", + [ 6 ] = "minecraft:log:0", }, }, } \ No newline at end of file diff --git a/sys/extensions/tl3.lua b/sys/extensions/tl3.lua index 1b72525..3b01783 100644 --- a/sys/extensions/tl3.lua +++ b/sys/extensions/tl3.lua @@ -430,18 +430,17 @@ function turtle.setHeading(heading) end if heading - turtle.point.heading == 3 then turtle.native.turnLeft() - turtle.point.heading = turtle.point.heading - 1 + turtle.point.heading = (turtle.point.heading - 1) % 4 + state.moveCallback('turn', turtle.point) else local turns = heading - turtle.point.heading while turns > 0 do turns = turns - 1 - turtle.point.heading = turtle.point.heading + 1 turtle.native.turnRight() + turtle.point.heading = (turtle.point.heading + 1) % 4 + state.moveCallback('turn', turtle.point) end end - - turtle.point.heading = turtle.point.heading % 4 - state.moveCallback('turn', turtle.point) end return turtle.point diff --git a/sys/services/gpshost.lua b/sys/services/gpshost.lua index 47020ce..119cbd4 100644 --- a/sys/services/gpshost.lua +++ b/sys/services/gpshost.lua @@ -6,7 +6,7 @@ if device.wireless_modem then local config = { } Config.load('gps', config) - if config.host then + if config.host and type(config.host) == 'table' then multishell.setTitle(multishell.getCurrent(), 'GPS Daemon')