From 25be8da37aeccaef9bdc95075844a57055ef50f6 Mon Sep 17 00:00:00 2001 From: ray litchfield Date: Sat, 22 Jun 2013 14:19:14 -0400 Subject: [PATCH] add to git --- .gitattributes | 22 +++ .gitignore | 215 +++++++++++++++++++++ beer/CREDITS | 5 + beer/copyright.txt | 2 + beer/depends.txt | 3 + beer/init.lua | 282 ++++++++++++++++++++++++++++ beer/textures/beer.png | Bin 0 -> 225 bytes beer/textures/beer_bucket_empty.png | Bin 0 -> 174 bytes beer/textures/beer_bucket_ferm.png | Bin 0 -> 303 bytes beer/textures/beer_bucket_full.png | Bin 0 -> 291 bytes beer/textures/beer_buket_empty.png | Bin 0 -> 174 bytes beer/textures/beer_bush.png | Bin 0 -> 209 bytes beer/textures/beer_grape.png | Bin 0 -> 523 bytes beer/textures/beer_grape_white.png | Bin 0 -> 559 bytes beer/textures/beer_hops.png | Bin 0 -> 175 bytes beer/textures/berry.png | Bin 0 -> 145 bytes beer/textures/grape.png | Bin 0 -> 160 bytes beer/textures/grape_white.png | Bin 0 -> 160 bytes beer/textures/moonshine.png | Bin 0 -> 129 bytes beer/textures/wine.png | Bin 0 -> 353 bytes 20 files changed, 529 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 beer/CREDITS create mode 100644 beer/copyright.txt create mode 100644 beer/depends.txt create mode 100644 beer/init.lua create mode 100644 beer/textures/beer.png create mode 100644 beer/textures/beer_bucket_empty.png create mode 100644 beer/textures/beer_bucket_ferm.png create mode 100644 beer/textures/beer_bucket_full.png create mode 100644 beer/textures/beer_buket_empty.png create mode 100644 beer/textures/beer_bush.png create mode 100644 beer/textures/beer_grape.png create mode 100644 beer/textures/beer_grape_white.png create mode 100644 beer/textures/beer_hops.png create mode 100644 beer/textures/berry.png create mode 100644 beer/textures/grape.png create mode 100644 beer/textures/grape_white.png create mode 100644 beer/textures/moonshine.png create mode 100644 beer/textures/wine.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b9d6bd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,215 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg diff --git a/beer/CREDITS b/beer/CREDITS new file mode 100644 index 0000000..70d85dd --- /dev/null +++ b/beer/CREDITS @@ -0,0 +1,5 @@ +Bear textures by ray8888 +grape textures by sdzen +growing code from randomproofs growing mod +uses code from ironzorgs flowers +uses code from kahrls bucket \ No newline at end of file diff --git a/beer/copyright.txt b/beer/copyright.txt new file mode 100644 index 0000000..0143678 --- /dev/null +++ b/beer/copyright.txt @@ -0,0 +1,2 @@ +Original textures: by:ray8888 WTFPL +Grape textures: by sdzen WTFPL \ No newline at end of file diff --git a/beer/depends.txt b/beer/depends.txt new file mode 100644 index 0000000..3858b34 --- /dev/null +++ b/beer/depends.txt @@ -0,0 +1,3 @@ +default + +bucket \ No newline at end of file diff --git a/beer/init.lua b/beer/init.lua new file mode 100644 index 0000000..152c5f9 --- /dev/null +++ b/beer/init.lua @@ -0,0 +1,282 @@ +--[[ +-- beer mod by ray8888 +--]] + +math.randomseed(os.time()) + +local DEBUG = 0 + +local color = { + "hops", + "dandelion_yellow", + "bush", + "grape", + "grape_white", +} + +local beer = { + "hops", + "dandelion_yellow", + "bush", + "grape", + "grape_white", +} +local dropitem = { + "beer:beer_hops", + "beer:beer_dandelion_yellow", + "beer:bush_berries 5", + "beer:grape_berries 10", + "beer:grape_white_berries 10", +} + +local beer_DESCRIPTION = { + "hops", + "Dandelion yellow", + "bush", + "grape", + "grape white", + +} + +local MAX_RATIO = 800 +local GROWING_DELAY = 100 + +-- Local Functions +local dbg = function(s) + if DEBUG == 1 then + print('[BEER] ' .. s) + end +end + +local table_contains = function(t, v) + for _, i in ipairs(t) do + if (i == v) then + return true + end + end + + return false +end + +local is_node_in_cube = function(nodenames, node_pos, radius) + for x = node_pos.x - radius, node_pos.x + radius do + for y = node_pos.y - radius, node_pos.y + radius do + for z = node_pos.z - radius, node_pos.z + radius do + n = minetest.env:get_node_or_nil({x = x, y = y, z = z}) + if (n == nil) + or (n.name == 'ignore') + or (table_contains(nodenames, n.name) == true) then + return true + end + end + end + end + + return false +end + +grow_blocks_on_surfaces = function(growdelay, grownames, surfaces) + for _, surface in ipairs(surfaces) do + minetest.register_abm({ + nodenames = { surface.name }, + interval = growdelay, + chance = 30, + action = function(pos, node, active_object_count, active_object_count_wider) + local p_top = { + x = pos.x, + y = pos.y + 1, + z = pos.z + } + local n_top = minetest.env:get_node(p_top) + local rnd = math.random(1, MAX_RATIO) + + if (MAX_RATIO - surface.chance < rnd) then + local flower_in_range = is_node_in_cube(grownames, p_top, surface.spacing) + if (n_top.name == "air") and (flower_in_range == false) then + local nnode = grownames[math.random(1, #grownames)] + dbg('Adding node ' .. nnode .. ' (' + .. pos.x .. ', ' + .. pos.y .. ', ' + .. pos.z .. ')') + minetest.env:add_node(p_top, { name = nnode }) + end + end + end + }) + end +end + + +function beer_add_sprite_beer(modname,name,growdelay,surfaces) + + minetest.register_node(modname..':'..name, { + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { modname.."_"..name .. '.png' }, + inventory_image = modname.."_"..name .. '.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = {choppy=2,dig_immediate=2}, + furnace_burntime = 1, + drop = dropitem[i], + }) + + grow_blocks_on_surfaces(growdelay,{modname..':'..name,},surfaces) +end + + +-- Nodes +for i, color in ipairs(beer) do + local fname = 'beer_' .. color + + minetest.register_node('beer:' .. fname, { + description = beer_DESCRIPTION[i], + drawtype = 'plantlike', + visual_scale = 1.0, + tile_images = { fname .. '.png' }, + inventory_image = fname .. '.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = {choppy=2,dig_immediate=2}, + furnace_burntime = 1, + drop = dropitem[i], + }) +end +-- Make it grow ! +grow_blocks_on_surfaces(GROWING_DELAY * 30, { + "beer:beer_dandelion_yellow", + }, { + {name = "default:dirt_with_grass", chance = 30, spacing = 15}, +}) +grow_blocks_on_surfaces(GROWING_DELAY * 10, { + "beer:beer_hops", + "beer:beer_grape", + "beer:beer_grape_white", + "beer:beer_bush", + }, { + {name = "default:dirt_with_grass", chance = 10, spacing = 10}, +}) + +minetest.register_craftitem("beer:bucket_empty", { + description = "Empty Beer Bucket", + image = "beer_bucket_empty.png", + stack_max = 1, + liquids_pointable = true, + on_place = minetest.item_place, + on_use = function(item, player, pointed_thing) + if pointed_thing.type == "node" then + n = minetest.env:get_node(pointed_thing.under) + if n.name == "default:water_source" then + minetest.env:add_node(pointed_thing.under, {name="air"}) + local leftover = player:get_inventory():add_item("main", ItemStack('beer:bucket_water 1')) + if leftover:is_empty() then + item:take_item() + else + minetest.chat_send_player(player:get_player_name(), 'Not enough space in inventory!') + end + end + end + return item + end, +}) + +minetest.register_craftitem("beer:bucket_water", { + description = "beer bucket", + image = "beer_bucket_full.png", + stack_max = 1, + liquids_pointable = true, + on_place = minetest.item_place, + on_use = function(item, player, pointed_thing) + if pointed_thing.type == "node" then + n = minetest.env:get_node(pointed_thing.under) + if n.name == "default:water_source" then + -- unchanged + elseif n.name == "default:lava_source" or n.name == "default:lava_flowing" then + minetest.env:add_node(pointed_thing.under, {name="default:cobble"}) + else + minetest.env:add_node(pointed_thing.above, {name="default:water_flowing"}) + end + local leftover = player:get_inventory():add_item("main", ItemStack('beer:bucket_empty 1')) + if leftover:is_empty() then + item:take_item() + else + minetest.chat_send_player(player:get_player_name(), 'Not enough space in inventory!') + end + end + return item + end, +}) + + +minetest.register_craftitem("beer:bush_berries", { + description = "berries", + inventory_image = "berry.png", + on_use = minetest.item_eat(-10), +}) +minetest.register_craftitem("beer:grape_berries", { + description = "grapes", + inventory_image = "grape.png", + on_use = minetest.item_eat(5), +}) +minetest.register_craftitem("beer:grape_white_berries", { + description = "white grapes", + inventory_image = "grape_white.png", + on_use = minetest.item_eat(5), +}) +minetest.register_craftitem("beer:beer", { + description = "Beer", + inventory_image = "beer.png", + on_use = minetest.item_eat(5), +}) +minetest.register_craftitem("beer:wine", { + description = "Wine", + inventory_image = "wine.png", + on_use = minetest.item_eat(5), +}) +minetest.register_craftitem("beer:grape_ferme", { + description = "fermented grapes", + inventory_image = "beer_bucket_ferm.png", +}) +minetest.register_craftitem("beer:moonshine", { + description = "Moonshine", + inventory_image = "moonshine.png", + on_use = minetest.item_eat(5), +}) +minetest.register_craft({ + output = 'beer:beer 24', + recipe = { + {'beer:beer_hops'}, + {'beer:bucket_water'}, + } +}) +minetest.register_craft({ + output = 'beer:moonshine', + type = 'cooking', + recipe = 'beer:grape_ferme', +}) +minetest.register_craft({ + output = 'beer:wine 2', + recipe = { + {'beer:beer_dandelion_yellow'}, + {'beer:beer_dandelion_yellow'}, + {'beer:bucket_water'}, + } +}) +minetest.register_craft({ + output = 'beer:grape_ferme', + recipe = { + {'beer:grape_berries'}, + {'beer:grape_white_berries'}, + {'beer:bucket_water'}, + } +}) +minetest.register_craft({ + output = 'beer:bucket_empty 1', + recipe = { + {'default:wood', '', 'default:wood'}, + {'', 'default:wood', ''}, + } +}) + diff --git a/beer/textures/beer.png b/beer/textures/beer.png new file mode 100644 index 0000000000000000000000000000000000000000..310ef346c183605e3fd7d65cdafd7ebcc61aa3c9 GIT binary patch literal 225 zcmV<703QE|P)tY5R@|GL%7|AXi$6Z`&?q5|B?CD?wK(Z)meKW9~S3qKbjz Xab`uk*oI7?0~kDA{an^LB{Ts55%D@> literal 0 HcmV?d00001 diff --git a/beer/textures/beer_bucket_ferm.png b/beer/textures/beer_bucket_ferm.png new file mode 100644 index 0000000000000000000000000000000000000000..d14a33c774cb426e830233afdc85c55771b184a8 GIT binary patch literal 303 zcmV+~0nq-5P)DYf2kAjEAe&VTESb!}_dlOg>VE$TOrU3>FxG~58kftIY+5dfJE?^ge#EEjj|9kCV4AKk=ix>uW zu=hxE0Wt>Jp2H@NX#lb-V77uVHrEgggIFyDhVhZbL2Q_%Si^vj3s5v8djZ|QFx${w zhG77*A?UWEy8x?ZWJ9*M=wfvNvh8^D1Th#{4**%`QCbtK7E%BJ002ovPDHLkV1nAX BfRq3L literal 0 HcmV?d00001 diff --git a/beer/textures/beer_bucket_full.png b/beer/textures/beer_bucket_full.png new file mode 100644 index 0000000000000000000000000000000000000000..5b390aad5e5ff96c2a39ef93302edd2ffcaf626d GIT binary patch literal 291 zcmV+;0o?wHP)FZwyD+U>2ZhjMNfPn!>>>`+!lst%Oz>|$pII)JtRiLI*|4mJA{Fjrv z{NKdn2BrZ947f4KRUnNZuR*-D3oK5Q3;y402V;-{pfHh?+zs{`NiIOfAm>X-ox?N$ z*%dHbK^U8BKrw~a1+iKP4C5nW48s6qL(pwScL7$- p$cAih(Z%WlWZUuP31Tp^9sq+xWW%Tn^Ire}002ovPDHLkV1lc?d6obG literal 0 HcmV?d00001 diff --git a/beer/textures/beer_buket_empty.png b/beer/textures/beer_buket_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..99a69eff2b964192ea40d22ba6bfe047afc414b2 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rJgR1Ar-fh6C~soXwP~0e{yf2 zO5y}L5oR6(Z)meKW9~S3qKbjz Xab`uk*oI7?0~kDA{an^LB{Ts55%D@> literal 0 HcmV?d00001 diff --git a/beer/textures/beer_bush.png b/beer/textures/beer_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdf1a7ac4b1504c2d09ea31b126a65037641959 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gdx`!Ln>}f4R+*fFyMGS+2@=3 z|3|`qmf9aENO&1>d`ioX9Nh~-jUv~JZ`7K7Uawvzc!1&f&F+ZiwHxLhmc1&ns#AO# z>yO6N54QWOl^6;SvgjRJVk2mzF<;bhmV%tI;c}x5)d!TrQ>Ix}Y%t0Q-{Ac~bd_F~ za5H;W>r|d&4^N*6P1^e3>rl$0`|Fxprdm$@_b@)d@TJZpR?hPG?Fc^CY1lQhUOxQVln zfSq%JVqcy^Gbz&V39cU`#~|boS5b?FD6ur;gnhz?)V&C$sU}8ieu_=K%qdxMAq5a! zKcYeBpQ@kcN2tG&gIEw|dJBXrJT9Z#EFh3`;jk59m~e^Oo>AcGuZdA>A0_r1K^Bm5 zt-+JnWY{}94k6j2k-Ry=>Lh+;cNRpDCHFnb^C6tRwZ=t25HLL=U;SxcDrtE0XAI&O0<$#|3bjcI(>ON=PJrBV6F zGF?6k>$bxdwlG{3)dt%{ zbqiDOvdU?jrmtHYW3a%p%_OU>O-$J;b>4!Ejril|1S3c}Vp;vGWX~e*Ji+a66}6ut zdoLX#dlw#P>r3qDF$PXvhGQydn1aFLH({K9`|a|X|<)5dQ^%ET8~6Rh%uRXEQA#%vtcpG z#7snHGh>Ve2_jyZjrhqqH}~|)ZNJTTe&_dnzjMBaMx(Hf2^-=b5i*|kI?xg^Fzn;C z&?K{(_F_av{5OvxpadNeX zi^l_W%?R+sq{OzUnPN>Us~4*w2xa^K$or(4X!$djRkMPyHhms4nJ6(#Fw`efQVI# zB@`e2-k`r3{OC(AaD29fZ@)f695o?FmrjEmV;1TkaRkx_xq)>1gSCRRh360Z5+`q(vTk{d)}S8pl*nq6 z^Uc$D{JGqH{R=WS;(Hfdj3DI*gVL*iufO0wjxn_zL3BL?<>;BU4mUtvUt-;JPH>Jg x+&&+wrl7LUNjv(MJZLV>hq5Qi80DJF_5ugoBu5To(i;E(002ovPDHLkV1lv>`b+=- literal 0 HcmV?d00001 diff --git a/beer/textures/beer_hops.png b/beer/textures/beer_hops.png new file mode 100644 index 0000000000000000000000000000000000000000..58c2ef08fecc06f5419a4728ca00668a81618d6d GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr-f#P735Zpupi=y(sni zos)ac>if7*JCpqO{q2hYW6O-;9+-M}{6(D+1 zYi-1)z_m=LrboSef9K#@d!C@SjVcz6sSK(HkFONpZoBo%Ep^JJ?Fr$jw-@Cq&t*wS Zm!H8PpwnX>6$x|!gQu&X%Q~loCICCoLwW!J literal 0 HcmV?d00001 diff --git a/beer/textures/berry.png b/beer/textures/berry.png new file mode 100644 index 0000000000000000000000000000000000000000..33ecb7b433e7fcb8f2fa7d22f4754a0fb07952a7 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr-fh6C_xhCFZ0i{HSN^ z$Y(S>IqN&4>0Fja&JHyKr_@e1taRZ0-ta?0;63Xj;U!WAoGTtO2{gwP$#y)S__){7 s!S||zO|#5d1%@j}ISws8*=fMQ@Mo@?i80S2CZHV*p00i_>zopr05(`K00000 literal 0 HcmV?d00001 diff --git a/beer/textures/grape.png b/beer/textures/grape.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f6323dcec76cd1f512a660fb4d0f12afe7a3cc GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fh6C_xhC9bSq`gc9^ zqp+`U{;Oo`1$X|BUp?#B{vgwr^{rVDIx4u&RKYX>?|8_~YNsJ%4_WhT> za_Qi#*;hCJTdu`6`CYHc(g*()i}e0a7GeH3S-P($z=n&1fkDkqQ{OM{@g<;@44$rj JF6*2UngIWeKCA!$ literal 0 HcmV?d00001 diff --git a/beer/textures/grape_white.png b/beer/textures/grape_white.png new file mode 100644 index 0000000000000000000000000000000000000000..407746523c495c0e6696f477dac0871859bd51c5 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-gYPO#-_FyL`}{r7!B zG>2a1yT{8O#nfwc-A>=gKB27WMYF@S?+SsdJ|+7U7&I=_ciWazJEgoWR`$)LZ)+HO zo4%#Z&~>ZvOc0o%eDYVyg*TthFNnPGm1!1BYJ5x9y_Gee7`C~)&Uzoh-+ z|3*WGC6a9?jZzYL9j^IIQxuW@kQ2_^#&|vK>7+CUE47;p3SZ@Cs-0w*F!^Gv!+i%8 cQ&|Rvv*Mk{diOuN2{eo(8jD6>i}cx zxIJXRtI2x~ML*F2ILHK235OXhrm@zwe*%60gXWBZfefi+00000NkvXXu0mjf+H;c~ literal 0 HcmV?d00001