commit ee733ef6173a9ed79aeffedfb23ebbf9758f3f15 Author: NathanSalapat Date: Sun Oct 30 19:59:51 2016 -0500 first commit diff --git a/blends/drinks.blend b/blends/drinks.blend new file mode 100644 index 0000000..ca05a06 Binary files /dev/null and b/blends/drinks.blend differ diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..9bc9819 --- /dev/null +++ b/depends.txt @@ -0,0 +1,5 @@ +bucket +default +vessels +hunger? +thirsty? diff --git a/drink_machines.lua b/drink_machines.lua new file mode 100644 index 0000000..34d06e3 --- /dev/null +++ b/drink_machines.lua @@ -0,0 +1,326 @@ +--Craft Recipes + +minetest.register_craft({ + output = 'drink:juice_press', + recipe = { + {'default:stick', 'default:steel_ingot', 'default:stick'}, + {'default:stick', 'bucket:bucket_empty', 'default:stick'}, + {'stairs:slab_wood', 'stairs:slab_wood', 'vessels:drinking_glass'}, + } +}) + +minetest.register_craft({ + output = 'drinks:liquid_barrel', + recipe = { + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'stairs:slab_wood', '', 'stairs:slab_wood'}, + } +}) + +minetest.register_node('drinks:juice_press', { + description = 'Juice Press', + drawtype = 'mesh', + mesh = 'drinks_press.obj', + tiles = {name='drinks_press.png'}, + groups = {choppy=2, dig_immediate=2,}, + paramtype = 'light', + paramtype2 = 'facedir', + selection_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, .5, .5}, + }, + collision_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, .5, .5}, + }, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + inv:set_size('main', 8*4) + inv:set_size('src', 1) + inv:set_size('dst', 1) + meta:set_string('infotext', 'Empty Juice Press') + meta:set_string('formspec', + 'size[8,7]'.. + 'label[1.5,0;Organic juice is just a squish away.]' .. + 'label[4.3,.75;Put fruit here ->]'.. + 'label[3.5,1.75;Put container here ->]'.. + 'button[1,1;2,1;press;Start Juicing]'.. + 'list[current_name;src;6.5,.5;1,1;]'.. + 'list[current_name;dst;6.5,1.5;1,1;]'.. + 'list[current_player;main;0,3;8,4;]') + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields ['press'] then + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + local timer = minetest.get_node_timer(pos) + local instack = inv:get_stack("src", 1) + local fruitstack = instack:get_name() + local mod, fruit = fruitstack:match("([^:]+):([^:]+)") + if drinks.juiceable[fruit] then + meta:set_string('fruit', fruit) + local outstack = inv:get_stack("dst", 1) + local vessel = outstack:get_name() + if vessel == 'vessels:drinking_glass' then + if instack:get_count() >= 4 then + meta:set_string('container', 'jcu_') + meta:set_string('fruitnumber', 4) + meta:set_string('infotext', 'Juicing...') + timer:start(4) + else + meta:set_string('infotext', 'You need more fruit.') + end + end + if vessel == 'vessels:glass_bottle' then + if instack:get_count() >= 4 then + meta:set_string('container', 'jbo_') + meta:set_string('fruitnumber', 8) + meta:set_string('infotext', 'Juicing...') + timer:start(8) + else + meta:set_string('infotext', 'You need more fruit.') + end + end + if vessel == 'bucket:bucket_empty' then + if instack:get_count() >= 16 then + meta:set_string('container', 'jbu_') + meta:set_string('fruitnumber', 16) + meta:set_string('infotext', 'Juicing...') + timer:start(16) + else + meta:set_string('infotext', 'You need more fruit.') + end + end + if vessel == 'default:papyrus' then + if instack:get_count() >= 2 then + local under_node = {x=pos.x, y=pos.y-1, z=pos.z} + local under_node_name = minetest.get_node_or_nil(under_node) + if under_node_name.name == 'drink:liquid_barrel' then + local meta_u = minetest.env:get_meta(under_node) + local barrel_fruit = meta_u:get_string('fruit') + if fruit == barrel_fruit or barrel_fruit == 'empty' then + meta:set_string('container', 'tube') + meta:set_string('fruitnumber', 2) + meta:set_string('infotext', 'Juicing...') + meta_u:set_string('fruit', fruit) + timer:start(4) + else + meta:set_string('infotext', "You can't mix juices.") + end + else + meta:set_string('infotext', 'You need more fruit.') + end + end + end + end + end + end, + on_timer = function(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + local container = meta:get_string('container') + local instack = inv:get_stack("src", 1) + local outstack = inv:get_stack("dst", 1) + local fruit = meta:get_string('fruit') + local fruitnumber = tonumber(meta:get_string('fruitnumber')) + if container == 'tube' then --Still needs to take fruit from juice press. + local timer = minetest.get_node_timer(pos) + local under_node = {x=pos.x, y=pos.y-1, z=pos.z} + local under_node_name = minetest.get_node_or_nil(under_node) + local meta_u = minetest.env:get_meta(under_node) + local fullness = tonumber(meta_u:get_string('fullness')) + instack:take_item(tonumber(fruitnumber)) + inv:set_stack('src', 1, instack) + if fullness + 2 > 128 then + timer:stop() + meta:set_string('infotext', 'Barrel is full of juice.') + return + else + local fullness = fullness + 2 + meta_u:set_string('fullness', fullness) + meta_u:set_string('infotext', 'Barrel of '..fruit..' juice. '..(math.floor((fullness/128)*100))..' % full.') + meta_u:set_string('formspec', drinks.barrel_formspec(fullness)) + if instack:get_count() >= 2 then + timer:start(4) + else + meta:set_string('infotext', 'You need more fruit.') + end + end + else + meta:set_string('infotext', 'Collect your juice.') + instack:take_item(tonumber(fruitnumber)) + inv:set_stack('src', 1, instack) + inv:set_stack('dst', 1 ,'drinks:'..container..fruit) + end + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + local timer = minetest.get_node_timer(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + timer:stop() + meta:set_string('infotext', 'Ready for more juicing.') + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + meta:set_string('infotext', 'Ready for juicing.') + end, + can_dig = function(pos) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if inv:is_empty("src") and + inv:is_empty("dst") then + return true + else + return false + end + end, +}) + +function drinks.drinks_barrel_sub(liq_vol, ves_typ, pos) + local meta = minetest.env:get_meta(pos) + local fullness = tonumber(meta:get_string('fullness')) + if fullness - liq_vol < 0 then + return + else + local fruit = meta:get_string('fruit') + local inv = meta:get_inventory() + local fullness = fullness - liq_vol + meta:set_string('fullness', fullness) + meta:set_string('infotext', 'Barrel of '..fruit..' juice. '..(math.floor((fullness/128)*100))..' % full.') + meta:set_string('formspec', drinks.barrel_formspec(fullness)) + if ves_typ == 'jcu' or ves_typ == 'jbo' or ves_typ == 'jbu' then + print ('vessel is '..ves_typ..'. fruit is '..fruit) + inv:set_stack('dst', 1, 'drinks:'..ves_typ..'_'..fruit) + end + if ves_typ == 'thirsty:bronze_canteen' then + inv:set_stack('dst', 1, {name="thirsty:bronze_canteen", count=1, wear=60, metadata=""}) + end + if ves_typ == 'thirsty:steel_canteen' then + inv:set_stack('dst', 1, {name="thirsty:steel_canteen", count=1, wear=40, metadata=""}) + end + end +end + +function drinks.drinks_barrel_add(liq_vol, ves_typ, pos) + local meta = minetest.env:get_meta(pos) + local fullness = tonumber(meta:get_string('fullness')) + if fullness + liq_vol > 128 then + return + else + local fruit = meta:get_string('fruit') + local inv = meta:get_inventory() + local fullness = fullness + liq_vol + meta:set_string('fullness', fullness) + inv:set_stack('src', 1, ves_typ) + meta:set_string('infotext', 'Barrel of '..fruit..' juice. '..(math.floor((fullness/128)*100))..' % full.') + meta:set_string('formspec', drinks.barrel_formspec(fullness)) + end +end + +function drinks.drinks_barrel(pos, inputstack) + local meta = minetest.env:get_meta(pos) + local vessel = string.sub(inputstack, 8, 10) + print (vessel) + if vessel == 'jcu' then + local liq_vol = 2 + local ves_typ = 'vessels:drinking_glass' + drinks.drinks_barrel_add(liq_vol, ves_typ, pos) + end + if vessel == 'jbo' then + local liq_vol = 4 + local ves_typ = 'vessels:glass_bottle' + drinks.drinks_barrel_add(liq_vol, ves_typ, pos) + end + if vessel == 'jbu' then + local liq_vol = 16 + local ves_typ = 'bucket:bucket_empty' + drinks.drinks_barrel_add(liq_vol, ves_typ, pos) + end +end + +minetest.register_node('drinks:liquid_barrel', { + description = 'Barrel of Liquid', + drawtype = 'mesh', + mesh = 'drinks_liquid_barrel.obj', + tiles = {name='drinks_barrel.png'}, + groups = {choppy=2, dig_immediate=2,}, + paramtype = 'light', + paramtype2 = 'facedir', + selection_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, .5, .5}, + }, + collision_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, .5, .5}, + }, + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + inv:set_size('main', 8*4) + inv:set_size('src', 1) + inv:set_size('dst', 1) + meta:set_string('fullness', 0) + meta:set_string('fruit', 'empty') + meta:set_string('infotext', 'Empty Drink Barrel') + meta:set_string('formspec', 'size[8,8]'.. + 'label[0,0;Fill the barrel with the drink of your choice,]'.. + 'label[0,.4;you can only add more of the same type of drink.]'.. + 'label[4.5,1.2;Add liquid ->]'.. + 'label[.75,1.75;The barrel is empty]'.. + 'label[4.5,2.25;Take liquid ->]'.. + 'label[2,3.2;(This empties the barrel completely)]'.. + 'button[0,3;2,1;purge;Purge]'.. + 'list[current_name;src;6.5,1;1,1;]'.. + 'list[current_name;dst;6.5,2;1,1;]'.. + 'list[current_player;main;0,4;8,5;]') + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + local instack = inv:get_stack("src", 1) + local outstack = inv:get_stack('dst', 1) + local inputstack = instack:get_name() + local outputstack = outstack:get_name() + local fruit = string.sub(inputstack, 12, -1) + print ('fruit added to barrel is '..fruit) + local fruit_in = meta:get_string('fruit') + if fruit_in == 'empty' then + meta:set_string('fruit', fruit) + local vessel = string.sub(inputstack, 8, 10) + drinks.drinks_barrel(pos, inputstack) + end + if fruit == fruit_in then + local vessel = string.sub(inputstack, 8, 10) + drinks.drinks_barrel(pos, inputstack) + end + if outputstack == 'vessels:drinking_glass' then + drinks.drinks_barrel_sub(2, 'jcu', pos) + end + if outputstack == 'vessels:glass_bottle' then + drinks.drinks_barrel_sub(4, 'jbo', pos) + end + if outputstack == 'bucket:bucket_empty' then + drinks.drinks_barrel_sub(16, 'jbu', pos) + end + if outputstack == 'thirsty:steel_canteen' then + drinks.drinks_barrel_sub(20, 'thirsty:steel_canteen', pos) + end + if outputstack == 'thirsty:bronze_canteen' then + drinks.drinks_barrel_sub(30, 'thirsty:bronze_canteen', pos) + end + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields['purge'] then + local meta = minetest.env:get_meta(pos) + local fullness = 0 + meta:set_string('fullness', 0) + meta:set_string('fruit', 'empty') + meta:set_string('infotext', 'Empty Drink Barrel') + meta:set_string('formspec', drinks.barrel_formspec(fullness)) + end + end, +}) diff --git a/drinks.lua b/drinks.lua new file mode 100644 index 0000000..9e6f358 --- /dev/null +++ b/drinks.lua @@ -0,0 +1,37 @@ +--Parse Table +for i in ipairs (drinks.drink_table) do + local desc = drinks.drink_table[i][1] + local craft = drinks.drink_table[i][2] + local color = drinks.drink_table[i][3] + +--Actual Node registration +minetest.register_craftitem('drinks:jcu_'..desc, { + description = 'Cup of '..craft..' Juice', + groups = {drink=1}, + inventory_image = 'drinks_glass_contents.png^[colorize:'..color..':200^drinks_drinking_glass.png', + on_use = function(itemstack, user, pointed_thing) + thirsty.drink(user, 4, 20) + local eat_func = minetest.item_eat(.5, 'vessels:drinking_glass') + return eat_func(itemstack, user, pointed_thing) + end, +}) + +minetest.register_craftitem('drinks:jbo_'..desc, { + description = 'Bottle of '..craft..' Juice', + groups = {drink=1}, + inventory_image = 'drinks_bottle_contents.png^[colorize:'..color..':200^drinks_glass_bottle.png', + on_use = function(itemstack, user, pointed_thing) + thirsty.drink(user, 8, 20) + local eat_func = minetest.item_eat(.5, 'vessels:glass_bottle') + return eat_func(itemstack, user, pointed_thing) + end, + print ('registered bottle of '..desc.. ' juice.') +}) + +minetest.register_craftitem('drinks:jbu_'..desc, { + description = 'Bucket of '..craft..' Juice', + inventory_image = 'bucket.png^(drinks_bucket_contents.png^[colorize:'..color..':200)', + stack_max = 1, +}) + +end diff --git a/drinks2.lua b/drinks2.lua new file mode 100644 index 0000000..359624a --- /dev/null +++ b/drinks2.lua @@ -0,0 +1,36 @@ +-- This code is for if Thirst isn't enabled. +--Parse Table +for i in ipairs (drinks.drink_table) do + local desc = drinks.drink_table[i][1] + local craft = drinks.drink_table[i][2] + local color = drinks.drink_table[i][3] + +--Actual Node registration +minetest.register_craftitem('drinks:jcu_'..desc, { + description = 'Cup of '..craft..' Juice', + groups = {drink=1}, + inventory_image = 'drinks_glass_contents.png^[colorize:'..color..':200^drinks_drinking_glass.png', + on_use = function(itemstack, user, pointed_thing) + local eat_func = minetest.item_eat(.5, 'vessels:drinking_glass') + return eat_func(itemstack, user, pointed_thing) + end, +}) + +minetest.register_craftitem('drinks:jbo_'..desc, { + description = 'Bottle of '..craft..' Juice', + groups = {drink=1}, + inventory_image = 'drinks_bottle_contents.png^[colorize:'..color..':200^drinks_glass_bottle.png', + on_use = function(itemstack, user, pointed_thing) + local eat_func = minetest.item_eat(.5, 'vessels:glass_bottle') + return eat_func(itemstack, user, pointed_thing) + end, + print ('registered bottle of '..desc.. ' juice.') +}) + +minetest.register_craftitem('drinks:jbu_'..desc, { + description = 'Bucket of '..craft..' Juice', + inventory_image = 'bucket.png^(drinks_bucket_contents.png^[colorize:'..color..':200)', + stack_max = 1, +}) + +end diff --git a/formspecs.lua b/formspecs.lua new file mode 100644 index 0000000..0470954 --- /dev/null +++ b/formspecs.lua @@ -0,0 +1,15 @@ +function drinks.barrel_formspec(fullness) + local formspec = -- Used for the liquid storing barrels. + 'size[8,8]'.. + 'label[0,0;Fill the barrel with the drink of your choice,]'.. + 'label[0,.4;you can only add more of the same type of drink.]'.. + 'label[4.5,1.2;Add liquid ->]'.. + 'label[.75,1.75;This barrel is '..((fullness/128)*100)..'% full]'.. + 'label[4.5,2.25;Take liquid ->]'.. + 'label[2,3.2;(This empties the barrel completely)]'.. + 'button[0,3;2,1;purge;Purge]'.. + 'list[current_name;src;6.5,1;1,1;]'.. + 'list[current_name;dst;6.5,2;1,1;]'.. + 'list[current_player;main;0,4;8,5;]' + return formspec +end diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..1157fac --- /dev/null +++ b/init.lua @@ -0,0 +1,26 @@ +drinks = { +drink_table = {}, +juiceable = {}, +} + + +-- Honestly not needed for default, but used as an example to add support to other mods. +-- Basically to use this all you need to do is add the name of the fruit to make juiceable (see line 14 for example) +-- Add the new fruit to a table like I've done in line 16. +-- The table should follow this scheme: internal name, Displayed name, colorize code. +-- Check out the drinks.lua file for more info how how the colorize code is used. + +if minetest.get_modpath('default') then + drinks.juiceable['apple'] = true -- Name of fruit to make juiceable. + drinks.juiceable['cactus'] = true + table.insert(drinks.drink_table, {'apple', 'Apple', '#ecff56'}) + table.insert(drinks.drink_table, {'cactus', 'Cactus', '#96F97B'}) +end + +if minetest.get_modpath('thirsty') then + dofile(minetest.get_modpath('drinks')..'/drinks.lua') +else + dofile(minetest.get_modpath('drinks')..'/drinks2.lua') +end +dofile(minetest.get_modpath('drinks')..'/drink_machines.lua') +dofile(minetest.get_modpath('drinks')..'/formspecs.lua') diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..172d2dc --- /dev/null +++ b/license.txt @@ -0,0 +1,9 @@ +This mod and textures and licensed under CC by SA Nathan Salapat + +The drinking glass textures are modified from the vessels mod where it is licensed as; +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2012-2016 Vanessa Ezekowitz +Copyright (C) 2016 Thomas-S + +The bucket textures are modified from the bucket mod where it is licensed as; +(CC BY-SA 3.0) celeron55 diff --git a/models/drinks_liquid_barrel.obj b/models/drinks_liquid_barrel.obj new file mode 100644 index 0000000..4a67ef4 --- /dev/null +++ b/models/drinks_liquid_barrel.obj @@ -0,0 +1,385 @@ +# Blender v2.78 (sub 0) OBJ File: 'drinks.blend' +# www.blender.org +o Barrel_Cylinder.001 +v -0.406507 -0.168381 0.450000 +v -0.406507 -0.168381 -0.400000 +v -0.168381 -0.406507 0.450000 +v -0.168381 -0.406507 -0.400000 +v 0.168381 -0.406507 0.450000 +v 0.168381 -0.406507 -0.400000 +v 0.406507 -0.168381 0.450000 +v 0.406507 -0.168381 -0.400000 +v 0.406507 0.168381 0.450000 +v 0.406507 0.168381 -0.400000 +v 0.168381 0.406507 0.450000 +v 0.168381 0.406507 -0.400000 +v -0.168381 0.406507 0.450000 +v -0.168381 0.406507 -0.400000 +v -0.406507 0.168381 0.450000 +v -0.406507 0.168381 -0.400000 +v -0.447158 -0.185219 0.350000 +v -0.447158 -0.185219 -0.300000 +v -0.185219 -0.447158 -0.300000 +v -0.185219 -0.447158 0.350000 +v 0.185219 -0.447158 -0.300000 +v 0.185219 -0.447158 0.350000 +v 0.447158 -0.185219 -0.300000 +v 0.447158 -0.185219 0.350000 +v 0.447158 0.185219 -0.300000 +v 0.447158 0.185219 0.350000 +v 0.185219 0.447158 -0.300000 +v 0.185219 0.447158 0.350000 +v -0.185219 0.447158 -0.300000 +v -0.185219 0.447158 0.350000 +v -0.447158 0.185219 -0.300000 +v -0.447158 0.185219 0.350000 +v 0.500000 -0.400000 0.350000 +v 0.500000 -0.500000 0.350000 +v -0.500000 -0.400000 0.350000 +v -0.500000 -0.500000 0.350000 +v -0.000000 -0.300000 0.350000 +v 0.000000 -0.500000 0.350000 +v 0.500000 -0.400000 0.250000 +v 0.500000 -0.500000 0.250000 +v -0.500000 -0.400000 0.250000 +v -0.500000 -0.500000 0.250000 +v 0.000000 -0.300000 0.250000 +v 0.000000 -0.500000 0.250000 +v 0.500000 -0.400000 -0.200000 +v 0.500000 -0.500000 -0.200000 +v -0.500000 -0.400000 -0.200000 +v -0.500000 -0.500000 -0.200000 +v 0.000000 -0.300000 -0.200000 +v 0.000000 -0.500000 -0.200000 +v 0.500000 -0.400000 -0.300000 +v 0.500000 -0.500000 -0.300000 +v -0.500000 -0.400000 -0.300000 +v -0.500000 -0.500000 -0.300000 +v 0.000000 -0.300000 -0.300000 +v 0.000000 -0.500000 -0.300000 +v -0.073585 0.436096 0.000000 +v -0.091981 0.482086 0.000000 +v -0.052032 0.436096 -0.052032 +v -0.065041 0.482086 -0.065041 +v -0.000000 0.436096 -0.073585 +v -0.000000 0.482086 -0.091981 +v 0.052032 0.436096 -0.052032 +v 0.065041 0.482086 -0.065041 +v 0.073585 0.436096 0.000000 +v 0.091981 0.482086 0.000000 +v 0.052032 0.436096 0.052032 +v 0.065041 0.482086 0.065041 +v -0.000000 0.436096 0.073585 +v -0.000000 0.482086 0.091981 +v -0.052032 0.436096 0.052032 +v -0.065041 0.482086 0.065041 +v 0.028284 -0.396726 -0.471686 +v 0.028284 -0.373432 -0.384753 +v -0.050000 -0.345485 -0.392241 +v -0.050000 -0.368778 -0.479174 +v -0.035355 -0.379635 -0.383090 +v -0.035355 -0.402929 -0.470024 +v 0.000000 -0.393781 -0.379300 +v 0.000000 -0.417075 -0.466233 +v 0.035355 -0.379635 -0.383090 +v 0.035355 -0.402929 -0.470024 +v 0.050000 -0.345485 -0.392241 +v 0.050000 -0.368778 -0.479174 +v 0.000000 -0.408042 -0.468654 +v 0.000000 -0.384749 -0.381720 +v -0.028284 -0.396726 -0.471686 +v -0.028284 -0.373432 -0.384753 +v -0.040000 -0.369405 -0.479006 +v -0.040000 -0.346112 -0.392073 +v 0.040000 -0.346112 -0.392073 +v 0.040000 -0.369405 -0.479006 +vt 1.0000 0.9193 +vt 0.9874 1.0000 +vt 0.7357 1.0000 +vt 0.7232 0.9193 +vt 0.8500 0.9193 +vt 0.8374 1.0000 +vt 0.5857 1.0000 +vt 0.5731 0.9193 +vt 0.8849 0.9193 +vt 0.8724 1.0000 +vt 0.6207 1.0000 +vt 0.6081 0.9193 +vt 0.6234 0.9193 +vt 0.6360 1.0000 +vt 0.8876 1.0000 +vt 0.9002 0.9193 +vt 0.8078 0.9193 +vt 0.7952 1.0000 +vt 0.5436 1.0000 +vt 0.5310 0.9193 +vt 0.5401 0.9193 +vt 0.5526 1.0000 +vt 0.8043 1.0000 +vt 0.8169 0.9193 +vt 0.0000 0.3716 +vt 0.0646 0.1942 +vt 0.2357 0.1145 +vt 0.4130 0.1791 +vt 0.4928 0.3502 +vt 0.4282 0.5276 +vt 0.2571 0.6073 +vt 0.0797 0.5427 +vt 0.9614 0.9193 +vt 0.9488 1.0000 +vt 0.6971 1.0000 +vt 0.6845 0.9193 +vt 0.6518 0.9193 +vt 0.6643 1.0000 +vt 0.9160 1.0000 +vt 0.9286 0.9193 +vt 0.0000 0.1969 +vt 0.1032 0.0388 +vt 0.2879 0.0000 +vt 0.4460 0.1032 +vt 0.4848 0.2879 +vt 0.3816 0.4460 +vt 0.1969 0.4848 +vt 0.0388 0.3816 +vt 0.6643 0.3529 +vt 0.6518 0.4335 +vt 0.9286 0.4335 +vt 0.9160 0.3529 +vt 0.9488 0.3529 +vt 0.9614 0.4335 +vt 0.6845 0.4335 +vt 0.6971 0.3529 +vt 0.5526 0.3529 +vt 0.5401 0.4335 +vt 0.8169 0.4335 +vt 0.8043 0.3529 +vt 0.7952 0.3529 +vt 0.8078 0.4335 +vt 0.5310 0.4335 +vt 0.5436 0.3529 +vt 0.6360 0.3529 +vt 0.6234 0.4335 +vt 0.9002 0.4335 +vt 0.8876 0.3529 +vt 0.8724 0.3529 +vt 0.8849 0.4335 +vt 0.6081 0.4335 +vt 0.6207 0.3529 +vt 0.8374 0.3529 +vt 0.8500 0.4335 +vt 0.5731 0.4335 +vt 0.5857 0.3529 +vt 0.9874 0.3529 +vt 1.0000 0.4335 +vt 0.7232 0.4335 +vt 0.7357 0.3529 +vt 0.2562 0.8343 +vt 0.4617 0.8366 +vt 0.4691 0.8792 +vt 0.2563 0.9163 +vt 0.0501 0.8371 +vt 0.0428 0.8798 +vt 0.2556 0.7954 +vt 0.2555 0.7134 +vt 0.4690 0.7499 +vt 0.4617 0.7926 +vt 0.0501 0.7930 +vt 0.0426 0.7505 +vt 0.2283 0.8520 +vt 0.4369 0.8520 +vt 0.4369 0.8937 +vt 0.2283 0.8937 +vt 0.0197 0.8520 +vt 0.0197 0.8937 +vt 0.5058 0.8366 +vt 0.5058 0.7926 +vt 0.0060 0.8371 +vt 0.0060 0.7930 +vt 0.2502 0.9083 +vt 0.4557 0.9106 +vt 0.4632 0.9532 +vt 0.2503 0.9902 +vt 0.0441 0.9111 +vt 0.0368 0.9538 +vt 0.2496 0.8693 +vt 0.2495 0.7873 +vt 0.4630 0.8238 +vt 0.4557 0.8665 +vt 0.0441 0.8670 +vt 0.0367 0.8244 +vt 0.2224 0.9347 +vt 0.4310 0.9347 +vt 0.4310 0.9764 +vt 0.2224 0.9764 +vt 0.0138 0.9347 +vt 0.0138 0.9764 +vt 0.4998 0.9106 +vt 0.4998 0.8665 +vt 0.0000 0.9111 +vt 0.0000 0.8670 +vt 0.6949 0.1977 +vt 0.6590 0.1885 +vt 0.6791 0.1399 +vt 0.7110 0.1588 +vt 0.7110 0.1210 +vt 0.6590 0.0913 +vt 0.6949 0.0821 +vt 0.6682 0.0554 +vt 0.6104 0.0711 +vt 0.6293 0.0393 +vt 0.5915 0.0393 +vt 0.5618 0.0913 +vt 0.5526 0.0554 +vt 0.5259 0.0821 +vt 0.5417 0.1399 +vt 0.5098 0.1210 +vt 0.5098 0.1588 +vt 0.5618 0.1885 +vt 0.5259 0.1977 +vt 0.6104 0.2086 +vt 0.5526 0.2244 +vt 0.5915 0.2405 +vt 0.6293 0.2405 +vt 0.6682 0.2244 +vt 0.8644 0.0660 +vt 0.8658 0.0729 +vt 0.8425 0.0797 +vt 0.8369 0.0733 +vt 0.9516 0.0062 +vt 0.9428 0.0724 +vt 0.9155 0.0655 +vt 0.9235 0.0025 +vt 0.8900 0.0645 +vt 0.8927 0.0000 +vt 1.0000 0.1215 +vt 0.9945 0.1279 +vt 0.9374 0.0787 +vt 0.8611 0.0000 +vt 0.8901 0.0702 +vt 0.8287 0.0027 +vt 0.7853 0.1303 +vt 0.7796 0.1239 +vt 0.8684 0.1399 +vt 0.8488 0.1414 +vt 0.8881 0.1398 +vt 0.9081 0.1412 +vt 0.9142 0.0724 +vt 0.9302 0.1436 +vn -0.6551 -0.6551 -0.3766 +vn 0.0000 -0.9264 -0.3766 +vn 0.6551 -0.6551 -0.3766 +vn 0.9264 0.0000 -0.3766 +vn 0.6551 0.6551 -0.3766 +vn -0.0000 0.9264 -0.3766 +vn 0.0000 0.0000 -1.0000 +vn -0.6551 0.6551 -0.3766 +vn -0.9264 0.0000 -0.3766 +vn -0.0000 -0.0000 1.0000 +vn -0.9264 0.0000 0.3766 +vn -1.0000 0.0000 -0.0000 +vn -0.6551 0.6551 0.3766 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 0.9264 0.3766 +vn -0.0000 1.0000 -0.0000 +vn 0.6551 0.6551 0.3766 +vn 0.7071 0.7071 0.0000 +vn 0.9264 0.0000 0.3766 +vn 1.0000 0.0000 0.0000 +vn 0.6551 -0.6551 0.3766 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -0.9264 0.3766 +vn 0.0000 -1.0000 0.0000 +vn -0.6551 -0.6551 0.3766 +vn -0.7071 -0.7071 -0.0000 +vn -0.1961 0.9806 -0.0000 +vn 0.1961 0.9806 -0.0000 +vn -0.8666 -0.3466 -0.3590 +vn -0.3590 -0.3466 -0.8666 +vn 0.3590 -0.3466 -0.8666 +vn 0.8666 -0.3466 -0.3590 +vn 0.8666 -0.3466 0.3590 +vn 0.3590 -0.3466 0.8666 +vn -0.3590 -0.3466 0.8666 +vn -0.8666 -0.3466 0.3590 +vn 0.0000 -0.2588 -0.9659 +vn -0.9239 -0.3696 0.0990 +vn -0.3827 -0.8924 0.2391 +vn 0.0648 0.9639 -0.2583 +vn 0.3827 -0.8924 0.2391 +vn 0.9239 -0.3696 0.0990 +vn -0.0648 0.9639 -0.2583 +vn -0.9239 0.3696 -0.0990 +vn -0.3827 0.8924 -0.2391 +vn 0.3827 0.8924 -0.2391 +vn 0.9239 0.3696 -0.0990 +g Barrel_Cylinder.001_None +s off +f 18/1/1 2/2/1 4/3/1 19/4/1 +f 19/5/2 4/6/2 6/7/2 21/8/2 +f 21/9/3 6/10/3 8/11/3 23/12/3 +f 23/13/4 8/14/4 10/15/4 25/16/4 +f 25/17/5 10/18/5 12/19/5 27/20/5 +f 27/21/6 12/22/6 14/23/6 29/24/6 +f 4/25/7 2/26/7 16/27/7 14/28/7 12/29/7 10/30/7 8/31/7 6/32/7 +f 29/33/8 14/34/8 16/35/8 31/36/8 +f 31/37/9 16/38/9 2/39/9 18/40/9 +f 1/41/10 3/42/10 5/43/10 7/44/10 9/45/10 11/46/10 13/47/10 15/48/10 +f 15/49/11 32/50/11 17/51/11 1/52/11 +f 32/50/12 31/37/12 18/40/12 17/51/12 +f 13/53/13 30/54/13 32/55/13 15/56/13 +f 30/54/14 29/33/14 31/36/14 32/55/14 +f 11/57/15 28/58/15 30/59/15 13/60/15 +f 28/58/16 27/21/16 29/24/16 30/59/16 +f 9/61/17 26/62/17 28/63/17 11/64/17 +f 26/62/18 25/17/18 27/20/18 28/63/18 +f 7/65/19 24/66/19 26/67/19 9/68/19 +f 24/66/20 23/13/20 25/16/20 26/67/20 +f 5/69/21 22/70/21 24/71/21 7/72/21 +f 22/70/22 21/9/22 23/12/22 24/71/22 +f 3/73/23 20/74/23 22/75/23 5/76/23 +f 20/74/24 19/5/24 21/8/24 22/75/24 +f 1/77/25 17/78/25 20/79/25 3/80/25 +f 17/78/26 18/1/26 19/4/26 20/79/26 +f 37/81/10 35/82/10 36/83/10 38/84/10 +f 33/85/10 37/81/10 38/84/10 34/86/10 +f 43/87/7 44/88/7 42/89/7 41/90/7 +f 39/91/7 40/92/7 44/88/7 43/87/7 +f 35/82/27 37/81/27 43/87/27 41/90/27 +f 38/93/24 36/94/24 42/95/24 44/96/24 +f 37/81/28 33/85/28 39/91/28 43/87/28 +f 34/97/24 38/93/24 44/96/24 40/98/24 +f 36/99/12 35/82/12 41/90/12 42/100/12 +f 33/85/20 34/101/20 40/102/20 39/91/20 +f 49/103/10 47/104/10 48/105/10 50/106/10 +f 45/107/10 49/103/10 50/106/10 46/108/10 +f 55/109/7 56/110/7 54/111/7 53/112/7 +f 51/113/7 52/114/7 56/110/7 55/109/7 +f 47/104/27 49/103/27 55/109/27 53/112/27 +f 50/115/24 48/116/24 54/117/24 56/118/24 +f 49/103/28 45/107/28 51/113/28 55/109/28 +f 46/119/24 50/115/24 56/118/24 52/120/24 +f 48/121/12 47/104/12 53/112/12 54/122/12 +f 45/107/20 46/123/20 52/124/20 51/113/20 +f 57/125/29 58/126/29 60/127/29 59/128/29 +f 59/129/30 60/127/30 62/130/30 61/131/30 +f 61/132/31 62/130/31 64/133/31 63/134/31 +f 63/135/32 64/133/32 66/136/32 65/137/32 +f 65/138/33 66/136/33 68/139/33 67/140/33 +f 67/141/34 68/139/34 70/142/34 69/143/34 +f 60/127/16 58/126/16 72/144/16 70/142/16 68/139/16 66/136/16 64/133/16 62/130/16 +f 69/145/35 70/142/35 72/144/35 71/146/35 +f 71/147/36 72/144/36 58/126/36 57/148/36 +f 82/149/37 73/150/37 92/151/37 84/152/37 +f 75/153/38 76/154/38 78/155/38 77/156/38 +f 77/156/39 78/155/39 80/157/39 79/158/39 +f 75/159/40 90/160/40 89/161/40 76/154/40 +f 79/158/41 80/157/41 82/149/41 81/162/41 +f 80/157/37 85/163/37 73/150/37 82/149/37 +f 81/162/42 82/149/42 84/152/42 83/164/42 +f 84/152/43 92/151/43 91/165/43 83/166/43 +f 74/167/44 91/168/44 92/151/44 73/150/44 +f 86/169/45 74/167/45 73/150/45 85/163/45 +f 88/170/46 86/169/46 85/163/46 87/171/46 +f 78/155/37 87/171/37 85/163/37 80/157/37 +f 90/172/47 88/170/47 87/171/47 89/161/47 +f 76/154/37 89/161/37 87/171/37 78/155/37 diff --git a/models/drinks_press.obj b/models/drinks_press.obj new file mode 100644 index 0000000..4265ffc --- /dev/null +++ b/models/drinks_press.obj @@ -0,0 +1,427 @@ +# Blender v2.78 (sub 0) OBJ File: 'drinks.blend' +# www.blender.org +o Press_Cube.001 +v 0.490000 -0.450000 0.030000 +v 0.490000 0.400000 0.030000 +v 0.490000 -0.450000 0.130000 +v 0.490000 0.400000 0.130000 +v 0.350000 -0.450000 0.030000 +v 0.350000 0.400000 0.030000 +v 0.350000 -0.450000 0.130000 +v 0.350000 0.400000 0.130000 +v -0.490000 -0.450000 0.130000 +v -0.490000 0.400000 0.130000 +v -0.490000 -0.450000 0.030000 +v -0.490000 0.400000 0.030000 +v -0.350000 -0.450000 0.130000 +v -0.350000 0.400000 0.130000 +v -0.350000 -0.450000 0.030000 +v -0.350000 0.400000 0.030000 +v 0.500000 0.370000 -0.000000 +v -0.500000 0.370000 -0.000000 +v 0.500000 0.370000 0.160000 +v -0.500000 0.370000 0.160000 +v 0.500000 0.230000 -0.000000 +v -0.500000 0.230000 -0.000000 +v 0.500000 0.230000 0.160000 +v -0.500000 0.230000 0.160000 +v -0.286937 0.050000 0.080000 +v -0.202895 0.050000 -0.122895 +v -0.330000 -0.450000 0.080000 +v -0.330000 0.050000 0.080000 +v -0.233345 -0.450000 -0.153345 +v -0.233345 0.050000 -0.153345 +v 0.000000 -0.450000 -0.250000 +v 0.000000 0.050000 -0.250000 +v 0.233345 -0.450000 -0.153345 +v 0.233345 0.050000 -0.153345 +v 0.330000 -0.450000 0.080000 +v 0.330000 0.050000 0.080000 +v 0.233345 -0.450000 0.313345 +v 0.233345 0.050000 0.313345 +v -0.000000 -0.450000 0.410000 +v -0.000000 0.050000 0.410000 +v -0.233345 -0.450000 0.313345 +v -0.233345 0.050000 0.313345 +v 0.000000 0.050000 -0.206937 +v 0.202895 0.050000 -0.122895 +v 0.286937 0.050000 0.080000 +v 0.202895 0.050000 0.282895 +v -0.000000 0.050000 0.366937 +v -0.202895 0.050000 0.282895 +v -0.286937 -0.033841 0.080000 +v -0.202895 -0.033841 0.282895 +v -0.000000 -0.033841 0.366937 +v 0.202895 -0.033841 0.282895 +v 0.286937 -0.033841 0.080000 +v 0.202895 -0.033841 -0.122895 +v 0.000000 -0.033841 -0.206937 +v -0.202895 -0.033841 -0.122895 +v 0.300000 -0.500000 0.400000 +v 0.400000 -0.500000 -0.400000 +v -0.300000 -0.500000 0.400000 +v -0.400000 -0.500000 -0.400000 +v -0.000000 -0.500000 0.500000 +v 0.500000 -0.500000 0.080000 +v 0.000000 -0.500000 -0.500000 +v -0.500000 -0.500000 0.080000 +v -0.000000 -0.500000 0.080000 +v 0.300000 -0.450000 0.400000 +v 0.400000 -0.450000 -0.400000 +v -0.300000 -0.450000 0.400000 +v -0.400000 -0.450000 -0.400000 +v -0.000000 -0.450000 0.500000 +v 0.500000 -0.450000 0.080000 +v 0.000000 -0.450000 -0.500000 +v -0.500000 -0.450000 0.080000 +v -0.000000 -0.450000 0.080000 +v -0.280783 0.000000 0.080000 +v -0.198544 0.000000 -0.118544 +v 0.000000 0.000000 -0.200783 +v 0.198544 0.000000 -0.118544 +v 0.280783 0.000000 0.080000 +v 0.198544 0.000000 0.278544 +v -0.000000 0.000000 0.360783 +v -0.198544 0.000000 0.278544 +v -0.241395 0.372715 -0.123119 +v 0.259946 0.372715 0.258765 +v -0.025000 -0.005792 0.080000 +v -0.025000 0.449165 0.080000 +v -0.017678 -0.005792 0.062322 +v -0.017678 0.449165 0.062322 +v -0.000000 -0.005792 0.055000 +v -0.000000 0.449165 0.055000 +v 0.017678 -0.005792 0.062322 +v 0.017678 0.449165 0.062322 +v 0.025000 -0.005792 0.080000 +v 0.025000 0.449165 0.080000 +v 0.017678 -0.005792 0.097678 +v 0.017678 0.449165 0.097678 +v -0.000000 -0.005792 0.105000 +v -0.000000 0.449165 0.105000 +v -0.017678 -0.005792 0.097678 +v -0.017678 0.449165 0.097678 +v 0.273063 0.394363 0.241544 +v -0.228277 0.394363 -0.140340 +v 0.273063 0.424977 0.241544 +v -0.228277 0.424978 -0.140340 +v 0.259946 0.446625 0.258765 +v -0.241395 0.446625 -0.123119 +v 0.241395 0.446625 0.283119 +v -0.259946 0.446625 -0.098765 +v 0.228277 0.424977 0.300340 +v -0.273063 0.424977 -0.081544 +v 0.228277 0.394363 0.300340 +v -0.273063 0.394363 -0.081544 +v 0.241395 0.372715 0.283119 +v -0.259946 0.372715 -0.098765 +vt 1.0000 0.8133 +vt 0.5747 0.8133 +vt 0.5747 0.7632 +vt 1.0000 0.7632 +vt 0.5747 0.6932 +vt 1.0000 0.6932 +vt 0.5747 0.6431 +vt 1.0000 0.6431 +vt 1.0000 0.8833 +vt 0.5747 0.8833 +vt 0.3063 0.3026 +vt 0.4945 0.0006 +vt 0.7460 0.2422 +vt 0.6556 0.5216 +vt 0.5246 0.8833 +vt 0.5246 0.8133 +vt 0.5246 0.8414 +vt 0.9500 0.8414 +vt 0.9500 0.8914 +vt 0.5246 0.8914 +vt 0.9500 0.9615 +vt 0.5246 0.9615 +vt 0.5246 0.7213 +vt 0.9500 0.7213 +vt 0.9500 0.7713 +vt 0.5246 0.7713 +vt 0.0533 0.1441 +vt 0.2265 0.0006 +vt 1.0000 0.8914 +vt 1.0000 0.9615 +vt 0.9472 0.7427 +vt 0.5705 0.7427 +vt 0.5705 0.6824 +vt 0.9472 0.6824 +vt 0.5705 0.6296 +vt 0.9472 0.6296 +vt 0.9472 0.8557 +vt 0.5705 0.8557 +vt 0.5705 0.7954 +vt 0.9472 0.7954 +vt 1.0000 0.8557 +vt 1.0000 0.7954 +vt 0.5177 0.8557 +vt 0.5177 0.7954 +vt 0.7652 0.5368 +vt 0.9836 0.5368 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.7488 0.4972 +vt 1.0000 0.4972 +vt 0.9836 0.5368 +vt 0.7652 0.5368 +vt 1.0000 0.0000 +vt 1.0000 0.4972 +vt 0.7488 0.4972 +vt 0.7488 0.0000 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.9836 0.5368 +vt 0.7652 0.5368 +vt 1.0000 0.0000 +vt 1.0000 0.4972 +vt 0.7488 0.4972 +vt 0.7488 0.0000 +vt 0.7652 0.5368 +vt 0.9836 0.5368 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.7488 0.4972 +vt 1.0000 0.4972 +vt 0.9836 0.5368 +vt 0.7652 0.5368 +vt 1.0000 0.0000 +vt 0.7488 0.0000 +vt 0.7652 0.5368 +vt 0.9836 0.5368 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.9836 0.5368 +vt 0.7652 0.5368 +vt 1.0000 0.0000 +vt 1.0000 0.4972 +vt 0.7488 0.4972 +vt 0.7488 0.0000 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.7488 0.4972 +vt 1.0000 0.4972 +vt 1.0000 0.0000 +vt 0.7488 0.0000 +vt 0.1181 0.6046 +vt 0.4448 0.7254 +vt 0.7488 0.4972 +vt 1.0000 0.4972 +vt 0.9836 0.5368 +vt 0.7652 0.5368 +vt 1.0000 0.0000 +vt 0.7488 0.0000 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 1.0000 0.0000 +vt 1.0000 0.4972 +vt 0.7488 0.4972 +vt 0.7488 0.0000 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 1.0000 0.0000 +vt 0.7488 0.0000 +vt 0.0006 0.3630 +vt 0.9836 0.6201 +vt 0.7652 0.6201 +vt 0.3057 0.3020 +vt 0.6550 0.5209 +vt 0.4442 0.7248 +vt 0.1174 0.6040 +vt 0.0527 0.1434 +vt 0.0000 0.3624 +vt 0.4939 0.0000 +vt 0.7453 0.2416 +vt 0.2259 0.0000 +vt 0.4840 0.9815 +vt 0.6645 0.9816 +vt 0.6645 1.0000 +vt 0.4840 0.9999 +vt 0.1389 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.9816 +vt 0.1389 0.9816 +vt 0.5106 1.0000 +vt 0.3717 1.0000 +vt 0.3717 0.9816 +vt 0.5106 0.9816 +vt 0.0000 0.9814 +vt 0.1805 0.9814 +vt 0.1805 0.9998 +vt 0.0000 0.9998 +vt 0.3323 0.9815 +vt 0.3322 0.9999 +vt 0.2553 1.0000 +vt 0.2553 0.9816 +vt 0.2489 0.4939 +vt 0.1374 0.3825 +vt 0.1374 0.2249 +vt 0.2489 0.1134 +vt 0.4065 0.1134 +vt 0.5180 0.2249 +vt 0.5180 0.3825 +vt 0.4065 0.4939 +vt 0.9532 0.8586 +vt 0.9418 0.8699 +vt 0.9258 0.8699 +vt 0.9145 0.8586 +vt 0.9145 0.8425 +vt 0.9258 0.8312 +vt 0.9418 0.8312 +vt 0.9532 0.8425 +vt 0.0160 0.8312 +vt 0.4121 0.8312 +vt 0.4121 0.8479 +vt 0.0160 0.8479 +vt 0.5843 0.8425 +vt 0.5843 0.8586 +vt 0.4121 0.8645 +vt 0.0160 0.8645 +vt 0.5843 0.9548 +vt 0.9145 0.9548 +vt 0.9145 0.9709 +vt 0.5843 0.9709 +vt 0.4121 0.8812 +vt 0.0160 0.8812 +vt 0.5843 0.9388 +vt 0.9145 0.9388 +vt 0.4121 0.8978 +vt 0.0160 0.8978 +vt 0.5569 0.8699 +vt 0.5456 0.8586 +vt 0.5456 0.8425 +vt 0.5569 0.8312 +vt 0.5730 0.8312 +vt 0.5730 0.8699 +vt 0.5843 0.9227 +vt 0.9145 0.9227 +vt 0.0160 0.7646 +vt 0.4121 0.7646 +vt 0.4121 0.7812 +vt 0.0160 0.7812 +vt 0.5843 0.8746 +vt 0.9145 0.8746 +vt 0.9145 0.8907 +vt 0.5843 0.8907 +vt 0.5843 0.9067 +vt 0.9145 0.9067 +vt 0.4121 0.7979 +vt 0.0160 0.7979 +vt 0.4523 0.7646 +vt 0.4523 0.7812 +vt 0.4405 0.7930 +vt 0.4239 0.7930 +vt 0.4239 0.7528 +vt 0.4405 0.7528 +vt 0.4121 0.8145 +vt 0.0160 0.8145 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9239 0.0000 0.3827 +vn -0.9239 0.0000 -0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn 0.9239 0.0000 0.3827 +vn -0.9790 0.0000 -0.2040 +vn 0.8480 0.0000 0.5300 +vn -0.8480 0.0000 0.5300 +vn 0.9790 0.0000 -0.2040 +vn 0.2425 0.0000 -0.9701 +vn -0.3162 0.0000 0.9487 +vn -0.2425 0.0000 -0.9701 +vn 0.3162 0.0000 0.9487 +vn -0.7955 -0.0000 -0.6060 +vn -0.6060 -0.0000 0.7955 +vn -0.4285 0.7071 0.5625 +vn 0.7955 -0.0000 0.6060 +vn 0.4285 0.7071 -0.5625 +vn 0.6060 -0.0000 -0.7955 +vn 0.4285 -0.7071 -0.5625 +vn -0.4285 -0.7071 0.5625 +g Press_Cube.001_None +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 7/6/3 8/5/3 6/7/3 5/8/3 +f 5/9/4 6/10/4 2/2/4 1/1/4 +f 65/11/5 64/12/5 60/13/5 63/14/5 +f 8/15/6 4/16/6 2/2/6 6/10/6 +f 9/17/3 10/18/3 12/19/3 11/20/3 +f 11/20/4 12/19/4 16/21/4 15/22/4 +f 15/23/1 16/24/1 14/25/1 13/26/1 +f 13/26/2 14/25/2 10/18/2 9/17/2 +f 61/27/5 59/28/5 64/12/5 65/11/5 +f 16/21/6 12/19/6 10/29/6 14/30/6 +f 17/31/6 18/32/6 20/33/6 19/34/6 +f 19/34/2 20/33/2 24/35/2 23/36/2 +f 23/37/5 24/38/5 22/39/5 21/40/5 +f 21/40/4 22/39/4 18/32/4 17/31/4 +f 19/41/1 23/37/1 21/40/1 17/42/1 +f 24/38/3 20/43/3 18/44/3 22/39/3 +f 45/45/7 44/46/7 54/47/7 53/48/7 +f 34/49/6 32/50/6 43/51/6 44/52/6 +f 27/53/8 28/54/8 30/55/8 29/56/8 +f 44/52/9 43/51/9 55/57/9 54/58/9 +f 30/55/6 28/54/6 25/59/6 26/60/6 +f 29/61/10 30/62/10 32/63/10 31/64/10 +f 46/65/8 45/66/8 53/67/8 52/68/8 +f 40/69/6 38/70/6 46/71/6 47/72/6 +f 31/73/11 32/50/11 34/49/11 33/74/11 +f 48/75/11 47/76/11 51/77/11 50/78/11 +f 32/63/6 30/62/6 26/79/6 43/80/6 +f 33/81/12 34/82/12 36/83/12 35/84/12 +f 43/80/13 26/79/13 56/85/13 55/86/13 +f 38/87/6 36/88/6 45/66/6 46/65/6 +f 35/89/14 36/88/14 38/87/14 37/90/14 +f 62/91/5 65/11/5 63/14/5 58/92/5 +f 28/93/6 42/94/6 48/95/6 25/96/6 +f 37/97/13 38/70/13 40/69/13 39/98/13 +f 36/83/6 34/82/6 44/46/6 45/45/6 +f 47/72/10 46/71/10 52/99/10 51/100/10 +f 39/101/9 40/102/9 42/103/9 41/104/9 +f 26/60/14 25/59/14 49/105/14 56/106/14 +f 42/103/6 40/102/6 47/76/6 48/75/6 +f 41/107/7 42/94/7 28/93/7 27/108/7 +f 57/109/5 61/27/5 65/11/5 62/91/5 +f 25/96/12 48/95/12 50/110/12 49/111/12 +f 74/112/6 72/113/6 69/114/6 73/115/6 +f 70/116/6 74/112/6 73/115/6 68/117/6 +f 71/118/6 67/119/6 72/113/6 74/112/6 +f 66/120/6 71/118/6 74/112/6 70/116/6 +f 60/121/15 64/122/15 73/123/15 69/124/15 +f 57/125/16 62/126/16 71/127/16 66/128/16 +f 64/129/17 59/130/17 68/131/17 73/132/17 +f 62/133/18 58/134/18 67/135/18 71/136/18 +f 58/134/19 63/137/19 72/138/19 67/135/19 +f 59/130/20 61/139/20 70/140/20 68/131/20 +f 63/137/21 60/121/21 69/124/21 72/138/21 +f 61/139/22 57/125/22 66/128/22 70/140/22 +f 75/141/6 82/142/6 81/143/6 80/144/6 79/145/6 78/146/6 77/147/6 76/148/6 +f 102/149/23 83/150/23 114/151/23 112/152/23 110/153/23 108/154/23 106/155/23 104/156/23 +f 85/157/8 86/158/8 88/159/8 87/160/8 +f 109/161/24 110/153/24 112/152/24 111/162/24 +f 87/160/10 88/159/10 90/163/10 89/164/10 +f 107/165/25 108/166/25 110/167/25 109/168/25 +f 89/164/11 90/163/11 92/169/11 91/170/11 +f 105/171/6 106/172/6 108/166/6 107/165/6 +f 91/170/12 92/169/12 94/173/12 93/174/12 +f 84/175/26 101/176/26 103/177/26 105/178/26 107/179/26 109/161/26 111/162/26 113/180/26 +f 103/181/27 104/182/27 106/172/27 105/171/27 +f 93/183/14 94/184/14 96/185/14 95/186/14 +f 113/187/5 114/188/5 83/189/5 84/190/5 +f 101/191/28 102/192/28 104/182/28 103/181/28 +f 95/186/13 96/185/13 98/193/13 97/194/13 +f 88/195/6 86/196/6 100/197/6 98/198/6 96/185/6 94/184/6 92/199/6 90/200/6 +f 84/190/29 83/189/29 102/192/29 101/191/29 +f 97/194/9 98/193/9 100/201/9 99/202/9 +f 111/162/30 112/152/30 114/188/30 113/187/30 +f 99/202/7 100/201/7 86/158/7 85/157/7 diff --git a/textures/drinks_barrel.png b/textures/drinks_barrel.png new file mode 100644 index 0000000..09b6412 Binary files /dev/null and b/textures/drinks_barrel.png differ diff --git a/textures/drinks_bottle_contents.png b/textures/drinks_bottle_contents.png new file mode 100644 index 0000000..8456e9f Binary files /dev/null and b/textures/drinks_bottle_contents.png differ diff --git a/textures/drinks_bucket_contents.png b/textures/drinks_bucket_contents.png new file mode 100644 index 0000000..badf594 Binary files /dev/null and b/textures/drinks_bucket_contents.png differ diff --git a/textures/drinks_drinking_glass.png b/textures/drinks_drinking_glass.png new file mode 100644 index 0000000..8a722ad Binary files /dev/null and b/textures/drinks_drinking_glass.png differ diff --git a/textures/drinks_glass_bottle.png b/textures/drinks_glass_bottle.png new file mode 100644 index 0000000..c4654d0 Binary files /dev/null and b/textures/drinks_glass_bottle.png differ diff --git a/textures/drinks_glass_contents.png b/textures/drinks_glass_contents.png new file mode 100644 index 0000000..2490202 Binary files /dev/null and b/textures/drinks_glass_contents.png differ diff --git a/textures/drinks_press.png b/textures/drinks_press.png new file mode 100644 index 0000000..4fe609b Binary files /dev/null and b/textures/drinks_press.png differ