diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..cb390e6 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,89 @@ +Copyright (C) "BY ULLA" +IT +PUOI UTILIZZARE QUESTA MOD IN MINETEST, +PUOI INTEGRARLA IN ALTRE MOD PER MINETEST +O UTILIZZARNE SINGOLE PARTI +QUESTA MOD HA SOLO UNA RESTRIZIONE : +OGNI PARTE ORIGINALE CREATA DA ME (TEXTURES MODELLI ETC..) +NON PUÒ ESSERE UTILIZZATA PER SCOPI PUBBLICITARI O ALTRI GIOCHI ESCLUDENDO LA MIA APPROVAZIONE IN OGNI CASO VA INDICATO IL MIO NOME >ANDREA DI PIETRO ULLA < +PER QUANTO RIGUARDA IL CODICE SCRITTO, LE LICENZE SONO QUELLE DI MINETEST DEFAULT +ANCHE PER IL CODICE AGGIUNTO O MODIFICATO , +QUESTA LICENZA DEVE ESSERE INSERITA IN OGNI PROGETTO CHE USA LA MOD O PARTE DI ESSA . +QUESTA MOD PUÒ ESSERE MIGLIORATA , SENZA ESCLUDERE IL MIO NOME PER AVERE IDEATO E CREATO LA MOD +PUOI UTILIZZARLA NEI TUOI VIDEO PER MINETEST + +FOR THE REST OF THE CODE THE LICENSE IS OF THE TYPE: MIT + + L'autorizzazione è concessa, gratuitamente, + a chiunque ottenga una copia di questo software e dei file di documentazione associati (il "Software"), + per trattare il Software senza restrizioni, + inclusi senza limitazione i diritti di utilizzo, copia, modifica, unione , pubblicare, distribuire, + concedere in sublicenza e / o vendere copie del Software e per consentire alle persone a cui il Software è fornito di farlo, + fatte salve le seguenti condizioni: + La nota di copyright e il presente avviso di autorizzazione di cui sopra devono essere inclusi in tutte le copie o parti sostanziali del software. + IL SOFTWARE È FORNITO "COSÌ COM'È", SENZA ALCUN TIPO DI GARANZIA, ESPRESSA O IMPLICITA, COMPRESO MA NON LIMITATO ALLE GARANZIE DI COMMERCIABILITÀ, + IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI OI TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI DI QUALSIASI RECLAMO, + DANNO O ALTRO RESPONSABILITÀ, SE IN AZIONE DI CONTRATTO, TORT O ALTRO, DERIVANTE DA, + FUORI O IN CONNESSIONE CON IL SOFTWARE O L'UTILIZZO O ALTRE OFFERTE NEL SOFTWARE. + + IL CODICE DELLE ARMATURE DIPENDONO DALLA LICENZA DI 3D_ARMOR +3D Armor - Visible Player Armor +=============================== + +License Source Code: Copyright (C) 2013-2018 Stuart Jones - LGPL v2.1 + +Armor Textures: Copyright (C) 2017-2018 davidthecreator - CC-BY-SA 3.0 + +Special credit to Jordach and MirceaKitsune for providing the default 3d character model. + +PER I MEDIA FILE LA LICENZA E'DI TIPO: CC BY-NC +Permette di distribuire, modificare, +creare opere derivate dall'originale, + ma non a scopi commerciali, + a condizione che venga: riconosciuta una menzione di paternità adeguata, + fornito un link alla licenza e indicato se sono state effettuate delle modifiche. +Chi modifica l'opera originale non è tenuto a utilizzare le stesse licenze per le opere derivate. + + +EN) +YOU CAN USE THIS MOD IN MINETEST, +YOU CAN INTEGRATE IT IN OTHER MOD FOR MINETEST +OR USE SINGLE PARTS +THIS MOD HAS A RESTRICTION ONLY: +EVERY ORIGINAL PART MADE BY ME (TEXTURES MODELS ETC ..) +IT CAN NOT BE USED FOR ADVERTISING PURPOSES OR OTHER GAMES BY EXCLUDING MY APPROVAL IN ANY CASE IT SHOWS MY NAME> ANDREA DI PIETRO ULLA < +WITH REGARD TO THE WRITTEN CODE, THE LICENSES ARE THOSE OF MINETEST DEFAULT +ALSO FOR THE ADDED OR MODIFIED CODE, +THIS LICENSE MUST BE INSERTED IN ANY PROJECT WHICH USES MOD OR PART OF IT. +THIS MOD CAN BE IMPROVED, WITHOUT EXCLUDING MY NAME TO HAVE IDEATED AND CREATED MOD +YOU CAN USE IT IN YOUR VIDEOS FOR MINETEST +FOR MEDIA FILES THE LICENSE IS TYPE: MT + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + THE ARMORIES CODE DEPENDS ON THE 3D_HARMOR LICENSE : +(3D Armor - Visible Player Armor +=============================== + +License Source Code: Copyright (C) 2013-2018 Stuart Jones - LGPL v2.1 + +Armor Textures: Copyright (C) 2017-2018 davidthecreator - CC-BY-SA 3.0 + +Special credit to Jordach and MirceaKitsune for providing the default 3d character model.) + +FOR MEDIA FILES THE LICENSE IS TYPE: CC BY-NC +Allows you to distribute, modify, +create works derived from the original, +  but not for commercial purposes, +  provided that: a mention of adequate authorship is recognized, +  provided a link to the license and indicated if changes have been made. +Anyone who modifies the original work is not required to use the same licenses for derivative works. diff --git a/README.md b/README.md new file mode 100644 index 0000000..65835d1 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# cannabis + +IT) +Questa mod punta ad illustrare la vasta possibilità e settori di utilizzo della canapa , la sua importanza nei vari settori medici culinari industriali bioenergetici ricreativi etc +punta anche a sfatare le bugie che fin ora sono state dette su di essa +e far conoscere come puo essere utile per pulire l'aria e i terreni dall'inquinamento questa mod non illustrera soltanto il lato ricreativo +come ce lo hanno mostrato fin ora cioè in maniera distorta. +Questo e' il motivo per cui ho creato questa mod per debellare l'gnoranza e la mal'informazione sulla canapa in maniera educativa, +completare tutti gli asppetti della mod richiede un po di lavoro per questo e' ancora in fase di lavorazione ed espansione + +EN) +This mod aims to illustrate the vast possibilities and sectors of use of hemp, its importance in the various medical culinary industrial bioenergetic recreational sectors etc +it also aims to dispel the lies that have so far been said about it +and let people know how it can be useful to clean the air and the soil from pollution this mod will not only illustrate the recreational side +as they have shown us so far, that is, in a distorted way. +This is the reason why I created this mod to eradicate the ignorance and misinformation about hemp in an educational way, +completing all the twists of the mod requires a bit of work for this and is still in the processing and expansion phase + +DE) + +717/5000 +Dieser Mod soll die enormen Möglichkeiten und Sektoren der Verwendung von Hanf, seine Bedeutung in den verschiedenen medizinisch-kulinarischen industriellen bioenergetischen Freizeitsektoren usw. Veranschaulichen +es zielt auch darauf ab, die Lügen zu zerstreuen, die bisher darüber gesagt wurden +und lassen Sie die Leute wissen, wie nützlich es sein kann, die Luft und den Boden von Verschmutzung zu reinigen. Dieser Mod wird nicht nur die Erholungsseite veranschaulichen +wie sie uns bisher gezeigt haben, also verzerrt. +Dies ist der Grund, warum ich diesen Mod erstellt habe, um die Unwissenheit und Fehlinformation über Hanf auf pädagogische Weise zu beseitigen. +Das Abschließen aller Drehungen des Mods erfordert ein wenig Arbeit und befindet sich noch in der Verarbeitungs- und Erweiterungsphase + +ES) +Este mod tiene como objetivo ilustrar las vastas posibilidades y sectores de uso del cáñamo, su importancia en los diversos sectores médicos, culinarios, industriales, bioenergéticos, recreativos, etc. +También tiene como objetivo disipar las mentiras que hasta ahora se han dicho al respecto +y que la gente sepa cómo puede ser útil limpiar el aire y el suelo de la contaminación, este mod no solo ilustrará el lado recreativo +como nos han mostrado hasta ahora, es decir, de manera distorsionada. +Esta es la razón por la que creé este mod para erradicar la ignorancia y la información errónea sobre el cáñamo de una manera educativa, +completar todos los giros del mod requiere un poco de trabajo para esto y todavía está en la fase de procesamiento y expansión diff --git a/armor.lua b/armor.lua new file mode 100644 index 0000000..c38d95b --- /dev/null +++ b/armor.lua @@ -0,0 +1,102 @@ +-- get Boilerplate for Translations +local S = cannabis.S + + --armor + +if minetest.get_modpath("cannabis") then + local stats = { + fibra = { name="fibra", armor=3.8, heal=28, use=100 }, + tessuto= { name="tessuto", armor=2.0, heal=18, use=50 }, + foglie = { name="foglie", armor=2.7, heal=8, use=10 }, + high = { name="high_performance", armor=3.9, heal=38, use=1 }, + adminh = { name="adminh", armor=100, heal=100, use=100 ,armor_water=1,not_in_creative_inventory=0}, + + } + local mats = { + fibra="cannabis:fibra_ingot", + tessuto="cannabis:tessuto_ingot", + foglie="cannabis:foglie_ingot", + high="cannabis:high_performance_ingot", + adminh="cannabis:adminh_block", + } + for k, v in pairs(stats) do + minetest.register_tool("cannabis:helmet_"..k, { + description = v.name..S(" Helmet"), + inventory_image = "cannabis_armor_inv_helmet_"..k..".png", + groups = {armor_head=math.floor(5*v.armor), armor_heal=v.heal, armor_use=v.use}, + wear = 0, + }) + minetest.register_tool("cannabis:chestplate_"..k, { + description = v.name.. S(" Chestplate"), + inventory_image = "cannabis_armor_inv_chestplate_"..k..".png", + groups = {armor_torso=math.floor(8*v.armor), armor_heal=v.heal, armor_use=v.use}, + wear = 0, + }) + minetest.register_tool("cannabis:leggings_"..k, { + description = v.name.. S(" Leggings"), + inventory_image = "cannabis_armor_inv_leggings_"..k..".png", + groups = {armor_legs=math.floor(7*v.armor), armor_heal=v.heal, armor_use=v.use}, + wear = 0, + }) + minetest.register_tool("cannabis:boots_"..k, { + description = v.name..S(" Boots"), + inventory_image = "cannabis_armor_inv_boots_"..k..".png", + groups = {armor_feet=math.floor(4*v.armor), armor_heal=v.heal, armor_use=v.use}, + wear = 0, + }) + end + + for k, v in pairs(mats) do + minetest.register_craft({ + output = "cannabis:helmet_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {"", "", ""}, + }, + }) + minetest.register_craft({ + output = "cannabis:chestplate_"..k, + recipe = { + {v, "", v}, + {v, v, v}, + {v, v, v}, + }, + }) + minetest.register_craft({ + output = "cannabis:leggings_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {v, "", v}, + }, + }) + minetest.register_craft({ + output = "cannabis:boots_"..k, + recipe = { + {v, "", v}, + {v, "", v}, + }, + }) + end + + if minetest.get_modpath("shields") then + for k, v in pairs(stats) do + minetest.register_tool("cannabis:shield_"..k, { + description = v.name.. S(" Hemp Shield"), + inventory_image = "cannabis_armor_inv_shield_"..k..".png", + groups = {armor_shield=math.floor(5*v.armor), armor_heal=v.heal, armor_use=v.use}, + wear = 0, + }) + local m = mats[k] + minetest.register_craft({ + output = "cannabis:shield_"..k, + recipe = { + {m, m, m}, + {m, m, m}, + {"", m, ""}, + }, + }) + end -- for k,v + end -- if minetest.get_modpath("shields") +end--if minetest.get_modpath("cannabis") diff --git a/canapa.lua b/canapa.lua new file mode 100644 index 0000000..5490734 --- /dev/null +++ b/canapa.lua @@ -0,0 +1,180 @@ +-- get Boilerplate for Translations +local S = cannabis.S +local path = cannabis.path + +minetest.register_node("cannabis:canapa", { + description = S("Hemp"), + drawtype = "plantlike", + tiles = {"cannabis_canapa.png"}, + inventory_image = "cannabis_canapa.png", + wield_image = "cannabis_canapa.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy = 3, flammable = 2}, + sounds = "cannabis_canapa_s", + drop = { + max_items = 3, + items = { + {items = {"cannabis:canapa"}, rarity = 1 }, + {items = {"cannabis:canapa_leaves"}, rarity = 1 }, + {items = {"cannabis:canapa_seed"}, rarity = 1 }, + } +}, + after_dig_node = function(pos, node, metadata, digger) + default.dig_up(pos, node, digger) + end, +}) +--function + +function minetest.grow_canapa(pos, node) + pos.y = pos.y - 1 + local name = minetest.get_node(pos).name + if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then + return + end + if not minetest.find_node_near(pos, 1, {"group:water"}) then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "cannabis:canapa" and height < 6 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 6 or node.name ~= "air" then + return + end + minetest.set_node(pos, {name = "cannabis:canapa"}) + return true +end +--mapgen +minetest.register_abm({ + label = "Grow canapa", + nodenames = {"cannabis:canapa"}, + neighbors ={"default:dirt_with_grass"}, + interval = 14, + chance = 71, + action = function(...) + minetest.grow_canapa(...) + end +}) +minetest.register_biome({ + name = "canapa_swamp", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = -1, + y_max = 0, + heat_point = 89, + humidity_point = 22, + }) + + + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 1, + octaves = 3, + persist = 1.5 + }, + biomes = {"canapa_swamp"}, + y_min = 1, + y_max = 5, + decoration = "cannabis:canapa", + height = 5, + height_max = 5, + spawn_by = "default:water_source", + num_spawn_by = 1, + }) + + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + biomes = {"canapa_swamp"}, + y_min = 0, + y_max = 0, + schematic = path .. "/schematics/canapa.mts",--minetest.get_modpath("cannabis").."/schematics/canapa.mts", + }) + +-- This file supplies hemp for the plantlife modpack +-- Last revision: 2016-01-14 + +minetest.register_node('cannabis:seedling', { + description = S("Hemp (seedling)"), + drawtype = 'plantlike', + waving = 1, + tiles = { '1hemp_seedling.png' }, + inventory_image = '1hemp_seedling.png', + wield_image = '1hemp_seedling.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + buildable_to = true, +}) + +minetest.register_node('cannabis:sproutling', { + description = S("Hemp (sproutling)"), + drawtype = 'plantlike', + waving = 1, + tiles = { 'hemp_sproutling.png' }, + inventory_image = 'hemp_sproutling.png', + wield_image = 'hemp_sproutling.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + buildable_to = true, +}) + +minetest.register_node('cannabis:climbing', { + description = S("Hemp (climbing plant)"), + drawtype = 'signlike', + tiles = { 'hemp_climbing.png' }, + inventory_image = 'hemp_climbing.png', + wield_image = 'hemp_climbing.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + selection_box = { + type = "wallmounted", + --wall_side = = + }, + buildable_to = true, +}) diff --git a/canapa_rossa.lua b/canapa_rossa.lua new file mode 100644 index 0000000..0769158 --- /dev/null +++ b/canapa_rossa.lua @@ -0,0 +1,178 @@ +-- get Boilerplate for Translations +local S = cannabis.S +local path = cannabis.path + +minetest.register_node("cannabis:canapa_red", { + description = S("Hemp red"), + drawtype = "plantlike", + tiles = {"cannabis_canapa_red.png"}, + inventory_image = "cannabis_canapa_red.png", + wield_image = "cannabis_canapa_red.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} + }, + groups = {snappy = 3, flammable = 2}, + sounds = "cannabis_canapa_s", + drop = { + max_items = 3, + items = { + {items = {"cannabis:canapa_red"}, rarity = 1 }, + {items = {"cannabis:canapa_red_leaves"}, rarity = 1 }, + {items = {"cannabis:canapa_red_seed"}, rarity = 1 }, + } +}, + after_dig_node = function(pos, node, metadata, digger) + default.dig_up(pos, node, digger) + end, +}) +--function + +function minetest.grow_canapa_red(pos, node) + pos.y = pos.y - 1 + local name = minetest.get_node(pos).name + if name ~= "default:desert_sand" and name ~= "default:sand" then + return + end + if not minetest.find_node_near(pos, 5, {"group:water"}) then + return + end + pos.y = pos.y + 1 + local height = 0 + while node.name == "cannabis:canapa_red" and height < 6 do + height = height + 1 + pos.y = pos.y + 1 + node = minetest.get_node(pos) + end + if height == 5 or node.name ~= "air" then + return + end + minetest.set_node(pos, {name = "cannabis:canapa_red"}) + return true +end +--mapgen +minetest.register_abm({ + label = "Grow canapa red", + nodenames = {"cannabis:canapa_red"}, + neighbors ={"default:desert_sand","default:sand"}, + interval = 5, + chance = 40, + action = function(...) + minetest.grow_canapa_red(...) + end +}) +minetest.register_biome({ + name = "canapa_swampr", + --node_dust = "", + node_top ={"default:desert_sand","summer:sabbia_mare"}, + depth_top = 1, + node_filler = "default:desert_sand", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + node_riverbed = "default:sand", + depth_riverbed = 2, + y_min = 1, + y_max =31000, + --heat_point = 0, + -- humidity_point = 1, + }) + + + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"summer:sabbia_mare","default:dirt_with_grass","default:desert_sand","default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 1, + octaves = 3, + persist = 1.5 + }, + biomes = {"canapa_swampr"}, + y_min = 1, + y_max = 5, + decoration = "cannabis:canapa_red", + height = 5, + height_max = 5, + spawn_by ={ "default:desert_sand","default:sand"}, + num_spawn_by = 1, + }) + + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt","default:dirt_with_grass","default:desert_sand","default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + biomes = {"canapa_swampr"}, + y_min = 0, + y_max = 31000, + schematic = path .. "/schematics/canapa.mts", + }) + + +minetest.register_node('cannabis:seedling_r', { + description = S("Hemp red(seedling)"), + drawtype = 'plantlike', + waving = 1, + tiles = { '1hemp_seedling_red.png' }, + inventory_image = '1hemp_seedling_red.png', + wield_image = '1hemp_seedling_red.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + buildable_to = true, +}) + +minetest.register_node('cannabis:sproutling_r', { + description = S("Hemp red (sproutling)"), + drawtype = 'plantlike', + waving = 1, + tiles = { 'hemp_sproutling_red.png' }, + inventory_image = 'hemp_sproutling_red.png', + wield_image = 'hemp_sproutling_red.png', + sunlight_propagates = true, + paramtype = 'light', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + buildable_to = true, +}) + +minetest.register_node('cannabis:climbing_r', { + description = S("Hemp red (climbing plant)"), + drawtype = 'signlike', + tiles = { 'hemp_climbing_red.png' }, + inventory_image = 'hemp_climbing_red.png', + wield_image = 'hemp_climbing_red.png', + sunlight_propagates = true, + paramtype = 'light', + paramtype2 = 'wallmounted', + walkable = false, + groups = { snappy = 3, poisonivy=1, flora_block=1 }, + sounds = "cannabis_canapa_s3", + selection_box = { + type = "wallmounted", + --wall_side = = + }, + buildable_to = true, +}) diff --git a/craftitem.lua b/craftitem.lua new file mode 100644 index 0000000..e2bd7de --- /dev/null +++ b/craftitem.lua @@ -0,0 +1,219 @@ +-- get Boilerplate for Translations +local S = cannabis.S + +--craft item :fiber, fuel, plastic, paper,flower,oil,flour,bred,raisin,seed,leaves + +minetest.register_craftitem("cannabis:canapa_fiber", { + description = S("Fiber"), + inventory_image = "cannabis_canapa_fiber.png", +}) +minetest.register_craftitem("cannabis:canapa_fuel", { + description = S("Fuel"), + inventory_image = "cannabis_fuel.png", +}) + +minetest.register_craftitem("cannabis:canapa_plastic", { + description = S("Plastic"), + inventory_image = "cannabis_plastic.png", +}) + +minetest.register_craftitem("cannabis:canapa_paper", { + description = S("Paper"), + inventory_image = "cannabis_paper.png", +}) +minetest.register_craftitem("cannabis:canapa_flour", { + description = S("Flour"), + inventory_image = "cannabis_canapa_flour.png", +}) + +minetest.register_craftitem("cannabis:canapa_bread", { + description = S("Bread"), + inventory_image = "cannabis_canapa_bread.png", + on_use = minetest.item_eat(10), +}) + +minetest.register_craftitem("cannabis:canapa_seed", { + description = S("Hemp Seed"), + inventory_image = "cannabis_canapa_seed.png", + on_use = minetest.item_eat(10), +}) + +minetest.register_craftitem("cannabis:canapa_leaves", { + description = S("Hemp Leaves"), + inventory_image = "cannabis_canapa_leaves.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craftitem("cannabis:canapa_flower", { + description = S("Hemp Flower"), + inventory_image = "cannabis_canapa_flower.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craftitem("cannabis:canapa_raisin", { + description = S("Hemp Raisin"), + inventory_image = "cannabis_canapa_raisin.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craftitem("cannabis:canapa_oil", { + description = S("Hemp Oil"), + inventory_image = "cannabis_canapa_oil.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craftitem("cannabis:canapa_glue", { + description = S("Hemp Glue"), + inventory_image = "cannabis_canapa_glue.png", + on_use = minetest.item_eat(1), +}) + +--crafting + +minetest.register_craft({ + output = "cannabis:canapa_oil 4 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_flower","cannabis:canapa_raisin","cannabis:canapa_flower"}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_fuel 4 ", + recipe ={ + {"cannabis:canapa","cannabis:canapa",""}, + {"cannabis:canapa","cannabis:canapa",""}, + {"cannabis:canapa","cannabis:canapa",""}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_plastic 8 ", + recipe ={ + {"cannabis:canapa","cannabis:canapa","cannabis:canapa"}, + {"cannabis:canapa","cannabis:canapa","cannabis:canapa"}, + } +}) + + + minetest.register_craft({ + output = "cannabis:canapa_glue 10 ", + recipe = { + {"cannabis:canapa_plastic","cannabis:canapa_raisin","cannabis:canapa_plastic"}, + {"cannabis:canapa_raisin","cannabis:canapa_oil","cannabis:canapa_raisin"}, + {"cannabis:canapa_plastic","cannabis:canapa_raisin","cannabis:canapa_plastic"}, + } +}) + minetest.register_craft({ + output = "cannabis:climbing ", + recipe = { + {"cannabis:canapa_leaves","cannabis:canapa_leaves","cannabis:canapa_leaves"}, + {"cannabis:canapa_leaves","cannabis:canapa_leaves","cannabis:canapa_leaves"}, + {"cannabis:canapa_leaves","cannabis:canapa_leaves","cannabis:canapa_leaves"}, + } +}) + minetest.register_craft({ + output = "cannabis:hp_block_canapa 4 ", + recipe = { + {"cannabis:canapa_fiber","cannabis:canapa_glue","cannabis:canapa_fiber"}, + {"cannabis:canapa_glue","cannabis:canapa_fiber","cannabis:canapa_glue"}, + {"cannabis:canapa_fiber","cannabis:canapa_glue","cannabis:canapa_fiber"}, + } +}) + + + minetest.register_craft({ + output = "cannabis:canapa_raisin 3 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_flower","cannabis:canapa_flower",""}, + } +}) + + +minetest.register_craft({ + output = "cannabis:canapa_flower 5 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_leaves","cannabis:canapa_leaves",""}, + } +}) + + +minetest.register_craft({ + output = "cannabis:canapa_seed 10 ", + recipe = { + {"cannabis:canapa","",""}, + {"","cannabis:canapa",""}, + {"","","cannabis:canapa"}, + } +}) + + +minetest.register_craft({ + output = "cannabis:canapa_fiber 10 ", + recipe = { + {"","","cannabis:canapa"}, + {"","cannabis:canapa",""}, + {"cannabis:canapa","",""}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_paper 6 ", + recipe = { + {"cannabis:canapa", "cannabis:canapa", "cannabis:canapa" + }, + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "cannabis:canapa", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "cannabis:canapa_fuel", + burntime = 50, +}) + + + +minetest.register_craft({ + type = "shapeless", + output = "cannabis:canapa_flour 4", + recipe = {"cannabis:canapa_seed", "cannabis:canapa_seed", "cannabis:canapa_seed", "cannabis:canapa_seed"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 10, + output = "cannabis:canapa_bread", + recipe = "cannabis:canapa_flour" +}) + minetest.register_craft({ + output = "cannabis:cannabis_foglie_block 5 ", + recipe = { + {"cannabis:climbing","cannabis:climbing","cannabis:climbing"}, + {"cannabis:climbing","cannabis:climbing","cannabis:climbing"}, + {"cannabis:climbing","cannabis:climbing","cannabis:climbing"}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "cannabis:climbing 9", + recipe = {"cannabis:cannabis_foglie_block","",""} +}) + +minetest.register_craft({ + type = "shapeless", + output = "cannabis:mixed_hr_ingot 3", + recipe = {"cannabis:fibra_ingot", "cannabis:foglie_ingot", "cannabis:tessuto_ingot"} +}) + diff --git a/craftred.lua b/craftred.lua new file mode 100644 index 0000000..e1ed625 --- /dev/null +++ b/craftred.lua @@ -0,0 +1,163 @@ +-- get Boilerplate for Translations +local S = cannabis.S + +minetest.register_craftitem("cannabis:canapa_red_seed", { + description = S("Hemp Seed"), + inventory_image = "cannabis_canapa_red_seed.png", + on_use = minetest.item_eat(10), +}) + +minetest.register_craftitem("cannabis:canapa_red_leaves", { + description = S("Hemp Leaves"), + inventory_image = "cannabis_canapa_red_leaves.png", + on_use = minetest.item_eat(5), +}) + +minetest.register_craftitem("cannabis:canapa_red_flower", { + description = S("Hemp red Flower"), + inventory_image = "cannabis_canapa_red_flower.png", + on_use = minetest.item_eat(5), +}) +------------------------------------------------------------------- + +minetest.register_craft({ + output = "cannabis:canapa_oil 4 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_red_flower","cannabis:canapa_red_raisin","cannabis:canapa_red_flower"}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_fuel 4 ", + recipe ={ + {"cannabis:canapa_red","cannabis:canapa_red",""}, + {"cannabis:canapa_red","cannabis:canapa_red",""}, + {"cannabis:canapa_red","cannabis:canapa_red",""}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_plastic 8 ", + recipe ={ + {"cannabis:canapa_red","cannabis:canapa_red","cannabis:canapa_red"}, + {"cannabis:canapa_red","cannabis:canapa_red","cannabis:canapa_red"}, + } +}) + + + minetest.register_craft({ + output = "cannabis:canapa_glue 10 ", + recipe = { + {"cannabis:canapa_red_plastic","cannabis:canapa_red_raisin","cannabis:canapa_red_plastic"}, + {"cannabis:canapa_red_raisin","cannabis:canapa_red_oil","cannabis:canapa_red_raisin"}, + {"cannabis:canapa_red_plastic","cannabis:canapa_red_raisin","cannabis:canapa_red_plastic"}, + } +}) + + minetest.register_craft({ + output = "cannabis:hp_block_canapa 4 ", + recipe = { + {"cannabis:canapa_red_fiber","cannabis:canapa_red_glue","cannabis:canapa_red_fiber"}, + {"cannabis:canapa_red_glue","cannabis:canapa_red_fiber","cannabis:canapa_red_glue"}, + {"cannabis:canapa_red_fiber","cannabis:canapa_red_glue","cannabis:canapa_red_fiber"}, + } +}) + + + minetest.register_craft({ + output = "cannabis:canapa_raisin 3 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_red_flower","cannabis:canapa_red_flower",""}, + } +}) + minetest.register_craft({ + output = "cannabis:climbing_r ", + recipe = { + {"cannabis:canapa_red_leaves","cannabis:canapa_red_leaves","cannabis:canapa_red_leaves"}, + {"cannabis:canapa_red_leaves","cannabis:canapa_red_leaves","cannabis:canapa_red_leaves"}, + {"cannabis:canapa_red_leaves","cannabis:canapa_red_leaves","cannabis:canapa_red_leaves"}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_red_flower 5 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_red_leaves","cannabis:canapa_red_leaves",""}, + } +}) + + +minetest.register_craft({ + output = "cannabis:canapa_red_seed 10 ", + recipe = { + {"cannabis:canapa_red","",""}, + {"","cannabis:canapa_red",""}, + {"","","cannabis:canapa_red"}, + } +}) + + +minetest.register_craft({ + output = "cannabis:canapa_fiber 10 ", + recipe = { + {"","","cannabis:canapa_red"}, + {"","cannabis:canapa_red",""}, + {"cannabis:canapa_red","",""}, + } +}) + +minetest.register_craft({ + output = "cannabis:canapa_paper 6 ", + recipe = { + {"cannabis:canapa_red", "cannabis:canapa_red", "cannabis:canapa_red" + }, + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "cannabis:canapa_red", + burntime = 15, +}) + + + + +minetest.register_craft({ + type = "shapeless", + output = "cannabis:canapa_red_flour 4", + recipe = {"cannabis:canapa_red_seed", "cannabis:canapa_red_seed", "cannabis:canapa_red_seed", "cannabis:canapa_red_seed"} +}) + +minetest.register_craft({ + type = "cooking", + cooktime = 10, + output = "cannabis:canapa_bread", + recipe = "cannabis:canapa_flour" +}) + + minetest.register_craft({ + output = "cannabis:cannabis_foglie_red_block ", + recipe = { + {"cannabis:climbing_r","cannabis:climbing_r","cannabis:climbing_r"}, + {"cannabis:climbing_r","cannabis:climbing_r","cannabis:climbing_r"}, + {"cannabis:climbing_r","cannabis:climbing_r","cannabis:climbing_r"}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = "cannabis:mixed_hr_ingot 3", + recipe = {"cannabis:fibra_ingot", "cannabis:foglie_ingot", "cannabis:tessuto_ingot"} +}) +minetest.register_craft({ + type = "shapeless", + output = "cannabis:climbing_r 9", + recipe = {"cannabis:cannabis_foglie_red_block", "", ""} +}) diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..ff70141 --- /dev/null +++ b/depends.txt @@ -0,0 +1,9 @@ +default +fire + +3d_armor? +maptools? + + + + diff --git a/i18n.py b/i18n.py new file mode 100644 index 0000000..5e87937 --- /dev/null +++ b/i18n.py @@ -0,0 +1,426 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Script to generate the template file and update the translation files. +# Copy the script into the mod or modpack root folder and run it there. +# +# Copyright (C) 2019 Joachim Stolberg, 2020 FaceDeer, 2020 Louis Royer +# LGPLv2.1+ +# +# See https://github.com/minetest-tools/update_translations for +# potential future updates to this script. + +from __future__ import print_function +import os, fnmatch, re, shutil, errno +from sys import argv as _argv + +# Running params +params = {"recursive": False, + "help": False, + "mods": False, + "verbose": False, + "folders": [], + "no-old-file": False +} +# Available CLI options +options = {"recursive": ['--recursive', '-r'], + "help": ['--help', '-h'], + "mods": ['--installed-mods'], + "verbose": ['--verbose', '-v'], + "no-old-file": ['--no-old-file'] +} + +# Strings longer than this will have extra space added between +# them in the translation files to make it easier to distinguish their +# beginnings and endings at a glance +doublespace_threshold = 60 + +def set_params_folders(tab: list): + '''Initialize params["folders"] from CLI arguments.''' + # Discarding argument 0 (tool name) + for param in tab[1:]: + stop_param = False + for option in options: + if param in options[option]: + stop_param = True + break + if not stop_param: + params["folders"].append(os.path.abspath(param)) + +def set_params(tab: list): + '''Initialize params from CLI arguments.''' + for option in options: + for option_name in options[option]: + if option_name in tab: + params[option] = True + break + +def print_help(name): + '''Prints some help message.''' + print(f'''SYNOPSIS + {name} [OPTIONS] [PATHS...] +DESCRIPTION + {', '.join(options["help"])} + prints this help message + {', '.join(options["recursive"])} + run on all subfolders of paths given + {', '.join(options["mods"])} + run on locally installed modules + {', '.join(options["no-old-file"])} + do not create *.old files + {', '.join(options["verbose"])} + add output information +''') + + +def main(): + '''Main function''' + set_params(_argv) + set_params_folders(_argv) + if params["help"]: + print_help(_argv[0]) + elif params["recursive"] and params["mods"]: + print("Option --installed-mods is incompatible with --recursive") + else: + # Add recursivity message + print("Running ", end='') + if params["recursive"]: + print("recursively ", end='') + # Running + if params["mods"]: + print(f"on all locally installed modules in {os.path.abspath('~/.minetest/mods/')}") + run_all_subfolders("~/.minetest/mods") + elif len(params["folders"]) >= 2: + print("on folder list:", params["folders"]) + for f in params["folders"]: + if params["recursive"]: + run_all_subfolders(f) + else: + update_folder(f) + elif len(params["folders"]) == 1: + print("on folder", params["folders"][0]) + if params["recursive"]: + run_all_subfolders(params["folders"][0]) + else: + update_folder(params["folders"][0]) + else: + print("on folder", os.path.abspath("./")) + if params["recursive"]: + run_all_subfolders(os.path.abspath("./")) + else: + update_folder(os.path.abspath("./")) + +#group 2 will be the string, groups 1 and 3 will be the delimiters (" or ') +#See https://stackoverflow.com/questions/46967465/regex-match-text-in-either-single-or-double-quote +pattern_lua = re.compile(r'[\.=^\t,{\(\s]N?S\(\s*(["\'])((?:\\\1|(?:(?!\1)).)*)(\1)[\s,\)]', re.DOTALL) +pattern_lua_bracketed = re.compile(r'[\.=^\t,{\(\s]N?S\(\s*\[\[(.*?)\]\][\s,\)]', re.DOTALL) + +# Handles "concatenation" .. " of strings" +pattern_concat = re.compile(r'["\'][\s]*\.\.[\s]*["\']', re.DOTALL) + +pattern_tr = re.compile(r'(.+?[^@])=(.*)') +pattern_name = re.compile(r'^name[ ]*=[ ]*([^ \n]*)') +pattern_tr_filename = re.compile(r'\.tr$') +pattern_po_language_code = re.compile(r'(.*)\.po$') + +#attempt to read the mod's name from the mod.conf file. Returns None on failure +def get_modname(folder): + try: + with open(os.path.join(folder, "mod.conf"), "r", encoding='utf-8') as mod_conf: + for line in mod_conf: + match = pattern_name.match(line) + if match: + return match.group(1) + except FileNotFoundError: + pass + return None + +#If there are already .tr files in /locale, returns a list of their names +def get_existing_tr_files(folder): + out = [] + for root, dirs, files in os.walk(os.path.join(folder, 'locale/')): + for name in files: + if pattern_tr_filename.search(name): + out.append(name) + return out + +# A series of search and replaces that massage a .po file's contents into +# a .tr file's equivalent +def process_po_file(text): + # The first three items are for unused matches + text = re.sub(r'#~ msgid "', "", text) + text = re.sub(r'"\n#~ msgstr ""\n"', "=", text) + text = re.sub(r'"\n#~ msgstr "', "=", text) + # comment lines + text = re.sub(r'#.*\n', "", text) + # converting msg pairs into "=" pairs + text = re.sub(r'msgid "', "", text) + text = re.sub(r'"\nmsgstr ""\n"', "=", text) + text = re.sub(r'"\nmsgstr "', "=", text) + # various line breaks and escape codes + text = re.sub(r'"\n"', "", text) + text = re.sub(r'"\n', "\n", text) + text = re.sub(r'\\"', '"', text) + text = re.sub(r'\\n', '@n', text) + # remove header text + text = re.sub(r'=Project-Id-Version:.*\n', "", text) + # remove double-spaced lines + text = re.sub(r'\n\n', '\n', text) + return text + +# Go through existing .po files and, if a .tr file for that language +# *doesn't* exist, convert it and create it. +# The .tr file that results will subsequently be reprocessed so +# any "no longer used" strings will be preserved. +# Note that "fuzzy" tags will be lost in this process. +def process_po_files(folder, modname): + for root, dirs, files in os.walk(os.path.join(folder, 'locale/')): + for name in files: + code_match = pattern_po_language_code.match(name) + if code_match == None: + continue + language_code = code_match.group(1) + tr_name = modname + "." + language_code + ".tr" + tr_file = os.path.join(root, tr_name) + if os.path.exists(tr_file): + if params["verbose"]: + print(f"{tr_name} already exists, ignoring {name}") + continue + fname = os.path.join(root, name) + with open(fname, "r", encoding='utf-8') as po_file: + if params["verbose"]: + print(f"Importing translations from {name}") + text = process_po_file(po_file.read()) + with open(tr_file, "wt", encoding='utf-8') as tr_out: + tr_out.write(text) + +# from https://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python/600612#600612 +# Creates a directory if it doesn't exist, silently does +# nothing if it already exists +def mkdir_p(path): + try: + os.makedirs(path) + except OSError as exc: # Python >2.5 + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: raise + +# Converts the template dictionary to a text to be written as a file +# dKeyStrings is a dictionary of localized string to source file sets +# dOld is a dictionary of existing translations and comments from +# the previous version of this text +def strings_to_text(dkeyStrings, dOld, mod_name): + lOut = [f"# textdomain: {mod_name}\n"] + + dGroupedBySource = {} + + for key in dkeyStrings: + sourceList = list(dkeyStrings[key]) + sourceList.sort() + sourceString = "\n".join(sourceList) + listForSource = dGroupedBySource.get(sourceString, []) + listForSource.append(key) + dGroupedBySource[sourceString] = listForSource + + lSourceKeys = list(dGroupedBySource.keys()) + lSourceKeys.sort() + for source in lSourceKeys: + localizedStrings = dGroupedBySource[source] + localizedStrings.sort() + lOut.append("") + lOut.append(source) + lOut.append("") + for localizedString in localizedStrings: + val = dOld.get(localizedString, {}) + translation = val.get("translation", "") + comment = val.get("comment") + if len(localizedString) > doublespace_threshold and not lOut[-1] == "": + lOut.append("") + if comment != None: + lOut.append(comment) + lOut.append(f"{localizedString}={translation}") + if len(localizedString) > doublespace_threshold: + lOut.append("") + + + unusedExist = False + for key in dOld: + if key not in dkeyStrings: + val = dOld[key] + translation = val.get("translation") + comment = val.get("comment") + # only keep an unused translation if there was translated + # text or a comment associated with it + if translation != None and (translation != "" or comment): + if not unusedExist: + unusedExist = True + lOut.append("\n\n##### not used anymore #####\n") + if len(key) > doublespace_threshold and not lOut[-1] == "": + lOut.append("") + if comment != None: + lOut.append(comment) + lOut.append(f"{key}={translation}") + if len(key) > doublespace_threshold: + lOut.append("") + return "\n".join(lOut) + '\n' + +# Writes a template.txt file +# dkeyStrings is the dictionary returned by generate_template +def write_template(templ_file, dkeyStrings, mod_name): + # read existing template file to preserve comments + existing_template = import_tr_file(templ_file) + + text = strings_to_text(dkeyStrings, existing_template[0], mod_name) + mkdir_p(os.path.dirname(templ_file)) + with open(templ_file, "wt", encoding='utf-8') as template_file: + template_file.write(text) + + +# Gets all translatable strings from a lua file +def read_lua_file_strings(lua_file): + lOut = [] + with open(lua_file, encoding='utf-8') as text_file: + text = text_file.read() + #TODO remove comments here + + text = re.sub(pattern_concat, "", text) + + strings = [] + for s in pattern_lua.findall(text): + strings.append(s[1]) + for s in pattern_lua_bracketed.findall(text): + strings.append(s) + + for s in strings: + s = re.sub(r'"\.\.\s+"', "", s) + s = re.sub("@[^@=0-9]", "@@", s) + s = s.replace('\\"', '"') + s = s.replace("\\'", "'") + s = s.replace("\n", "@n") + s = s.replace("\\n", "@n") + s = s.replace("=", "@=") + lOut.append(s) + return lOut + +# Gets strings from an existing translation file +# returns both a dictionary of translations +# and the full original source text so that the new text +# can be compared to it for changes. +def import_tr_file(tr_file): + dOut = {} + text = None + if os.path.exists(tr_file): + with open(tr_file, "r", encoding='utf-8') as existing_file : + # save the full text to allow for comparison + # of the old version with the new output + text = existing_file.read() + existing_file.seek(0) + # a running record of the current comment block + # we're inside, to allow preceeding multi-line comments + # to be retained for a translation line + latest_comment_block = None + for line in existing_file.readlines(): + line = line.rstrip('\n') + if line[:3] == "###": + # Reset comment block if we hit a header + latest_comment_block = None + continue + if line[:1] == "#": + # Save the comment we're inside + if not latest_comment_block: + latest_comment_block = line + else: + latest_comment_block = latest_comment_block + "\n" + line + continue + match = pattern_tr.match(line) + if match: + # this line is a translated line + outval = {} + outval["translation"] = match.group(2) + if latest_comment_block: + # if there was a comment, record that. + outval["comment"] = latest_comment_block + latest_comment_block = None + dOut[match.group(1)] = outval + return (dOut, text) + +# Walks all lua files in the mod folder, collects translatable strings, +# and writes it to a template.txt file +# Returns a dictionary of localized strings to source file sets +# that can be used with the strings_to_text function. +def generate_template(folder, mod_name): + dOut = {} + for root, dirs, files in os.walk(folder): + for name in files: + if fnmatch.fnmatch(name, "*.lua"): + fname = os.path.join(root, name) + found = read_lua_file_strings(fname) + if params["verbose"]: + print(f"{fname}: {str(len(found))} translatable strings") + + for s in found: + sources = dOut.get(s, set()) + sources.add(f"### {os.path.basename(fname)} ###") + dOut[s] = sources + + if len(dOut) == 0: + return None + templ_file = os.path.join(folder, "locale/template.txt") + write_template(templ_file, dOut, mod_name) + return dOut + +# Updates an existing .tr file, copying the old one to a ".old" file +# if any changes have happened +# dNew is the data used to generate the template, it has all the +# currently-existing localized strings +def update_tr_file(dNew, mod_name, tr_file): + if params["verbose"]: + print(f"updating {tr_file}") + + tr_import = import_tr_file(tr_file) + dOld = tr_import[0] + textOld = tr_import[1] + + textNew = strings_to_text(dNew, dOld, mod_name) + + if textOld and textOld != textNew: + print(f"{tr_file} has changed.") + if not params["no-old-file"]: + shutil.copyfile(tr_file, f"{tr_file}.old") + + with open(tr_file, "w", encoding='utf-8') as new_tr_file: + new_tr_file.write(textNew) + +# Updates translation files for the mod in the given folder +def update_mod(folder): + modname = get_modname(folder) + if modname is not None: + process_po_files(folder, modname) + print(f"Updating translations for {modname}") + data = generate_template(folder, modname) + if data == None: + print(f"No translatable strings found in {modname}") + else: + for tr_file in get_existing_tr_files(folder): + update_tr_file(data, modname, os.path.join(folder, "locale/", tr_file)) + else: + print("Unable to find modname in folder " + folder) + +# Determines if the folder being pointed to is a mod or a mod pack +# and then runs update_mod accordingly +def update_folder(folder): + is_modpack = os.path.exists(os.path.join(folder, "modpack.txt")) or os.path.exists(os.path.join(folder, "modpack.conf")) + if is_modpack: + subfolders = [f.path for f in os.scandir(folder) if f.is_dir()] + for subfolder in subfolders: + update_mod(subfolder + "/") + else: + update_mod(folder) + print("Done.") + +def run_all_subfolders(folder): + for modfolder in [f.path for f in os.scandir(folder) if f.is_dir()]: + update_folder(modfolder + "/") + + +main() diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..a589dd5 --- /dev/null +++ b/init.lua @@ -0,0 +1,30 @@ +--aliases +--minetest.get_modpath("cannabis") +minetest.register_alias("canapa","cannabis:canapa") + +--tools +cannabis = {} -- A global Object for the mod +cannabis.path = minetest.get_modpath("cannabis") -- The path of the mod +local path = cannabis.path + +-- Get Boilerplate to translate +local S +if(minetest.get_translator) then + S = minetest.get_translator(minetest.get_current_modname()) + +else + S = function ( s ) return s end + +end + +cannabis.S = S -- Stores the boilerplate for global access + +dofile(path.."/tools.lua") +dofile(path.."/canapa.lua") +dofile(path.."/node_ingot.lua") +dofile(path.."/craftitem.lua") +dofile(path.."/armor.lua") +dofile(path.."/joint.lua") +dofile(path.."/canapa_rossa.lua") +dofile(path.."/craftred.lua") +dofile(path.."/rope.lua") diff --git a/joint.lua b/joint.lua new file mode 100644 index 0000000..f638f34 --- /dev/null +++ b/joint.lua @@ -0,0 +1,185 @@ +-- get Boilerplate for Translations +local S = cannabis.S + + minetest.register_craftitem("cannabis:joint_fumo_acceso", { + description = S("Joint fumo acceso"), + inventory_image = "joint_joint_fac.png", + stack_max = 1 , + on_use = function(itemstack, user, pointed_thing) + itemstack:add_wear(1000) + return itemstack + end + + }) + minetest.register_craftitem("cannabis:joint_erba_spento", { + description = S("Joint erba spento"), + inventory_image = "joint_joint_csp.png", + + }) + minetest.register_craftitem("cannabis:joint_fumo_spento", { + description = S("Joint fumo spento"), + inventory_image = "joint_joint_fsp.png", + + }) + minetest.register_craftitem("cannabis:joint_cima", { + description = S("Joint cima triturata"), + inventory_image = "joint_cima_s.png", + + }) + minetest.register_craftitem("cannabis:joint_fumo", { + description = S("Joint fumo triturato"), + inventory_image = "joint_fumo_s.png", + + }) + minetest.register_craftitem("cannabis:joint_cartina", { + description = S("Joint cartina"), + inventory_image = "joint_cartina.png", + + }) + minetest.register_craftitem("cannabis:joint_cartina_cima", { + description = S("Joint cartina con erba"), + inventory_image = "joint_cartina_cima.png", + + }) + minetest.register_craftitem("cannabis:joint_cartina_fumo", { + description = S("Joint cartina con fumo"), + inventory_image = "joint_cartina_fumo.png", + + }) + minetest.register_craftitem("cannabis:joint_filter_box", { + description = S("Joint filter confezione"), + inventory_image = "joint_filter_p.png", + + }) + minetest.register_craftitem("cannabis:joint_filter", { + description = S("Joint filto"), + inventory_image = "joint_filter.png", + + }) + minetest.register_craftitem("cannabis:joint_accendino", { + description = S("Joint accendino"), + inventory_image = "joint_accendino.png", + + }) + --______________________________________________________________________________ + --craft + --______________________________________________________________________________ + minetest.register_craft({ + output = "cannabis:joint_fumo 3 ", + recipe = { + {"","",""}, + {"","cannabis:canapa_raisin",""}, + {"","cannabis:joint_accendino",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_cima 3 ", + recipe = { + {"","cannabis:canapa_leaves",""}, + {"","cannabis:canapa_flower",""}, + {"","cannabis:canapa_leaves",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_accendino 5 ", + recipe = { + {"default:steel_ingot","fire:flint_and_steel","cannabis:canapa_plastic"}, + {"cannabis:canapa_plastic","cannabis:canapa_fuel","cannabis:canapa_plastic"}, + {"cannabis:canapa_plastic","cannabis:canapa_plastic","cannabis:canapa_plastic"}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_cartina 10 ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:canapa_paper","cannabis:canapa_paper","cannabis:canapa_paper"}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_cartina_cima ", + recipe = { + {"","",""}, + {"","cannabis:joint_cima",""}, + {"","cannabis:joint_cartina",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_cartina_fumo ", + recipe = { + {"","",""}, + {"","cannabis:joint_fumo","cannabis:canapa_leaves"}, + {"","cannabis:joint_cartina",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_filter_box ", + recipe = { + {"","",""}, + {"cannabis:canapa_paper","cannabis:canapa_paper",""}, + {"cannabis:canapa_paper","cannabis:canapa_paper",""}, + } +}) + minetest.register_craft({ + type = "shapeless", + output = "cannabis:joint_filter 10 ", + recipe = {"cannabis:joint_filter_box", "", "", ""} +}) + minetest.register_craft({ + output = "cannabis:joint_fumo_spento ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:joint_filter","cannabis:joint_cartina_fumo",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_erba_spento ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:joint_filter","cannabis:joint_cartina_cima",""}, + } +}) + minetest.register_craft({ + output = "cannabis:joint_fumo_acceso ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:joint_fumo_spento","cannabis:joint_accendino",""}, + } +}) +minetest.register_craft({ + output = "cannabis:joint_erba_acceso ", + recipe = { + {"","",""}, + {"","",""}, + {"cannabis:joint_erba_spento","cannabis:joint_accendino",""}, + } +}) +----------------------------------------- +--local smokeCOLOR = { + -- green = { a=64, r=1, g=255, b=1 } , + -- blue = { a=64, r=1, g=1, b=25 }, +--} + +-- Iterate through waters. +-- Color wll be the key (green or blue) +-- underwatercolor will be the value (one of the tables above) +--for color, smokecolor in pairs(smokeCOLOR) do + -- water + minetest.register_craftitem("cannabis:joint_erba_acceso", { + description = S("Joint erba acceso"), + inventory_image = "joint_joint_cac.png", + stack_max = 1 , + -- post_effect_color = smokeCOLOR, + on_use = function(itemstack, user, pointed_thing) + + itemstack:add_wear(1000) + return itemstack + + + end + }) + +--end diff --git a/locale/cannabis.de.tr b/locale/cannabis.de.tr new file mode 100644 index 0000000..cfaf715 --- /dev/null +++ b/locale/cannabis.de.tr @@ -0,0 +1,103 @@ +# textdomain: cannabis + + +### armor.lua ### + + Boots= Stiefel + Chestplate= Brustpanzer + Helmet= Helm + Hemp Shield= Hanfschild + Leggings= Hose + +### canapa.lua ### + +Hemp=Hanf +Hemp (climbing plant)=Hanf (kletternde Pflanze) +Hemp (seedling)=Hanf (Sämling) +Hemp (sproutling)=Hanf (Sprießend) + +### canapa_rossa.lua ### + +Hemp red=Roter Hanf +Hemp red (climbing plant)=Roter Hanf (kletternde Pflanze) +Hemp red (sproutling)=Roter Hanf (Sämling) +Hemp red(seedling)=Roter Hanf (Sprießend) + +### craftitem.lua ### + +Bread=Brot +Fiber=Faser +Flour=Mehl +Fuel=Kraftstoff +Hemp Flower=Hanfblume +Hemp Glue=Hanfkleber +Hemp Oil=Hanföl +Hemp Raisin=Hanfrosine +Paper=Papier +Plastic=Plastik + +### craftitem.lua ### +### craftred.lua ### + +Hemp Leaves=Hanfblätter +Hemp Seed=Hanfsamen + +### craftred.lua ### + +Hemp red Flower=Roter Hanf Blüte + +### joint.lua ### + +Joint accendino= +Joint cartina= +Joint cartina con erba= +Joint cartina con fumo= +Joint cima triturata= +Joint erba acceso= +Joint erba spento= +Joint filter confezione= +Joint filto= +Joint fumo acceso= +Joint fumo spento= +Joint fumo triturato= + +### node_ingot.lua ### + +Adminh Block=Adminh Block +Adminh Ingot=Adminh Barren +Fabric Block=Stoffblock +Fabric Ingot=Stoffbarren +Fiber Block=Faserblock +Fiber Ingot=Faserbarren +High Performance Block=Hochwertiger Block +High Performance Block Hemp=Hochwertiger Hanfblock +High Performance Ingot=Hochwertiger Barren +Leaves Block=Blätterblock +Leaves Ingot=Blätterbarren +Mixed HR Ingot=Gemischter HR Barren +Red Leaves Block=Roter Blätterblock + +### tools.lua ### + +Hemp Admin High Performance Sword=Hanf Admin hochwertiges Schwert +Hemp Adminh Pickaxe=Hanf Admin hochwertige Spitzhacke +Hemp Bronze Axe= Hanf Bronze Axt +Hemp Bronze Pickaxe=Hanf Bronze Spitzhacke +Hemp Bronze Shovel=Hanf Bronze Schaufel +Hemp Bronze Sword=Hanf Bronze Schaufel +Hemp Diamond Axe=Hanf Diamant Axt +Hemp Diamond Pickaxe=Hanf Diamant Spitzhacke +Hemp Diamond Shovel=Hanf Diamant Schaufel +Hemp Diamond Sword=Hanf Diamant Schwert +Hemp High Performance Axe=Hanf Hochwertige Axt +Hemp High Performance Sword=Hanf Hochwertiges Schwert +Hemp High Pickaxe=Hanf hochwertige Spitzhacke +Hemp High Shovel=Hanf hochwertige Schaufel +Hemp Mese Axe=Hanf Mese Axt +Hemp Mese Pickaxe=Hanf Mese Spitzhacke +Hemp Mese Shovel=Hanf Mese Schaufel +Hemp Mese Sword=Hanf Mese Schwert +Hemp Steel Axe=Hanf Eisen Axt +Hemp Steel Pickaxe=Hanf Eisen Spitzhacke +Hemp Steel Shovel=Hanf Eisen Schaufel +Hemp Steel Sword=Hanf Eisen Schwert diff --git a/locale/cannabis.it.tr b/locale/cannabis.it.tr new file mode 100644 index 0000000..7c5217b --- /dev/null +++ b/locale/cannabis.it.tr @@ -0,0 +1,103 @@ +# textdomain: cannabis + + +### armor.lua ### + + Boots= + Chestplate= + Helmet= + Hemp Shield= + Leggings= + +### canapa.lua ### + +Hemp=Canapa +Hemp (climbing plant)= +Hemp (seedling)= +Hemp (sproutling)= + +### canapa_rossa.lua ### + +Hemp red=Canapa rosso +Hemp red (climbing plant)= +Hemp red (sproutling)= +Hemp red(seedling)= + +### craftitem.lua ### + +Bread=Pane +Fiber= +Flour= +Fuel= +Hemp Flower= +Hemp Glue= +Hemp Oil= +Hemp Raisin= +Paper= +Plastic= + +### craftitem.lua ### +### craftred.lua ### + +Hemp Leaves= +Hemp Seed= + +### craftred.lua ### + +Hemp red Flower= + +### joint.lua ### + +Joint accendino=Joint accendino +Joint cartina=Joint cartina +Joint cartina con erba=Joint cartina con erba +Joint cartina con fumo=Joint cartina con fumo +Joint cima triturata=Joint cima triturata +Joint erba acceso=Joint erba acceso +Joint erba spento=Joint erba spento +Joint filter confezione=Joint filter confezione +Joint filto=Joint filto +Joint fumo acceso=Joint fumo acceso +Joint fumo spento=Joint fumo spento +Joint fumo triturato=Joint fumo triturato + +### node_ingot.lua ### + +Adminh Block= +Adminh Ingot= +Fabric Block= +Fabric Ingot= +Fiber Block= +Fiber Ingot= +High Performance Block= +High Performance Block Hemp= +High Performance Ingot= +Leaves Block= +Leaves Ingot= +Mixed HR Ingot= +Red Leaves Block= + +### tools.lua ### + +Hemp Admin High Performance Sword= +Hemp Adminh Pickaxe= +Hemp Bronze Axe= +Hemp Bronze Pickaxe= +Hemp Bronze Shovel= +Hemp Bronze Sword= +Hemp Diamond Axe= +Hemp Diamond Pickaxe= +Hemp Diamond Shovel= +Hemp Diamond Sword= +Hemp High Performance Axe= +Hemp High Performance Sword= +Hemp High Pickaxe= +Hemp High Shovel= +Hemp Mese Axe= +Hemp Mese Pickaxe= +Hemp Mese Shovel= +Hemp Mese Sword= +Hemp Steel Axe= +Hemp Steel Pickaxe= +Hemp Steel Shovel= +Hemp Steel Sword= diff --git a/locale/template.txt b/locale/template.txt new file mode 100644 index 0000000..3445c29 --- /dev/null +++ b/locale/template.txt @@ -0,0 +1,103 @@ +# textdomain: cannabis + + +### armor.lua ### + + Boots= + Chestplate= + Helmet= + Hemp Shield= + Leggings= + +### canapa.lua ### + +Hemp= +Hemp (climbing plant)= +Hemp (seedling)= +Hemp (sproutling)= + +### canapa_rossa.lua ### + +Hemp red= +Hemp red (climbing plant)= +Hemp red (sproutling)= +Hemp red(seedling)= + +### craftitem.lua ### + +Bread= +Fiber= +Flour= +Fuel= +Hemp Flower= +Hemp Glue= +Hemp Oil= +Hemp Raisin= +Paper= +Plastic= + +### craftitem.lua ### +### craftred.lua ### + +Hemp Leaves= +Hemp Seed= + +### craftred.lua ### + +Hemp red Flower= + +### joint.lua ### + +Joint accendino= +Joint cartina= +Joint cartina con erba= +Joint cartina con fumo= +Joint cima triturata= +Joint erba acceso= +Joint erba spento= +Joint filter confezione= +Joint filto= +Joint fumo acceso= +Joint fumo spento= +Joint fumo triturato= + +### node_ingot.lua ### + +Adminh Block= +Adminh Ingot= +Fabric Block= +Fabric Ingot= +Fiber Block= +Fiber Ingot= +High Performance Block= +High Performance Block Hemp= +High Performance Ingot= +Leaves Block= +Leaves Ingot= +Mixed HR Ingot= +Red Leaves Block= + +### tools.lua ### + +Hemp Admin High Performance Sword= +Hemp Adminh Pickaxe= +Hemp Bronze Axe= +Hemp Bronze Pickaxe= +Hemp Bronze Shovel= +Hemp Bronze Sword= +Hemp Diamond Axe= +Hemp Diamond Pickaxe= +Hemp Diamond Shovel= +Hemp Diamond Sword= +Hemp High Performance Axe= +Hemp High Performance Sword= +Hemp High Pickaxe= +Hemp High Shovel= +Hemp Mese Axe= +Hemp Mese Pickaxe= +Hemp Mese Shovel= +Hemp Mese Sword= +Hemp Steel Axe= +Hemp Steel Pickaxe= +Hemp Steel Shovel= +Hemp Steel Sword= diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..5fd0a19 --- /dev/null +++ b/mod.conf @@ -0,0 +1,3 @@ +name = cannabis +depends = default, fire +optional_default = 3d_armor, maptools diff --git a/node_ingot.lua b/node_ingot.lua new file mode 100644 index 0000000..df483f9 --- /dev/null +++ b/node_ingot.lua @@ -0,0 +1,193 @@ +-- get Boilerplate for Translations +local S = cannabis.S + +minetest.register_craftitem("cannabis:mixed_hr_ingot", { + description = S("Mixed HR Ingot"), + inventory_image = "cannabis_mixed_hr_ingot.png", +}) + +minetest.register_craftitem(":cannabis:fibra_ingot", { + description = S("Fiber Ingot"), + inventory_image = "cannabis_fibra_ingot.png", +}) +minetest.register_craftitem(":cannabis:foglie_ingot", { + description = S("Leaves Ingot"), + inventory_image = "cannabis_foglie_ingot.png", +}) +minetest.register_craftitem("cannabis:high_performance_ingot", { + description = S("High Performance Ingot"), + inventory_image = "cannabis_high_performance_ingot.png", +}) +minetest.register_craftitem(":cannabis:tessuto_ingot", { + description = S("Fabric Ingot"), + inventory_image = "cannabis_tessuto_ingot.png", +}) +minetest.register_craftitem(":cannabis:adminh_ingot", { + description = S("Adminh Ingot"), + inventory_image = "cannabis_adminh_ingot.png", +}) +local function for_each_registered_item(action) + local already_reg = {} + for k, _ in pairs(minetest.registered_items) do + table.insert(already_reg, k) + end + local really_register_craftitem = minetest.register_craftitem + minetest.register_craftitem = function(name, def) + really_register_craftitem(name, def) + action(string.gsub(name, "^:", "")) + end + local really_register_tool = minetest.register_tool + minetest.register_tool = function(name, def) + really_register_tool(name, def) + action(string.gsub(name, "^:", "")) + end + local really_register_node = minetest.register_node + minetest.register_node = function(name, def) + really_register_node(name, def) + action(string.gsub(name, "^:", "")) + end + for _, name in ipairs(already_reg) do + action(name) + end +end + +local function register_block(block, ingot) + minetest.register_craft({ + output = block, + recipe = { + {ingot, ingot, ingot}, + {ingot, ingot, ingot}, + {ingot, ingot, ingot}, + } + }) + + minetest.register_craft({ + output = ingot.." 9", + recipe = { + {block} + } + }) +end + +register_block("cannabis:cannabis_fibra_block", "cannabis:fibra_ingot") +register_block("cannabis:cannabis_high_performance_block", "cannabis:high_performance_ingot") +register_block("cannabis:cannabis_tessuto_block", "cannabis:tessuto_ingot") +--register_block("cannabis:cannabis_foglie_block", "cannabis:foglie_ingot") +register_block("cannabis:cannabis_adminh_block", "cannabis:adminh_ingot") + +minetest.register_node("cannabis:hp_block_canapa", + { + description = S("High Performance Block Hemp"), + tiles = {"hp_block_canapa.png"}, + is_ground_content = false, + groups = {choppy = 30, oddly_breakable_by_hand = 1, flammable = 3, wood = 1}, + sounds = "cannabis:cannabis_canapa_s2", +}) + +minetest.register_node("cannabis:cannabis_foglie_block", { + description = S("Leaves Block"), + tiles = { "cannabis_foglie_block.png" }, + is_ground_content = false, + groups = {cracky=1, level=2}, + sounds = "cannabis:cannabis_canapa_s3" +}) +minetest.register_node("cannabis:cannabis_foglie_red_block", { + description = S("Red Leaves Block"), + tiles = { "cannabis_foglie_red_block.png" }, + is_ground_content = false, + groups = {cracky=1, level=2}, + sounds = "cannabis:cannabis_canapa_s3" +}) +minetest.register_node("cannabis:cannabis_tessuto_block", { + description = S("Fabric Block"), + tiles = { "cannabis_tessuto_block.png" }, + is_ground_content = false, + groups = {cracky=1, level=2}, + sounds = "cannabis_canapa_s3" +}) + + +minetest.register_node("cannabis:cannabis_high_performance_block", { + description = S("High Performance Block"), + tiles = { "cannabis_high_performance_block.png" }, + is_ground_content = false, + groups = {cracky=1, level=2}, + sounds = "cannabis_canapa_s3" +}) +minetest.register_node("cannabis:cannabis_fibra_block", { + description = S("Fiber Block"), + tiles = { "cannabis_fibra_block.png" }, + is_ground_content = false, + groups = {cracky=1, level=2}, + sounds = "cannabis_canapa_s3" +}) +minetest.register_node("cannabis:cannabis_adminh_block", { + description = S("Adminh Block"), + tiles = { "cannabis_adminh_block.png" }, + is_ground_content = false, + groups = {unbreackable =1}, + sounds = "cannabis:cannabis_canapa_s3" +}) + +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_fiber", + output = "cannabis:fibra_ingot", +}) + + +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_leaves", + output = "cannabis:foglie_ingot", +}) + +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_paper", + output = "cannabis:tessuto_ingot", +}) + +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_plastic", + cooktime = 2, + output = "cannabis:high_performance_ingot", +}) +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_oil", + cooktime = 1000, + output = "cannabis:adminh_ingot", +}) +minetest.register_craft({ + type = 'cooking', + recipe = "cannabis:canapa_red_oil", + cooktime = 1000, + output = "cannabis:adminh_ingot", +}) + +local function for_each_registered_item(action) + local already_reg = {} + for k, _ in pairs(minetest.registered_items) do + table.insert(already_reg, k) + end + local really_register_craftitem = minetest.register_craftitem + minetest.register_craftitem = function(name, def) + really_register_craftitem(name, def) + action(string.gsub(name, "^:", "")) + end + local really_register_tool = minetest.register_tool + minetest.register_tool = function(name, def) + really_register_tool(name, def) + action(string.gsub(name, "^:", "")) + end + local really_register_node = minetest.register_node + minetest.register_node = function(name, def) + really_register_node(name, def) + action(string.gsub(name, "^:", "")) + end + for _, name in ipairs(already_reg) do + action(name) + end +end diff --git a/rope.lua b/rope.lua new file mode 100644 index 0000000..5b49ad9 --- /dev/null +++ b/rope.lua @@ -0,0 +1,10 @@ +if minetest.get_modpath("ropes") then + minetest.register_craft({ + output = 'ropes:ropesegment', + recipe = { + {'cannabis:canapa_fiber'}, + {'cannabis:canapa_fiber'}, + {'cannabis:canapa_fiber'}, + } + }) +end diff --git a/schematics/canapa.mts b/schematics/canapa.mts new file mode 100644 index 0000000..a4ba978 Binary files /dev/null and b/schematics/canapa.mts differ diff --git a/sounds/0cannabis_canapa_s.ogg b/sounds/0cannabis_canapa_s.ogg new file mode 100644 index 0000000..5266aad Binary files /dev/null and b/sounds/0cannabis_canapa_s.ogg differ diff --git a/sounds/cannabis_canapa_s.ogg b/sounds/cannabis_canapa_s.ogg new file mode 100644 index 0000000..8e957e7 Binary files /dev/null and b/sounds/cannabis_canapa_s.ogg differ diff --git a/sounds/cannabis_canapa_s2.ogg b/sounds/cannabis_canapa_s2.ogg new file mode 100644 index 0000000..e9bcece Binary files /dev/null and b/sounds/cannabis_canapa_s2.ogg differ diff --git a/sounds/cannabis_canapa_s3.ogg b/sounds/cannabis_canapa_s3.ogg new file mode 100644 index 0000000..a95e3e2 Binary files /dev/null and b/sounds/cannabis_canapa_s3.ogg differ diff --git a/textures/.directory b/textures/.directory new file mode 100644 index 0000000..5178762 --- /dev/null +++ b/textures/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2016,10,30,14,48,47 +Version=3 diff --git a/textures/1hemp_seedling.png b/textures/1hemp_seedling.png new file mode 100644 index 0000000..01b5a2d Binary files /dev/null and b/textures/1hemp_seedling.png differ diff --git a/textures/1hemp_seedling_red.png b/textures/1hemp_seedling_red.png new file mode 100644 index 0000000..b41ad96 Binary files /dev/null and b/textures/1hemp_seedling_red.png differ diff --git a/textures/adminh.png b/textures/adminh.png new file mode 100644 index 0000000..b75f0f8 Binary files /dev/null and b/textures/adminh.png differ diff --git a/textures/cannabis_adminh_block.png b/textures/cannabis_adminh_block.png new file mode 100644 index 0000000..1ed55de Binary files /dev/null and b/textures/cannabis_adminh_block.png differ diff --git a/textures/cannabis_adminh_ingot.png b/textures/cannabis_adminh_ingot.png new file mode 100644 index 0000000..a3546d8 Binary files /dev/null and b/textures/cannabis_adminh_ingot.png differ diff --git a/textures/cannabis_armor_boots_fibra_preview.png b/textures/cannabis_armor_boots_fibra_preview.png new file mode 100644 index 0000000..8dc072a Binary files /dev/null and b/textures/cannabis_armor_boots_fibra_preview.png differ diff --git a/textures/cannabis_armor_boots_foglie_preview.png b/textures/cannabis_armor_boots_foglie_preview.png new file mode 100644 index 0000000..9561447 Binary files /dev/null and b/textures/cannabis_armor_boots_foglie_preview.png differ diff --git a/textures/cannabis_armor_boots_high_preview.png b/textures/cannabis_armor_boots_high_preview.png new file mode 100644 index 0000000..e43ef74 Binary files /dev/null and b/textures/cannabis_armor_boots_high_preview.png differ diff --git a/textures/cannabis_armor_boots_tessuto_preview.png b/textures/cannabis_armor_boots_tessuto_preview.png new file mode 100644 index 0000000..3a46b2e Binary files /dev/null and b/textures/cannabis_armor_boots_tessuto_preview.png differ diff --git a/textures/cannabis_armor_inv_boots_adminh.png b/textures/cannabis_armor_inv_boots_adminh.png new file mode 100644 index 0000000..e1dcae5 Binary files /dev/null and b/textures/cannabis_armor_inv_boots_adminh.png differ diff --git a/textures/cannabis_armor_inv_boots_fibra.png b/textures/cannabis_armor_inv_boots_fibra.png new file mode 100644 index 0000000..090dded Binary files /dev/null and b/textures/cannabis_armor_inv_boots_fibra.png differ diff --git a/textures/cannabis_armor_inv_boots_foglie.png b/textures/cannabis_armor_inv_boots_foglie.png new file mode 100644 index 0000000..b4ae6e6 Binary files /dev/null and b/textures/cannabis_armor_inv_boots_foglie.png differ diff --git a/textures/cannabis_armor_inv_boots_high.png b/textures/cannabis_armor_inv_boots_high.png new file mode 100644 index 0000000..05b9958 Binary files /dev/null and b/textures/cannabis_armor_inv_boots_high.png differ diff --git a/textures/cannabis_armor_inv_boots_tessuto.png b/textures/cannabis_armor_inv_boots_tessuto.png new file mode 100644 index 0000000..1bd1694 Binary files /dev/null and b/textures/cannabis_armor_inv_boots_tessuto.png differ diff --git a/textures/cannabis_armor_inv_chestplate_adminh.png b/textures/cannabis_armor_inv_chestplate_adminh.png new file mode 100644 index 0000000..70ac2a6 Binary files /dev/null and b/textures/cannabis_armor_inv_chestplate_adminh.png differ diff --git a/textures/cannabis_armor_inv_chestplate_fibra.png b/textures/cannabis_armor_inv_chestplate_fibra.png new file mode 100644 index 0000000..54141d8 Binary files /dev/null and b/textures/cannabis_armor_inv_chestplate_fibra.png differ diff --git a/textures/cannabis_armor_inv_chestplate_foglie.png b/textures/cannabis_armor_inv_chestplate_foglie.png new file mode 100644 index 0000000..d82df3f Binary files /dev/null and b/textures/cannabis_armor_inv_chestplate_foglie.png differ diff --git a/textures/cannabis_armor_inv_chestplate_high.png b/textures/cannabis_armor_inv_chestplate_high.png new file mode 100644 index 0000000..6a3f64a Binary files /dev/null and b/textures/cannabis_armor_inv_chestplate_high.png differ diff --git a/textures/cannabis_armor_inv_chestplate_tessuto.png b/textures/cannabis_armor_inv_chestplate_tessuto.png new file mode 100644 index 0000000..19134ca Binary files /dev/null and b/textures/cannabis_armor_inv_chestplate_tessuto.png differ diff --git a/textures/cannabis_armor_inv_helmet_adminh.png b/textures/cannabis_armor_inv_helmet_adminh.png new file mode 100644 index 0000000..314f87e Binary files /dev/null and b/textures/cannabis_armor_inv_helmet_adminh.png differ diff --git a/textures/cannabis_armor_inv_helmet_fibra.png b/textures/cannabis_armor_inv_helmet_fibra.png new file mode 100644 index 0000000..911c96d Binary files /dev/null and b/textures/cannabis_armor_inv_helmet_fibra.png differ diff --git a/textures/cannabis_armor_inv_helmet_foglie.png b/textures/cannabis_armor_inv_helmet_foglie.png new file mode 100644 index 0000000..3492a91 Binary files /dev/null and b/textures/cannabis_armor_inv_helmet_foglie.png differ diff --git a/textures/cannabis_armor_inv_helmet_high.png b/textures/cannabis_armor_inv_helmet_high.png new file mode 100644 index 0000000..45f188a Binary files /dev/null and b/textures/cannabis_armor_inv_helmet_high.png differ diff --git a/textures/cannabis_armor_inv_helmet_tessuto.png b/textures/cannabis_armor_inv_helmet_tessuto.png new file mode 100644 index 0000000..e6b919d Binary files /dev/null and b/textures/cannabis_armor_inv_helmet_tessuto.png differ diff --git a/textures/cannabis_armor_inv_leggings_adminh.png b/textures/cannabis_armor_inv_leggings_adminh.png new file mode 100644 index 0000000..42ed5be Binary files /dev/null and b/textures/cannabis_armor_inv_leggings_adminh.png differ diff --git a/textures/cannabis_armor_inv_leggings_fibra.png b/textures/cannabis_armor_inv_leggings_fibra.png new file mode 100644 index 0000000..eb18651 Binary files /dev/null and b/textures/cannabis_armor_inv_leggings_fibra.png differ diff --git a/textures/cannabis_armor_inv_leggings_foglie.png b/textures/cannabis_armor_inv_leggings_foglie.png new file mode 100644 index 0000000..47505fd Binary files /dev/null and b/textures/cannabis_armor_inv_leggings_foglie.png differ diff --git a/textures/cannabis_armor_inv_leggings_high.png b/textures/cannabis_armor_inv_leggings_high.png new file mode 100644 index 0000000..5c0f592 Binary files /dev/null and b/textures/cannabis_armor_inv_leggings_high.png differ diff --git a/textures/cannabis_armor_inv_leggings_tessuto.png b/textures/cannabis_armor_inv_leggings_tessuto.png new file mode 100644 index 0000000..390ac7b Binary files /dev/null and b/textures/cannabis_armor_inv_leggings_tessuto.png differ diff --git a/textures/cannabis_armor_inv_shield_adminh.png b/textures/cannabis_armor_inv_shield_adminh.png new file mode 100644 index 0000000..52f8ec4 Binary files /dev/null and b/textures/cannabis_armor_inv_shield_adminh.png differ diff --git a/textures/cannabis_armor_inv_shield_fibra.png b/textures/cannabis_armor_inv_shield_fibra.png new file mode 100644 index 0000000..1522ba8 Binary files /dev/null and b/textures/cannabis_armor_inv_shield_fibra.png differ diff --git a/textures/cannabis_armor_inv_shield_foglie.png b/textures/cannabis_armor_inv_shield_foglie.png new file mode 100644 index 0000000..185a600 Binary files /dev/null and b/textures/cannabis_armor_inv_shield_foglie.png differ diff --git a/textures/cannabis_armor_inv_shield_high.png b/textures/cannabis_armor_inv_shield_high.png new file mode 100644 index 0000000..dfc41c3 Binary files /dev/null and b/textures/cannabis_armor_inv_shield_high.png differ diff --git a/textures/cannabis_armor_inv_shield_tessuto.png b/textures/cannabis_armor_inv_shield_tessuto.png new file mode 100644 index 0000000..1d15cda Binary files /dev/null and b/textures/cannabis_armor_inv_shield_tessuto.png differ diff --git a/textures/cannabis_armor_leggings_high_preview.png b/textures/cannabis_armor_leggings_high_preview.png new file mode 100644 index 0000000..efc33fe Binary files /dev/null and b/textures/cannabis_armor_leggings_high_preview.png differ diff --git a/textures/cannabis_armor_leggings_tessuto_preview.png b/textures/cannabis_armor_leggings_tessuto_preview.png new file mode 100644 index 0000000..0d423ba Binary files /dev/null and b/textures/cannabis_armor_leggings_tessuto_preview.png differ diff --git a/textures/cannabis_boots_adminh.png b/textures/cannabis_boots_adminh.png new file mode 100644 index 0000000..62748d4 Binary files /dev/null and b/textures/cannabis_boots_adminh.png differ diff --git a/textures/cannabis_boots_adminh_preview.png b/textures/cannabis_boots_adminh_preview.png new file mode 100644 index 0000000..fed587e Binary files /dev/null and b/textures/cannabis_boots_adminh_preview.png differ diff --git a/textures/cannabis_boots_fibra.png b/textures/cannabis_boots_fibra.png new file mode 100644 index 0000000..0cce3a7 Binary files /dev/null and b/textures/cannabis_boots_fibra.png differ diff --git a/textures/cannabis_boots_fibra_preview.png b/textures/cannabis_boots_fibra_preview.png new file mode 100644 index 0000000..f60fa70 Binary files /dev/null and b/textures/cannabis_boots_fibra_preview.png differ diff --git a/textures/cannabis_boots_foglie.png b/textures/cannabis_boots_foglie.png new file mode 100644 index 0000000..962b490 Binary files /dev/null and b/textures/cannabis_boots_foglie.png differ diff --git a/textures/cannabis_boots_foglie_preview.png b/textures/cannabis_boots_foglie_preview.png new file mode 100644 index 0000000..9561447 Binary files /dev/null and b/textures/cannabis_boots_foglie_preview.png differ diff --git a/textures/cannabis_boots_high.png b/textures/cannabis_boots_high.png new file mode 100644 index 0000000..6814250 Binary files /dev/null and b/textures/cannabis_boots_high.png differ diff --git a/textures/cannabis_boots_high_preview.png b/textures/cannabis_boots_high_preview.png new file mode 100644 index 0000000..e43ef74 Binary files /dev/null and b/textures/cannabis_boots_high_preview.png differ diff --git a/textures/cannabis_boots_tessuto.png b/textures/cannabis_boots_tessuto.png new file mode 100644 index 0000000..17b5869 Binary files /dev/null and b/textures/cannabis_boots_tessuto.png differ diff --git a/textures/cannabis_boots_tessuto_preview.png b/textures/cannabis_boots_tessuto_preview.png new file mode 100644 index 0000000..3a46b2e Binary files /dev/null and b/textures/cannabis_boots_tessuto_preview.png differ diff --git a/textures/cannabis_canapa.png b/textures/cannabis_canapa.png new file mode 100644 index 0000000..32641e0 Binary files /dev/null and b/textures/cannabis_canapa.png differ diff --git a/textures/cannabis_canapa_bread.png b/textures/cannabis_canapa_bread.png new file mode 100644 index 0000000..ed45a0a Binary files /dev/null and b/textures/cannabis_canapa_bread.png differ diff --git a/textures/cannabis_canapa_fiber.png b/textures/cannabis_canapa_fiber.png new file mode 100644 index 0000000..e35e077 Binary files /dev/null and b/textures/cannabis_canapa_fiber.png differ diff --git a/textures/cannabis_canapa_flour.png b/textures/cannabis_canapa_flour.png new file mode 100644 index 0000000..a5d3519 Binary files /dev/null and b/textures/cannabis_canapa_flour.png differ diff --git a/textures/cannabis_canapa_flower.png b/textures/cannabis_canapa_flower.png new file mode 100644 index 0000000..20528e0 Binary files /dev/null and b/textures/cannabis_canapa_flower.png differ diff --git a/textures/cannabis_canapa_glue.png b/textures/cannabis_canapa_glue.png new file mode 100644 index 0000000..cd31bc7 Binary files /dev/null and b/textures/cannabis_canapa_glue.png differ diff --git a/textures/cannabis_canapa_leaves.png b/textures/cannabis_canapa_leaves.png new file mode 100644 index 0000000..d363602 Binary files /dev/null and b/textures/cannabis_canapa_leaves.png differ diff --git a/textures/cannabis_canapa_oil.png b/textures/cannabis_canapa_oil.png new file mode 100644 index 0000000..d450f42 Binary files /dev/null and b/textures/cannabis_canapa_oil.png differ diff --git a/textures/cannabis_canapa_raisin.png b/textures/cannabis_canapa_raisin.png new file mode 100644 index 0000000..8c62ffd Binary files /dev/null and b/textures/cannabis_canapa_raisin.png differ diff --git a/textures/cannabis_canapa_red.png b/textures/cannabis_canapa_red.png new file mode 100644 index 0000000..d2d0994 Binary files /dev/null and b/textures/cannabis_canapa_red.png differ diff --git a/textures/cannabis_canapa_red_bread.png b/textures/cannabis_canapa_red_bread.png new file mode 100644 index 0000000..f44ae1c Binary files /dev/null and b/textures/cannabis_canapa_red_bread.png differ diff --git a/textures/cannabis_canapa_red_fiber.png b/textures/cannabis_canapa_red_fiber.png new file mode 100644 index 0000000..18b86e5 Binary files /dev/null and b/textures/cannabis_canapa_red_fiber.png differ diff --git a/textures/cannabis_canapa_red_flour.png b/textures/cannabis_canapa_red_flour.png new file mode 100644 index 0000000..86b8b21 Binary files /dev/null and b/textures/cannabis_canapa_red_flour.png differ diff --git a/textures/cannabis_canapa_red_flower.png b/textures/cannabis_canapa_red_flower.png new file mode 100644 index 0000000..0fa3045 Binary files /dev/null and b/textures/cannabis_canapa_red_flower.png differ diff --git a/textures/cannabis_canapa_red_glue.png b/textures/cannabis_canapa_red_glue.png new file mode 100644 index 0000000..f91782b Binary files /dev/null and b/textures/cannabis_canapa_red_glue.png differ diff --git a/textures/cannabis_canapa_red_leaves.png b/textures/cannabis_canapa_red_leaves.png new file mode 100644 index 0000000..3487370 Binary files /dev/null and b/textures/cannabis_canapa_red_leaves.png differ diff --git a/textures/cannabis_canapa_red_oil.png b/textures/cannabis_canapa_red_oil.png new file mode 100644 index 0000000..6803980 Binary files /dev/null and b/textures/cannabis_canapa_red_oil.png differ diff --git a/textures/cannabis_canapa_red_raisin.png b/textures/cannabis_canapa_red_raisin.png new file mode 100644 index 0000000..d44b6be Binary files /dev/null and b/textures/cannabis_canapa_red_raisin.png differ diff --git a/textures/cannabis_canapa_red_seed.png b/textures/cannabis_canapa_red_seed.png new file mode 100644 index 0000000..e82ebca Binary files /dev/null and b/textures/cannabis_canapa_red_seed.png differ diff --git a/textures/cannabis_canapa_seed.png b/textures/cannabis_canapa_seed.png new file mode 100644 index 0000000..bfe93e5 Binary files /dev/null and b/textures/cannabis_canapa_seed.png differ diff --git a/textures/cannabis_chestplate_adminh.png b/textures/cannabis_chestplate_adminh.png new file mode 100644 index 0000000..94ab92a Binary files /dev/null and b/textures/cannabis_chestplate_adminh.png differ diff --git a/textures/cannabis_chestplate_adminh_preview.png b/textures/cannabis_chestplate_adminh_preview.png new file mode 100644 index 0000000..40a77ec Binary files /dev/null and b/textures/cannabis_chestplate_adminh_preview.png differ diff --git a/textures/cannabis_chestplate_fibra.png b/textures/cannabis_chestplate_fibra.png new file mode 100644 index 0000000..40116ba Binary files /dev/null and b/textures/cannabis_chestplate_fibra.png differ diff --git a/textures/cannabis_chestplate_fibra_preview.png b/textures/cannabis_chestplate_fibra_preview.png new file mode 100644 index 0000000..f4f12cb Binary files /dev/null and b/textures/cannabis_chestplate_fibra_preview.png differ diff --git a/textures/cannabis_chestplate_foglie.png b/textures/cannabis_chestplate_foglie.png new file mode 100644 index 0000000..07d6304 Binary files /dev/null and b/textures/cannabis_chestplate_foglie.png differ diff --git a/textures/cannabis_chestplate_foglie_preview.png b/textures/cannabis_chestplate_foglie_preview.png new file mode 100644 index 0000000..b84bf7b Binary files /dev/null and b/textures/cannabis_chestplate_foglie_preview.png differ diff --git a/textures/cannabis_chestplate_high.png b/textures/cannabis_chestplate_high.png new file mode 100644 index 0000000..e0605b1 Binary files /dev/null and b/textures/cannabis_chestplate_high.png differ diff --git a/textures/cannabis_chestplate_high_preview.png b/textures/cannabis_chestplate_high_preview.png new file mode 100644 index 0000000..7afc99c Binary files /dev/null and b/textures/cannabis_chestplate_high_preview.png differ diff --git a/textures/cannabis_chestplate_tessuto.png b/textures/cannabis_chestplate_tessuto.png new file mode 100644 index 0000000..81358ae Binary files /dev/null and b/textures/cannabis_chestplate_tessuto.png differ diff --git a/textures/cannabis_chestplate_tessuto_preview.png b/textures/cannabis_chestplate_tessuto_preview.png new file mode 100644 index 0000000..e38fbbc Binary files /dev/null and b/textures/cannabis_chestplate_tessuto_preview.png differ diff --git a/textures/cannabis_fibra_block.png b/textures/cannabis_fibra_block.png new file mode 100644 index 0000000..34aed28 Binary files /dev/null and b/textures/cannabis_fibra_block.png differ diff --git a/textures/cannabis_fibra_ingot.png b/textures/cannabis_fibra_ingot.png new file mode 100644 index 0000000..546b67d Binary files /dev/null and b/textures/cannabis_fibra_ingot.png differ diff --git a/textures/cannabis_foglie_block.png b/textures/cannabis_foglie_block.png new file mode 100644 index 0000000..8c616a7 Binary files /dev/null and b/textures/cannabis_foglie_block.png differ diff --git a/textures/cannabis_foglie_ingot.png b/textures/cannabis_foglie_ingot.png new file mode 100644 index 0000000..fecc945 Binary files /dev/null and b/textures/cannabis_foglie_ingot.png differ diff --git a/textures/cannabis_foglie_red_block.png b/textures/cannabis_foglie_red_block.png new file mode 100644 index 0000000..75f3111 Binary files /dev/null and b/textures/cannabis_foglie_red_block.png differ diff --git a/textures/cannabis_fuel.png b/textures/cannabis_fuel.png new file mode 100644 index 0000000..9d8cc4d Binary files /dev/null and b/textures/cannabis_fuel.png differ diff --git a/textures/cannabis_helmet_adminh.png b/textures/cannabis_helmet_adminh.png new file mode 100644 index 0000000..13852df Binary files /dev/null and b/textures/cannabis_helmet_adminh.png differ diff --git a/textures/cannabis_helmet_adminh_preview.png b/textures/cannabis_helmet_adminh_preview.png new file mode 100644 index 0000000..54dfcaf Binary files /dev/null and b/textures/cannabis_helmet_adminh_preview.png differ diff --git a/textures/cannabis_helmet_fibra.png b/textures/cannabis_helmet_fibra.png new file mode 100644 index 0000000..c05b4c9 Binary files /dev/null and b/textures/cannabis_helmet_fibra.png differ diff --git a/textures/cannabis_helmet_fibra_preview.png b/textures/cannabis_helmet_fibra_preview.png new file mode 100644 index 0000000..4cf12f2 Binary files /dev/null and b/textures/cannabis_helmet_fibra_preview.png differ diff --git a/textures/cannabis_helmet_foglie.png b/textures/cannabis_helmet_foglie.png new file mode 100644 index 0000000..1567327 Binary files /dev/null and b/textures/cannabis_helmet_foglie.png differ diff --git a/textures/cannabis_helmet_foglie0.png b/textures/cannabis_helmet_foglie0.png new file mode 100644 index 0000000..b6d9b7f Binary files /dev/null and b/textures/cannabis_helmet_foglie0.png differ diff --git a/textures/cannabis_helmet_foglie_preview.png b/textures/cannabis_helmet_foglie_preview.png new file mode 100644 index 0000000..2224435 Binary files /dev/null and b/textures/cannabis_helmet_foglie_preview.png differ diff --git a/textures/cannabis_helmet_high.png b/textures/cannabis_helmet_high.png new file mode 100644 index 0000000..a99b95a Binary files /dev/null and b/textures/cannabis_helmet_high.png differ diff --git a/textures/cannabis_helmet_high_preview.png b/textures/cannabis_helmet_high_preview.png new file mode 100644 index 0000000..0ebbbf6 Binary files /dev/null and b/textures/cannabis_helmet_high_preview.png differ diff --git a/textures/cannabis_helmet_tessuto.png b/textures/cannabis_helmet_tessuto.png new file mode 100644 index 0000000..10ea184 Binary files /dev/null and b/textures/cannabis_helmet_tessuto.png differ diff --git a/textures/cannabis_helmet_tessuto_preview.png b/textures/cannabis_helmet_tessuto_preview.png new file mode 100644 index 0000000..f321512 Binary files /dev/null and b/textures/cannabis_helmet_tessuto_preview.png differ diff --git a/textures/cannabis_high_performance_block.png b/textures/cannabis_high_performance_block.png new file mode 100644 index 0000000..80e188b Binary files /dev/null and b/textures/cannabis_high_performance_block.png differ diff --git a/textures/cannabis_high_performance_ingot.png b/textures/cannabis_high_performance_ingot.png new file mode 100644 index 0000000..b0d63dc Binary files /dev/null and b/textures/cannabis_high_performance_ingot.png differ diff --git a/textures/cannabis_inv_helmet_fibra.png b/textures/cannabis_inv_helmet_fibra.png new file mode 100644 index 0000000..afc846e Binary files /dev/null and b/textures/cannabis_inv_helmet_fibra.png differ diff --git a/textures/cannabis_inv_helmet_foglie.png b/textures/cannabis_inv_helmet_foglie.png new file mode 100644 index 0000000..3492a91 Binary files /dev/null and b/textures/cannabis_inv_helmet_foglie.png differ diff --git a/textures/cannabis_inv_helmet_high.png b/textures/cannabis_inv_helmet_high.png new file mode 100644 index 0000000..45f188a Binary files /dev/null and b/textures/cannabis_inv_helmet_high.png differ diff --git a/textures/cannabis_inv_helmet_tessuto.png b/textures/cannabis_inv_helmet_tessuto.png new file mode 100644 index 0000000..e6b919d Binary files /dev/null and b/textures/cannabis_inv_helmet_tessuto.png differ diff --git a/textures/cannabis_leggings_adminh.png b/textures/cannabis_leggings_adminh.png new file mode 100644 index 0000000..de5ec08 Binary files /dev/null and b/textures/cannabis_leggings_adminh.png differ diff --git a/textures/cannabis_leggings_adminh_preview.png b/textures/cannabis_leggings_adminh_preview.png new file mode 100644 index 0000000..e168396 Binary files /dev/null and b/textures/cannabis_leggings_adminh_preview.png differ diff --git a/textures/cannabis_leggings_fibra.png b/textures/cannabis_leggings_fibra.png new file mode 100644 index 0000000..d8adc8b Binary files /dev/null and b/textures/cannabis_leggings_fibra.png differ diff --git a/textures/cannabis_leggings_fibra_preview.png b/textures/cannabis_leggings_fibra_preview.png new file mode 100644 index 0000000..cff5c6e Binary files /dev/null and b/textures/cannabis_leggings_fibra_preview.png differ diff --git a/textures/cannabis_leggings_foglie.png b/textures/cannabis_leggings_foglie.png new file mode 100644 index 0000000..3b0e79f Binary files /dev/null and b/textures/cannabis_leggings_foglie.png differ diff --git a/textures/cannabis_leggings_foglie_preview.png b/textures/cannabis_leggings_foglie_preview.png new file mode 100644 index 0000000..9fb437e Binary files /dev/null and b/textures/cannabis_leggings_foglie_preview.png differ diff --git a/textures/cannabis_leggings_high.png b/textures/cannabis_leggings_high.png new file mode 100644 index 0000000..436afe6 Binary files /dev/null and b/textures/cannabis_leggings_high.png differ diff --git a/textures/cannabis_leggings_high_preview.png b/textures/cannabis_leggings_high_preview.png new file mode 100644 index 0000000..efc33fe Binary files /dev/null and b/textures/cannabis_leggings_high_preview.png differ diff --git a/textures/cannabis_leggings_tessuto.png b/textures/cannabis_leggings_tessuto.png new file mode 100644 index 0000000..db453cf Binary files /dev/null and b/textures/cannabis_leggings_tessuto.png differ diff --git a/textures/cannabis_leggings_tessuto_preview.png b/textures/cannabis_leggings_tessuto_preview.png new file mode 100644 index 0000000..0d423ba Binary files /dev/null and b/textures/cannabis_leggings_tessuto_preview.png differ diff --git a/textures/cannabis_mixed_hr_ingot.png b/textures/cannabis_mixed_hr_ingot.png new file mode 100644 index 0000000..519d4e2 Binary files /dev/null and b/textures/cannabis_mixed_hr_ingot.png differ diff --git a/textures/cannabis_paper.png b/textures/cannabis_paper.png new file mode 100644 index 0000000..f18b193 Binary files /dev/null and b/textures/cannabis_paper.png differ diff --git a/textures/cannabis_plastic.png b/textures/cannabis_plastic.png new file mode 100644 index 0000000..ed18bdb Binary files /dev/null and b/textures/cannabis_plastic.png differ diff --git a/textures/cannabis_shield_adminh.png b/textures/cannabis_shield_adminh.png new file mode 100644 index 0000000..058d443 Binary files /dev/null and b/textures/cannabis_shield_adminh.png differ diff --git a/textures/cannabis_shield_adminh_preview.png b/textures/cannabis_shield_adminh_preview.png new file mode 100644 index 0000000..de8d91a Binary files /dev/null and b/textures/cannabis_shield_adminh_preview.png differ diff --git a/textures/cannabis_shield_fibra.png b/textures/cannabis_shield_fibra.png new file mode 100644 index 0000000..8f06e46 Binary files /dev/null and b/textures/cannabis_shield_fibra.png differ diff --git a/textures/cannabis_shield_fibra_preview.png b/textures/cannabis_shield_fibra_preview.png new file mode 100644 index 0000000..9de7b82 Binary files /dev/null and b/textures/cannabis_shield_fibra_preview.png differ diff --git a/textures/cannabis_shield_foglie.png b/textures/cannabis_shield_foglie.png new file mode 100644 index 0000000..9a29eee Binary files /dev/null and b/textures/cannabis_shield_foglie.png differ diff --git a/textures/cannabis_shield_foglie_preview.png b/textures/cannabis_shield_foglie_preview.png new file mode 100644 index 0000000..194e3bc Binary files /dev/null and b/textures/cannabis_shield_foglie_preview.png differ diff --git a/textures/cannabis_shield_high.png b/textures/cannabis_shield_high.png new file mode 100644 index 0000000..07bb939 Binary files /dev/null and b/textures/cannabis_shield_high.png differ diff --git a/textures/cannabis_shield_high_preview.png b/textures/cannabis_shield_high_preview.png new file mode 100644 index 0000000..0451aef Binary files /dev/null and b/textures/cannabis_shield_high_preview.png differ diff --git a/textures/cannabis_shield_tessuto.png b/textures/cannabis_shield_tessuto.png new file mode 100644 index 0000000..bc2e6aa Binary files /dev/null and b/textures/cannabis_shield_tessuto.png differ diff --git a/textures/cannabis_shield_tessuto_preview.png b/textures/cannabis_shield_tessuto_preview.png new file mode 100644 index 0000000..81767a4 Binary files /dev/null and b/textures/cannabis_shield_tessuto_preview.png differ diff --git a/textures/cannabis_tessuto_block.png b/textures/cannabis_tessuto_block.png new file mode 100644 index 0000000..8604e7c Binary files /dev/null and b/textures/cannabis_tessuto_block.png differ diff --git a/textures/cannabis_tessuto_ingot.png b/textures/cannabis_tessuto_ingot.png new file mode 100644 index 0000000..a142039 Binary files /dev/null and b/textures/cannabis_tessuto_ingot.png differ diff --git a/textures/cannabis_tool_adminhaxe.png b/textures/cannabis_tool_adminhaxe.png new file mode 100644 index 0000000..9e2d29b Binary files /dev/null and b/textures/cannabis_tool_adminhaxe.png differ diff --git a/textures/cannabis_tool_adminhpick.png b/textures/cannabis_tool_adminhpick.png new file mode 100644 index 0000000..2276a36 Binary files /dev/null and b/textures/cannabis_tool_adminhpick.png differ diff --git a/textures/cannabis_tool_adminhshovel.png b/textures/cannabis_tool_adminhshovel.png new file mode 100644 index 0000000..6b86b07 Binary files /dev/null and b/textures/cannabis_tool_adminhshovel.png differ diff --git a/textures/cannabis_tool_adminhsword.png b/textures/cannabis_tool_adminhsword.png new file mode 100644 index 0000000..d80393d Binary files /dev/null and b/textures/cannabis_tool_adminhsword.png differ diff --git a/textures/cannabis_tool_bronzeaxe.png b/textures/cannabis_tool_bronzeaxe.png new file mode 100644 index 0000000..4044433 Binary files /dev/null and b/textures/cannabis_tool_bronzeaxe.png differ diff --git a/textures/cannabis_tool_bronzepick.png b/textures/cannabis_tool_bronzepick.png new file mode 100644 index 0000000..a2b36db Binary files /dev/null and b/textures/cannabis_tool_bronzepick.png differ diff --git a/textures/cannabis_tool_bronzeshovel.png b/textures/cannabis_tool_bronzeshovel.png new file mode 100644 index 0000000..bb42151 Binary files /dev/null and b/textures/cannabis_tool_bronzeshovel.png differ diff --git a/textures/cannabis_tool_bronzesword.png b/textures/cannabis_tool_bronzesword.png new file mode 100644 index 0000000..3f4e837 Binary files /dev/null and b/textures/cannabis_tool_bronzesword.png differ diff --git a/textures/cannabis_tool_diamondaxe.png b/textures/cannabis_tool_diamondaxe.png new file mode 100644 index 0000000..6a1e365 Binary files /dev/null and b/textures/cannabis_tool_diamondaxe.png differ diff --git a/textures/cannabis_tool_diamondpick.png b/textures/cannabis_tool_diamondpick.png new file mode 100644 index 0000000..f896911 Binary files /dev/null and b/textures/cannabis_tool_diamondpick.png differ diff --git a/textures/cannabis_tool_diamondshovel.png b/textures/cannabis_tool_diamondshovel.png new file mode 100644 index 0000000..4c78755 Binary files /dev/null and b/textures/cannabis_tool_diamondshovel.png differ diff --git a/textures/cannabis_tool_diamondsword.png b/textures/cannabis_tool_diamondsword.png new file mode 100644 index 0000000..40f909a Binary files /dev/null and b/textures/cannabis_tool_diamondsword.png differ diff --git a/textures/cannabis_tool_highaxe.png b/textures/cannabis_tool_highaxe.png new file mode 100644 index 0000000..ec7e4e3 Binary files /dev/null and b/textures/cannabis_tool_highaxe.png differ diff --git a/textures/cannabis_tool_highpick.png b/textures/cannabis_tool_highpick.png new file mode 100644 index 0000000..1a8868e Binary files /dev/null and b/textures/cannabis_tool_highpick.png differ diff --git a/textures/cannabis_tool_highshovel.png b/textures/cannabis_tool_highshovel.png new file mode 100644 index 0000000..fcecd2b Binary files /dev/null and b/textures/cannabis_tool_highshovel.png differ diff --git a/textures/cannabis_tool_highsword.png b/textures/cannabis_tool_highsword.png new file mode 100644 index 0000000..95647b7 Binary files /dev/null and b/textures/cannabis_tool_highsword.png differ diff --git a/textures/cannabis_tool_meseaxe.png b/textures/cannabis_tool_meseaxe.png new file mode 100644 index 0000000..3260bb0 Binary files /dev/null and b/textures/cannabis_tool_meseaxe.png differ diff --git a/textures/cannabis_tool_mesepick.png b/textures/cannabis_tool_mesepick.png new file mode 100644 index 0000000..5e29921 Binary files /dev/null and b/textures/cannabis_tool_mesepick.png differ diff --git a/textures/cannabis_tool_meseshovel.png b/textures/cannabis_tool_meseshovel.png new file mode 100644 index 0000000..265c922 Binary files /dev/null and b/textures/cannabis_tool_meseshovel.png differ diff --git a/textures/cannabis_tool_mesesword.png b/textures/cannabis_tool_mesesword.png new file mode 100644 index 0000000..87155c7 Binary files /dev/null and b/textures/cannabis_tool_mesesword.png differ diff --git a/textures/cannabis_tool_steelaxe.png b/textures/cannabis_tool_steelaxe.png new file mode 100644 index 0000000..0e44f0b Binary files /dev/null and b/textures/cannabis_tool_steelaxe.png differ diff --git a/textures/cannabis_tool_steelpick.png b/textures/cannabis_tool_steelpick.png new file mode 100644 index 0000000..82bbcc3 Binary files /dev/null and b/textures/cannabis_tool_steelpick.png differ diff --git a/textures/cannabis_tool_steelshovel.png b/textures/cannabis_tool_steelshovel.png new file mode 100644 index 0000000..7346200 Binary files /dev/null and b/textures/cannabis_tool_steelshovel.png differ diff --git a/textures/cannabis_tool_steelsword.png b/textures/cannabis_tool_steelsword.png new file mode 100644 index 0000000..249c774 Binary files /dev/null and b/textures/cannabis_tool_steelsword.png differ diff --git a/textures/hemp_climbing.png b/textures/hemp_climbing.png new file mode 100644 index 0000000..8c616a7 Binary files /dev/null and b/textures/hemp_climbing.png differ diff --git a/textures/hemp_climbing_red.png b/textures/hemp_climbing_red.png new file mode 100644 index 0000000..b7e1d1f Binary files /dev/null and b/textures/hemp_climbing_red.png differ diff --git a/textures/hemp_sproutling.png b/textures/hemp_sproutling.png new file mode 100644 index 0000000..200a7b4 Binary files /dev/null and b/textures/hemp_sproutling.png differ diff --git a/textures/hemp_sproutling_red.png b/textures/hemp_sproutling_red.png new file mode 100644 index 0000000..27c76b7 Binary files /dev/null and b/textures/hemp_sproutling_red.png differ diff --git a/textures/hp_block_canapa.png b/textures/hp_block_canapa.png new file mode 100644 index 0000000..e90e3d7 Binary files /dev/null and b/textures/hp_block_canapa.png differ diff --git a/textures/hp_block_canapa_red.png b/textures/hp_block_canapa_red.png new file mode 100644 index 0000000..c68c15d Binary files /dev/null and b/textures/hp_block_canapa_red.png differ diff --git a/textures/joint_accendino.png b/textures/joint_accendino.png new file mode 100644 index 0000000..26d9c5a Binary files /dev/null and b/textures/joint_accendino.png differ diff --git a/textures/joint_cartina.png b/textures/joint_cartina.png new file mode 100644 index 0000000..77185d4 Binary files /dev/null and b/textures/joint_cartina.png differ diff --git a/textures/joint_cartina_cima.png b/textures/joint_cartina_cima.png new file mode 100644 index 0000000..60c4bc5 Binary files /dev/null and b/textures/joint_cartina_cima.png differ diff --git a/textures/joint_cartina_fumo.png b/textures/joint_cartina_fumo.png new file mode 100644 index 0000000..f6637e6 Binary files /dev/null and b/textures/joint_cartina_fumo.png differ diff --git a/textures/joint_cima_s.png b/textures/joint_cima_s.png new file mode 100644 index 0000000..3e74024 Binary files /dev/null and b/textures/joint_cima_s.png differ diff --git a/textures/joint_filter.png b/textures/joint_filter.png new file mode 100644 index 0000000..82d7ac1 Binary files /dev/null and b/textures/joint_filter.png differ diff --git a/textures/joint_filter_p.png b/textures/joint_filter_p.png new file mode 100644 index 0000000..caa14ef Binary files /dev/null and b/textures/joint_filter_p.png differ diff --git a/textures/joint_fumo_s.png b/textures/joint_fumo_s.png new file mode 100644 index 0000000..319e297 Binary files /dev/null and b/textures/joint_fumo_s.png differ diff --git a/textures/joint_joint_cac.png b/textures/joint_joint_cac.png new file mode 100644 index 0000000..84bf076 Binary files /dev/null and b/textures/joint_joint_cac.png differ diff --git a/textures/joint_joint_csp.png b/textures/joint_joint_csp.png new file mode 100644 index 0000000..de08adc Binary files /dev/null and b/textures/joint_joint_csp.png differ diff --git a/textures/joint_joint_fac.png b/textures/joint_joint_fac.png new file mode 100644 index 0000000..c946c55 Binary files /dev/null and b/textures/joint_joint_fac.png differ diff --git a/textures/joint_joint_fsp.png b/textures/joint_joint_fsp.png new file mode 100644 index 0000000..fdcc181 Binary files /dev/null and b/textures/joint_joint_fsp.png differ diff --git a/tools.lua b/tools.lua new file mode 100644 index 0000000..6d4f847 --- /dev/null +++ b/tools.lua @@ -0,0 +1,549 @@ +-- [[mods/cannabis/tools.lua]] + +--REGISTER TOOLS : PICKS SHOVELS AXES SWORDS +-- +-- Picks______________________________________________________________________________ +-- + +-- get Boilerplate for Translations +local S = cannabis.S + +minetest.register_tool("cannabis:pick_hemp_steel", { + description = S("Hemp Steel Pickaxe"), + inventory_image = "cannabis_tool_steelpick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("cannabis:pick_hemp_bronze", { + description = S("Hemp Bronze Pickaxe"), + inventory_image = "cannabis_tool_bronzepick.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("cannabis:pick_hemp_mese", { + description = S("Hemp Mese Pickaxe"), + inventory_image = "cannabis_tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=2.4, [2]=1.2, [3]=0.60}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, +}) +minetest.register_tool("cannabis:pick_hemp_diamond", { + description = S("Hemp Diamond Pickaxe"), + inventory_image = "cannabis_tool_diamondpick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=0.5, [2]=0.4, [3]=0.3}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, +}) +minetest.register_tool("cannabis:pick_hemp_high", { + description = S("Hemp High Pickaxe"), + inventory_image = "cannabis_tool_highpick.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=3, + groupcaps={ + cracky = {times={[1]=0.3, [2]=0.2, [3]=0.1}, uses=40, maxlevel=3}, + }, + damage_groups = {fleshy=5}, + }, +}) + +minetest.register_tool("cannabis:pick_hemp_adminh", { + description = S("Hemp Adminh Pickaxe"), + inventory_image = "cannabis_tool_adminhpick.png", + tool_capabilities = { + full_punch_interval = 0.35, + max_drop_level=3, + groupcaps= { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy=10000}, + }, +}) +minetest.register_on_punchnode(function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "cannabis:pick_hemp_adminh" + and minetest.get_node(pos).name ~= "air" then + minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") + minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. + minetest.check_for_falling(pos) -- Run node update actions like falling nodes. + end +end) +-- +-- Shovels___________________________________________________________________________________________________________ +-- + + +minetest.register_tool("cannabis:shovel_hemp_high", { + description = S("Hemp High Shovel"), + inventory_image = "cannabis_tool_highshovel.png", + wield_image = "cannabis_tool_highshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level=3, + groupcaps={ + crumbly = {times={[1]=1.00, [2]=0.40, [3]=0.25}, uses=40, maxlevel=3}, + }, + damage_groups = {fleshy=2}, + }, +}) + +minetest.register_tool("cannabis:shovel_hemp_steel", { + description = S("Hemp Steel Shovel"), + inventory_image = "cannabis_tool_steelshovel.png", + wield_image = "cannabis_tool_steelshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.1, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("cannabis:shovel_hemp_bronze", { + description = S("Hemp Bronze Shovel"), + inventory_image = "cannabis_tool_bronzeshovel.png", + wield_image = "cannabis_tool_bronzeshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.1, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=40, maxlevel=2}, + }, + damage_groups = {fleshy=3}, + }, +}) +minetest.register_tool("cannabis:shovel_hemp_mese", { + description = S("Hemp Mese Shovel"), + inventory_image = "cannabis_tool_meseshovel.png", + wield_image = "cannabis_tool_meseshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=3, + groupcaps={ + crumbly = {times={[1]=1.20, [2]=0.60, [3]=0.30}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("cannabis:shovel_hemp_diamond", { + description = S("Hemp Diamond Shovel"), + inventory_image = "cannabis_tool_diamondshovel.png", + wield_image = "cannabis_tool_diamondshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + crumbly = {times={[1]=1.10, [2]=0.50, [3]=0.30}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=4}, + }, +}) + + --[[minetest.register_item(":", { + type = "none", + wield_image = "wieldhand.png", + wield_scale = {x=1,y=1,z=2.5}, + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level = 0, + groupcaps = { + crumbly = {times={[2]=3.00, [3]=0.70}, uses=0, maxlevel=1}, + snappy = {times={[3]=0.40}, uses=0, maxlevel=1}, + oddly_breakable_by_hand = {times={[1]=3.50,[2]=2.00,[3]=0.70}, uses=0} + }, + damage_groups = {fleshy=1}, + } +}) + +]]-- +-- Axes____________________________________________________________________________________________________ +-- +minetest.register_tool("cannabis:axe_hemp_steel", { + description = S("Hemp Steel Axe"), + inventory_image = "cannabis_tool_steelaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=20, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("cannabis:axe_hemp_bronze", { + description = S("Hemp Bronze Axe"), + inventory_image = "cannabis_tool_bronzeaxe.png", + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=4}, + }, +}) +minetest.register_tool("cannabis:axe_hemp_mese", { + description = S("Hemp Mese Axe"), + inventory_image = "cannabis_tool_meseaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.20, [2]=1.00, [3]=0.60}, uses=20, maxlevel=3}, + }, + damage_groups = {fleshy=6}, + }, +}) +minetest.register_tool("cannabis:axe_hemp_diamond", { + description = S("Hemp Diamond Axe"), + inventory_image = "cannabis_tool_diamondaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.10, [2]=0.90, [3]=0.50}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=7}, + }, +}) +minetest.register_tool("cannabis:axe_hemp_high", { + description = S("Hemp High Performance Axe"), + inventory_image = "cannabis_tool_highaxe.png", + tool_capabilities = { + full_punch_interval = 0.9, + max_drop_level=1, + groupcaps={ + choppy={times={[1]=2.00, [2]=0.80, [3]=0.40}, uses=40, maxlevel=3}, + }, + damage_groups = {fleshy=8}, + }, +}) +-- +-- Swords___________________________________________________________________________________________________ + +minetest.register_tool("cannabis:sword_hemp_steel", { + description = S("Hemp Steel Sword"), + inventory_image = "cannabis_tool_steelsword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + } +}) +minetest.register_tool("cannabis:sword_hemp_bronze", { + description = S("Hemp Bronze Sword"), + inventory_image = "cannabis_tool_bronzesword.png", + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=40, maxlevel=2}, + }, + damage_groups = {fleshy=6}, + } +}) +minetest.register_tool("cannabis:sword_hemp_mese", { + description = S("Hemp Mese Sword"), + inventory_image = "cannabis_tool_mesesword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.0, [2]=1.00, [3]=0.35}, uses=30, maxlevel=3}, + }, + damage_groups = {fleshy=7}, + } +}) +minetest.register_tool("cannabis:sword_hemp_diamond", { + description = S("Hemp Diamond Sword"), + inventory_image = "cannabis_tool_diamondsword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=1.90, [2]=0.90, [3]=0.30}, uses=40, maxlevel=3}, + }, + damage_groups = {fleshy=8}, + } +}) +minetest.register_tool("cannabis:sword_hemp_high", { + description = S("Hemp High Performance Sword"), + inventory_image = "cannabis_tool_highsword.png", + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=0.8, [2]=0.8, [3]=0.25}, uses=50, maxlevel=3}, + }, + damage_groups = {fleshy=9}, + } +}) + + +--- +--minetest.register_tool("cannabis:sword_hemp_adminh", { + --description = "Hemp_adminh Sword", + --inventory_image = "cannabis_tool_adminhsword.png", + --tool_capabilities = { + --full_punch_interval = 0.5, + --max_drop_level=1, + --groupcaps={ + --unbreakable = {times={[1] = 0.1, [2] = 0.1, [3] = 0.1}, uses = 0, maxlevel = 30}, + --snappy={times={[1]=0.1, [2]=0.1, [3]=0.1}, uses=99, maxlevel=30}, + --}, + --damage_groups = {fleshy=100000}, + --} +--}) +--CRAFT RECIPE +minetest.register_tool("cannabis:pick_hemp_adminh", { + description = S("Hemp Admin High Performance Sword"), + inventory_image = "cannabis_tool_adminhsword.png", + tool_capabilities = { + full_punch_interval = 0.35, + max_drop_level=3, + groupcaps= { + unbreakable = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + fleshy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + choppy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + --bendy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + --cracky = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + --crumbly = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + snappy = {times={[1] = 0, [2] = 0, [3] = 0}, uses = 0, maxlevel = 3}, + }, + damage_groups = {fleshy=10000}, + }, +}) +minetest.register_on_punchnode(function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "cannabis:sword_hemp_adminh" + and minetest.get_node(pos).name ~= "air" then + minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.") + minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes. + minetest.check_for_falling(pos) -- Run node update actions like falling nodes. + end +end) + + +--pick:___________________________________________________________________ + +minetest.register_craft({ + output = 'cannabis:pick_hemp_high', + recipe = { + {'cannabis:mixed_hr_ingot', 'cannabis:mixed_hr_ingot', 'cannabis:mixed_hr_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + + + +minetest.register_craft({ + output = 'cannabis:pick_hemp_steel', + recipe = { + {'default:steel_ingot', 'cannabis:high_performance_ingot', 'default:steel_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:pick_hemp_bronze', + recipe = { + {'default:bronze_ingot', 'cannabis:foglie_ingot', 'default:bronze_ingot'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:pick_hemp_mese', + recipe = { + {'default:mese_crystal', 'cannabis:fibra_ingot', 'default:mese_crystal'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:pick_hemp_diamond', + recipe = { + {'default:diamond', 'cannabis:tessuto_ingot', 'default:diamond'}, + {'', 'group:stick', ''}, + {'', 'group:stick', ''}, + } +}) + +--shovel__________________________________________________________________________________________ + +minetest.register_craft({ + output = 'cannabis:shovel_hemp_high', + recipe = { + {'cannabis:mixed_hr_ingot'}, + {'group:stick'}, + {'group:stick'}, + } +}) + + + +minetest.register_craft({ + output = 'cannabis:shovel_hemp_steel', + recipe = { + {'default:steel_ingot'}, + {'group:stick'}, + {'cannabis:high_performance_ingot'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:shovel_hemp_bronze', + recipe = { + {'default:bronze_ingot'}, + {'group:stick'}, + {'cannabis:foglie_ingot'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:shovel_hemp_mese', + recipe = { + {'default:mese_crystal'}, + {'group:stick'}, + {'cannabis:fibra_ingot'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:shovel_hemp_diamond', + recipe = { + {'default:diamond'}, + {'group:stick'}, + {'cannabis:tessuto_ingot'}, + } +}) + +--axe_______________________________________________________________________________________________ + +minetest.register_craft({ + output = 'cannabis:axe_hemp_high', + recipe = { + {'cannabis:mixed_hr_ingot', 'cannabis:mixed_hr_ingot'}, + {'group:stick', 'cannabis:mixed_hr_ingot'}, + {'group:stick',''}, + } +}) + + +minetest.register_craft({ + output = 'cannabis:axe_hemp_steel', + recipe = { + {'cannabis:high_performance_ingot', 'default:steel_ingot'}, + {'group:stick', 'default:steel_ingot'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:axe_hemp_bronze', + recipe = { + {'cannabis:foglie_ingot', 'default:bronze_ingot'}, + {'group:stick', 'default:bronze_ingot'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:axe_hemp_mese', + recipe = { + {'cannabis:fibra_ingot', 'default:mese_crystal'}, + {'group:stick', 'default:mese_crystal'}, + {'group:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'cannabis:axe_hemp_diamond', + recipe = { + {'cannabis:tessuto_ingot', 'default:diamond'}, + {'group:stick', 'default:diamond'}, + {'group:stick', ''}, + } +}) + +--sword_________________________________________________________________________________________________________ + +minetest.register_craft({ + output = 'cannabis:sword_hemp_high', + recipe = { + {'cannabis:mixed_hr_ingot'}, + {'cannabis:mixed_hr_ingot'}, + {'group:stick'}, + } +}) + + +minetest.register_craft({ + output = 'cannabis:sword_hemp_steel', + recipe = { + {'default:steel_ingot'}, + {'cannabis:high_performance_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:sword_hemp_bronze', + recipe = { + {'default:bronze_ingot'}, + {'cannabis:foglie_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:sword_hemp_mese', + recipe = { + {'default:mese_crystal'}, + {'cannabis:fibra_ingot'}, + {'group:stick'}, + } +}) + +minetest.register_craft({ + output = 'cannabis:sword_hemp_diamond', + recipe = { + {'default:diamond'}, + {'cannabis:tessuto_ingot'}, + {'group:stick'}, + } +})